Genesis

Setting genesis configuration for an Autonity Go Client

The genesis configuration for public Autonity networks is built into the client’s configuration. If setting up a local testnet, for example a private devnet, a local network configuration has to be specified when initialising the node.

Public Autonity Network configuration

Configuring the client to join a public network is done by setting the network as a command-line option when initialising and running the Autonity Go Client. The client will then auto-detect the network genesis configuration and bootnodes, connect, and sync.

Public network flags

Network Command-line option Network settings
Bakerloo Testnet --bakerloo command-line option Genesis configuration

For details of individual public network purpose and use see the Networks section.

Local Autonity Network configuration

For launching a local Autonity network, genesis configuration and bootnodes need to be specified when running the client:

  • Genesis configuration file. To set genesis state of your local Autonity network you will need to provide your own custom genesis.json configuration file, a JSON formatted file containing the initialisation configuration for the network. This file defines:
    • the genesis block and that block’s header
    • protocol parameters configuring protocol rules of the network
    • validators from which the genesis consensus committee will be selected
    • oracle network configuration
    • accounts to be created at network genesis: initial allocation of Auton to accounts; addresses of EOA and contract accounts.
  • Bootnodes. Bootnodes can be provided statically as a file or as a command-line option when running the client. To provide statically, specify a static-nodes.json file, or as a comma-separated list in the --bootnodes command-line option.

Genesis configuration file

JSON data structures

Genesis configuration file JSON objects:

Genesis file object

Parameter Description Value
config Configuration variables for the Autonity Network blockchain See config object
nonce Maintained by the Autonity Protocol for backward compatibility reasons in the EVM. Set to 0 (0x0 in hexadecimal)
timestamp Specifies the time point when the network starts mining and the first block is mined. If set to 0, the node will start mining on deployment. If a future time point is specified, then miners will wait until timestamp + blockPeriod to begin mining. The local node consensus engine will start when its local Unix clock reaches the timestamp value. The Validator node operator must keep their local node in sync, i.e. by the Network Time Protocol (NTP) Set to 0 (0x0) to start node mining on connection to the Autonity network
baseFee The base gas price for computing a transaction on an Autonity network after genesis. Denominated in ton. The base fee is adjusted per the EIP 1559 fee market mechanism. See Concepts, EIP 1559 Transaction fee mechanism (TFM) Set to: 1000000000 (1 gigaton)
difficulty Derived from Ethereum where it sets the difficulty for Ethereum’s Ethash Proof of Work consensus. For Autonity’s implementation of Tendermint BFT Proof of Stake consensus this must be assigned 0. Set to 0 (0x0)
coinbase Maintained for backward compatibility reasons in the EVM. Unused by the Autonity Protocol. Ethereum format address. Set to 0x0000000000000000000000000000000000000000
number A value equal to the number of ancestor blocks. At genesis there are no ancestor blocks and it is assigned the value 0 Set to 0 (0x0)
gasUsed The gas used in the computation of the block. At genesis this is assigned the value 0 Set to 0 (0x0)
parentHash A Keccak 256-bit hash of the parent block header. At genesis there is no parent block and this is assigned a zero value. Set to 0x0000000000000000000000000000000000000000000000000000000000000000
mixHash Maintained by the Autonity Protocol for backward compatibility reasons in the EVM. Used for: (a) compatibility with 3rd party Ethereum tools that expect the field, (b) an internal code check by the Autonity Protocol before a block is accepted during consensus; blocks without this hash are rejected. A 256-bit hash as a Hex encoded string, set to: 0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365
alloc An array of accounts to be assigned Auton on chain initialisation. Contract accounts for deployment at genesis can also be specified. See alloc object definition

config object

Parameter Description Value
chainId Identifier for the Autonity blockchain network, specifying which chain the node will connect to. Introduced by EIP 155 and used for transaction signature generation 8-digit decimal integer value formed according to a naming scheme composed of 3 elements: {A + Network Type + ID}, where: A = 65; Network Type = 00 (Public Mainnet) or 01 (Public General Purpose Testnet) or 10 (Public Special Purpose Testnet) or 11 (Private Internal Development Testnet); ID = 0000-9999 (unique identifier for the testnet). For example, Bakerloo Testnet has the chainId 65010000
autonity Autonity Protocol configuration parameters See config.autonity object
accountability Accountability Fault Detection protocol configuration parameters See config.accountability object
oracle Oracle protocol and Oracle Accountability Fault Detection protocol configuration parameters See config.oracle object
inflationController Newton inflation mechanism configuration parameters See config.inflationController object
asm Auton Stabilization Mechanism configuration parameters See config.asm object
omissionAccountability Omission Fault Detection protocol configuration parameters See config.omissionAccountability object

config.autonity object

Note

In current state the operator governance account is an EOA. It could be assigned to a smart contract address. For example, in the case the blockchain is DAO-governed.

Parameter Description Value
abi The abi of an upgraded Autonity Protocol Contract to be deployed at genesis. By default the Autonity Protocol Contract in the Autonity Go Client release is deployed Only specify if overriding default contract deployment
bytecode The EVM bytecode of an upgraded Autonity Protocol Contract to be deployed at genesis. By default the Autonity Protocol Contract in the Autonity Go Client release is deployed Only specify if overriding default contract deployment
minBaseFee See Protocol Parameter Reference Autonity Config, minBaseFee Value is specific to network configuration
epochPeriod See Protocol Parameter Reference Autonity Config, epochPeriod Value is specific to network configuration. For a local devnet supporting rapid testing a value of 30 could be appropriate. The epochPeriod must be shorter than the unbondingPeriod
unbondingPeriod See Protocol Parameter Reference Autonity Config, unbondingPeriod Value is specific to network configuration. For a production environment a number of blocks to span a day or more could be typical to enable Byzantine behavior detection. For a local devnet supporting rapid testing a value of 120 could be appropriate. The unbondingPeriod must be longer than an epochPeriod
blockPeriod See Protocol Parameter Reference Autonity Config, blockPeriod Value is specific to network configuration. For example, set to 1 for a 1-second block interval
maxCommitteeSize See Protocol Parameter Reference Autonity Config, maxCommitteeSize Value is specific to network configuration. For example, for a local devnet supporting rapid testing a value of 20 could be appropriate
operator See Protocol Parameter Reference Autonity Config, operator EOA account address. For functions restricted to the operator, see the See API Reference section Autonity Protocol and Operator Only
treasury See Protocol Parameter Reference Autonity Config, treasury EOA account address
withheldRewardsPool See Protocol Parameter Reference Autonity Config, withheldRewardsPool Set by default to the Autonity treasury account at genesis unless specified
treasuryFee See Protocol Parameter Reference Autonity Config, treasuryFee Value is specific to network configuration. For example, a setting of 10000000000000000 = 1%
delegationRate See Protocol Parameter Reference Autonity Config, delegationRate Value is specific to network configuration. For example, a setting of 1000 = 10%
withholdingThreshold See Protocol Parameter Reference Autonity Config, withholdingThreshold Value is specific to network configuration. For example, a setting of 0 = 0%, no tolerance
proposerRewardRate See Protocol Parameter Reference Autonity Config, proposerRewardRate Value is specific to network configuration. For example, a setting of 1000 = 10%
oracleRewardRate See Protocol Parameter Reference Autonity Config, oracleRewardRate Value is specific to network configuration. For example, a setting of 1000 = 10%
initialInflationReserve See Protocol Parameter Reference Autonity Config, initialInflationReserve Value is set to 40 Million (40% of the total supply of 100 M Newton)
gasLimit See Protocol Parameter Reference Autonity Config, gasLimit Set to: 30000000
gasLimitBoundDivisor See Protocol Parameter Reference Autonity Config, gasLimitBoundDivisor Set to: 1024
baseFeeChangeDenominator See Protocol Parameter Reference Autonity Config, baseFeeChangeDenominator Set to: 64
elasticityMultiplier See Protocol Parameter Reference Autonity Config, elasticityMultiplier Set to: 2
clusteringThreshold See Protocol Parameter Reference Autonity Config, clusteringThreshold Set to: 64
skipGenesisVerification See Protocol Parameter Reference Autonity Config, skipGenesisVerification Set to: false
tokenBond See Protocol Parameter Reference Autonity Config, tokenBond Specific to network genesis
tokenMint See Protocol Parameter Reference Autonity Config, tokenMint Specific to network genesis
maxScheduleDuration See Protocol Parameter Reference Autonity Config, maxScheduleDuration Value is specific to network configuration. For example, for a local devnet supporting rapid testing a value of 2592000 could be appropriate
schedules See Protocol Parameter Reference Autonity Config, schedules Value is specific to network configuration.
validators See Protocol Parameter Reference Autonity Config, validators Value specific to network configuration

config.autonity.schedules object

An array of schedule objects consisting of:

Parameter Description Value
start The start time of the protocol schedule The timestamp that the schedule begins in Unix time format
totalDuration The length of time that the schedule runs after the start time Temporal duration of the schedule in seconds
amount The amount of Newton held in the protocol schedule Positive integer for Newton amount. Value is specific to schedule.
vaultAddress The address of the vault contract holding the Newton Contract account address

config.autonity.validators object

An array of validator objects consisting of:

Parameter Description Value
enode The enode url address for the validator node on the network after genesis The validator’s enode URL
treasury The validator’s treasury account for receiving staking rewards. Ethereum format address. The validator’s EOA account address
consensusKey The validator’s BLS key used for consensus gossiping when participating in consensus The validator’s consensus public key
oracleAddress The unique identifier for the Autonity Oracle Server providing data to the validator. Ethereum format address. The Oracle Server’s account address
bondedStake The amount of stake bonded to the validator node at genesis. Denominated in Newton. Positive integer for stake amount. Value is specific to validator’s stake at genesis.

config.accountability object

Object structure for the Accountability Fault Detection (AFD) protocol configuration at genesis.

Parameter Description & Value
innocenceProofSubmissionWindow See Protocol Parameter Reference Accountability Config, innocenceProofSubmissionWindow
delta See Protocol Parameter Reference Accountability Config, delta
range See Protocol Parameter Reference Accountability Config, range
baseSlashingRateLow See Protocol Parameter Reference Accountability Config, baseSlashingRateLow
baseSlashingRateMid See Protocol Parameter Reference Accountability Config, baseSlashingRateMid
baseSlashingRateHigh See Protocol Parameter Reference Accountability Config, baseSlashingRateHigh
collusionFactor See Protocol Parameter Reference Accountability Config, collusionFactor
historyFactor See Protocol Parameter Reference Accountability Config, historyFactor
jailFactor See Protocol Parameter Reference Accountability Config, jailFactor

config.oracle object

Object structure for the oracle and Oracle Accountability Fault Detection (OAFD) protocol configuration at genesis.

Parameter Description & Value
symbols See Protocol Parameter Reference Oracle Config, symbols
votePeriod See Protocol Parameter Reference Oracle Config, votePeriod
outlierDetectionThreshold See Protocol Parameter Reference Oracle Config, outlierDetectionThreshold
outlierSlashingThreshold See Protocol Parameter Reference Oracle Config, outlierSlashingThreshold
baseSlashingRate See Protocol Parameter Reference Oracle Config, baseSlashingRate
nonRevealThreshold See Protocol Parameter Reference Oracle Config, nonRevealThreshold
revealResetInterval See Protocol Parameter Reference Oracle Config, revealResetInterval
slashingRateCap See Protocol Parameter Reference Oracle Config, slashingRateCap

config.inflationController object

Configuration of the Inflation Controller of the Newton inflation mechanism.

Parameter Description & Value
inflationRateInitial See Protocol Parameter Reference Inflation Controller Config, inflationRateInitial
inflationRateTransition See Protocol Parameter Reference Inflation Controller Config, inflationRateTransition
inflationReserveDecayRate See Protocol Parameter Reference Inflation Controller Config, inflationReserveDecayRate
inflationTransitionPeriod See Protocol Parameter Reference Inflation Controller Config, inflationTransitionPeriod
inflationCurveConvexity See Protocol Parameter Reference Inflation Controller Config, inflationCurveConvexity

config.asm object

Configuration of the Auton Stabilization Mechanism (ASM).

Parameter Description Value
acu Object structure for the ASM’s Autonomous Currency Unit (ACU) configuration at genesis See config.asm.acu object
stabilization Object structure for the ASM’s Stabilization mechanism CDP configuration at genesis See config.asm.stabilization object
supplyControl Object structure for the ASM’s Auton supply control configuration at genesis See config.asm.supplyControl object
auctioneer Object structure for the ASM’s CDP debt and interest auction mechanism configuration at genesis See config.asm.auctioneer object

config.asm.acu object

Configuration of the Autonomous Currency Unit (ACU), an optimal currency basket of 7 free-floating fiat currencies.

Parameter Description & Value
symbols See Protocol Parameter Reference ACU Config, symbols
quantities See Protocol Parameter Reference ACU Config, quantities
scale See Protocol Parameter Reference ACU Config, scale

config.asm.stabilization object

Configuration of the Stabilization mechanism’s Collateralized Debt Position (CDP).

Parameter Description & Value
borrowInterestRate See Protocol Parameter Reference Stabilization Config, borrowInterestRate
announcementWindow See Protocol Parameter Reference Stabilization Config, announcementWindow
liquidationRatio See Protocol Parameter Reference Stabilization Config, liquidationRatio
minCollateralizationRatio See Protocol Parameter Reference Stabilization Config, minCollateralizationRatio
minDebtRequirement See Protocol Parameter Reference Stabilization Config, minDebtRequirement
targetPrice See Protocol Parameter Reference Stabilization Config, targetPrice
defaultNTNATNPrice See Protocol Parameter Reference Stabilization Config, defaultNTNATNPrice
defaultNTNUSDPrice See Protocol Parameter Reference Stabilization Config, defaultNTNUSDPrice
defaultACUUSDPrice See Protocol Parameter Reference Stabilization Config, defaultACUUSDPrice

config.asm.supplyControl object

Configuration of the Stabilization mechanism’s initial Auton supply.

Parameter Description & Value
initialAllocation See Protocol Parameter Reference Supply Control Config, initialAllocation

config.asm.auctioneer object

Configuration of the ASM’s auction mechanism for CDP debt and interest.

Parameter Description & Value
liquidationAuctionDuration See Protocol Parameter Reference Auctioneer Config, liquidationAuctionDuration
interestAuctionDuration See Protocol Parameter Reference Auctioneer Config, interestAuctionDuration
interestAuctionDiscount See Protocol Parameter Reference Auctioneer Config, interestAuctionDiscount
interestAuctionThreshold See Protocol Parameter Reference Auctioneer Config, interestAuctionThreshold

config.omissionAccountability object

Object structure for the Omission Fault Detection (OFD) protocol configuration at genesis.

Parameter Description & Value
inactivityThreshold See Protocol Parameter Reference Supply Control Config, inactivityThreshold
lookbackWindow See Protocol Parameter Reference Supply Control Config, lookbackWindow
pastPerformanceWeight See Protocol Parameter Reference Supply Control Config, pastPerformanceWeight
initialJailingPeriod See Protocol Parameter Reference Supply Control Config, initialJailingPeriod
initialProbationPeriod See Protocol Parameter Reference Supply Control Config, initialProbationPeriod
initialSlashingRate See Protocol Parameter Reference Supply Control Config, initialSlashingRate
delta See Protocol Parameter Reference Supply Control Config, delta

alloc object

The alloc object is used to issue native coin and allows pre-deployment of smart contract accounts at network genesis.

Parameter Description Value
alloc An array of account objects to be created on the network at genesis. These can be EOA or contract accounts See alloc.account object definition

alloc.account object

Parameter Description Value
alloc.ADDRESS The account address Ethereum format address
alloc.ADDRESS.balance The amount of Auton allocated to the account ADDRESS Positive integer value
alloc.ADDRESS.newtonBalance The amount of Newton allocated to the account ADDRESS Positive integer value
bonds An array of bonds objects for stake delegation(s) from the account ADDRESS to genesis validators at genesis See alloc.account.bonds object definition
alloc.ADDRESS.code The contract bytecode to be deployed if a contract account ADDRESS EVM bytecode
alloc.ADDRESS.storage The key-value pair for the contract bytecode storage space if a contract account ADDRESS k-v pairs for contract storage

alloc.account.bonds object

Parameter Description Value
alloc.account.bonds.ADDRESS The validator identifier ADDRESS Ethereum format address
alloc.account.bonds.AMOUNT The amount of Newton bonded to the validator Positive integer value

Example genesis.json

{
  "config": {
    "chainId": 65110000,
    "autonity": {
      "minBaseFee": 500000000,
      "epochPeriod": 1800,
      "unbondingPeriod": 21600,
      "blockPeriod": 1,
      "maxCommitteeSize": 100,
      "maxScheduleDuration": 94608000,
      "gasLimit": 20000000,
      "gasLimitBoundDivisor": 1024,
      "baseFeeChangeDenominator": 8,
      "elasticityMultiplier": 2,
      "operator": "0x293039dDC627B1dF9562380c0E5377848F94325A",
      "treasury": "0x7f1B212dcDc119a395Ec2B245ce86e9eE551043E",
      "withheldRewardsPool": "0x7f1B212dcDc119a395Ec2B245ce86e9eE551043E",
      "clusteringThreshold": 30,
      "treasuryFee": 10000000000000000,
      "delegationRate": 1000,
      "withholdingThreshold": 0,
      "proposerRewardRate": 1000,
      "initialInflationReserve": "0x2116545850052128000000",
      "oracleRewardRate": 1000,
      "skipGenesisVerification": true,
      "validators": [
        {
          "enode": "enode://181dd52828614267b2e3fe16e55721ce4ee428a303b89a0cba3343081be540f28a667c9391024718e45ae880088bd8b6578e82d395e43af261d18cedac7f51c3@35.246.21.247:30303",
          "treasury": "0x3e08FEc6ABaf669BD8Da54abEe30b2B8B5024013",
          "consensusKey": "0x776d2652de66e7x2d294c77d0706c772x077d242076e97cx44feex03e27d59757f7c7m7905072537eccd2d6292262724",
          "oracleAddress": "0x5307a90c018513de02aa4c02B14E6F3CaaA8af3f",
          "nodeAddress": "0xA49BD88570B0DDE977dfE5F4B1B0d73737c26836",
          "bondedStake": 10000000000000000000000
        },
        {
          "enode": "enode://e3b8ea9ddef567225530bcbae68af5d46f59a2b39acc04113165eba2744f6759493027237681f10911d4c12eda729c367f8e64dfd4789c508b7619080bb0861b@35.189.64.207:30303",
          "treasury": "0xf1859D9feD50514F9D805BeC7a30623d061f40B7",
          "consensusKey": "0x456y2357dfk6e7x2d294c71d0k06c512x077d242076lk7cx44feex03e27d59757f7c717925692537eccd2e6292262774",
          "oracleAddress": "0xd54ba484243c99CE10f11Bc5fb24cCc728ba060D",
          "nodeAddress": "0xa75500C1BeE38247e2cD814Cc95E22D7AD96EC56",
          "bondedStake": 10000000000000000000000
        },
        {
          "enode": "enode://00c6c1704c103e74a26ad072aa680d82f6c677106db413f0afa41a84b5c3ab3b0827ea1a54511f637350e4e31d8a87fdbab5d918e492d21bea0a399399a9a7b5@34.105.163.137:30303",
          "treasury": "0x1B441084736B80f273e498E646b0bEA86B4eC6AB",
          "consensusKey": "0xhi3d112de66e7x2d294c77d0709c772x099d272076e97cx44jyex03e27du175df7cp7hh05o71537eccd2d9282262532",
          "oracleAddress": "0xF99bC17d7db947Bf4E7171519D678882FF3Dcb8d",
          "nodeAddress": "0xA49BD88570B0DDE977dfE5F4B1B0d73737c26836",
          "bondedStake": 10000000000000000000000
        },
        {
          "enode": "enode://dffaa985bf36c8e961b9aa7bcdd644f1ad80e07d7977ce8238ac126d4425509d98da8c7f32a3e47e19822bd412ffa705c4488ce49d8b1769b8c81ee7bf102249@35.177.8.113:30308",
          "treasury": "0xB5C49d50470743D8dE43bB6822AC4505E64648Da",
          "consensusKey": "0x1a0j2652de66e7x2a294c7ad0406c711x077d242076e97cfc4fykx03e27d59757f7c777905072537ec9d2fhj9w26271u",
          "oracleAddress": "0x89f2CabCA5e09f92E49fACC10BBDfa5114D13113",
          "nodeAddress": "0xd5Cb27d9658D26E49eCe7642223Cc8889D789b55",
          "bondedStake": 10000000000000000000000
        },
        {
          "enode": "enode://1bd367bfb421eb4d21f9ace33f9c3c26cd1f6b257cc4a1af640c9af56f338d865c8e5480c7ee74d5881647ef6f71d880104690936b72fdc905886e9594e976d1@35.179.46.181:30309",
          "treasury": "0x31e1dE659A26F7638FAaFEfD94D47258FE361823",
          "consensusKey": "0xf9wd795wdew6e7x2d294c75d07c6c281xk7md282076ek7ch34fesx03e279j9d87f5c1o790i0725h7efcd2d69372mh527",
          "oracleAddress": "0x7CF62D2C8314445Df0bF3F322f84d3BF785e4aeF",
          "nodeAddress": "0x00bb781AE6bAf8B8a75eb52A7D07ba8f7684AD11",
          "bondedStake": 10000000000000000000000
        },
        {
          "enode": "enode://a7465d99513715ece132504e47867f88bb5e289b8bca0fca118076b5c733d901305db68d1104ab838cf6be270b7bf71e576a44644d02f8576a4d43de8aeba1ab@3.9.98.39:30310",
          "treasury": "0xe22617BD2a4e1Fe3938F84060D8a6be7A18a2ef9",
          "consensusKey": "0x776d2602de06e7x2d294c77d0706c772x077d242076e97cx44feex00e27d09707f7c7779j0e49il2etc4kd2ar39ov3a7",
          "oracleAddress": "0xD689E4D1061a55Fd9292515AaE9bF8a3C876047d",
          "nodeAddress": "0x38077B7bbba04267eB86d2106dd804C1351d7239",
          "bondedStake": 10000000000000000000000
        }
      ]
    }
  },
  "nonce": "0x0",
  "timestamp": "0x0",
  "baseFee": "15000000000",
  "gasLimit": "10000000000",
  "difficulty": "0x0",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
  "alloc": {
    "0xe22617BD2a4e1Fe3938F84060D8a6be7A18a2ef9": {
      "balance": "10000000000000000000000"
    },
    "0x31e1dE659A26F7638FAaFEfD94D47258FE361823": {
      "balance": "10000000000000000000000"
    },
    "0x293039dDC627B1dF9562380c0E5377848F94325A": {
      "balance": "1000000000000000000000000000000000000000000000000000000000000000"
    },
    "0xB5C49d50470743D8dE43bB6822AC4505E64648Da": {
      "balance": "10000000000000000000000"
    },
    "0xf1859D9feD50514F9D805BeC7a30623d061f40B7": {
      "balance": "10000000000000000000000"
    },
    "0x3e08FEc6ABaf669BD8Da54abEe30b2B8B5024013": {
      "balance": "10000000000000000000000"
    },
    "0x1B441084736B80f273e498E646b0bEA86B4eC6AB": {
      "balance": "10000000000000000000000"
    },
    "0x5307a90c018513de02aa4c02B14E6F3CaaA8af3f": {
      "balance": "10000000000000000000000"
    },
    "0xd54ba484243c99CE10f11Bc5fb24cCc728ba060D": {
      "balance": "10000000000000000000000"
    },
    "0xF99bC17d7db947Bf4E7171519D678882FF3Dcb8d": {
      "balance": "10000000000000000000000"
    },
    "0x89f2CabCA5e09f92E49fACC10BBDfa5114D13113": {
      "balance": "10000000000000000000000"
    },
    "0x7CF62D2C8314445Df0bF3F322f84d3BF785e4aeF": {
      "balance": "10000000000000000000000"
    },
    "0xD689E4D1061a55Fd9292515AaE9bF8a3C876047d": {
      "balance": "10000000000000000000000",
      "newtonBalance": "30000000000000000000000",
      "bonds": {
        "0xa75500C1BeE38247e2cD814Cc95E22D7AD96EC56": "10000000000000000000000",
        "0xA49BD88570B0DDE977dfE5F4B1B0d73737c26836": "10000000000000000000000",
        "0x38077B7bbba04267eB86d2106dd804C1351d7239": "10000000000000000000000"
      }
    }
  }
}

Static nodes file

Parameter Description Value
enode An array of enode url addresses for the network bootnodes The node’s enode URL

Example static-nodes.json

[
    "enode://bb9bb2bcd75a5cde083a6a9be2c28f31d9fd6e8de38baa594ffffab0efc5d26524b91baf002fed32f098db71acf0d7646a7c32a7d05ed89fdbbb78c74db13a1a@52.89.151.55:30303",
    "enode://e89196cae37e8041e14d7a063cc82dec3bb351f79f46ab10a059220403932c1337f144ddbf1fd830bf1221fbf539a4e986c924600b060c0a36337256aa70ee2c@52.89.151.55:40303",
    "enode://d8ec443a7a16cd0da3df70d8c96a1a4939ac3cc497097843614b0c87167c6b080f07e02f12f8609230cae5db53f677d620b6bb574155738256d6782f902b9506@52.89.151.55:50303",
    "enode://53f7ed087d55c044278279963a9d3a039d1044d2ff6ae61f11778fee42a5c14c7fdd9b529b08075de8be6f3b41ce28ab1e31b1a0a9db2fd0ec09f07cf6edabd2@512.89.151.55:60303"
]