Introducing LZ Genie, a LayerZero Quickstart Guide from BCW

Brian
BCW Group
Published in
5 min readMay 24, 2024

BCW Group is proud to launch LZ Genie, the quickstart guide for oApp builders who need to leverage the LayerZero interoperability protocol.

Craete a new project using the LZ Genie quickstart guide for LayerZero from BCW.

LZ Genie reduces the time and resources teams must spend to set DVN preferences for their oApp by offering a wide range of boilerplates based on the type of project an oApp is and what modules it uses. In just a few clicks, an oApp can use LZ Genie to generate boilerplates that modify or deploy their project. This removes the need to sift through fragmented docs to find the solutions they need.

For added versatility, LZ Genie facilitates interactions with scripts that can be automated on existing smart contracts on EVM-compatible networks for features that may not be available on LZ Genie.

Teams will find LZ Genie to be the fastest and most cost-effective way of deploying their projects to LayerZero and making adjustments to their existing projects.

Start from Zero today at https://layerzero.bcw.group/ today to learn more about BCW’s involvement with LayerZero.

Find LZ Genie ReadMe and docs here.

LZ Genie Feature Set

BCW Group designed LZ Genie to be the simplest and most useful tool for teams to begin leveraging the LayerZero protocol. Take a look at what LZ Genie can do for oApps.

LZ Genie comes equipped with six features at launch:

  • Create a New Project from a Template
  • Create an Empty oApp Project
  • Add or Remove Modules to an Existing Project
  • Interact with an Existing Project
  • Deploy a Project
  • Set up a DVN Configuration
  • Bridge Trust Between Contracts (Coming Soon)

Create a New Project from a Template

Creating a new project from a template with LZ Genie is one of the most basic functions the tool offers.

At the time of writing, this feature supports templates for 8 different types of projects, including:

  • OFTV2
  • ONFT1155
  • ProxyONFT1155
  • ONFT721
  • ProxyOFT
  • PingPong
  • OmniCounter

After choosing a template, name your project and allow LZ Genie to install dependencies.

From that point, using hardhat or a compatible node package, apply the provided boilerplate from LZ Genie and make any other changes to your project’s code. Finally, deploy contracts over the desired network or networks.

Create an Empty oApp Project

If your team is starting from scratch with a new oApp project for LayerZero, LZ Genie can deploy it for you.

Like with creating a new templated project, teams must first name their project in LZ Genie when using the Create an Empty oApp Project feature. Once dependencies are installed, teams can use LZ Genie to deploy their contracts or a compatible node package.

Deploy a Project

Teams looking to Deploy a Project on LZ Genie should add their networks to the hardhat.config.ts. Confirm the availability of networks on LayerZero here.

Using a compatible node package, such as hardhat, teams can select which networks to deploy through LZ Genie. The network selector has been made simple and straightforward so developers can use arrow keys and the spacebar to toggle between desired networks.

After all networks have been selected, deploy the project and confirm the deployer and deployed contracts.

Add or Remove Modules to an Existing Project

LZ Genie allows teams to add or remove modules to their projects. Teams can change modules on their projects then deploy their contracts. Note that after making adjustments using this feature, contracts must be re-deployed.

Teams can adjust modules for the following types:

  • ERC20
  • ERC721
  • ERC1155
  • Ownable
  • Roles
  • Mintable

Interact with an Existing Project

Teams can make bespoke changes to their contracts, including adding new scripts, using LZ Genie’s Interact feature.

Essentially, this feature allows teams to directly insert new functionality to their contracts that may not yet be supported by LZ Genie. Teams can write the code for themselves, making it easier to include new scripts to their contracts.

The Interact feature supports Create New Script functions.

Set Up DVN Configuration

LZ Genie makes setting up a DVN configuration simpler and faster.

This feature allows teams to choose which DVN’s their project uses by changing the config file of the project. After DVN preferences are chosen, teams are prompted to complete the changes in an on-chain transaction.

Bridge Trust Between Contracts

Finally, the Bridge Trust Between Contracts feature will be enabled shortly after launch. This feature allows teams to easily set cross-chain trusted contracts for their projects.

oApps deployed on multiple networks will use this feature to set up which contracts are called when transactions are inevitably sent between them over LayerZero. The Bridge Trust feature reads your contract to detect on what networks it is deployed, then enables teams to settrustbridge between them.

Conclusion

We expect LZ Genie will make it easier for new and experienced builders to expand the multi-chain Web3 ecosystem with LayerZero.

Whether you’re in DeFi, gaming, NFTs, token bridges, infrastructure, or other cross-chain collaborations, LZ Genie is for you. Start from Zero today at https://layerzero.bcw.group/

About BCW Group

BCW Group is an enterprise solutions firm & venture studio dedicated to building cloud & Web3 infrastructure that connects and interacts with the on-demand digital universe.

Our business lines include infrastructure service technologies, products, enterprise solutioning and ventures. We have launched products in the areas of DLT interoperability (hashport), on-chain data analytics (Blockpour), API’s and infrastructure tools (Arkhia), and DLT naming service (HNS).

Learn more about BCW Group at bcw.group or follow us on Twitter and on LinkedIn.

--

--