Autonity R6
Preparing the server
1. Install the Autonity Utility (aut)
2. Install Autonity node
3. Install Oracle
FORM 1 - REGISTRATION
VALIDATOR REGISTRATION
FORM 2 - VALIDATOR REGISTRATION
Validator migration
Round 6 is open!
Start Time : 06/26/24 - 00:00 UTC
Basic information and form here - https://www.autonity.org/validators/#become-a-validator
Preparing the server :
File2Ban - more details here and here
Installing GO :
We install ethkey, which we will need next to pull out the private one :
Important: If you have problems installing aut or other binaries, add the following variables and do this make clean before installing again :
The recommended way to interact with the Autonity network is through the Autonity Utility Tool aut , which provides a command line interface for Autonity-specific queries and operations, as well as much of the core Ethereum functionality. Typically, it only needs to be installed on local machines to connect to the Autonity Go client RPC endpoint (either your own host or a host providing public RPC access) :
We create .autrca file thanks to which the aut utility will search for a specific configuration :
The team assumes that Autonity Go will be installed on a host machine (VPS or other host that is always on and always available), and a separate local machine will be used to create transactions and requests that are then sent to the Autonity Go client on the host machine via an RPC endpoint
In this guide we will run everything on 1 server, but these actions are not recommended!!!
Note : This guide is intended for use on test networks , for which there is no real value at stake. A production setup will likely have requirements not covered in this guide, such as node availability and security. For example, the configuration described here provides an unencrypted
httpRPC endpoint
Incoming traffic must be allowed to:
TCP, UDP 30303for communication with a p2p node (DEVp2p)
You can also allow traffic on the following ports:
TCP 8545to establish http RPC connections with a hostTCP 8546to establish RPC WebSocket connections with the hostTCP 6060to export Autonity metrics (recommended, but not required)
RECOMMENDED SPECIFICATIONS


Download the binary file. Current versions can be found here
We create the autonity-chaindata directory to store autonity working data and create the keys we need :
Starting from version 0.13.0 nodekey was renamed to autonitykeys. In this tutorial we will generate nodekey ourselves. to leave the old name and add a flag --autonitykeys $HOME/autonity-chaindata/autonity/nodekeyto the service file
We need to create nodekey, tresure.key and oracle.key
nodekey is the main key of the node, from which the validator address and enode are formed
tresure.key will be our treasury. With this key we will delegate to the validator and we will receive rewards for this key
oracle.key will be used as the cryptographic identifier of the Oracle server and will be used to sign price report transactions sent to Oracle Contract on-chain
Transaction costs for submitting online pricing report data are reimbursed , but you must pre-fund your oracle.key account to prevent an out-of-gas error on your first transaction.
!!! Be sure to top up your Oracle wallet after launching the node!!!
Generating nodekey :
Create a separate directory for tresure.key and oracle.key :
Now we add .autrctreasure to our key
The line is addedkeyfile=/root/.autonity/keystore/tresure.key
Create a service file
We don't need bootnodes, since everything should be pulled up using a flag--piccadilly
The team assumes that Autonity Oracle will run on a separate device (VPS or other host that is always on and always available) and a separate server will be used for the Autonity Go client. It is assumed that oracle will run through WSS
In this guide we will run everything on 1 server, but these actions are not recommended
Incoming traffic must be allowed to:
TCP 8546to connect WebSocket RPC to a host
Now you need to edit :
You plugins-conf.ymlneed to uncomment the bottom lines, register using the links, get the API keys and add them below. Also, be sure to add the refresh request time: 3600 as in the screenshot below, so that the API limits do not quickly burn out
Websites:
My example file looks like this

FORM 1 - REGISTRATIONIMPORTANT - register only if you did not participate in round 4 (R4)
Now is the time to register your participation in the test network to receive test tokens. To do this, go to the website and fill out the data - https://game.autonity.org/getting-started/register.html
In the autonity address field , insert the tresure address
In the Signature hash field , insert the hash of the signed transaction after the command
aut account sign-message "I have read and agree to comply with the Piccadilly Circus Games Competition Terms and Conditions published on IPFS with CID QmVghJVoWkFPtMBUcCiqs7Utydgkfe19wkLunhS5t57yEu"After registration, you will receive a confirmation email and tokens should be credited to your balance. You can check your balance in Explorer or with the command
aut account info
VALIDATOR REGISTRATION
After tokens appear on your balance, you can continue
Step 1. Create a cryptographic proof of node ownership
Replace <privatekey oracle>and <tresure account address>with your values
!!! after the transaction we saveSignature hex
Step 2. Determine the enode and validator address
!!! after transactions, save the validator address and enode
Step 3. Get the consensus public key
Step 4. Send the registration transaction from the tresure wallet
!!! after the transaction we save the hash
Now we can try to find our validator address in the list
Check validator
We create a service file for Oracle and run it. First add the wallet password to the service file

Now we need to bond NTN to the validator
Steak will appear by the next era
FORM 2 - VALIDATOR REGISTRATION
Now is the time to register your validator. To do this, go to the website and read the conditions - https://game.autonity.org/round-6/validator-sdp/
You will also need to fill out the following form - https://stake-delegation.pages.dev/#join
On the node, you need to sign the message aut account sign-message "Application for the stake delegation program"and insert the hash into the SIGNATURE OF MESSAGE VALIDATOR ONBOARDED column. You need to sign with a nodekey wallet . So first we need to convert nodekey to the required format
Step 1. Get the node key from the file nodekey (autonitykeys)
This operation will show your private node key in the terminal
Step 2. From the received privat, create a nodekey in the home directory and enter the privat key obtained from the previous command into it
Step 3. Get the node key from the file nodekey (autonitykeys)
Step 4. Rename the wallet to an easy-to-read format
Step 5. Sign the transaction
As soon as the validator is selected to the committee, we should see similar logs on the node


If we need to transfer a validator, then before that we need to save all our keys and nodekey (autonitykeys). Also remember the old server IP address
1. If you are validating and are in an active network (committee), then be sure to stop validating first. In this case, the validator’s active participation in the committee is suspended until reactivation. The bet is not automatically released from binding
2. In order to make sure that the validator is stopped, use the following command, in which the value is “state”: 1. Also check which epoch is currently running. I recommend launching the validator on a new server after the start of the next epoch
After you are sure that “state”: 1 you can stop the node and Oracle on the old server
3. If you haven't saved nodekey and other keys before, now is the time to do it. We will need to replace our keys on the new server
4. On the new server, install the node and aut, but do not start!!!
5. Create a directory and subdirectory autonity-chaindata/autonity. Once created, move the nodekey (autonitykeys) file there
6. Now we launch the node for synchronization as standard, having previously added the --nat extip:<IP of old server> key to the launch. During the trial transfer I used the IP from the old server
7. Launch the validator after waiting for the epoch to change
Last updated