KOS
Обзор от команды NFD:
LayerZero это протокол взаимодействия omnichain, разработанный для облегченной передачи сообщений между цепочками. LayerZero обеспечивает аутентичную и гарантированную доставку сообщений с настраиваемым доверием.
Ключевые моменты:
- Layer 0 - это базовый layer, на котором строится вся экосистема блокчейна.
- Будучи фундаментальным уровнем, он поддерживает блокчейн в резервном копировании данных транзакций для многочисленных сетей первого уровня.
- Layer 0 занимается такими вопросами, как масштабируемость и функциональная совместимость.
- Некоторые популярные токены Layer 0 - Avalance, Cosmos и polkadot.
В сетях нулевого уровня разработчики программного обеспечения могут создавать свои собственные сети первого уровня, подключенные к мейнчейну; однако все они работают независимо друг от друга. SDK, или наборы инструментов для разработки программного обеспечения, делают процесс подключения возможным.
В блокчейне масштабируемость является одной из самых больших проблем. Однако Layer 0 предлагает решение, охватывающее обертывание цифровой валюты, позволяющее устанавливать индивидуальное вознаграждение и проверять данные. Он обеспечивает межцепочечное взаимодействие с сетями первого уровня, такими как ADA, BTC и другими.
Протокол уровня 0 может легко развернуть ретрансляционные сети на нескольких узлах, таких как BTC и ETH. Он также решает проблему масштабируемости, не создавая никаких препятствий. Протокол позволяет пользователям создавать децентрализованные приложения (dapps), предприятия, ориентированные на блокчейн, майнить криптовалюты и др.
Инвестиции:
- Проект привлёк $255 миллионов от таких фондов как Sequoia, a16z, FTX, Coinbase и других.
На данный момент у LayerZero нет токена, и в этом гайде мы расскажем вам обо всех доступных действиях, выполнение которых, скорее всего, поможет вам в получении аирдропа от проекта.
Взаимодействие с Stargate Finance
Использование моста
- Перейдите на Stargate и подключите кошелёк;
- Выберите сети, токены, введите сумму и нажмите “Approve”;
- Апрувните две транзакции в кошельке;
- Используйте мост более 10 раз в разное время и с тотал обьёмом не менее $1000.
Покупка STG
- Перейдите на Uniswap и подключите кошелёк
- Перейдите на CMC и выберите скопируйте контракт той сети, в которой вы планируете приобретать STG;
- Вернитесь обратно на Uniswap и вставьте адрес контракта в строку поиска и выберите токен;
Стейкинг STG
- Перейдите на Stargate и подключите кошелёк;
- Нажмите на “Available” и выберите ваши STG токены;
Голосование на Snapshot
- Перейдите на сайт Snapshot и подключите кошелёк;
- Выберите предложение;
Не переживайте если вы видите надпись “You dont have voting power”, нужно дождаться следующего снимка и тогда вас допустят к голосованию (Обычно это занимает примерно 2 недели).
Используйте мост LayerZero's Aptos
- Перейдите на theaptosbridge.com и подключите кошелёк;
- Выберите токен и введите сумму;
Взаимодействуйте с Liquidswap от Pontem Network
- Перейдите на LiquidSwap и подключите ваши кошельки;
- Если вы выполнили прошлый стейдж с использованием AptosBridge, вы можете использовать этот бридж для возвращения токенов в сеть Optimism или в любую другую сеть;
Поскольку проект находится на ранней стадии, средства поступят на ваш счет не ранее чем через 5 дней.
Используйте PancakeSwap Bridge
- Перейдите на PancakeSwap и подключите кошелёк;
- Выберите сеть и токен, который вы будете отправлять, выберите сеть, в которую вы будете отправлять, и токен, который вы хотите получить после отправки, и нажмите на кнопку "Approve";
Покупка BTC.b
- Перейдите на TraderJoe и подключите кошелёк в сети Avalanche;
- Выберите токен который вы хотите обменять на BTC.b, введите его сумму и нажмите “Approve название вашего токена”;
Использование моста BitcoinBridge
- Перейдите на BitcoinBrdige и подключите кошелёк в сети Avalanche;
- Выберите сеть Avalanche и сеть в которую вы хотите отправить BTC.b, введите сумму и нажмите “Transfer”;
Используйте ETH Goerli Bridge By Layer Zero
Подключите кошелёк
- Перейдите на мост и подключите кошелёк.
Обмен эфира с основной сети на тестовый
Получение mETH
- Перейдите в Pools и подключите кошелёк;
- Введите сумму ETH которую вы хотите обменять на mETH и нажмите “Transfer”;
Добавление ликвидности на Uniswap
- Перейдите в Pools и подключите кошелёк;
- Выберите пул;
Депозит на платформу
- Перейдите на Rage Trade и подключите кошелёк;
- Перейдите в “Wallet” и нажмите “Deposit”;
Трейдинг на платформе
- Перейдите на Rage Trade и подключите кошелёк;
- Выберите Long или Short, введите сумму позиции и нажмите “Swap”;
Вывод с платформы
- Перейдите на Hashflow и подключите кошелёк;
- Выберите сеть и токены и нажмите “Trade”;
Депозит в Radiant
- Перейдите на Radiant и подключите кошелёк в сети Arbitrum;
- Выберите токен для депозита;
Займ токенов в другую в сеть
- Перейдите в вкладку “Borrow”, введите сумму которую вы хотите занять, выберите сеть в которую вы хотите отправить ваш займ и нажмите “Continue”;
Используйте Сross-chain swaps на Sushi
- Перейдите на Sushi и подключите кошелёк;
- Выберите сети, токены, введите сумму и нажмите на “Swap”;
- Перейдите на Holograph и подключите кошелёк;
- Нажмите на “New Collection”;
- Перейдите на Hologpagh;
- Нажмите "Select NFTS, выберите вторую сеть и нажмите “Beam”;
- Идём на Remix:
- Создаём файл с названием “LayerZero”.
// SPDX-License-Identifier: MIT
import "https://github.com/LayerZero-Labs/solidity-examples/blob/main/contracts/lzApp/NonblockingLzApp.sol";
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Polygon is NonblockingLzApp, ERC20 {
constructor(address _lzEndpoint) NonblockingLzApp(_lzEndpoint) ERC20("Cross Chain Token", "CCT") {
if (_lzEndpoint == 0x3c2269811836af69497E5F486A85D7316753cf62) destChainId = 126;
if (_lzEndpoint == 0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4) destChainId = 109;
_mint(msg.sender, 1000000 * 10 ** decimals());
function _nonblockingLzReceive(uint16, bytes memory, uint64, bytes memory _payload) internal override {
(address toAddress, uint amount) = abi.decode(_payload, (address,uint));
function bridge(uint _amount) public payable {
bytes memory payload = abi.encode(msg.sender, _amount);
_lzSend(destChainId, payload, payable(msg.sender), address(0x0), bytes(""), msg.value);
function trustAddress(address _otherContract) public onlyOwner {
trustedRemoteLookup[destChainId] = abi.encodePacked(_otherContract, address(this));
- Проверяем код на пробелы, текст, и тд, чтоб не выскакивало позже ошибок;
- Обязательно удостоверьтесь, чтоб вы вставили в тот файл код;
- Правильно вставленный код выглядит следующим образом.
- Обращу ваше внимание, в коде есть значения для сетей “Endpoint” и “ChainID”. Данные для каждой цепочки, могут быть схожими по “Endpoint” между собой, такие цепочки для деплоя использовать нельзя! То есть “Arbitrum-Polygon” мы задеплоить не можем, а вот “Arbitrum-Moonbeam" - можем. Поэтому, с этим внимательней при выборе сетей для деплоя.
- В моём примере будут использоваться следующие сети для развёртывания “Polygon-Moonbeam”;
- Данные по цепочкам (“Endpoint” и “ChainID”) берём по ссылке;
- Подготавливаем токены на комиссию, в выбранных сетях;
- В поле “Contract…” даём имя своему контракту. В моём примере будет “Polygon”, поскольку это основная сеть деплоя;
- Также берём во внимание, что “Endpoint” и “ChainID” сетей должны быть перекрестными друг для друга, всегда! (см. пример ниже);
- Обращаем внимание на вкладку “SOLIDITY COMPILER”, вот так выглядит успешный “Compile”.
- Переходим во вкладку “DEPLOY & RUN TRANSACTIONS”;
- Предварительно в кошельке выставляем главную сеть, в моём примере “Polygon”;
- Во вкладке “Environment” выбираем “Injected Provider - MetaMask”;
- Правее от кнопки “Deploy” вставляем “Polygon: Endpoint - 0x3c2269811836af69497E5F486A85D7316753cf62”;
- Нажимаем кнопку “Deploy” и подписываем транзакцию.
- Теперь деплоим в сети “Moonbeam”;
- Предварительно меняем сеть в кошельке на “Moonbeam”;
- Меняем название в поле “Contract…” на “Moonbeam”;
- Нажимаем на зелёную стрелочку для выполнения процесса “Compile”;
- Проверяем в разделе “Contract”, название должно сменится на “Moonbeam - LayerZero.sol”;
- Вставляем правее от кнопки “Deploy” эндопоинт сети “Moonbeam” - 0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4;
- Нажимаем кнопку “Deploy” и подписываем транзакцию.
- Теперь делаем созданные нами адреса доверенными;
- Находясь в сети “Moonbeam” мы разворачиваем ниже задеплоинный контракт (см.ниже);
- Копируем ранее инициализированный контракт в сети “Polygon”. Находим его в кошельке, в разделе "Activity" → “View on block explorer” → и находим поле с названием “Interacted With (To):” и копируем наш адрес;
- Находим поле с названием “trustAddress”, вставляем туда наш скопированный контракт из сети “Polygon”;
- Подтверждаем транзакцию.