Skip to content

Local Node

Bootstrapping from a local full node is an efficient way to synchronize Dolos from a trusted source. The downside is having to run two processes (the source node + dolos) where some overlap exist. This method involves connecting via Ouroboros node-to-node mini-protocols.

In essence, this bootstrapping procedure is just about starting Dolos and let it do its thing. From Dolos’ perspective, the procedure involves the following:

  1. Read the genesis files to load initial data
  2. Connect to the configured upstream node using Ouroboros
  3. Start the chain-sync mini-protocol from origin
  4. Keep syncing until reaching the tip of the chain

Configuration

To bootstrap using a local node, the required configuration includes the upstream section for the peer connection and the chain section for the network parameters:

[upstream]
peer_address = "localhost:30000"
[chain]
type = "cardano"
magic = 1
is_testnet = true
sectionpropertytypeexample
upstreampeer_addressstring”localhost:30000”
chainmagicinteger1
chainis_testnetbooleantrue
  • peer_address: network address of peer node using {host}:{port} syntax.
  • magic: the Cardano network magic number.
  • is_testnet: flag to indicate if this network is a testnet or not.

Execution

To initialize the data stores for syncing from origin, run:

Terminal window
dolos bootstrap relay

Then start the daemon to begin syncing:

Terminal window
dolos daemon

The process will take several hours depending on the chain you’re synchronizing. You’ll see different log outputs, some lines will indicate the slot of the latest block pulled from the relay node. Compare this value to the tip of the chain as shown in a public explorer to track the overall progress.