Running a test net node

This guide walks you through the process of setting up a node to join Symbol’s public test network.

The test network mirrors the same technology and features of the future main public network. You can use the test net to experiment with the offered Symbol’s transaction set in a live network.

Note

The network might be offline or replaced without notice because it is used extensively for testing purposes. To work in a private environment network, install a local network for learning and development purposes.

To run the network, we are going to use the package Symbol Bootstrap. To better understand how this package works it is highly recommended to read the Using Symbol Bootstrap guide.

The testnet preset

Symbol Bootstrap has a preset called testnet which instantiates a node that connects to the current public test network (testnet). The capabilities of this node are selected through the assembly option.

To create a peer node:

Peer nodes, also called a harvester nodes, are the backbone of the network. Among other things, they verify transactions and add new blocks to the blockchain, collecting fees in the process.

symbol-bootstrap start -p testnet -a peer

To create an API node:

API nodes provide external access to the network through a REST API.

symbol-bootstrap start -p testnet -a api

To check that the node is up and running open a new browser tab and go to localhost:3000/chain/info. You should get a response from the API node.

API nodes take up more memory and storage than Peer nodes. If you have memory or storage constraints and you are running into issues, it is recommended that you switch to running a Peer only node instead.

To create a dual node:

Dual nodes provide the functionality of both Peer and API nodes.

symbol-bootstrap start -p testnet -a dual

Running the node

You really don’t need to use anything else but symbol-bootstrap start. Use any of the commands above to instantiate and boot a Symbol node and Ctrl+C to shut it down.

Alternatively, you can start in detached mode (--detached) to run in the background.

Retrieving the node account

The node you just created has an associated Symbol account which you can use to interact with the node. For instance, you need this account to provide funds to the node so it can emit transactions.

The account’s keys and address can be retrieved from a YAML file in the target folder:

target/addresses.yml

As an example:

networkType: 152
nemesisGenerationHashSeed: 1082491EFE93AA7DAC6D0282634953DB8B5FDDAE669237B030695A9F308883D5
nodes:
    -
        name: peer-node-0
        friendlyName: peer-node-0
        roles: 'Peer,Voting'
        main:
            # Use these to access the node's account
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: E8A918BD78C0D9CFA8D0B53BB721E62925ACB4BF92068533A3D94210D01E1D39
            address: TBMXGFREJRVWJY756BVHLJAHZCOP3BW53ALFYOY
        transport:
            # Use these in Delegated Harvesting requests
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 7C63AF4CECE2690944FAFE3D9D52EB400447F30CCAC185BC9BE5D54CF536DDE3
            address: TBTRVMCJ7TEZNCV74IX3INJHGAOLMQOU2JQEX7Y
        remote:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 6B1936560F85096E398AAF4647EADB6C748100E6D248D98B2916F003B806E725
            address: TDN3G4REJA7BWDQ2TLB3M522RAYKV5AB55EEPGQ
        voting:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: E97B99E7EDE0738CBE2C3BB13F3B0EEB8A361FAAD51271887D12389F1AEEF4EC
            address: TBBK644JF2XMW35A7BUG6SADTLHAQ2M2KO7O2FQ
        vrf:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: B304E6F9650CFFA52C6DC51CED29397F6C50F1E2F9AC34993549E0E3E4461027
            address: TABWAGQNSI4AWPE3IVGS53CQWAN5BYRM5BHMNFA

Note

Keep you Secret Keys secret at all times!

Use the information in the main section to access the node’s account. When activating delegated harvesting, use the information in the transport section as the node’s public TLS key.

Providing funds to the node

Before the node can begin harvesting or voting (see below) it needs a minimum amount of funds. In the testnet test environment you can use Symbol’s Faucet to provide these funds.

Go to faucet, insert the address of your node’s account and the amount of symbol.xym you need and click on CLAIM.

You will see that your request is first unconfirmed (pending) and after a few seconds it becomes confirmed. Your node is now funded and ready to operate!

Configuring node properties

Follow the Configuring node properties guide to change parameters such as the public name of the node.

Interacting with the test network

You can use the following tools to test the functionality of your new node:

And don’t forget to check the rest of the guides to continue learning about Symbol!