-
Notifications
You must be signed in to change notification settings - Fork 786
Beta Network
For those wishing to test integrations and other network activity outside of the live network, we encourage the use of the beta network. Joining the beta network is as simple as setting up a new Nano node targeting that network.
Builds and other details for getting setup can be found at: https://beta.nano.org/
The beta network is also used to coordinate the testing of Nano node releases. The Nano Foundation maintains a few beta nodes on the network and various community members also setup nodes to help provide an environment more similar to the live network. Ahead of each release builds are published as Release Candidates (RC). Starting with RC1 and incrementing with each published build (RC2, RC3, etc.), these are intended for use on the beta network to help identify issues not discovered earlier in the development process.
Issues found with current RC builds can be discussed on Discord and/or submitted here in GitHub.
We invite anyone interested in contributing to Nano to consider participating on the beta network. Not only is it beneficial to the ecosystem, it is also a great way to learn more about setting up and managing a node.
BUILD NOTES:
- Only official release builds are recommended and supported for use on the live network
- Builds created from git should be done using the available tags - building from branches is not recommended, including building off the
master
branch as that is used during development of features - Release candidate builds are only recommended for use on the beta network
- Docker installations are recommended through existing images - beta:
docker pull nanocurrency/nano-beta
and live:docker pull nanocurrency/nano
with:latest
,:latest-including-rc
or release-specific tags - Directory names for extracting builds will be updated with RC versions for V19 and later
Builds and other details for getting setup can be found at: https://beta.nano.org/
We are currently working towards release of V19 RC1 on the beta network. Once available the builds and details will be announced through our media channels. In addition to any general or integration specific testing, some of the helpful testing activities during the release candidate period have been included below for early reference:
Upgrade from pre-V18
Anyone attempting to upgrade to V19 from versions earlier than V18 will see a long period where the node will not participate on the network and RPC will not be responsive. This is because the sideband upgrade has been changed from a background process to being on the main thread this version. It is recommended that older nodes are upgraded to V18 before attempting the upgrade to V19 to avoid the service interruption.
Confirmation Height
- Items to test: [ ] Verifying RPC commands responsive during upgrade period (confirmation height setting of initial long chains occurs in background so shouldn't interrupt RPC, will take a while so confirmation height values may not show up for a while) [ ] Requests to RPC block_confirm with already confirmed blocks will still include that block in confirmation_history and through the callback [ ] Requests to block_info and blocks_info should return confirmed true for recently confirmed blocks even during confirmation height upgrade process. Blocks underneath these recent ones may show unconfirmed status during upgrade. [ ] Attempt triggering fork resolution on an already confirmed block and monitor elections to ensure they aren't started for that block (ideally an older one that someone without confirmation height enabled wouldn't be trying to trigger an election for)
- Helpful metrics to capture: [ ] Start upgrade and note start time, immediately publish a new block on a new account and poll account_info for it repeatedly until you see confirmation_height value appear - this is roughly the confirmation height upgrade time
Dynamic PoW
- Items to test:
- Pending
- Helpful metrics to capture: [ ] Capture average work values using the active_difficulty RPC
Websocket support
- Items to test: [ ] Configure node to use the websocket callbacks and spam network with a known set of pre-calculated blocks
- Helpful metrics to capture: [ ] Collect all callbacks from websocket to compare against known spam blocks sent out for any potential gaps
Nano_ prefix
- Items to test: [ ] Any services integrating should verify they can properly handle nano_ prefix addresses
New RPC process
- Items to test: [ ] Verify RPC is responsive and doesn't spawn new process with default configuration - verify RPC is responsive to calls, including heavy usage [ ] Update RPC configuration for child process setups per https://github.com/nanocurrency/nano-node/pull/1874 - verify RPC is responsive to calls, including heavy usage [ ] Update RPC configuration for out-of-process setups per https://github.com/nanocurrency/nano-node/pull/1874 - verify RPC is responsive to calls, including heavy usage
Confirmation times [ ] Keep tracking confirmation times as the vote_generator delay was removed, likely helping reduce confirmation times during lower TPS situations
Other notes
- TCP is not currently enabled with V19 RC1 as the channels for certain message types are still be established - testing for TCP will be a focus for V19 RC2+
- RC2 testing items:
- With UDP and TCP being supported, testing for configurations that have port forwarding and NATs without upnp enabled are desirable for both these protocols