# Joining the beta network¶

Testing is currently ongoing on the beta network for Version 22

The beta network exists for the purpose of conducting certain network-wide activites including load testing and new node releases and features testing. These activities can cause the network to become unstable or inaccessible at times due to heavy traffic, occasional resetting of the genesis/ledger or the introduction of bugs due to new features. As a result, an alternative test network is also available which will be more stable and is a better fit for learning node setup and management, and testing out upgrades and other activities for Nano before moving to production.

With those things in consideration, if you are interested in helping with testing on the beta network we are excited to help you out - so keep reading!

## Node release testing¶

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 main network. During each development cycle Development Builds (DB) are prepared and shared in the Discord Beta Testing section of channels where early testing is coordinated. Once features are stabilized and included, release builds are published as Release Candidates (RC). Starting with RC1 and incrementing with each published build if needed (RC2, RC3, etc.). Final release of a version typically follows quickly once the RC is observed to be stable.

Warning

Development Builds (DBs) are only recommended for use on the beta network, and Release Candidate builds (RCs) are only recommended for use on the test and beta networks

## Running a beta node¶

Setting up a node on the beta network is similar to the main network. To start you should install docker and be familiar with the general setup and Docker management processes.

### Network ports¶

Beta Network Ports Overview

• 54000 TCP: For live network activity and bootstrap network activity
• 55000 TCP: For communication with RPC server. Anyone with access to this port can control your node's RPC.
• 57000 TCP: For communication with websocket server. Depending on configuration, data throughput can be very high.

### Directory locations¶

OS Location
Windows C:\Users\<user>\AppData\Local\NanoBeta\
macOS /Users/<user>/Library/NanoBeta/
Linux /home/<user>/NanoBeta/

### Pulling the Docker image¶

Pulls the latest release of the Nano Node:

docker pull nanocurrency/nano-beta


Pulls a specific version of the Nano node:

docker pull nanocurrency/nano-beta:<tag>


Pulls the latest release which includes any release candidate versions:

docker pull nanocurrency/nano-beta:latest-including-rc


A list of beta tags can be found at the official Nano Currency Docker Hub

### Starting the Docker container¶

docker run --restart=unless-stopped -d \
-p 54000:54000 \
-p [::1]:55000:55000 \
-p [::1]:57000:57000 \
-v ${NANO_HOST_DIR_BETA}:/root \ --name${NANO_NAME} \
nanocurrency/nano-beta:latest-including-rc


Tip

Separate host directories

Be sure to use a different host directory for main network and beta network Docker node setups. Attempting to use the same directory will result in issues.

URL Description
https://beta.nanocrawler.cc/ Beta Explorer
https://beta.nanoticker.info/ Beta node details and stats
https://b.repnode.org/ Beta node details and stats

## Differences from the main network¶

Parameter Main Network Beta Network Comment
Epoch 1 difficulty threshold ffffffc000000000 fffff00000000000 64 times lower on the beta network
Epoch 2 send/change threshold fffffff800000000 fffff00000000000 Same as epoch 1 on the beta network
Epoch 2 receive threshold fffffe0000000000 ffffe00000000000 2 times lower than epoch 1

## Testing Builds¶

Most of the resources needed to participate on the beta network can be found within the #beta-xxxxxxx channels on our Discord server. As much of the discussion, planning and engagement happens here, all participants are highly encouraged to join there.

### Binaries¶

In addition to the Docker details above, the latest binary builds of the node for the beta network are shared in the #beta-announcements channel on our Discord server. These assets are also available on the GitHub repository Releases page under RC# and DB# tags, which can also be used to manually build if necessary.

### Beta fund distribution¶

The funds used for testing transactions on the beta network are generated from a new genesis block and distributed in bulk to various testers running nodes on the network. For small amounts suitable for most basic integration, you can get beta Nano from the #beta-faucet channel on Discord. If you plan to consistently run a node on beta and want to participate in consensus as a Representative, please connect with Zach - ATX#0646 or argakiig#1783 in the #beta-net channel on our Discord server.

### Beta ledger file¶

To help get beta nodes in sync more quickly it is recommended that an updated ledger file is downloaded and placed into the data directory. Often referred to as a "fast sync", more details around this approach can be found in the Ledger Management guide. Since the beta network contains no value, validating the blocks, voting weights and confirmation heights isn't necessary.

The following command will download and unzip a recent ledger snapshot. Any existing ledger files should be backed up elswhere as this will override them. From within the data directory run:

curl -O https://s3.us-east-2.amazonaws.com/beta-snapshot.nano.org/data.tar.gz; tar -xzvf data.tar.gz; rm -fr data.tar.gz


### Build contents and test cases¶

With each DB a GitHub Project board will be created in the Nano GitHub Organization containing all the Pull Requests newly added in the DB, changes from previous DBs that still need network testing, and issues with the various test cases that are targeted to be run with that build. For those looking to assist with these tests, we encourage connecting with the other beta network participants in the #beta-net channel on our Discord server.