LayerZero is an immutable, censorship-resistant, and permissionless messaging protocol, that connects blockchains (60+ and counting) to enable omnichain interoperability for blockchain applications.
With LayerZero V2, developers have the power to create applications that can seamlessly interact across multiple blockchains.
- Solidity Contract Standards for sending arbitrary data, tokens, and external calls to multiple chains.
- Configure any number and type of decentralized verifier networks (DVNs) to verify your application's cross-chain messages.
- Executors that, for a fee, abstract away destination gas and automatically deliver messages on behalf of the source sender.
Refer to the LayerZero V2 Docs for implementing, handling, and debugging LayerZero contracts.
Join the #dev-general
channel on Discord to discuss technical issues.
yarn && yarn build && yarn test
All of the contracts in /oapp
can be referred to when building an Omnichain Application (OApp):
-
OApp: The OApp Standard provides developers with a generic message passing interface to send and receive arbitrary pieces of data between contracts existing on different blockchain networks. See the OApp Quickstart to start building.
-
OFT: The Omnichain Fungible Token (OFT) Standard allows fungible tokens to be transferred across multiple blockchains without asset wrapping or middlechains. See the OFT Quickstart to learn more.
The core, immutable protocol contract interfaces (i.e., the LayerZero Endpoint) live in /protocol
.
The contracts related to the append-only, on-chain MessageLibs live in /messagelib
. Inside you can see reference implementations for how the DVN and Executor communicate with the Ultra Light Nodes on each chain.
-
DVN: Developers can run a custom DVN by deploying a DVN contract on every chain they want to support. See the Build DVN guide to create your own security setup.
-
Executor: Developers can deploy a custom Executor to ensure the seamless execution of messages on the destination chain. See the Executor guide.