Reference implementation of the Waves blockchain node: transaction validation, block generation, peer-to-peer networking, the REST API, gRPC and the RIDE smart contract language. See the node documentation.
The recommended way is the container image published to Docker Hub with every release:
docker run -d --name waves-node \
-v waves-data:/var/lib/waves \
-e WAVES_NETWORK=mainnet \
-e WAVES_WALLET_PASSWORD=<password> \
-p 6868:6868 -p 127.0.0.1:6869:6869 \
wavesplatform/wavesnode:latest- Tags:
latest(latest stable release) andX.Y.Z(specific version). WAVES_NETWORK:mainnet,testnetorstagenet. The peer-to-peer port is6868on Mainnet,6863on Testnet,6862on Stagenet.6869is the REST API; keep it bound to localhost or behind a proxy.- A custom config can be mounted at
/etc/waves/waves.conf; individual settings can be overridden withJAVA_OPTS="-Dwaves.<path>=<value>".
All image options (environment variables, volumes, extensions, private network image) are described in docker/README.md.
Alternatively, run the waves-all-*.jar from releases on JDK 17 or newer: java -jar waves-all-X.Y.Z.jar waves.conf (start from node/waves-sample.conf). See how to install a node.
A fresh node downloads and verifies the whole chain. To speed this up, see synchronizing the blockchain.
- Node configuration and logging.
- Defaults: application.conf, per-network overrides in network-defaults.conf.
- Extensions, such as gRPC server and blockchain updates.
Requires JDK 17 and sbt.
sbt node/assembly # fat jar: target/out/jvm/u/node/waves-all-*.jar
sbt packageAll # jars, deb packages and the docker build context
sbt stageForDocker && docker build -t waves-node docker # local imagesbt node-tests/testFull # node unit tests
sbt "node-tests/testOnly *SuiteName" # single suite
sbt checkPR # what CI runs: format check, -Werror compile, all unit tests, packagingIntegration tests run nodes in Docker and need the node-it image built first:
sbt node-it/docker
sbt --server -Dwaves.it.max-parallel-suites=2 --batch "node-it/testOnly *SuiteName"See docs/notes/testing.md for details.
Open an issue to discuss major changes first. Pull requests target version-1.6.x and must pass sbt checkPR. Follow the code of conduct.
- Documentation
- Explorer: Mainnet, Testnet, Stagenet
- Ride IDE
Performance work on the node uses JProfiler, the Java profiler by ej-technologies, provided under their open source license.
