Как создать многозначный адрес в Ethereum?

Я хочу сохранить свой эфир в форме, которая требует более чем одной цифровой подписи, чтобы разрешить траты. Как я могу это сделать на Ethereum?

29 голосов | спросил Jeff Coleman 20 Jpm1000000pmWed, 20 Jan 2016 19:53:26 +030016 2016, 19:53:26

3 ответа


32

«Многозначные» адреса на Ethereum отличаются от адресов Bitcoin. Хотя обе сети допускают произвольные сложные транзакции, понятия не являются по сути одинаковыми:

В Биткойн существует 2 основных класса транзакций:

  • заплатить pubkey (адреса, начинающиеся с «1»)
  • платить за хэш-код скрипта (адреса, начинающиеся с «3», также называемые P2SH)

Первая - это более традиционная система биткойнов на основе учетной записи, тогда как последняя была BIP расширение, написанное Гевином Андресеном , чтобы обеспечить более сложные транзакции. По сути, P2SH позволяет использовать произвольный скрипт для создания подписей для использования некоторого ввода.

Напротив, Ethereum существует 2 основных класса учетных записей:

  • внешние учетные записи
  • Контрактные счета

Основное различие между ними заключается в том, что учетные записи контракта содержат код, который может выполнять и взаимодействовать с блочной цепочкой. Поскольку Ethereum «завершает-завершает», код может быть любым, в том числе кошельком многозначного типа. Для сравнения, у Bitcoin есть более ограниченный язык сценариев, который позволяет использовать некоторые скриптовые функции Ethereum, но не все.

Выполнить контракт

Например, здесь приведен код Кошелька , написанный в Solidity, который компилируется для работы в сети Ethereum в качестве учетной записи контракта. Он имеет различные функции, включая поддержку нескольких подписей (с неограниченными участниками) и ежедневные лимиты на снятие средств, что позволяет вам тратить небольшие суммы, но требует нескольких подписей для крупных транзакций. Этот кошелек работает полностью на блохе и доступен в Mist , (браузер Ethereum DApp) с простым в использовании HTML интерфейс, не требующий знания программирования.

Многозначность контракт в Mist

ответил Taylor Gerring 20 Jpm1000000pmWed, 20 Jan 2016 20:18:41 +030016 2016, 20:18:41
5

Я бы порекомендовал вам скачать бета-версию Ethereum Wallet здесь .

 введите описание изображения здесь>> </a> </p>

<p> Кошелек дает вам простой графический интерфейс для создания контракта на кошелек с несколькими sig. </p></body></html>

ответил Maran 20 Jpm1000000pmWed, 20 Jan 2016 20:02:48 +030016 2016, 20:02:48
0

Недавно я работал над универсальным контрактом Solidity для мультиподписи: https://github.com/bitclave/Multiownable

Вы можете легко переносить функциональность нескольких знаков в любой смарт-контракт путем подкласса из Multiownable и добавления модификатора onlyManyOwners к методам, которые вы хотите защитить. Это пример простейшего многосегментного кошелька, который вы можете себе представить:

contract SimplestMultiWallet is Multiownable {
    function transferTo(address to, uint256 amount) onlyManyOwners {
        to.transfer(amount);
    }
}

Технически вы сможете transferOwnership в массив адресов и защищаться с помощью метода onlyManyOwners будет выполняться только тогда, когда последний из владельцев вызовет этот метод с тем же аргументы.

ответил k06a 10 52017vEurope/Moscow11bEurope/MoscowFri, 10 Nov 2017 13:40:49 +0300 2017, 13:40:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132