Waves is an open source blockchain protocol. You can use it to build your own decentralized applications. Waves provides full blockchain ecosystem including smart contracts language called RIDE.
Demo
Waves Node Functions
The Waves Node plays a crucial role in the ecosystem. It carries out the following functions:
- Processing and validation of transactions
- Generation and storage of blocks
- Network communication with other nodes
- REST API
- Extensions management
Learn more about Waves Node in the documentation.
Getting Started
Here’s a quick guide to get your Waves Node running:
Prerequisites:
Installation Instructions:
For Linux:
sudo apt-get update
sudo apt-get install openjdk-11-jre
java -jar nodetargetwaves-all*.jar pathtoconfigwaves-network.conf
For Mac:
brew cask install adoptopenjdk
openjdk11
java -jar nodetargetwaves-all*.jar pathtoconfigwaves-network.conf
For Windows:
java -jar nodetargetwaves-all*.jar pathtoconfigwaves-network.conf
If you are using Docker, follow the official image documentation. For more details on installation for different platforms, refer to the documentation.
Configuration
To customize your Waves Node, start by understanding the available configuration parameters in this article. Default configuration files for different networks can be found in network-defaults.conf. For logging configuration, check here.
Development
The node can be built and installed on any Java-compatible platform. Follow these steps to build and test:
- Set up the environment.
- Install Java:
sudo apt-get update sudo apt-get install openjdk-11-jre # Ubuntu # or brew cask install adoptopenjdk openjdk/adoptopenjdk11
- Install SBT (Scala Build Tool): Follow the SBT installation instructions by visiting [Linux](https://www.scala-sbt.org/1.0/docs/Installing-sbt-on-Linux.html), [Mac](https://www.scala-sbt.org/1.0/docs/Installing-sbt-on-Mac.html), [Windows](https://www.scala-sbt.org/1.0/docs/Installing-sbt-on-Windows.html).
- Clone the repository:
git clone https://github.com/wavesplatform/Waves.git cd Waves
- Compile and run tests:
sbt checkPR
- Run integration tests (optional):
sbt node-itdocker-
- Build packages:
sbt packageAll # Mainnet sbt -Dnetwork=testnet packageAll # Testnet sbt packageAll produces only deb package along with a fat jar.
- Install DEB package (located in target folder):
sudo dpkg -i nodetarget*.deb
- Run an extension project locally during development (optional):
sbt extension-module run pathtoconfiguration
- Configure IntelliJ IDEA (optional):
- Click Add configuration.
- Click + to add a new configuration, choose Application.
- Specify the following:
- Main class:
com.wavesplatform.Application
- Program arguments:
pathtoconfiguration
- Use classpath of module:
extension-module
- Main class:
- Click OK and run this configuration.
Contributing
If you’d like to contribute, fork the repository and use a feature branch. Pull requests are warmly welcomed. Please make sure to update tests as appropriate and follow the code of conduct during communication.
ℹ Support (Get Help)
Keep up with the latest news and articles, and find out all about events happening on the Waves Protocol.
Links
- Documentation
- Blockchain clients for Mainnet: Waves Exchange, Waves FX, SIGN app
- Blockchain clients for Testnet: Waves Exchange
- Blockchain Explorer: Mainnet, Testnet, Stagenet
- Ride Online IDE
Licence
The code in this project is licensed under MIT license.
Acknowledgements
We use YourKit full-featured Java Profiler to make Waves Node faster.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
Troubleshooting
If you encounter issues during setup or operation, here are some tips:
- Ensure that you have the correct version of Java installed. Java 11 is required for running the Waves Node.
- Check the configuration files for syntax errors or incorrect paths.
- Refer to the troubleshooting section of the Waves documentation for more specific error messages and solutions.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.