⚠️ We highly recommend you use the updated oft-solana example.
The Omnichain Fungible Token (OFT) Standard allows fungible tokens to be transferred across multiple blockchains without asset wrapping or middlechains.
This standard works by burning tokens on the source chain whenever an omnichain transfer is initiated, sending a message via the protocol, and delivering a function call to the destination contract to mint the same number of tokens burned. This creates a unified supply across all networks LayerZero supports that the OFT is deployed on.
create programId keypair files if not existed
cd packages/solana/contracts
solana-keygen new -o target/deploy/endpoint-keypair.json
solana-keygen new -o target/deploy/oft-keypair.json
anchor keys sync
yarn && yarn build && yarn test
cd packages/solana/contracts
-
with anchor
anchor build -v solana program deploy --program-id target/deploy/oft-keypair.json target/verifiable/oft.so -u mainnet-beta
or
-
with solana-verify
solana-verify build solana program deploy --program-id target/deploy/oft-keypair.json target/deploy/oft.so -u mainnet-beta
please visit Solana Verify CLI and Deploy a Solana Program with the CLI for more detail.
If you encounter issues during compilation and testing, it might be due to the versions of Solana and Anchor. You can switch to Solana version 1.17.31
and Anchor version 0.29.0
, as these are the versions we have tested and verified to be working.