All Projects → wavesplatform → Waves

wavesplatform / Waves

Licence: mit
⛓️ Reference Waves Blockchain Node (client) implementation on Scala

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Waves

Library
Collection of papers in the field of distributed systems, game theory, cryptography, cryptoeconomics, zero knowledge
Stars: ✭ 100 (-90.71%)
Mutual labels:  blockchain, smart-contracts, cryptography
Aeternity
æternity: solving scalability problems by making sense of state-channels
Stars: ✭ 923 (-14.3%)
Mutual labels:  blockchain, smart-contracts, cryptography
Solidity Smart Contracts
smart contracts which are built on ethereum wallet mist,truffle compiler using solidity language.
Stars: ✭ 11 (-98.98%)
Mutual labels:  blockchain, smart-contracts, decentralized-applications
Cryptocurrencyawesome
Cryptocurrency study materials resources
Stars: ✭ 118 (-89.04%)
Mutual labels:  blockchain, smart-contracts, decentralized-applications
Consensys Academy Notes
A series of notes that were taken during the ConsenSys Academy program.
Stars: ✭ 138 (-87.19%)
Mutual labels:  blockchain, smart-contracts, decentralized-applications
Cryptokernel
A SDK for implementing blockchain-based digital currencies
Stars: ✭ 146 (-86.44%)
Mutual labels:  blockchain, smart-contracts, cryptography
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (-87.09%)
Mutual labels:  blockchain, smart-contracts, decentralized-applications
Decentralized Internet
A SDK/library for decentralized web and distributing computing projects
Stars: ✭ 406 (-62.3%)
Mutual labels:  blockchain, decentralized-applications, cryptography
Snax
Decentralized Social Media Overlay
Stars: ✭ 18 (-98.33%)
Mutual labels:  blockchain, smart-contracts
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (-29.99%)
Mutual labels:  blockchain, smart-contracts
Gdai.io
gDAI - Gas less DAI transfers by using GSN, Fulcrum and KyberNetwork
Stars: ✭ 26 (-97.59%)
Mutual labels:  blockchain, smart-contracts
Ethereumbook
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Stars: ✭ 11,663 (+982.92%)
Mutual labels:  blockchain, smart-contracts
Oyente
An Analysis Tool for Smart Contracts
Stars: ✭ 820 (-23.86%)
Mutual labels:  blockchain, smart-contracts
Blockchain Papers
区块链相关的有价值的文献
Stars: ✭ 20 (-98.14%)
Mutual labels:  blockchain, cryptography
Blockchain
Compilation of useful documents and scientific papers about Blockchain & cryptocurrencies.
Stars: ✭ 751 (-30.27%)
Mutual labels:  blockchain, cryptography
Ethereum book
精通以太坊 (中文版)
Stars: ✭ 875 (-18.76%)
Mutual labels:  blockchain, smart-contracts
Lethean Vpn
Lethean Virtual Private Network (VPN)
Stars: ✭ 29 (-97.31%)
Mutual labels:  blockchain, cryptography
Eosocial
Deprecated - 📝 Sample dApp of Votable SNS run by EOS Testnet.
Stars: ✭ 14 (-98.7%)
Mutual labels:  blockchain, decentralized-applications
Remix
This has been moved to https://github.com/ethereum/remix-project
Stars: ✭ 1,063 (-1.3%)
Mutual labels:  blockchain, smart-contracts
Smart Contracts Example
Simple example of token market. Based on blockchain technology using Ethereum platform.
Stars: ✭ 37 (-96.56%)
Mutual labels:  blockchain, smart-contracts

🔷 Waves Platform Node

Build status Downloads License: MIT Open Issues Twitter: WavesPlatform

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.

✨ Demo

Waves Node Run Demo

Waves node is a host connected to the blockchain network with the next functions:

Learn more about Waves Node in the documentation.

🚀️ Getting started

A quick introduction of the minimal setup you need to get a running node.

Prerequisites:

  • configuration file for a needed network from here
  • waves-all*.jar file from releases

Linux systems:

sudo apt-get update
sudo apt-get install openjdk-8-jre
java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf

Mac systems (assuming already installed homebrew):

brew cask install adoptopenjdk/openjdk/adoptopenjdk8
java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf

Windows systems (assuming already installed OpenJDK 8):

java -jar node/target/waves-all*.jar path/to/config/waves-{network}.conf

Using docker image:

docker run -p 6869:6869 -p 6868:6868 -e WAVES_NETWORK=MAINNET -e WAVES_LOG_LEVEL=DEBUG -e WAVES_HEAP_SIZE=2g -v YOUR_LOCAL_PATH_HERE:/waves wavesplatform/node

More details on how to install a node for different platforms you can find in the documentation.

🔧 Configuration

The best starting point to understand available configuration parameters is the this article.

The easiest way to start playing around with configurations is to use default configuration files for different networks, they're available here.

Logging configuration with all available levels and parameters is described here.

👨‍💻 Development

The node can be built and installed wherever Java can run. To build and test this project, you will have to follow these steps:

Show instructions

1. Setup the environment.

  • Install Java for your platform:
sudo apt-get update
sudo apt-get install openjdk-8-jre                     # Ubuntu
# or
# brew cask install adoptopenjdk/openjdk/adoptopenjdk8 # Mac
  • Install SBT (Scala Build Tool)

Please follow the SBT installation instructions depending on your platform (Linux, Mac, Windows)

2. Clone this repo

git clone https://github.com/wavesplatform/Waves.git
cd Waves

3. Compile and run tests

sbt checkPR

4. Run integration tests (optional)

Create a Docker image before you run any test:

sbt node-it/docker
  • Run all tests. You can increase or decrease number of parallel running tests by changing waves.it.max-parallel-suites system property:
sbt -Dwaves.it.max-parallel-suites=1 node-it/test
  • Run one test:
sbt node-it/testOnly *.TestClassName
# or 
# bash node-it/testOnly full.package.TestClassName

5. Build packages

sbt packageAll                   # Mainnet
sbt -Dnetwork=testnet packageAll # Testnet

sbt packageAll ‌produces only deb package along with a fat jar.

6. Install DEB package

deb package is located in target folder. You can replace '*' with actual package name:

sudo dpkg -i node/target/*.deb

7. Run an extension project locally during development (optional)

sbt "extension-module/run /path/to/configuration"

8. Configure IntelliJ IDEA (optional)

The majority of contributors to this project use IntelliJ IDEA for development, if you want to use it as well please follow these steps:

  1. Click on Add configuration (or Edit configurations...)
  2. Click on + to add a new configuration, choose Application
  3. Specify:
    • Main class: com.wavesplatform.Application
    • Program arguments: /path/to/configuration
    • Use classpath of module: extension-module
  4. Click on OK
  5. Run this configuration

🤝 Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Please follow the code of conduct during communication with the each other.

ℹ️ Support (get help)

Keep up with the latest news and articles, and find out all about events happening on the Waves Platform.

⛓ Links

📝 Licence

The code in this project is licensed under MIT license

👏 Acknowledgements

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].