Node Guide#

A node is a host connected to the DecentralChain network that validates transactions, stores blocks, and — if it meets the generating-balance requirement — produces new blocks under Leased Proof of Stake. This section covers running your own node: getting the software, building it, and configuring it. For the economics of block generation (rewards, leasing), see the Node article in the DecentralChain fundamentals section.

Getting the Node#

The node implementation lives at Decentral-America/node-scala, forked from Dcc 1.6.x. To run a node from source:

Prerequisites

  • Java 25 JDK (Eclipse Temurin 25 is the recommended distribution)

  • A network configuration file (network defaults ship in the repo at node/src/main/resources/network-defaults.conf)

Run:

java -jar node/target/dcc-all*.jar path/to/config/decentralchain-{network}.conf

Building From Source#

git clone https://github.com/Decentral-America/node-scala.git
cd node-scala

# Compile and run tests
sbt checkPR

# Build a runnable package
sbt packageAll                   # Mainnet
sbt -Dnetwork=testnet packageAll # Testnet

# Install the DEB package (Linux)
sudo dpkg -i node/target/*.deb

This requires SBT in addition to the JDK. See the node-scala README for integration test setup and IDE configuration.

Configuration#

Network-specific defaults are defined in network-defaults.conf in the node-scala repository. Pass your own config file (based on the mainnet/testnet template) as the argument to the JAR to override generating-node settings such as the block reward vote and wallet seed.