Tutorial for setup long-lived Testnet nodes

First, upgrade Petra Aptos Wallet to the latest version, 0.1.12 at the time of writing this article. Make sure you switch to the Testnet not AIT3.
00.01.04

Since the way of generating private keys from mnemonic is different from 0.1.8 in AIT3, We can’t import from mnemonic words but private keys works.
23.43.32

I chose to use the three old addresses in AIT3. As shown in the image, the addresses imported are Owner Voter Operator.
20.22.51

Download the latest aptos-cli, 0.3.4 at the time of writing this article. The team has released three versions for both macOS Ubuntu and Windows . I think the better way is to use aptos-cli on your own computer and upload only the necessary files to the server.

The following figure shows all the files generated in AIT3, where framework.mrb and layout.yaml are just intermediate files used to generate genesis.blob and waypoint.txt. When we download the genesis.blob and waypoint.txt released by the team, all 4 files are useless
23.16.04

Whether you run a validation node or a VFN in AIT3 you actually only need 5 files, 4 of them were downloaded from the internet, so we own only validator-identity.yaml and validator-full-node-identity.yaml. :bangbang:Since the addition haproxy, there are two more files haproxy.cfg and blocked.ips.
23.16.15

There is a new repo for all genesis and waypoint, you can find the Testnet file to download and the docker image tag.

For both validator node and VFN, download the genesis.blob waypoint.txt haproxy.cfg and blocked.ips

wget https://raw.githubusercontent.com/aptos-labs/aptos-genesis-waypoint/main/testnet/genesis.blob
wget https://raw.githubusercontent.com/aptos-labs/aptos-genesis-waypoint/main/testnet/waypoint.txt
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/haproxy.cfg
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/blocked.ips

For validator node, download the validator.yaml and docker-compose.yaml configuration files

wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml

For VFN, download the fullnode.yaml and docker-compose-fullnode.yaml configuration files, I like rename it to docker-compose.yaml to omit the -f parameter

wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose-fullnode.yaml
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml

Then use scp or the way you prefer upload validator-identity to validator node, and validator-full-node-identity.yaml to VFN respectively. Then the files on the server are ready.

root@ubuntu:~# tree
.
└── testnet
    β”œβ”€β”€ blocked.ips
    β”œβ”€β”€ docker-compose.yaml
    β”œβ”€β”€ genesis.blob
    β”œβ”€β”€ haproxy.cfg
    β”œβ”€β”€ keys
    β”‚   └── validator-identity.yaml
    β”œβ”€β”€ validator.yaml
    └── waypoint.txt

Now you can create a folder locally to use aptos-cli and follow official Tutorial part.
I think the tutorial is missing the creation of a voter account. You can use cli or faucet button in wallet to make voter account on-chain.
aptos account create --account <voter-account> --profile testnet-owner

Perhaps an easy way to do benchmark is to use yabs.sh
curl -sL yabs.sh | bash -s -- -i will test the performance of the disk and CPU, the IOPS of 4K mixed should be greater than 40K, and the bandwidth of 1m mixed should be greater than 200MB, the Geekbench5 score should be greater than 8000.
The following pic shows a disqualified serverπŸ˜‚
20.58.47

3 Likes

Good improvement :clap:t2:

2 Likes

Amazing!!! keep the good work going

Appreciated. Thanks

1 Like