Интерфейсы контрактов
Разработчики протоколов должны использовать эти интерфейсы для отправки кросс-чейн сообщений и инициирования кросс-чейн чтений через Metalayer.
Создание протоколов через Metalayer
Metalayer требует, чтобы разработчики протоколов реализовывали два контракта - один на сети источника, а другой на сети назначения. Эта схема одинакова независимо от того, собирается ли разработчик выполнять чтение или запись.
Оба контракта взаимодействуют с контрактом MetalayerRouter на каждой сети - и на обеих сторонах разработчик должен разрешить список конкретных контрактов MetalayerRouter на локальной сети как часть конфигурации своего протокола.
Отправка сообщения в сети источнике
В сети источника контракт отправки вызывает функцию dispatch
контракта MetalayerRouter. Эта функция принимает домен назначения, адрес получателя, чтение, данные вызова записи, а также логическое значение, указывающее, нужно ли дожидаться завершения сети источника перед передачей сообщения.
Оплата газа
Функция quoteGasPayment
используется для расчета количества газа, которое будет заплачено за сообщение. Эта функция принимает домен назначения и лимит газа и возвращает количество газа, необходимое для передачи сообщения. Эта плата за газ покрывает стоимость ретрансляции сообщения, а также стоимость газа, необходимого для доставки сообщения по сети назначения. Эта функция также работает при передаче сообщений на сети с токеном газа, отличным от токена на вашей локальной сети. Плата должна быть включена в значение, отправляемое функцию dispatch
.
Получение сообщения в сети назначения
В сети назначения контракт должен реализовать интерфейс IMetalayerRecipient
. MetalayerRouter
в сети назначения вызовет функциюhandle
в контракте получателя, чтобы доставить сообщение.
Last updated