Skip to content

Creating an Autonity full node

This section takes you through how to initialise and launch a Bakerloo testnet full node using the Autonity Go Client (AGC). Make sure to meet the prerequisites.

Info

The method outlined here will use a pre-configured Docker image to create a container running AGC. If, instead, you want to explore different deployment methods, you can find the Autonity Bakerloo testnet Genesis file here

Download the Docker image, and create and run a container

This will run a Docker container from an image, and configure it in such a way that it shares the autonity directory outside the container. This directory is used for the node's identity (private key) and chain data.

On the machine that will host your node, download the Autonity Bakerloo testnet Docker image, and create and run a new Docker container from it:

docker run -d -ti --net=host \
--name services-testnet-agc \
--user $(id -u):$(id -g) \
-v $(pwd):/autonity \
clearmatics/services-testnet-agc:v0.7.1-bakerloo05 \
--datadir=/autonity \
--nat extip:<IP_ADDRESS>

where <IP_ADDRESS> is your node host's external-facing IP address.

Info

If you want to run a node that acts as a validator node, you must enable mining and full sync mode. This will make the node take considerably longer (around 5x) to sync the block chain. To do this you must add the autonity arguments --mine --minerthreads 1 --syncmode full. Hence the command to run the docker node becomes:

docker run -d -ti --net=host \
--name services-testnet-agc \
--user $(id -u):$(id -g) \
-v $(pwd):/autonity \
clearmatics/services-testnet-agc:v0.7.1-bakerloo05 \
--datadir=/autonity \
--nat extip:<IP_ADDRESS> \
--mine --minerthreads 1 --syncmode full

Also, note that AGC functionalities for staking, delegation, and accountability are in Beta-stage development and therefore not yet fully usable and documented; therefore we do not currently encourage attempts to operate validator nodes.

Within the docker container, created from the image in this way, runs a version of the AGC pre-configured for the Bakerloo testnet.

Warning

Due to the --net=host flag the Docker container will expose its network ports directly on the corresponding ports of the host machine it is running on

Info

Here is a short Docker cheat sheet showing useful operations

Connect to your node from your local host

Use the Autonity Node.JS Console on your local host to connect to your node:

nodejsconsole ws://<IP-ADDRESS>:8546

At the command line prompt of >, enter the following command to be able to send calls to the blockchain:

contract.options.gasPrice=0

Now try:

await web3.eth.getBlockNumber()

You should see 0, since your node is not yet connected to the Bakerloo testnet.

To leave the command line interface, type .exit.


Help

If you need help, you can: