For more information on past upgrades and instructions, refer to Upgrade Versions.
You may refer to this Countdown Timer which will countdown the time till the upgrade height.
- Ensure you have stopped the docker container to stop node❗
docker stop fxcore
docker rm fxcore
*fxcore is a container name, change the container name according to your setup
2. Pull latest docker images
docker pull ghcr.io/functionx/fx-core:7.5.0
3. Update config files
docker run --rm -v $HOME/.fxcore:/root/.fxcore ghcr.io/functionx/fx-core:7.5.0 config update
4. Restart docker container to start the node:
docker run --name fxcore -d --restart=always -p 0.0.0.0:26656:26656 -p 127.0.0.1:26657:26657 -p 127.0.0.1:1317:1317 -p 127.0.0.1:26660:26660 -p 127.0.0.1:8545:8545 -p 127.0.0.1:8546:8546 -v $HOME/.fxcore:/root/.fxcore ghcr.io/functionx/fx-core:7.5.0 start
To check if fxcore is synced:
curl localhost:26657/status
Return:
{
"jsonrpc": "2.0",
"id": -1,
"result": {
"node_info": {
"protocol_version": {
"p2p": "8",
"block": "11",
"app": "0"
},
"id": "123868554adafd679f5dc6367bddea39aa5adb94",
"listen_addr": "tcp://0.0.0.0:26656",
"network": "fxcore",
"version": "v0.34.9",
"channels": "40202122233038606100",
"moniker": "moniker",
"other": {
"tx_index": "on",
"rpc_address": "tcp://0.0.0.0:26657"
}
},
"sync_info": {
"latest_block_hash": "239609FE5FD475389C1ACFCEF46DCF6B0343F0C04E43A7968677809C2D489F3F",
"latest_app_hash": "0D2F1299950E0DE86BFF1CDEEEDE3BA57F7899EF1492A6E6809DF3060164046D",
"latest_block_height": "810805",
"latest_block_time": "2021-09-01T07:56:29.166926257Z",
"earliest_block_hash": "12B0FB286BD34C077CACF97D3D2757B27C49E63FB81E6262399FF11A3C3C002E",
"earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"earliest_block_height": "1",
"earliest_block_time": "2021-07-12T07:42:23.292429Z",
"catching_up": false
},
"validator_info": {
"address": "214999E9412502DE8DE13F626F9D32D41C1B5015",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "fUlPjsYSLi04vwzeNiFObBVabV6TKhB6WB3c65iEayU="
},
"voting_power": "0"
}
}
To ensure that the blocks are synced up with your node, under "sync_info", "catching_up value" should be false "catching_up value": false
. This may take a few hours and your node has to be fully synced up before proceeding to the next step. You may cross reference the latest block you are synced to "sync_info": "latest_block_height" and the latest block height of our Testnet blockchain on our Testnet blockchain explorer or our Mainnet.
Make sure that every node has a unique
priv_validator.json
. Do not copy thepriv_validator.json
from an old node to multiple new nodes. Running two nodes with the samepriv_validator.json
will cause you to double sign.