Skip to content

LayerZero-Labs/LayerZero-v2

Repository files navigation

LayerZero

LayerZero V2

Omnichain Interoperability Protocol

Tutorials

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.

Refer to the LayerZero V2 Docs for implementing, handling, and debugging LayerZero contracts.

Join the #dev-general channel on Discord to discuss technical issues.

Audit Reports

Build & Test

yarn && yarn build && yarn test

Build an Omnichain Application (OApp)

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.

Protocol Contracts

The core, immutable protocol contract interfaces (i.e., the LayerZero Endpoint) live in /protocol.

MessageLib

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.