Обмен токенов из хост-сети Ethereum на другой блокчейн

Каков хороший способ обмена токенами из хост-сети Ethereum в другую сеть (например, блокчейн Tron)?

Будет ли лучший способ сделать это — иметь смарт-контракт, в котором держатели токенов ERC20 должны будут отправлять свои токены, а также объявлять адрес кошелька Tron для создания общедоступного сопоставления и массива открытых ключей, принадлежащих держателям токенов, которые выполнили сопоставление. ? Возможно, эти два элемента можно использовать вне сети для распространения токенов в новой сети? Меня это беспокоит, потому что я не знаю, является ли это наиболее оптимальным подходом или возможно ли читать и возвращать данные по цепочке массива с большим количеством переменных из-за затрат на газ? Спасибо!

Ответы (1)

Описанный вами способ сработает. Оптимизация затрат будет заключаться в регистрации события всякий раз, когда пользователь отправляет свои токены в контракт. Это устранит требование как к массиву, так и к отображению. При попытке прочитать данные вне сети (для обмена на другой токен) вы можете просто прочитать каждое событие, которое произошло в этом контракте. Примером может быть:

event Swap(address indexed _from, bytes indexed _to, uint256 indexed _amount)

Параметр _toвыше будет адресом пользователя в новой цепочке.

В качестве примечания, я считаю, что это похоже на то, как будет работать переход от ETH1 к ETH2.


Вы также можете просмотреть исторические примеры, которые могут быть применимы к вашей ситуации.

EOS создала ERC20 на Ethereum и обменяла его на токены в сети EOS. Для этого они заключили партнерские отношения с биржами, чтобы выполнить обмен для нерезидентов США.

Если бы ваши токены не находились на бирже, вам пришлось бы зарегистрировать свои токены на сайте EOS, а затем выполнить обмен на основе вашего зарегистрированного адреса, аналогично вашему предложению. Дополнительную информацию можно найти здесь . Это работало путем создания моментального снимка сети в заданное время и использования публичного адреса Ethereum как функции адреса EOS. Вы можете прочитать более подробную информацию здесь .


Еще один пример — свопы USDT. USDT существует в нескольких сетях — Ethereum, Omni и Tron, и это лишь некоторые из них. Эти активы постоянно меняются местами в цепочках. Это возможно из-за его централизации, что может быть невозможно в вашем случае.

Чтобы выполнить своп в цепочке USDT, вы должны сначала заключить сделку с командой Tether, чтобы уточнить детали. Затем своп состоит из отправки USDT в одной цепочке команде Tether, а они впоследствии отправляют вам USDT в другой цепочке.


Атомарные свопы — еще один вариант. Вы можете прочитать о них здесь .

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

Дополнительную информацию можно найти здесь .