Как найти контрактный кошелек JSON и ABI

Я пытаюсь найти JSON и ABI для одного из моих контрактных кошельков здесь:

0x1Fa0926C69eEe89d212F0848803e4Ee2E548fE4D

Причина в том, что в нем заблокированы некоторые ETC, которые я пытаюсь сбросить через myetherwallet теперь, когда у них есть функциональность для взаимодействия с контрактами в цепочке ETC... но для этого мне нужен ABI/ JSON. Где мне это найти? Контракт кошелька представляет собой мультиподписной контракт с двумя владельцами.

Спасибо!

Ответы (1)

Только что связался с avsa, который был достаточно любезен, чтобы указать мне правильное направление:

[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"removeOwner","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"m_numOwners","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"m_lastDay","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"resetSpentToday","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"m_spentToday","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"addOwner","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"m_required","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_h","type":"bytes32"}],"name":"confirm","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_newLimit","type":"uint256"}],"name":"setDailyLimit","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"execute","outputs":[{"name":"_r","type":"bytes32"}],"type":"function"},{"constant":false,"inputs":[{"name":"_operation","type":"bytes32"}],"name":"revoke","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_newRequired","type":"uint256"}],"name":"changeRequirement","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"_operation","type":"bytes32"},{"name":"_owner","type":"address"}],"name":"hasConfirmed","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"kill","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"changeOwner","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"m_dailyLimit","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_daylimit","type":"uint256"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Revoke","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newRequirement","type":"uint256"}],"name":"RequirementChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"}],"name":"SingleTransact","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"}],"name":"MultiTransact","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"initiator","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"}],"name":"ConfirmationNeeded","type":"event"}]

Из: https://github.com/ethereum/meteor-dapp-wallet/blob/develop/app/client/lib/ethereum/walletInterface.js#L7

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

В версии 3.4.5 я добавлю кнопку для автозаполнения в этом ABI.

Итак, предоставленный вами JSON верен, теперь у меня есть доступ к контракту, однако, что теперь делать? Существует выпадающий список ЧТЕНИЕ/ЗАПИСЬ для заключения контракта, но нет опции «ОТПРАВИТЬ». Вот список: removeOwner isOwner m_numOwners m_lastday version resetSpendToday M_spentToday addOwner m_required подтвердить SetDailyLimit выполнить отменить changeRequirement hasConfirmed kill changeOwner m_daily limit Мой вопрос: какой из них мне использовать для отправки ETC оттуда? Я склоняюсь к EXECUTE и KILL.
В разделе EXECUTE я получаю варианты: _to address: (здесь нужен адрес ETC) _value uint256: Это количество ETC, которое я хочу отправить? _data bytes: понятия не имею, что это такое... оставить поле пустым? Под KILL я получаю: _to address: вставьте адрес ETC здесь. Мой вопрос: какой из них я использую для отправки ETC на адрес по своему выбору? Если я использую KILL, разве это не аннулирует контракт и не отправит средства первоначальным создателям контракта? Или я использую EXECUTE? Спасибо
У меня точно такие же вопросы — как, черт возьми, мне взаимодействовать с контрактом кошелька, который я создал в оригинальном программном обеспечении кошелька ethereum (предшественнике тумана). Как можно делать простые вещи, такие как просмотр баланса и передача из него eth или других токенов, таких как токены DAO. Эти очень простые ответы почти невозможно получить.