Benchmark Sequencer Scripts
This repository contains scripts to benchmark a sequencer. The main script is written in Go and can be used to run a series of commands and perform various operations.
Usage
1. Clone the repository:
git clone git@github.com:0xPolygonHermez/zkevm-node.git
cd zkevm-node/test/benchmarks/sequencer/scripts
2. Setup Environment Variables:
Copy the .env.example file to .env and populate it with the appropriate values.
Required environment variables are:
BASTION_HOST: The IP address or domain name of the bastion host. (From Deployments.doc under BASH VARIABLES section for the specific Environment)
POOLDB_DBNAME: Database name for the pool. (From Deployments.doc under BASH VARIABLES section for the specific Environment)
POOLDB_EP: Endpoint for the pool database. (From Deployments.doc under BASH VARIABLES section for the specific Environment)
POOLDB_PASS: Password for the pool database. (From Deployments.doc under BASH VARIABLES section for the specific Environment)
POOLDB_USER: User for the pool database. (From Deployments.doc under BASH VARIABLES section for the specific Environment)
SEQUENCER_IP: The IP address of the sequencer. (sequencer.zkevm-public.aws for public testnet, sequencer.zkevm-internal.aws for internal testnet, sequencer.zkevm-dev.aws for dev testnet)
RPC_URL: The URL for the Remote Procedure Call (RPC) server. (From Deployments.doc under Public URLs section as a bullet point to RPC for the specific Environment)
CHAIN_ID: The ID of the blockchain network. (From Deployments.doc under Public URLs section as a bullet point to RPC for the specific Environment)
PRIVATE_KEY: Your private key.
Optional environment variables:
POOLDB_PORT: Port for the pool database. (Default is 5433)
Example:
cp .env.example .env
nano .env
3. Run the Benchmark Script:
Run the main.go script with the following command-line flags:
--type: The type of transactions to test. Accepted values are eth, erc20 or uniswap.
--num-ops (optional): The number of operations to run. Default is 200.
--help (optional): Display the help message.
Example:
go run main.go --type erc20 --sequencer-ip <Private IP>
Notes
- Ensure that the
.env file exists and contains all the required environment variables before running the script.
- The script will perform various operations based on the provided command-line flags and environment variables.
- Ensure that Go is installed on your system to run the script.