-
Notifications
You must be signed in to change notification settings - Fork 60
/
.env.example
108 lines (100 loc) · 8.8 KB
/
.env.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Terraform variables - AWS specific
TF_VAR_AWS_PROFILE=default # do not change this
TF_VAR_AWS_REGION=eu-west-1 # AWS region to deploy to (default is eu-west-1)
TF_VAR_INSTANCE_AMI=ami-01dd271720c1ba44f # ami instance type (default is ami-01dd271720c1ba44f, running ubuntu 22.04)
TF_VAR_BOR_IOPS=3000 # Amount of provisioned IOPS for Bor client
TF_VAR_ERIGON_IOPS=3000 # Amount of provisioned IOPS for Erigon client
TF_VAR_BOR_ARCHIVE_IOPS=3000 # Amount of provisioned IOPS in Bor archive node
TF_VAR_ERIGON_ARCHIVE_IOPS=3000 # Amount of provisioned IOPS in Erigon archive node
TF_VAR_PEM_FILE=aws-key # name of the certificate (.pem file) previously generated (default is aws-key)
TF_VAR_BOR_INSTANCE_TYPE=t2.xlarge # type of the EC2 VM instance for Bor client (default is t2.xlarge)
TF_VAR_ERIGON_INSTANCE_TYPE=r5b.large # type of the EC2 VM instance for Erigon client (default is r5b.large)
TF_VAR_BOR_ARCHIVE_INSTANCE_TYPE=t2.xlarge # default t2.xlarge
TF_VAR_ERIGON_ARCHIVE_INSTANCE_TYPE=r5b.large # default r5b.large
TF_VAR_BOR_VOLUME_TYPE=gp3 # default gp3
TF_VAR_ERIGON_VOLUME_TYPE=gp3 # default gp3
TF_VAR_BOR_ARCHIVE_VOLUME_TYPE=io1 # type of EBS volume for Bor archive nodes (default is io1)
TF_VAR_ERIGON_ARCHIVE_VOLUME_TYPE=io1 # type of EBS volume for Erigon archive nodes (default is io1)
# Terraform variables - GCP specific
TF_VAR_PROJECT_ID=YOUR_PROJECT_ID # GCP Project ID
TF_VAR_GCP_REGION=europe-west2 # GCP region to deploy to (default is europe-west2)
TF_VAR_ZONE=europe-west2-a # Zone to provision the GCP compute resources
TF_VAR_SUBNET_CIDR_RANGE=10.2.0.0/16
TF_VAR_FW_RULE_SUFFIX=matic # Suffix to be used in firewall rule name.
TF_VAR_INSTANCE_IMAGE=ubuntu-2204-jammy-v20230302 # instance image os (default is ubuntu-2204-jammy-v20230302, running ubuntu 22.04)
TF_VAR_GCP_PUB_KEY_FILE=/absolute/path/to/your/gcp-key.pub # absolute path pointing to the public key file
TF_VAR_USER=ubuntu
TF_VAR_BOR_MACHINE_TYPE=n2d-standard-4 # type of the EC2 VM instance for Bor client (default is n2d-standard-4)
TF_VAR_ERIGON_MACHINE_TYPE=n2d-standard-4 # type of the EC2 VM instance for Erigon client (default is n2d-standard-4)
TF_VAR_BOR_ARCHIVE_MACHINE_TYPE=n2d-standard-4 # default n2d-standard-4
TF_VAR_ERIGON_ARCHIVE_MACHINE_TYPE=n2d-standard-4 # default n2d-standard-4
TF_VAR_BOR_VOLUME_TYPE_GCP=pd-ssd # default pd-ssd
TF_VAR_ERIGON_VOLUME_TYPE_GCP=pd-ssd # default pd-ssd
TF_VAR_BOR_ARCHIVE_VOLUME_TYPE_GCP=pd-balanced # type of EBS volume for Bor archive nodes (default is pd-balanced)
TF_VAR_ERIGON_ARCHIVE_VOLUME_TYPE_GCP=pd-balanced # type of EBS volume for Erigon archive nodes (default is pd-balanced)
# Terraform variables - Common for both AWS and GCP
TF_VAR_VM_NAME=polygon-user # default "polygon-user". It can be any string, used to discriminate between instances
TF_VAR_DOCKERIZED=no # default "no", otherwise only one VM is created and the Polygon devnet will run in docker containers
TF_VAR_BOR_DISK_SIZE_GB=20 # size of the disk in GB for Bor client (default is 20GB)
TF_VAR_ERIGON_DISK_SIZE_GB=20 # size of the disk in GB for Erigon client (default is 20GB)
TF_VAR_BOR_ARCHIVE_DISK_SIZE_GB=100 # size of the disk in GB in Bor archive node (default is 100GB)
TF_VAR_ERIGON_ARCHIVE_DISK_SIZE_GB=100 # size of the disk in GB in Erigon archive node (default is 100GB)
TF_VAR_BOR_VALIDATOR_COUNT=2 # number of Bor validator nodes (default is 2). Note that while spinning up a public network (mainnet/mumbai) node, this will serve as a non-validator
TF_VAR_BOR_SENTRY_COUNT=1 # number of non-validator Bor sentry nodes (default is 1)
TF_VAR_BOR_ARCHIVE_COUNT=0 # number of Bor archive nodes (default is 0)
TF_VAR_ERIGON_VALIDATOR_COUNT=0 # number of Erigon validator nodes (default is 0). Note that while spinning up a public network (mainnet/mumbai) node, this will serve as a non-validator
TF_VAR_ERIGON_SENTRY_COUNT=0 # number of non-validator Erigon sentry nodes (default is 0)
TF_VAR_ERIGON_ARCHIVE_COUNT=0 # number of Erigon archive nodes (default is 0)
PEM_FILE_PATH=/absolute/path/to/your/aws-key.pem # absolute path pointing to the certificate previously downloaded
# Polygon network based variables (see configs/README.md) for more detailed info
DEFAULT_STAKE=10000 # default stake for each validator (in matic)
DEFAULT_FEE=2000 # default amount of fee to topup heimdall validator
NETWORK= # mention "mumbai", "mainnet" or leave empty if spinning up a local devnet
HEIMDALL_SEEDS=e72c0466a02ea43b2198bd3a9454b87a3ef0d77e@54.147.31.250:26656,[email protected]:26656 # Heimdall seeds to be added in config.toml (when running a mainnet/mumbai node )
BOR_CHAIN_ID= # bor chainID (leave empty to get a random one)
HEIMDALL_CHAIN_ID= # heimdall chainID (leave empty to get a random one)
SPRINT_SIZE=64 # sprint size (number of blocks for each bor sprint)
SPRINT_SIZE_BLOCK_NUMBER=0 # comma separated values defining the block heights of bor where sprint length must change
BLOCK_NUMBER=0 # comma separated values defining the block heights of bor where block time must change
BLOCK_TIME=2 # comma separated values defining the block times for the relative BLOCK_NUMBERs
BOR_REPO="https://github.com/maticnetwork/bor.git" # repo of bor project
# BOR_REPO="https://<username>:<token>@github.com/<username>/<repo>.git" # example of private repo URL
BOR_BRANCH=develop # bor branch defining the version to be used in the devnet
ERIGON_REPO="https://github.com/ledgerwatch/erigon.git" # repo of Erigon project
ERIGON_BRANCH=main # Erigon branch defining the version to be used in the devnet
HEIMDALL_REPO="https://github.com/maticnetwork/heimdall.git" # repo of heimdall project
HEIMDALL_BRANCH=develop # heimdall branch defining the version to be used in the devnet
CONTRACTS_REPO="https://github.com/maticnetwork/contracts.git" # repo of contracts project
CONTRACTS_BRANCH=mardizzone/node-16 # contracts branch defining the version to be used in the devnet. To use node v16.x, please stick with it
GENESIS_CONTRACTS_REPO="https://github.com/maticnetwork/genesis-contracts.git" # repo of genesis-contracts project
GENESIS_CONTRACTS_BRANCH=master# Genesis contracts branch defining the version to be used in the devnet
MATIC_CLI_REPO="https://github.com/maticnetwork/matic-cli.git" # repo of matic-cli to run a specific version remotely using express-cli
MATIC_CLI_BRANCH=master # matic-cli branch used on the remote machines to start the environment
DEVNET_BOR_USERS=ubuntu,ubuntu,ubuntu # users' names of VMs for all the nodes (comma separated). Its length must be equal to "TF_VAR_BOR_VALIDATOR_COUNT + TF_VAR_BOR_SENTRY_COUNT + TF_VAR_BOR_ARCHIVE_COUNT"
DEVNET_BOR_FLAGS=config,config,config # Specifies how bor should be started ('config', or 'cli'), by providing cli flags, or by using toml config file (length of DEVNET_BOR_FLAGS should match the length of DEVNET_BOR_USERS)
DEVNET_ERIGON_USERS= # users' names of VMs for all the nodes (comma separated). Its length must be equal to "TF_VAR_ERIGON_VALIDATOR_COUNT + TF_VAR_ERIGON_SENTRY_COUNT + TF_VAR_ERIGON_ARCHIVE_COUNT"
BOR_DOCKER_BUILD_CONTEXT="https://github.com/maticnetwork/bor.git#develop" # docker build context for bor. Used in docker setup (TF_VAR_DOCKERIZED=yes)
HEIMDALL_DOCKER_BUILD_CONTEXT="https://github.com/maticnetwork/heimdall.git#develop" # docker build context for heimdall. Used in docker setup (TF_VAR_DOCKERIZED=yes)
VERBOSE=true # if set to true will print logs also from remote machines
DD_API_KEY=DATADOG_API_KEY # Datadog API key
# Bor, Erigon and Heimdall Snapshot related variables (when running mainnet/testnet node)
SNAPSHOT=true # If set true, bor/erigon and heimdall snapshots will be downloaded
#Stress test variables (used to run stress tests against the remote nodes)
MNEMONIC="clock radar mass judge dismiss just intact mind resemble fringe diary casino" #random mnemonic
SPEED=200 # TPS = ~2 * SPEED (Default SPEED = 200; TPS = ~400)
MAX_ACCOUNTS=100000 # number of transactions to be sent
FUND=true # boolean flag to fund the accounts or not (use true for first time and false for subsequent runs)
STRESS_DEBUG_LOGS=false # boolean flag to enable debug logs for the stress tests
#EIP-1559 test variables
BURN_CONTRACT_ADDRESS=0x000000000000000000000000000000000000dead # Burn contract address
MAX_FEE=30000000009 # Max fee per gas
MAX_PRIORITY_FEE=30000000000 # Max priority fee per gas
COUNT=10 # Number of times to execute the test
#Shadow fork related variables
SHADOW_CHAIN_ID= #Chain Id of the shadow node (leave empty to get random one)
#RPC test related variables
RPC_URL= #External node URL to run the tests against (leave empty to run tests against a newly spun up node)
RPC_NETWORK= #The network for which tests will be run ('mumbai' or 'mainnet')
PRIVATE_KEY= #Private key of the account from which funds will be used for eth transaction calls
EXECUTION_COUNT_GETTERS= #The number of times the getter rpc calls are to be executed
EXECUTION_COUNT_SENDERS= #The number of times the sender rpc calls are to be executed