Peggo
Peggo — это Go-реализация оркестратора Gravity Bridge, изначально реализованная Injective Labs. Сам Peggo является форком оригинального оркестратора Gravity Bridge, реализованного Althea.
Установка
Для установки бинарного файла peggo
:
Как Запустить
Установка
Сначала мы должны зарегистрировать ключ Ethereum валидатора. Этот ключ будет использоваться для подписи заявок, идущих из Ethereum в Umee, и для подписи любых транзакций, отправляемых в Ethereum (пакеты или обновления набора валидаторов).
$ umeed tx gravity set-orchestrator-address \\ {validatorAddress} \\ {orchestrator-address} \\ {ethAddress} \\ --eth-priv-key="..." \\ --chain-id="..." \\ --fees="..." \\ --keyring-backend=... \\ --keyring-dir=... \\ --from=...
Запуск Оркестратора
export PEGGO_ETH_PK={ethereum private key}
$ peggo orchestrator {gravityAddress} \\ --eth-rpc=$ETH_RPC \\ --relay-batches=true \\ --valset-relay-mode=minimum \\ --cosmos-chain-id=... \\ --cosmos-grpc="tcp://..." \\ --tendermint-rpc="http://..." \\ --cosmos-keyring=... \\ --cosmos-keyring-dir=... \\ --cosmos-from=...
Трансфер Из Umee В Ethereum
Это делается с помощью команды umeed txgravity send-to-eth
, используйте флаг --help
для получения дополнительной информации.
Если монета не имеет соответствующего эквивалента ERC20 в сети Ethereum, транзакция не будет выполнена. Это требуется только для монет, созданных Cosmos, и любой может вызвать функцию deployERC20
в контракте Gravity Bridge, чтобы исправить это (у Peggo есть вспомогательная команда для этого, см. peggo bridge deploy-erc20 --help
для получения более подробной информации).
Этот процесс занимает больше времени, чем обратная передача, потому что они передаются пакетами, а не по отдельности. В первую очередь это зависит от количества переводов одного и того же токена и комиссий, которые платят отправители.
Важное замечание: если в Umee будет отправлен токен ERC20, не зарегистрированный в списке (без денежной стоимости), его будет невозможно передать обратно в Ethereum, если только валидатор не настроен для пакетной обработки и ретрансляции транзакций этого токена.
Трансфер Из Ethereum В Umee
Любой токен ERC20 можно отправить в Umee, и это делается с помощью команды peggo bridge send-to-cosmos
, используйте флаг --help
для получения дополнительной информации. Это также можно сделать, вызвав метод sendToCosmos
в контракте Gravity Bridge.
Токены ERC20 будут заблокированы в контракте Gravity Bridge, а новые монеты будут чеканиться на Umee с номиналом gravity{token_address}
. Этот процесс занимает около 3 минут или 12 блоков Ethereum.
Как Это Работает
Peggo позволяет передавать активы между Ethereum и Umee и обратно. Он поддерживает как активы, происходящие из Umee, так и активы, происходящие из Ethereum (любой токен ERC20).
Он работает, сканируя события контракта, развернутого на Ethereum (Gravity), и ретранслируя их в виде сообщений в блокчейн Umee, также ретранслируя пакеты транзакций и наборов валидаторов из Umee в Ethereum.
Наблюдаемые/ретранслируемые события и сообщения
Ethereum
Ввод (SendToCosmosEvent
): выдаются при отправке токенов из Ethereum в Umee с помощью функции sendToCosmos
в Gravity.
Вывод (TransactionBatchExecutedEvent
): генерируется, когда пакет транзакций отправляется из Umee в Ethereum с использованием функции submitBatch
в контракте Gravity Bridge валидатором. Это служит подтверждением для Umee, что пакет был успешно отправлен.
Обновление Списка Валидатороа (ValsetUpdatedEvent
): генерируется при инициализации контракта Gravity Bridge и при каждом выполнении функции updateValset
.
Развернутый ERC 20 (ERC20DeployedEvent
): создается при выполнении функции deployERC20
. Это событие сигнализирует Umee, что из Gravity развернут новый ERC20, поэтому Umee может сопоставить адрес контракта токена с соответствующей нативной монетой. Это позволяет осуществлять переводы из Umee в Ethereum.
Umee
Наборы валидаторов: Уми сообщает контракту Gravity Bridge, кто является текущими валидаторами и их полномочиями. Это приводит к выполнению функции updateValset
.
Запрос пакета: Peggo проверит наличие новых транзакций в пуле исходящих транзакций и, если комиссия за транзакции превысит установленную минимальную комиссию за пакет, отправит Umee сообщение с запросом нового пакета.
Пакеты: Peggo запрашивает у Umee любые пакеты, готовые к ретрансляции, и передает их в Ethereum с помощью функции submitBatch в контракте Gravity Bridge.
Last updated