Filtered by

Setting up the self node

The first step is to install and set up your self node. The node is the software that implements the underlying Ouroboros protocol that runs Cardano. Its role is to perform tasks to do with networking, transactions, blocks, and so on.

This node works on most platforms and allows you to connect easily to a blockchain. The Rust source code contains two tools: Jörmungandr, the Cardano node, and the JCLI, its command line interface.

You can install them from source, but we recommend doing it from a release. There is a video tutorial to help you set it up.

How to install Jörmungandr from a release:

  1. Go to the releases site.
  2. Choose the file that matches your hardware and operating system.
  3. Click the link to download the file.
  4. Uncompress the file.
  5. Add the executables to the PATH of your system.
  6. Go to the Scripts folder in the GitHub repository.
  7. Open the bootstrap script.
  8. Click the Raw button.
  9. Save it as a script (.sh) and give it executable permissions.
  10. Execute the file.
  11. To start the node, execute the following command: jormungandr --genesis-block block-0.bin --config config.yaml --secret poolsecret1.yaml

If you use the script you can expect the following results:

self node code snippet

The self node configuration includes a Yaml file (loaded to the bootstrap script) that allows you to build your own blockchain and set its parameters. It bootstraps your own genesis block and enables your machine to run a multi-node environment. Here you can experiment with your own version of Ouroboros Genesis, manually build transactions, and demonstrate the workings of the cryptocurrency.

If you want to create several nodes or stake pools, or implement and test more complex configurations, you can use a Nix script that wraps some of the functions into a one-step process for ease of use. This script bundles the node installation and provides a way to easily vary the configuration from the command line, without any file edition.

Next navigation arrow