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.
Open Source
The node is built and maintained in the open at Decentral-America/node-scala.
JVM-Based
Written in Scala, packaged as a runnable JAR or DEB.
REST API
Every node exposes an HTTP API compatible with the Dcc node API shape.
Mainnet & Testnet
The same codebase builds packages for either network.
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.
Node Guide