network-upgrades
The network itself has network-wide settings that can be updated.
This is performed by validators voting for and agreeing to new values the same way that consensus is reached for transaction sets, etc.
A node can be configured to vote for upgrades using the upgrades
endpoint . See Commands for more information.
The network settings are:
the version of the protocol used to process transactions
the maximum number of transactions that can be included in a given ledger close
the cost (fee) associated with processing operations
the base reserve used to calculate the lumen balance needed to store things in the ledger
When the network time is later than the upgradetime
specified in the upgrade settings, the validator will vote to update the network to the value specified in the upgrade setting. If the network time is passed the upgradetime
by more than 12 hours, the upgrade will be ignored
When a validator is armed to change network values, the output of info
will contain information about the vote.
For a new value to be adopted, the same level of consensus between nodes needs to be reached as for transaction sets.
Important notes on network wide settings
Changes to network wide settings have to be orchestrated properly between validators as well as non validating nodes:
a change is vetted between operators (changes can be bundled)
an effective date in the future is picked for the change to take effect (controlled by
upgradetime
)if applicable, communication is sent out to all network users
An improper plan may cause issues such as:
nodes missing consensus (aka "getting stuck"), and having to use history to rejoin
network reconfiguration taking effect at a non deterministic time (causing fees to change ahead of schedule for example)
For more information look at Network Upgrade.
Example upgrade command
Example here is to upgrade the protocol version to version 9 on January-31-2018.
$ bantu-core http-command 'upgrades?mode=set&upgradetime=2018-01-31T20:00:00Z&protocolversion=9'
$ bantu-core http-command info
At this point info
will tell you that the node is setup to vote for this upgrade:
Last updated