Как использовать MEW для доступа к контракту простого кошелька, созданному в Ethereum Wallet / Mist

Я получил немного ETH около полутора лет назад и оставил его в простом контракте кошелька, созданном с использованием Ethereum Wallet/Mist в июле 2017 года.

Я предлагаю вознаграждение в размере 100 долларов США в ETH человеку, который может помочь мне получить доступ к этому ETH, поскольку я хотел бы переместить его в холодное хранилище.

Вот уже пару недель я пытаюсь получить доступ к кошельку, синхронизируясь с блокчейном, но, как и другие, мне каждый раз не удавалось пройти последние несколько 100-150 блоков.

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

Если бы я оставил ETH на своем счету:

https://www.etherchain.org/account/fb42a50c3eefdd2e32cbd056ea8bfcb172d4b75a

Я просто использую MEW для перевода ETH со счета и покончу с Mist.

Однако... думая, что я был бы умнее и добавил бы дополнительный уровень безопасности / научился использовать интерфейс кошелька, я оставил ETH в упомянутом простом контракте кошелька:

https://www.etherchain.org/account/ad24b48f33746e68bdcdc2e7f5857ee0eeec2efb

Дополнительная информация о контрактах кошелька:

https://klmoney.wordpress.com/beta7-contract-wallets/

Я знаю, что MEW добавил функциональность контракта, и у меня есть хранилище ключей, связанное с этим контрактом (контракт с одной подписью), который теоретически должен разблокировать ETH и сделать его доступным, однако даже при правильном вводе ABI с учетом параметров контракта MEW I не может найти способ извлечь ETH из этого кошелька либо на связанную учетную запись, либо на другой адрес.

Мой вопрос (или, по сути, просьба о помощи):

1) Есть ли способ взаимодействовать с контрактом моего кошелька с помощью интерфейса контракта MEW (или другого программного обеспечения)

РЕДАКТИРОВАТЬ:

Я считаю, что есть еще 2 исправления, которые также возможны...

1) Существует способ уменьшить размер папки chaindata импорта блокчейна (обрезка), хотя я считаю, что с импортом последних 100-150 блоков все еще существуют проблемы с функциональностью, учитывая чтение, которое я сделал на github. Есть ли люди, которые в последнее время успешно синхронизировались с Mist, если да, то как?

2) Еще одно потенциальное исправление — импорт моего закрытого ключа в Parity и получение доступа к контракту моего кошелька здесь. Параметр Parity — это то, на что я не особо обращал внимание. Возможно ли, по крайней мере теоретически, импортировать хранилище ключей и получить доступ к связанным контрактам кошелька через Parity?

Спасибо за ваше время.

Вы должны просто иметь возможность вызывать killконтракт, передавая целевой адрес (куда бы вы ни хотели отправить эфир) в качестве единственного параметра.
Что вы пробовали в MEW и что пошло не так? (Я не вижу никаких реальных транзакций, предпринятых в блокчейне.)
Я еще ничего не пробовал в MEW, я экспериментировал с добавлением контратного адреса и правильным ABI, однако я еще не вошел в свое хранилище ключей для связанной учетной записи. Как я уверен, вы понимаете, хотя я считаю, что «убить» — допустимый вариант, я бы предпочел вариант, который позволил бы мне сначала отправить небольшое количество ETH для проверки команды. Я полностью верю вам, что «убить» — допустимый вариант, но беспокоюсь, что что-то пойдет не так, и я потеряю 20 ETH.

Ответы (2)

Я считаю, что вы можете просто killконтракт. Пожалуйста, прочитайте до конца, прежде чем пытаться это сделать.

Шаги, которые необходимо предпринять

  1. На странице https://www.myetherwallet.com/#contracts введите 0xaD24B48f33746e68BDCDC2E7F5857eE0EeEc2EFBадрес контракта, а затем вставьте ABI. Вы можете скопировать все это отсюда: https://etherscan.io/address/0xaD24B48f33746e68BDCDC2E7F5857eE0EeEc2EFB#code . (Нажмите кнопку «Копировать» справа от «Contract ABI».)
  2. Затем выберите функцию «убить» и введите адрес, на который вы хотите отправить эфир (поэтому убедитесь, что это адрес, для которого у вас есть закрытый ключ) в качестве значения поля _to. Будьте очень осторожны с этим шагом.
  3. Затем разблокируйте учетную запись, используя файл Keystore/JSON + пароль или любую другую форму, в которой у вас есть закрытый ключ.
  4. Наконец, нажмите «НАПИСАТЬ» внизу страницы, а затем «Создать транзакцию». Оттуда вы можете либо скопировать необработанную транзакцию (чтобы отправить ее позже), либо продолжить и отправить ее в сеть.

Дополнительные замечания

Для дополнительной безопасности рассмотрите возможность загрузки автономной версии MyEtherWallet и выполнения всех этих действий локально (и в идеале без подключения к сети). Вы можете загрузить офлайн-версию по ссылке в нижнем колонтитуле на https://www.myetherwallet.com . На этом последнем шаге выше вы можете скопировать необработанную транзакцию, а затем вернуться в Интернет (или перенести ее на другой компьютер), чтобы отправить ее. Etherscan имеет хороший инструмент для вставки необработанных транзакций и отправки их в сеть.

Используйте заправочную станцию ​​ETH , чтобы выяснить хорошую цену на газ. Вы можете установить цену на газ на MEW в раскрывающемся списке в правом верхнем углу страницы. В то время, когда я пишу это, 5 или 6 gwei кажутся хорошими.

РЕДАКТИРОВАТЬ

Вы можете сделать то же самое с executeфункцией. Передайте _toадрес, на который будут поступать средства, и количество _valueэфира для отправки (в вей). _dataна самом деле может быть что угодно, но я считаю 0x0правильным значением просто отправить пустой файл bytes.

Большое спасибо за этот подробный совет по использованию функции «убить», мы могли бы поговорить наедине несколько минут? Я хотел бы 1) знать, на какой адрес отправить награду (когда я завершу перевод) и 2) в идеале увидеть функцию уничтожения в действии. Мое первое впечатление, когда я пролистал список функций, заключалось в том, что «убить» (хоть и самое пугающее звучание) было лучшим вариантом, поскольку он убивает по адресу, однако, учитывая мое разумное отсутствие технических навыков, я бы предпочел вариант, который я можно сначала протестировать с небольшим количеством ETH.
Смотрите мое редактирование всего секунду назад. Вместо этого вы должны быть в состоянии сделать это execute, что позволит вам протестировать небольшое количество эфира, прежде чем нажать на курок для остальных.
У меня нет удобного способа поговорить наедине... есть предложения?
Отлично - я буду использовать функцию выполнения, чтобы попытаться отправить небольшую сумму, прежде чем отправлять большие суммы. Еще раз спасибо.
Вы в Reddit, Skype или Discord?
Я /u/smarx на Reddit.
Отправили вам сообщение, используя опцию чата на Reddit

Смаркс — человек — он провел меня через процесс с четкими инструкциями и терпением, и теперь у меня снова есть полный доступ к моему ETH.

Если есть разработчики, которые хотели бы поработать в блоге, посетите programtheblockchain.com, молодой сайт, который ищет новых авторов!