Решение проблемы с токенами в EVM-блокчейнах при использовании программных и аппаратных кошельков Trezor / Ledger
cemehbl4

@cemehbl4

Решение проблемы с токенами в EVM-блокчейнах при использовании программных и аппаратных кошельков Trezor / Ledger
21.01.2023 22:46
Post earned 0.00 UFO

Проблема, можно сказать, уже стандартная. Юзер получает адрес кошелька ETC (Ethereum Classic) на своём аппаратнике, заходит на биржу, например Binance, выбирает блокчейн BNB Smart Chain, и отправляет ETC на свой адрес.

Что же произошло? Пользователь только что отправил токен ETC в блокчейне BNB, вместо того, чтобы отправить монету ETC в блокчейне ETC. Адрес ETC, выдаваемый аппаратным кошельком, отличается от адреса BNB, и, естественно, на балансе такие токены не отобразятся. Trezor штатными средствами вообще не поддерживает Smart Chain. Вот пример такой транзакции https://bscscan.com/tx/0x39ae333d01e7de479f46e615091292a6d931f2bf70972ddcdf64304fddb584c1.

В обычной ситуации, то есть при использовании горячего кошелька, например Trust Wallet, достать монеты не сложно. Нужно воспользоватся утилитой Иэна Коулмена https://github.com/iancoleman/bip39/releases/latest. Идеально, если вы будете делать это на чистой машине без интернета, во избежании утечки сид-фразы.

1. Скачайте по ссылке файл bip39-standalone.html и откройте его в браузере

2. В поле BIP39 Mnemonic введите вашу сид-фразу

3. В поле Coin выберите "ETC - Ethereum Classic"

4. Ниже появится таблица "Derived Addresses", вам нужно скопировать Private Key от первого адреса. Можно получить и QR-код, если на него кликнуть

5. Создайте ещё один кошелёк в вашем Trust Wallet. При создании кошелька выберите опции "У меня уже есть кошелёк", BNB Smart Chain и "Приватный ключ"

6. Впишите приватный ключ или отсканируйте QR-код с экрана

7. Добавьте токен ETC (BEP-20). Если токен не находится в стандартном списке, то его можно добавить вручную по адресу контракта. Адрес контракта вы можете взять из информации о вашей транзакции в обозревателе блокчейна - поле Interacted With (To)

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

Стоит понимать, что инструкция выше подойдёт для большинства кошельков, блокчейнов и токенов. Я лишь описал одну из самых частых ситуаций. Конечно, бывают случаи и более сложные, но всё можно решить, если у вас есть сид-фраза.

Так в чём же проблема с аппаратниками? Дело в том, что аппаратные кошельки не умеют импортировать пользовательские приватные ключи. То есть, если пользоваться первой инструкцией, отправку токенов придётся производить с какого-либо горячего кошелька, тем самым компрометируя как минимум один приватный ключ. Да, можно сделать подпись транзакции на офлайн машине, но гораздо лучше вообще никуда не вводить сид-фразу, а воспользоваться возможностями самого кошелька.

Подготовка.

Trezor. Зайдите в настройки Trezor Suite >> Устройство >> Проверки безопасности >> Изменить >> Спрашивать >> Подтвердите включение настройки на кошельке

Ledger. Зайдите в настройки Ledger Live >> Экспериментальные функции >> Включите "Режим разработчика" >> Мой Ledger >> Найдите и установите приложение Eth Recovery >> На аппаратном кошельке зайдите в приложение Eth Recovery >> Найдите пункт "Settings" >> Найстройку "Blind signing" переведите в состояние Enabled нажатием на обе кнопки >> Back >> Промотайте предупреждение, пока не увидите "Application is ready"

1. Скачайте MyEtherWallet версии 5 из репозитория на GitHub. Например, эту версию https://github.com/MyEtherWallet/MyEtherWallet/releases/tag/v5.8.7. Вам нужен файл MyEtherWallet-v5.8.7.zip

2. Распакуйте скачанный архив в отдельную директорию на компьютере. В ней есть файл index.html. Всё, что вам нужно - открыть этот файл в вашем браузере. Рекомендую использовать Google Chrome или Chromium. Просто перетащите мышью файл в окно браузера, либо через контекстное меню "Открыть с помощью".

3. Переходим в браузер. Любые ошибки в браузере можно игнорировать, это нормально. Access My Wallet >> Hardware >> Ledger или Trezor

4.1 Только для Trezor. В появившемся окне Trezor Connect нажмите "Allow once for this session" >> Export

Появится окно "Enter My Trezor passphrase". На этом моменте очень многие не понимают, что от них хочет приложение. Если вы не используете функцию скрытого кошелька с дополнительным паролем (пассфразой), то в этом окне НИЧЕГО ВВОДИТЬ НЕ НУЖНО. Просто нажмите зелёную кнопку Enter.

Далее появится окно "Network and Address". В списке "Network" нужно выбрать блокчейн, в который вы перевели монеты, в даннном примере BSC, находим и нажимаем на "bscscan.com". В списке "Address" выберите HD Derivation Path "Ethereum Classic". Вновь появится окно Trezor Connect >> "Allow once for this session" >> Export. После чего кликните на первый адрес из списка, поставьте галочку "To Access my Wallet, I accept Terms" и нажмите "Access My Wallet".

4.2 Только для Ledger. Раскройте список рядом с большой надписью "Ethereum" и выберите "Ethereum Classic", снизу из списка выберите "Ethereum Classic - Ledger Live - m/44'/61'"

Next >> Разрешите браузеру доступ к устройству. Далее появится окно "Network and Address". В списке "Network" нужно выбрать блокчейн, в который вы перевели монеты, в даннном примере BSC, находим и нажимаем на "bscscan.com". В списке адресов выберите первый адрес, снизу отметьте чекбокс и нажмите "Access My Wallet".

5. В строке поиска Tokens введите тикер нужного токена и нажмите кнопку Load. Если токен не нашёлся, нажмите "+ Custom Tokens". Данные для добавления токена можно взять из обозревателя блокчейна BSC.

Наша транзакция  >> Кликните на название токена в строке Tokens Transferred.

На открывшейся странице нужные нам данные находятся в разделе Profile Summary - адрес контракта 0x3d6545b08693daE087E957cb1180ee38B9e3c25E и значение Decimals - 18.

Token Symbol можно задать произвольно. Баланс токена отобразится сразу после добавления.

6. Перейдите в раздел Send. Отсюда вы сможете отправить ваши токены обратно на биржу, но предварительно необходимо пополнить счёт минимальной суммой в BNB.

7. После возврата токенов можно удалить Eth Recovery и отключить режим разработчика в Ledger Live, а в Trezor Suite вернуть настройку проверки безопасности в исходное состояние.

Ну и в конце хочу ответить на один очень частый вопрос.

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

Если у вас что-то не получается, всегда рад ответить на любые вопросы в телеграм https://t.me/cemehbl4_chat или комментариях. Спасибо за внимание)

Post earned 0.00 UFO

Post earned 0.00 UFO

Комментарии

Comments: