Time to upgrade your nodes!

Concordium
Concordium
Published in
5 min readJun 25, 2020

We are excited to announce that we are almost ready to release our Testnet 2, therefore we are upgrading a part of our software. The current upgrade will be fully supported by Concordium Testnet 2.

How to upgrade?

  • Download the most recent Concordium software
  • Run the reset-data executable from the unzipped archive
  • For Mac users: the first time you open the tool, right-click the reset-data file and select Open. A message will appear that the software is from an unidentified developer. Select Open again
  • For Windows users: the first time you open the tool, double-click the reset-data file. A message will appear that the software is from an unidentified developer. Select More infoRun anyway
  • The tool will ask:
    Do you also want to remove saved keys?
    Accounts that were created for Testnet v1 are no longer valid after the upgrade. Therefore, if you have stored accounts from Testnet v1 we recommend entering y which will delete all account keys

How to run a node

Before running a Concordium node you will need to

  1. Install and run Docker.

2. Download and extract the Concordium Node and Client software. This produces a directory named concordium-software. Move this folder into the Documents folder of your home directory. It’s very important that this directory is moved in its entirety and with the name unchanged.

Running a node

To start running a client that will join the Open Testnet follow these steps:

  1. Open the concordium-node executable from the unzipped archive.
  • For Mac users: the first time you open the tool, right-click the concordium-node binary and select Open. A message will appear that the software is from an unidentified developer. Select Open again.
  • For Windows users: the first time you open the tool, double-click the concordium-node binary. A message will appear that the software is from an unidentified developer. Select More infoRun anyway.
  • When restarting a node consider using the — no-block-state-import option. This will download just the updates to the Concordium blockchain that occurred while the node was inactive and might speed up the boot process.

2. Enter a name for your node. This name will be displayed in the public dashboard.

3. If the tool has been started before you will asked if you want to delete the local node database before starting. Pressing y will delete and subsequently recreate the information on the state of the Concordium blockchain that was saved on your computer. Note that deleting the local node database means it will take longer for your node to catch-up with the Concordium network.

The tool will now download the Concordium Client image and load it into Docker. The client will launch and start outputting logging information about the operation of the node.

Seeing your node on the dashboards

After running concordium-node you can

Network dashboard

It will take the client a while to catch up with the state of the Concordium blockchain. This involves, for example, downloading information about all the blocks in the chain.

Among other information, on the Network Dashboardyou can get an idea of how long it will take your node to catch up with the chain. For that you can compare the node’s Length value (number of blocks your node received) with the Chain Len value (number of blocks in the longest chain in the network) which is displayed at the top of the dashboard.

Node dashboard

You can also access the node dashboard at http://localhost:8099/.

  • While the node is catching up with the rest of the blockchain the dashboard will display the following message:
    Your node has no peers yet. Please wait before making transactions.
  • When the node is sufficiently caught up with the blockchain it will start connecting to peers who will help the node get up-to-date with the rest of the chain.
    At that point the dashboard will say:
    Your node is currently catching up with the network. Please wait before making transactions.
    You can now see the number of messages sent and received by your node in the top right corner of the dashboard.
  • When the node is caught up with the Concordium blockchain the above messages will disappear.

Enabling inbound connections

If you are running your node behind a firewall, or behind your home router, then you will probably only be able to connect to other nodes, but other nodes will not be able to initiate connections to your node. This is perfectly fine, and your node will fully participate in the Concordium network. It will be able to send transactions and, if so configured, to bake and finalize.

However, you can also make your node an even better network participant by enabling inbound connections. By default, concordium-node listens on port 8888 for inbound connections. Depending on your network and platform configuration you will either need to forward an external port to 8888 on your router, open it in your firewall, or both. The details of how this is done will depend on your configuration.

Stopping the client

To stop the client, press CTRL+c, wait a few seconds, and press CTRL+c again.

If you accidentally close the window without explicitly shutting down the client, it will keep running in the background in Docker. In that case, use the concordium-node-stop binary in the same way you opened the concordium-nodefile.

Troubleshooting

Logging information for your node can be retrieved using the concordium-node-retrieve-logs tool. This will save logs from the running image to a file. Additionally, if given permission, it will retrieve information about the programs currently running on the system. You can choose to send only the node logs, or both, with your issue report to testnet@concordium.com.

See also our Troubleshooting page.

Support

Team Concordium is here to help and you are more than welcome to reach us on our Discord Server, on Telegram or directly via email using testnet (a) concordium.com

--

--

Concordium
Concordium

Concordium with its Zero-knowledge ID enables the creation of regulation-ready dApps balancing decentralization, security, scalability, and regulation.