Skip to content

Latest commit

 

History

History
107 lines (72 loc) · 3.29 KB

5_0_9.md

File metadata and controls

107 lines (72 loc) · 3.29 KB

5.0.9

Very minor changes to the config creator for the VFN configurations (vfn.node.yaml). The ID of the VFN needs to be permanent once shared in on-chain discovery info.

This includes txs tooling for updating on-chain info, plus helpers to print what configs currently exist.

TL;DR Deployment

Update 0L.toml file

Under profile include a vfn_ip field, with the IP address. This will simplify and correctly display networking addresses for the info helpers.

[profile]
account = "foo"
auth_key = "bar"
statement = "baz"
ip = "127.0.0.1"
# NEW FIELD HERE:
vfn_ip = "x.y.z.0"

Update binaries to use patches.


# install new binaries
cd ~/libra
git fetch
git checkout v5.0.9 -f
make bins install

Recreate your VFN configs, and deploy on VFN.

# On your validator (or wherever your key_store.json lives)
# create settings for the VFN, private fullnode
ol init --vfn

# now copy the vfn.node.yaml file to your fullnode

Check and update your on-chain configuration

More details here: Check and change your on-chain config


# what are your keys
ol whoami

# do your keys match what your node is using
ol whoami --check-yaml <path/to/node.yaml>

# what are your current on-chain configs
ol query --val-config

# Update your configs based on what your mnemonic uses
# Note the `-o` which means you are sending this from the "operator" account.
txs -o val-config --val-ip <IP> --vfn-ip <OTHER IP>


# check if those changes persisted and if they are able to be read.
ol query --val-config

Summary

This upgrade corrects behavior of vfn.node.yaml config creator, and provides tooling for updating on-chain node discovery information (update IP addresses).

Changes

Move Changes

None

Rust Changes

A tool was needed to update on-chain discovery (network address) for validators and the validator's VFN fullnode.

  1. people will change hosting solutions and need to be able to change IP addresses
  2. Validators are migrating to having separate hosts for validator and fullnodes. All the on-chain discovery must be changed to include the new VFN information.
  • txs subcommand val-config which accepts the validator and VFN as arguments. And using mnemonic will submit a tx to change validator configs on-chain.
  • correct ol init --vfn so that the public fullnode ID is permanent, and uses the appropriate key derivation.
  • cleanup implementation of ValConfigs, so network addresses are consistent.
  • Helper to display keys and network info of a mnemonic: ol whoami
  • Helper to display the network IDs used in a node.yaml file: ol whoami --yaml-path <path>
  • clean onboardand ol init commands to exist instead of panic.
  • onboard val to ask user to provide IP address of VFN
  • wizard gets external IP address for user from https://ifconfig.me

#938

Tests
  • All continuous integration tests passed.
  • The diem-code was tested on a "Canary rollout" to three production nodes that were both synced and out of sync.
Compatibility

The Move framework changes are backwards compatible with diem-node from v5.0.1

Rust changes

Diem Node

Changes to diem-node is compatible with on-chain state from v5.0.5.