Run Testnet Node
Last updated
Last updated
.
NOTE: Ensure you meet the before running a .
Run a Testnet Unit Zero node by following the steps:
.
.
.
Hardware: Ensure you have 4 CPU cores, 8 GB RAM, and 80+ GB SSD.
Account: Create a wallet in Testnet.
Docker: Install the .
Waves Blockchain Data:
Download blockchain_last.tar via the .
Or see other .
Unit Zero Testnet Chaindata
Download op-geth-chaindata.tar via the .
Optional. For Mining Only.:
WAVES: Obtain a minimum of 0.005 to cover the .
NOTE: The Consensus Client invokes the on behalf of your account. If your account has a , it must permit such transactions.
Lease: a minimum of 20,000 WAVES to your account.
Google Chrome: Install the to ensure compatibility with the .
Create the main directory and go to it:
NOTE: Ensure you have the read and write access to the directory.
In the main
directory, create the subdirectories:
In the data/waves
subdirectory, unpack the blockchain_last.tar
archive.
In the data/op-geth
subdirectory, unpack the op-geth-chaindata.tar
archive.
Generate a node key and a JWT secret:
NOTE: You can re-use existing secrets if you ran besu previously.
In the main
directory:
Create the waves.conf
file and paste the code block into it:
WARNING: You must:
Insert your Testnet account's seed converted to a base58-encoded byte array.
Set a password as a string.
Specify your server's static IP address. If your server does not have a static IP address, remove the
declared-address
line.
NOTE:
execution-client-address
has changed to"http://op-geth:8551"
.
Create the genesis.json
file and paste the code block into it:
Create the peers.toml
file and paste the code block into it:
Create the docker-compose.yml file and paste the code block into it:
Note that newer images are not pulled when container restarts, neither for the consensus client, nor for op-geth. Automatic pulls have not been enabled to prevent newer incompatible images from being pulled unexpectedly.
You can run the following command to check which version of the consensus client you're running:
Sample output:
e94e576e19ec50f1dc7e0b8d716b6d01344ad781
is git commit hash the image was built from. This hash can be useful for debugging purposes.
In the docker-compose.yml file, execution client JSON-RPC port (8545) and Waves node's HTTP API port (6869) are mapped to the host's local address: 127.0.0.1:8545:8545 and 127.0.0.1:6869:6869. This configuration ensures the endpoints are accessible only to consumers running locally on the host machine.
If you need to allow access from external addresses, adjust the port mappings to 8545:8545 and 6869:6869. Alternatively, consider using a reverse proxy like nginx for controlled access.
Launch your node via the command:
NOTE: The Execution chain is synced with the network log indicates that the Consensus Client is synchronized with the network.
In the header of the page, click Sign in. The Connect a wallet to get started window will open.
In the Connect a wallet to get started window, select one of the sign-in options:
Sign in with Keeper.
Sign in with Exchange(Seed).
Sign in with Exchange(Email).
Sign in with Metamask.
The wallet extension will open.
In the wallet extension, sign in to your node account.
In the rewardAddressHex field, enter your account address.
LIMITATIONS: The data field accepts input only in string format.
Click Invoke.
NOTE: The transaction fee is 0.005 WAVES.
WARNING:
Docker and UFW have a known . This issue makes it impossible to map a container's port to a host port (e.g., '8545:8545'
) and restrict external access using UFW at the same time.
Go to the page.
In the block:
Confirm the transaction in your wallet. Nodes chosen for block creation receive epoch rewards. .
NOTE: If you need help, contact us via our for assistance.