Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.
/ evm-localnet Public archive

A local testnet for bridge deployments over two local chains and command line interface for relaying transactions.

Notifications You must be signed in to change notification settings

webb-tools/evm-localnet

Repository files navigation

Webb EVM-Localnet 🕸️

A local ganache network for testing evm interactions in development

License Apache 2.0 Twitter Telegram Discord

📖 Table of Contents

Table of Contents

Overview

This Repository is meant to support a development environment for the anchor protocol over EVM networks. In its current state, it starts up two networks and deploys a FixedAnchor bridge over these networks for a freshly created erc20 token.

  • Hermes: chainId 5001, 'chain a'
  • Athena: chainId 5002, 'chain b'
  • Demeter: chainId 5003, 'chain c'

Start

  1. Clone the local testnet:
git clone https://github.com/webb-tools/evm-localnet
  1. Populate fixed zero knowledge keys by running:
git submodule update --init
  1. Install dependencies:
  yarn install
  1. Start the local testnet with:
yarn start

Great! Now you have a local EVM node running!

Usage

The deployer is the oracle signer for this bridge. As such, a CLI is supported for actions which require the bridge to sign messages, acting as the DKG. These commands are as follows:

- 'deposit on chain a': Using the deployer account, deposit into the fixed anchor on chain a. The deposit is stored in this local testnet memory for use by the withdraw command later.
- 'relay from a to b': Using the deployer account, look at the latest deposit on chain a and update chain b's root. This simulates the work of the Webb Relayer network interacting with a dkg and submitting the signed transaction on the other side of the bridge.
- 'withdraw on chain b': Using the deployer account, withdraw from the chain. It takes the latest deposit done through the CLI for a withdraw.
- 'root on chain a': Print the current root of the merkle tree for chain a.

For full E2E integration testing with the dapp, deposits and withdrawals can be done through the DApp UI. Simply call the 'relay from to ' command after a deposit through the dapp to relay the roots before initiating the withdrawal through the dapp.

About

A local testnet for bridge deployments over two local chains and command line interface for relaying transactions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published