Custom Blockchain#
Besides Mainnet and Testnet, the node software supports running a fully private, custom network — useful for local development or an isolated test environment. This is configured by setting the blockchain type to CUSTOM in the node configuration file, as seen in the devnet template shipped in network-defaults.conf:
dcc {
blockchain {
type = CUSTOM
custom {
address-scheme-character = "D"
functionality {
feature-check-blocks-period = 5
blocks-for-feature-activation = 4
# ... additional protocol activation parameters
}
rewards {
term = 100000
initial = 600000000
min-increment = 50000000
voting-interval = 10000
}
genesis {
average-block-delay = 1m
initial-base-target = 100
timestamp = 1489352400000
signature = "..."
initial-balance = 7700000000000000
transactions = [
{ recipient = "your-genesis-address", amount = 1000000000000000 }
]
}
}
}
network {
port = 6863
known-peers = []
}
}
Key fields:
Field |
Purpose |
|---|---|
|
The network byte that distinguishes your custom network’s addresses from Mainnet/Testnet — every address on your network is derived using this character |
|
Protocol feature activation thresholds, transaction time offsets, and related consensus parameters |
|
Initial block reward size, minimum increment, and voting interval — same mechanism as Mainnet |
|
The network’s genesis block: initial balances, timestamp, and difficulty |
|
Seed peers for nodes on your custom network to discover each other — leave empty for a single-node development network |
For a full field reference, use network-defaults.conf’s devnet block as a starting template and adjust the values for your own network, then point your node at a config file that sets blockchain.type = CUSTOM with your own custom block instead of blockchain.type = TESTNET or MAINNET.