Starting a test network with 1 node

First, make sure you have copied the example config to your current working directory. From the TLD of the repo, run cp

docs/HcNet_core_standalone.cfg ./bin/HcNet_core.cfg

By default HcNet_core waits to hear from the network for a ledger close before it starts emitting its own FBA messages. This works fine in the common case but when you want to start your own network you need to start FBA manually. this is done by:

  • $ HcNet-core --forceFBA

That will set state in the DB and then exit. The next time you start HcNet FBA will start immediately rather than waiting.

Adding multiple nodes

For each node on your new network:

  • generate a keypair and set NODE_SEED
  • set the QUORUM_SET and KNOWN_PEERS to refer to one another
  • decide on a history archive and add a HISTORY config entry for it
  • Set the DATABASE config variables on each node to your choice of database

Optionally: Create databases for each to use–e.g., by using PostgreSQL’s createdb command.


  • 1. $ HcNet --newhist <historyarchive>
  • to initialize every history archive you are putting to (be sure to not push to the same archive from different nodes).
  • 2. $ HcNet --newdb
  • to initialize the database on each node.
  • 3. HcNet --forceFBA
  • to set a flag to force each node to start FBA immediatly rather than wait to hear from the network.
  • 4. $ HcNet-core
  • on each node to start it.

Bringing a test network back up

If you need to restart the network after bringing it down.

Stop all nodes, and do the following on nodes that all have the same last ledger (NB: this set must form a quorum in order to reach consensus):

  • $ HcNet-core --forceFBA
  • $ HcNet-core

This will start from the last saved state of each server. After these servers sync you can start the other nodes in the cluster normally and they will catch up to the network.

Chat Now
Welcome to HashCash Support