Node Wallet and Block Generation#
Note
Verified against node-scala v1.7.0.
The node wallet#
A node keeps an encrypted wallet file at dcc.wallet.file (default <directory>/wallet/wallet.dat). It holds the accounts the node may sign for — most importantly the account that generates blocks.
The wallet stores a base seed, from which account keys are derived. It is not an account seed itself. If dcc.wallet.seed is not set, the node generates a new one on first start. To use an existing seed, set dcc.wallet.seed (Base58) and dcc.wallet.password, or pass DCC_WALLET_SEED and DCC_WALLET_PASSWORD to the Docker image.
Warning
Whoever holds the seed controls the funds. Keep secrets in a chmod 600 .env file or a secrets manager, never in shell history or a committed file.
Wallet endpoints#
These require the API key:
curl -H 'X-Api-Key: my-secret-api-key' http://localhost:6869/addresses # list wallet addresses
curl -X POST -H 'X-Api-Key: my-secret-api-key' http://localhost:6869/addresses # derive a new address
curl http://localhost:6869/addresses/balance/<address> # public balance query
Generating blocks#
A node produces blocks when a wallet account meets the generating-balance requirement under Leased Proof of Stake — its own DCC plus DCC leased to it. To grow a generating balance, other accounts can lease to the node’s address.
Check what the miner sees with the privileged /debug/minerInfo endpoint, which lists each generating account and its mining balance.
For reward economics and the block-reward vote, see the Node article.