Cardano Academy

Setting up Cardano Node

Note in TESTNET section, all configurations and commands are for testnet, if you want to play with MAINNET, it's at next section.

Downloading Executable and Configurations

You can download the latest version of cardano-node and cardano-cli executable here:
Release notes can be found here:
The latest configuration files can be found here:
For now, I'm going to use current latest version 1.26.1 of linux executable with Build ID 6015115 and config files with Build ID 5822084 . You may use a newer version as you need.
Download executable and unpack it:
mkdir cardano-node-1.26.1
tar -xzvf cardano-node-1.26.1-linux.tar.gz --directory ./cardano-node-1.26.1
Enter node directory:
cd ./cardano-node-1.26.1
Download configuration files:
mkdir -p ./config/testnet
wget -O ./config/testnet/testnet-config.json
wget -O ./config/testnet/testnet-byron-genesis.json
wget -O ./config/testnet/testnet-shelley-genesis.json
wget -O ./config/testnet/testnet-topology.json
If you want to modify genesis files name, you need to modify configurations in config.json file also.

Starting Node

You can set up mutiple nodes running on different networks (mainnet/testnet) concurrently, you just need to configure the script to use different config files, folders and ports.
Add following script to :
./cardano-node run \
--config ./config/testnet/testnet-config.json \
--topology ./config/testnet/testnet-topology.json \
--database-path ./db/testnet \
--socket-path ./node-ipc/testnet/node.socket \
--port 3101
Note I am using a different port 3101 in case we have another node running on 3001 already.
Let's create these folders we specified in the script, where ./db/testnet is used for storing blockchain data, ./node-ipc/testnet is used for node interprocess communication:
mkdir -p ./db/testnet
mkdir -p ./node-ipc/testnet
Add execution permission to the script:
chmod +x
Now, you can start your node:
After the node is started, it's gonna take a while to sync blockchain data with other nodes.