Main navigation

How to Participate in the Concordium Network as a Node

Sun, 07/25/2021 - 17:30
article image
Heewon Jang
Here’s a step-by-step guide on how you can get your node up and running on the Concordium network
How to Participate in the Concordium Network as a Node
Cover image via
Read U.TODAY on
Google News

Concordium is now live on mainnet following a successful launch on June 9. In the lead to the launch, the enterprise blockchain platform underwent four separate iterations of its testnet, with over 7,000 accounts and 2,300 self-sovereign identities issued on the fourth version, which was completed in March. The fourth version also attracted over 800 bakers and 1,000 active nodes. 

Concordium is now welcoming participants to join the network either as an active node or as a baker. Anyone can participate as a node, start receiving blocks and transactions, and transmit data about blocks and transactions to the network. There’s no need to have an account to get set up as an active node. 

Bakers are required to have a Concordium node up and running before they can start baking blocks, as well as having an account. Therefore, if you want to become a baker, you should follow this guide as a precursor to the next steps. 

Before You Start

Before you begin, install and run Docker. If you’re on Linux, you’ll need to allow it to run as a non-root user. 

Download the latest version of the Concordium mainnet Node and Client software files and unzip them ready for use. 

Get Your Node Up and Running

In your unzipped folder, locate the executable file called concordium-node and open it according to which operating system you’re using. 

If you’re a Mac user: the first time you use the file, right-click the concordium-node binary and select “Open.” The next message will say that the file is from an unidentified developer, but you can go ahead and click “Open” again. 

If you’re a Windows user: the first time that you use the file, double-click the concordium-node binary, and when the message appears that the software is from an unidentified developer, click “More Info” and then “Run Anyway.”

These messages won’t appear during subsequent node boots. If you’re restarting your node, you have the option of using — no-block-state-import, which will download only the updates that occurred while the node wasn’t active. You may find it speeds up your boot process. 

The public dashboard requires a name for your node, so you’ll be prompted to enter one. 

During subsequent restarts, the boot process will ask you if you would like to delete the local node database before commencing. If you choose yes, it will wipe and recreate all of the previous blockchain data that was stored on your machine. Therefore, choosing yes means the boot process will take longer because your node will need to catch up to the current state of the blockchain, including all history. 

Once the boot process starts, the tool will proceed to download the Concordium Client image and load it into your Docker installation. The client will then start operating the node, outputting logging information accordingly. 

Using Your Node

You should now be able to view your node on the Concordium Network Dashboard. You can also start querying data about blocks, accounts, and transactions. 

To figure out how long it will be before your node catches up to the Concordium chain, you can compare your node's “Length” value with the “Total Length” at the top of the Concordium dashboard. The difference should give you an idea of the time it will take for your node to reflect the chain's current state. 

Turning On Inbound Connections

If you have a firewall installed, or your home router does, it may be the case that you can connect to other nodes, but they can’t connect to yours. This doesn’t affect node operations – you can still get set up as a baker and send transactions. But if you want to be a full and active participant in the Concordium network, then you can enable inbound connections, which will allow other nodes to initiate a connection to you. 

The Concordium software defaults to listening for inbound connection attempts on port 8888. If you do have a firewall, you might need to open port 8888 on the firewall settings, or you may need to forward an external port to port 8888 on your router. It may also be necessary to do both, depending on your configuration. 

You can configure your node to listen for inbound connections when you start it up. The node uses the following ports:

8888 - this is the peer-to-peer networking port and should be set with the command — listen-node-port

10000 - this is the gRPC port and should be set with — listen-gprc-port

You will need to stop the node in the Docker container and perform a full reset, and restart whenever you change these mappings. You can use either concordium-node-reset-data or run docker rm concordium-client in a terminal. 

Don’t configure any other ports than 8888 for public connections. It’s not safe and puts your node at risk of being controlled by an outside party with access. 

If you want to stop the node, press CTRL+c. The node will do a full shutdown. Note that this is the only way to stop the node – simply closing the window without shutting down the client will mean it still runs in the background.

article image
About the author

Heewon Jang is a freelance journalist and the editor of CryptoGags section.
She is responsible for entertaining crypto content and bitcoin humour