All,
Well, its been 1 week since launch already! It has passed in a blur and things are settling down well, there are still some teething issues (particularly fees) but for the headline numbers in one week (at the time of writing):
- 1139 nodes (of which only 100 are NGL ones, 70 voting, 30 just harvesting)
- 360k+ transactions
- 22,000+ blocks
- 22,000+ blocks finalised!
Regardless of various setting in issues which are being worked through, that is a pretty good start all round - the network is stable, the performance is good and the node ownership decentralised fairly quickly.
There are a few settings that we (NGL) got wrong, which I want to cover today so the community can learn from them, we have fixed them on our nodes and in the Bootstrap defaults but community node owners would be well advised to check them, they are all available in config files and customPresets, below are our settings, they are explained a bit more below:
Setting | Original Default | Updated NGL Settings |
---|---|---|
minFeeMultiplier | 100 | between 20 and 90 |
transactionSelectionStrategy | Maximize | 10% Minimize, 10% Maximize, 80% Oldest |
unfinalizedBlockDuration | 0m | 0m for Voting BUT 5m or 10m for non-voting nodes |
beneficiaryAddress | Empty | Empty - but you may want to change |
Some of these were included in : Symbol Network - High Fees and other config issues
A brief explainer for each one:
-
minFeeMultiplier
: the default dynamic multiplier is 100, but nodes are free to accept any minimum they wish, NGL have lowered ours to ensure cheaper transactions are still processed and try to help bring fees down, we recommend community nodes consider the same while the network stabilises -
transactionSelectionStrategy
: all nodes were intially set to Maximize which means the fees spiked, NGL nodes have now be set mostly to Oldest, we recommend community nodes do the same for the coming weeks so that fees drop -
unfinalizedBlockDuration
: Needs a different setting for Voting and Non-Voting nodes, almost all nodes are currently non-voting (there are 70-80 non-NGL nodes currently voting). Setting it to 5m or 10m will mean your node is aware of finality status quicker than 1 epoch (every 12 hours) which helps the network with finality state propagation/visibility. -
beneficiaryAddress
: Setting this to your main-account Address wil send you 25% of the fees earned by all harvesters delegating to your node.
Bootstrap Releases 1.0.1 and 1.0.2 - Please Upgrade
The Bootstrap releases below fix various issues and in addition set more sensible defaults for the settings above.
Latest release: Release [1.0.2] - Mar-24-2021 · nemtech/symbol-bootstrap · GitHub
How to Upgrade your Node
Before upgrading, it’s recommended to backup your node’s target folder
Install the latest bootstrap:
npm install -g symbol-bootstrap
Custom Preset
Take note of the release notes for new settings, consider including:
- minFeeMultiplier
- transactionSelectionStrategy
- beneficiaryAddress
- nonVotingUnfinalizedBlocksDuration
Peer Node Only
If you are running a Peer only node, run:
symbol-bootstrap start -p mainnet -a peer --upgrade (-c myCustomPreset.yml)
The --upgrade
option will recreate your server configuration, docker configuration, and upgrade the format of addresses.yml without dropping the existing data or generates keys.
Dual Node or API Node
If you are running an API or a Dual node, run:
symbol-bootstrap start -p mainnet -a api --upgrade (-c myCustomPreset.yml)
symbol-bootstrap start -p mainnet -a dual --upgrade (-c myCustomPreset.yml)
If you wish to reset to a new/clean testnet node, --reset
instead of ‘–upgrade’ will clear up all your data and keys. The keys will be regenerated if you are not providing them with a custom preset, note that you will need to relink the voting key as well if you use reset, it is ephemeral so not stored.
It’s worth double-checking that your docker services are running. Validate the services logs and check that your node’s keys and accounts are valid.
For new nodes, you can also follow: Running a Symbol Testnet Node
Release Notes
[1.0.2] - Mar-24-2021
Milestone: Mainnet(1.0.0.0)
Package Version Link Symbol Bootstrap v1.0.2 symbol-bootstrap
- Fixed link (–unlink) command when voting properties changes.
- Broker ports (7902) are closed by default in compose.
- Peer role is selected based on
syncsource
configuration and not on theharvesting
flag.[1.0.1] - Mar-22-2021
Milestone: Mainnet(1.0.0.0)
Package Version Link Symbol Bootstrap v1.0.1 symbol-bootstrap
- Random and limited peer/api list.
- Custom
votingUnfinalizedBlocksDuration
andnonVotingUnfinalizedBlocksDuration
preset properties.- Agent service is disabled until supernode program resumes.
- The default
beneficiaryAddress
is the node’s main address. UsebeneficiaryAddress: ''
in a custom preset to override the new default.