Coder Social home page Coder Social logo

awoifabilaye / waves Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wavesplatform/waves

0.0 2.0 0.0 44.46 MB

Waves-Node application

Home Page: https://wavesplatform.com/

License: MIT License

Scala 98.74% Shell 0.06% HTML 0.11% Java 0.02% Groovy 0.93% Dockerfile 0.14%

waves's Introduction

Waves Build Status

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.

How does the blockchain network work?

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.

What is node?

A node is a host connected to the blockchain network using the Waves Node application.

Node functions are:

Learn more about Waves Full Node in the documentation.

How to Build and Test a Node

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:

1. Setup the environment

  • Installing Java

sudo apt-get update
sudo apt-get install default-jre default-jdk
  • Installing SBT

Please follow the SBT installation instructions depending on your operating system (Mac, Windows, Linux).

2. Obtaining Source Codes

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

3. Compilation and unit tests

sbt checkPR

4. Running NODE integration tests (optional)

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 changing SBT_THREAD_NUMBER
  • Run one test: sbt node-it/testOnly *.TestClassName or node-it/testOnly full.package.TestClassName

5. Building packages

  • Mainnet

sbt packageAll
  • Testnet

sbt -Dnetwork=testnet packageAll

6. Installing DEB package

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

sudo dpkg -i node/target/*.deb

7. Running fat jar

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 %}

8. Running an extension project locally during development

SBT

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

IntelliJ IDEA

  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

There is another way to run a Waves Node: using Waves Docker container. Learn more about it in the docs.

Useful links

Support

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

Acknowledgement

img

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.

waves's People

Contributors

ismagin avatar alexeykiselev avatar kushti avatar vsuharnikov avatar catena2w avatar phearnot avatar tolsi avatar koloale avatar karasiq avatar ebceu4 avatar drblast avatar xrtm000 avatar gagarin55 avatar mrkraft avatar denisserebryansky avatar asolovyov avatar monroid avatar alxndrmkd avatar b83ypoj avatar msmolyakov avatar rigidus avatar pozharko avatar potan avatar chepiov avatar givanovwaves avatar dvshur avatar d-kiselev avatar kiselev-bitrete avatar mtuktarov avatar sasha35625 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.