Running a test net node

This guide will walk you through the process of setting up your node to join Catapult’s public test network.

The test network mirrors the same technology and features of the future main public network. You can use the testnet to experiment with the offered Catapult’s transaction set in a live network without the loss of valuable assets.

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.

Hardware requirements

Catapult nodes have been tested on computers with the following minimum requirements.

  • CPU: 2 cores or more
  • Memory: 4GB or more
  • HD: 20GB or more
  • OS: Linux or Mac

Note

Although you might be able to run the software in less powerful instances, you might encounter some issues while installing or running the node.

Environment requirements

The setup scripts are automated using docker. To run a test net node, you will need to have installed the following docker tools:

Installation

A node can be composed of a different set of components depending on your needs. Catapult test net nodes are currently distributed in two forms:

  • Peer assembly: The peer assembly verifies or discards the transactions, runs the consensus algorithm, creates new blocks, and propagates the changes through the network.
  • API harvest assembly: The API node does the same as the peer nodes, plus stores data in the readable form once transactions are validated. Furthermore, the API assembly is capable of processing partial aggregate bonded transactions. The API node installation comes with a REST gateway to perform read and write actions.

The package catapult-testnet-bootstrap contains both assemblies ready to be installed.

  1. Download the the latest release of the package, or clone the repository directly using Git.
git clone https://github.com/nemfoundation/catapult-testnet-bootstrap.git
  1. Choose the assembly distribution you want to install.

In short, if you want to be able to interact with your node, you need to run the API assembly. On the other hand, if you want a node dedicated exclusively confirm transactions, deploy the peer assembly.

cd api-harvest-assembly

or…

cd peer-assembly
  1. Run the node with docker-compose.
sudo docker-compose up --build --detach

You should see docker downloading the container images for the first time, then it should run the setup and finally startup the service.

If you have installed the api-harvest-assembly distribution, you can verify as well that the node is running by opening a new browser tab with the following URL: localhost:3000/chain/height.

Note

To stop all the running services, run sudo docker-compose down in the same directory you executed the up command.

Configuring node properties

After running the node for the first time, you can change a set of properties such as the node’s public key or the harvesting configuration.

A file config-input.yaml will be generated with the default values. Depending on the assembly chosen, this file will be located under the peer-assembly/peer-node/ or api-harvest-assembly/api-node.

  1. If the node service is running, run sudo docker-compose down under the same directory you executed the up command.
  2. Edit the properties file config-input.yaml with a text editor.
  3. Save the changes and apply them with the command sudo docker-compose up --build --detach.

Interacting with the test network

To interact with your node, create first an account and acquire test nem.xem.

Explorer

  • Blockchain Explorer: Search for transactions, accounts, assets, and blocks in the test network.

Clients

Faucet

  • Faucet: Receive nem.xem units to test Catapult’s services.

Note

If the default faucet is empty, try this other alternative faucet.

SDKs

In this portal, you can find everything you need to know about Catapult’s features and self-paced guides on how to use the software development kits.