Upgrade to 0.74
This guide describes the steps to upgrade from v0.73.13 to v0.74.1 using the protocol upgrade mechanism. See the changelogs for v0.74.0 ↗ and v0.74.1 ↗ for information about breaking changes and new features.
Assumptions for the guide
The instructions below are written for Debian-like Linux operating systems.
The guide assumes you are using systemd commands (systemctl
and journalctl
) to control binaries. If you are using something different, your system's commands may vary.
This guide is specifically intended for those who are already running a validator node with version v0.73.13
.
Study the changes between versions
Before upgrading your node software, review the changelogs for v0.74.0 ↗ and v0.74.1 ↗ for a list of breaking API changes compared to the previously released version.
Before you upgrade
Please read the changelog to see all the changes. Below you can find a list of the changes you must perform before the upgrade to v0.73.4 in this document.
When should I upgrade config?
You can update the config any time before the upgrade block happens.
We recommend you do it in the following way:
- Make a copy of the original config.
- Update the config in the copied files.
- A few hours before the upgrade, replace the original config with updated one.
Make sure you have a backup for the original config in case you need them in the future.
We do not recommend you do it too early in case you have to restart your node with the current version for some reason, for example if your node fails or your server restarts, etc.
Config changes
The default locations for configuration files:
- data-node:
YOUR_VEGA_HOME/config/data-node/config.toml
- vega-core:
YOUR_VEGA_HOME/config/node/config.toml
- comet BFT:
YOUR_COMET_BFT_HOME/config/config.toml
Add the following new parameters to the configuration files.
We recommend checking all of the changes on your own. Follow the below instructions to do it, and read through every description to understand the changes:
- Download vega
v0.74.1
- Generate config files within the temp home directory
- vega config
- comet BFT config
- data-node config
- Compare the new generated file in the temp location and the old file to see the differences.
Ethereum.EVMChainConfigs
- VALIDATORS ONLY
config file
: vega-configdescription
: Vega now supports receiving prices from EVM chains like Gnosis, Optimism, Arbitrum, etc. Your node is required to support Gnosis and Arbitrum One by default ↗. Each validator must specify RPC credentials in their Vega config for Gnosis and Arbitrum One chains.kind
: new parameter
Some RPC providers include:
- Blast ↗ - 40 calls/sec(12 000 000 calls/month)
- OnFinality ↗ - 500 000 calls/day (15 000 000 calls/month)
- Ankr ↗ - 30 calls/sec
- Chainnodes ↗ - 25 calls/sec (12 500 000 calls/month)
[Ethereum]
...
...
[[Ethereum.EVMChainConfigs]]
ChainID = "100"
RPCEndpoint = "YOUR_RPC_ENDPOINT_FOR_GNOSIS"
[[Ethereum.EVMChainConfigs]]
ChainID = "42161"
RPCEndpoint = "YOUR_RPC_ENDPOINT_FOR_ARBITRUM_ONE"
...
fast_sync
config file
: comet BFTdescription
: The parameter has been removedkind
: removed parameter
- fast_sync = true
...
p2p.upnp
config file
: comet BFTdescription
: The parameter has been removedkind
: removed parameter
[p2p]
...
- upnp = false
mempool.version
config file
: comet BFTdescription
: The parameter has been removedkind
: removed parameter
[mempool]
...
- version = "v0"
mempool.ttl-duration
config file
: comet BFTdescription
: The parameter has been removedkind
: removed parameter
[mempool]
...
- ttl-duration = "0s"
mempool.ttl-num-blocks
config file
: comet BFTdescription
: The parameter has been removedkind
: removed parameter
[mempool]
...
- ttl-num-blocks = 0
mempool.type
config file
: comet BFTdescription
: The type of mempool to use.kind
: new parameter
[mempool]
...
+ type = "flood"
blocksync
config file
: comet BFTdescription
: Thefastsync
section was renamed to theblocksync
kind
: section rename
- [fastsync]
+ [blocksync]
Data node breaking changes
IPFS storage migration
The data node keeps segments in IPFS. The IPFS golang module has been updated in the v0.74 release - the IPFS file system also requires a migration.
The migration process should automatically happen when the data node starts.
The Vega binary also introduces a command to trigger the IPFS filesystem migration manually. You do not need to use the dedicated commands manually in most cases.
If you really need to migrate your file system manually, you have two options:
- Execute the
vega datanode migrate-ipfs --home YOUR_VEGA_HOME
command, - Use the IPFS repo migration tool ↗ - this is what underlies the Vega update.
Upgrade your node
To upgrade the network follow the protocol upgrade documentation.
Common issues
If you come across any problems, please refer to the frequent issues solutions before requesting help.