Block Producer Getting Started
Before following this guide, complete the Validator Node setup — from Requirements through Connect to Mainnet or Devnet. You should have a synced node and a key pair before proceeding.
Start the daemon
Run the daemon with the --block-producer-key flag pointing to your wallet key:
mina daemon --peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt \
--block-producer-key ~/keys/my-wallet
To send block rewards to a different account (e.g. a cold wallet), add the --coinbase-receiver flag:
mina daemon --peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt \
--block-producer-key ~/keys/my-wallet \
--coinbase-receiver $RECEIVER_PUBLICKEY
Minimum block reward
The --minimum-block-reward AMOUNT flag makes the node produce an empty block when the reward of a block is less than AMOUNT. The block reward is the coinbase plus the transaction fees, minus the SNARK work fees.
If --minimum-block-reward is more than the coinbase amount of the network, the node logs this warning at startup:
Minimum block reward threshold $threshold is greater than the coinbase amount $coinbase_amount. This node may produce empty blocks unless transaction fees or supercharged coinbase raise the block reward above the threshold
Each block that the node produces empty for this reason gives this log message:
Block reward $reward is less than the min-block-reward $threshold, creating empty block
To produce blocks with transactions, set --minimum-block-reward to the coinbase amount or less, or remove the flag.
Verify block production
Run mina client status and check the Block producers running field:
Block producers running: 1 (B62q...)
Coinbase receiver: Block producer
Next block will be produced in: in 7.077h for slot: ...