Waves is an open source blockchain platform.
You can use it to build your own decentralised applications. Waves provides full blockchain ecosystem including smart contracts language called RIDE.
There is a huge collection of nodes deployed by miners that store all of the network information in the chain of blocks (blockchain), process requests and can add new transactions to the network after checking their compliance with the rules. The miners are rewarded with the network coins called MRT.
The main advantage of this technology is that each node is a synchronized copy of the main blockchain: it means that the information is stored decentralized and won't be overwritten globally if one of the users changes it at one of the node storages. This can guarantee that the user's information will stay fair and unchangeable.
A node is a host connected to the blockchain network using the Waves Node application.
Node functions are:
- blocks storage
- transaction validation
- sending transactions
Learn more about Waves Full Node in the documentation.
The node can be built and installed wherever java can run. For Ubuntu,sbt packageAll produces only deb package but for other operating systems, ZIP archive or a fat JAR can be used as well. To build and test your Waves Node, you will need to follow these steps:
sudo apt-get update
sudo apt-get install default-jre default-jdk
Please follow the SBT installation instructions depending on your operating system (Mac, Windows, Linux).
Cloning with HTTPS URLs (recommended)
git clone https://github.com/wavesplatform/Waves.git
cd Waves
or cloning with SSH URLs
git clone [email protected]:wavesplatform/Waves.git
cd Waves
sbt checkPR
Create a Docker image before you run any test: sbt node-it/docker
- Run all tests:
SBT_THREAD_NUMBER=4 sbt node-it/test
. You can increase or decrease number of parallel running tests by changingSBT_THREAD_NUMBER
- Run one test:
sbt node-it/testOnly *.TestClassName
ornode-it/testOnly full.package.TestClassName
sbt packageAll
sbt -Dnetwork=testnet packageAll
DEB package located in target folder. You can replace '*' with actual package name:
sudo dpkg -i node/target/*.deb
You can replace waves-all*.jar with actual jar name (it should have "all"-word):
java -jar node/target/waves-all*.jar path/to/config/file
Note. For OSX - homebrew is preferable choice. You can install java with brew cask install java and sbt with brew install sbt@1. Build/Test steps are common for any OS (but you should use ‘' instead of '/' in windows). {% endprettyhint %}
sbt "extension-module/run /path/to/configuration"
- Click on
Add configuration
(orEdit configurations...
) - Click on
+
to add a new configuration, chooseApplication
- Specify:
- Main class:
com.wavesplatform.Application
- Program arguments:
/path/to/configuration
- Use classpath of module:
extension-module
- Main class:
- Click on
OK
- Run this configuration
There is another way to run a Waves Node: using Waves Docker container. Learn more about it in the docs.
- Official Documentation
- Client Mainnet – Waves Platform client
- Explorer Mainnet – Waves Platform transactions explorer
- Testnet – the alternative Waves blockchain being used for testing
- Testnet Explorer – Test Net transactions explorer
- RIDE – Waves smart contract coding language
- Waves Ride IDE – software for RIDE coding
Keep up with the latest news and articles, and find out all about events happening on the Waves Platform.
We use YourKit full-featured Java Profiler to make Waves node faster. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications.
Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.