-
Notifications
You must be signed in to change notification settings - Fork 362
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
25 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,33 @@ | ||
# LayerZero V2 - Omnichain Interoperability Protocol | ||
|
||
# LayerZero-v2 | ||
LayerZero is an innovative open-source, immutable messaging protocol, that connects blockchains (50+ 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. | ||
|
||
## Requirements | ||
### Forge | ||
[Installation](https://book.getfoundry.sh/getting-started/installation) | ||
``` | ||
curl -L https://foundry.paradigm.xyz | bash | ||
source ~/.bashrc | ||
foundryup | ||
``` | ||
Refer to the [LayerZero V2 Docs](https://docs.layerzero.network/contracts/overview) for implementing, handling, and debugging LayerZero contracts. | ||
|
||
Join the `#dev-general` channel on [Discord](https://discord-layerzero.netlify.app/discord) to discuss technical issues. | ||
|
||
## Build & Test | ||
|
||
```bash | ||
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](https://docs.layerzero.network/contracts/oapp) 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](https://docs.layerzero.network/contracts/oft) to learn more. | ||
|
||
## Protocol Contracts | ||
|
||
The core, immutable protocol contracts (i.e., the [LayerZero Endpoint](https://docs.layerzero.network/explore/layerzero-endpoint)) live in `/protocol`. | ||
|
||
## MessageLib | ||
|
||
The contracts related to the append-only, on-chain [MessageLibs](https://docs.layerzero.network/explore/messagelib) live in `/messagelib`. Inside you can see reference implementations for how the [DVN](https://docs.layerzero.network/explore/decentralized-verifier-networks) and [Executor](https://docs.layerzero.network/explore/executors) 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](https://docs.layerzero.network/contracts/develop-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](https://docs.layerzero.network/contracts/develop-executor) guide. |