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. Docker is the simplest way to run it; to install directly, see Linux, macOS or Windows. All are written in Scala, built with SBT, and packaged from the same source for either network:
sbt packageAll # Mainnet
sbt -Dnetwork=testnet packageAll # built-in testnet profile, NOT the public Testnet
To run a node on the public Testnet, use the Docker image with the configuration file in Join the Public Testnet.
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
- Node REST API
- Node Extensions
- Custom Blockchain
- Run a Node with Docker
- Configuration
- Sync, Import, Export and Rollback
- Upgrade a Node
- Node Wallet and Block Generation
- Logging
- Features and Activation
- Troubleshooting
- Installing on Linux
- Installing on macOS
- Installing on Windows
- Join the Public Testnet