Set up Blockfrost Ice Breakers

UPDATED: 2/27/25

This guide will walk you how to setup Blockfrost Ice Breakers for Ice Breaker pools who have the Ice Breaker NFT. We will use standard paths and setup used by coincashew users.

Credits to Earn Coin Pool for documenting the procedure.


Step 1 - Install From Source

Install packages by running:

apt install git rustup libssl-dev pkg-config

Then switch to latest stable Rust by running:

rustup default stable

Clone repo to your $NODE_HOME by running:

cd $NODE_HOME
git clone https://github.com/blockfrost/blockfrost-platform

Switch folders by running:

cd blockfrost-platform

Checkout main branch by running:

git checkout main

Build by running:

cargo build --release

Check build version by running:

./target/release/blockfrost-platform --version

✅Should return:

blockfrost-platform 0.0.1

Step 2 - Configure

We can use the --init flag to generate your configuration file by running:

./target/release/blockfrost-platform --init

Select the options below and replace your socket path, also replace your receive address that you provided to Blockfrost and the icebreakers secret that was emailed to you.

> Run in solitary mode? No
> Enable metrics? Yes
> Which network are you connecting to? Mainnet
> Mode? Compact
> What should be the log level? Debug
> Enter the server IP address: 0.0.0.0
> Enter the port number: 3000
> Enter path to Cardano node socket: /home/<user>/cardano-my-node/db/socket
> Enter the reward address: addr1....
> Enter the icebreakers secret: 123456789...

✅Config has been written to:

/home/<user>/.config/blockfrost-platform/config.toml

Step 3 - Open Firewall

Make sure the firewall is open on the port you selected above by running:

sudo ufw allow 3000/tcp

Check firewall by running:

sudo ufw status numbered

Step 4 - Move Blockfrost Platform

cd $NODE_HOME/blockfrost-platform/target/release
sudo mv -f blockfrost-platform /usr/local/bin/blockfrost-platform

Run the binary by running:

blockfrost-platform

Step 5 - Create Start Up Script

Start by create a blank file by running:

cd $NODE_HOME
sudo nano start-blockfrost-platform.sh

Replace secret with your ice breakers secret. Replace reward_addr with your receive address and replace node_socket_path with your path below and then paste in the file and save.

#!/bin/bash
# You can modify these variables for your specific setup
# NETWORK=mainnet
SECRET=123456789...
REWARD_ADDR=addr1...
NODE_SOCKET_PATH=/home/<user>/cardano-my-node/db/socket
 
/usr/local/bin/blockfrost-platform --network ${NETWORK:=mainnet} \
                                   --node-socket-path $NODE_SOCKET_PATH \
                                   --secret $SECRET \
                                   --reward-address $REWARD_ADDR

Set execute permissions by running:

sudo chmod +x $NODE_HOME/start-blockfrost-platform.sh

Step 6 - Create as a Service

Start by create a blank file by running:

cd $NODE_HOME
sudo nano blockfrost-platform.service

Replace the <user> below with your username and double checks the paths for WorkingDirectory and ExecStart

Then paste into file and save.

[Unit]
Description       = Blockfrost Platform
Wants             = network-online.target
After             = network-online.target
 
[Service]
User              = <user>
Type              = simple
WorkingDirectory  = /home/<user>/cardano-my-node/
ExecStart         = /bin/bash -c '/home/<user>/cardano-my-node/start-blockfrost-platform.sh'
ExecReload        = pkill -HUP blockfrost-platform
KillSignal        = SIGINT
RestartKillSignal = SIGINT
TimeoutStopSec    = 300
LimitNOFILE       = 32768
Restart           = always
RestartSec        = 5
SyslogIdentifier  = blockfrost-platform
 
[Install]
WantedBy          = multi-user.target

Move to system folder and set permissions by running:

cd $NODE_HOME
sudo mv blockfrost-platform.service /etc/systemd/system/
sudo chmod 644 /etc/systemd/system/blockfrost-platform.service

Enable the service by running:

sudo systemctl daemon-reload
sudo systemctl enable blockfrost-platform.service

Testing by restarting the service to see if it is working by running:

sudo systemctl restart blockfrost-platform.service
journalctl -f -u blockfrost-platform

Step 7 - Clean up

If the status is good, go ahead and clean up the files.

cd $NODE_HOME
rm -rf blockfrost-platform

Congratulations you did it!


Contributors

Thanks to the following pools for helping to put together these guides. Please consider delegating to their pools to support them. Are you a pool? Consider buying them a coffee

Earn Coin Pool - Ticker: ECP

Envy Stake Pool - Ticker ENVY

xSPO Alliance

Last updated