/nuls

Primary LanguageJavaMIT LicenseMIT

Nuls

Welcome to Nuls!

Introduction

Nuls is a global blockchain open-source project which is a highly customizable modular blockchain infrastructure.
It consists of a microkernel and functional modules.
Nuls provides smart contract, multi-chain mechanism and cross-chain consensus.
It aims to break the technical barriers of blockchain, to reduce the cost of development, and to promote the usage of blockchain technology in the commercial field.

Project Features

  • Modular design
  • Parallel chains
  • Smart contract
  • POC consensus mechanisms

To learn more about us, visit nuls.io.

Contributing to Nuls

Contributions to Nuls are welcomed!
At this stage the core members are working hard to develop the first stable version. We will accept PR after the first stable release published.

To be a great community, Nuls needs to welcome developers from all walks of life, with different backgrounds, and with a wide range of experience.

Getting Started

Requirements

Operating System
Nuls is based on the Java and you can choose your favorite OS.

Dependencies SDK
JDK:JDK 1.8
Maven:Maven 3.3+
IDE: Any one you like

JetBrains IntelliJ IDEA is recommended, but we do not rovoke the IDE war.

Code style guide

Use Alibaba Java Coding Guidelines @Github.

recommend use IDE plugin lint code. wiki

Getting Sources

git clone https://github.com/nuls-io/nuls.git && cd nuls

Building Sources

Make sure installed JDK 1.8 & maven 3.3+

$ mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/Cellar/maven/3.5.4/libexec
Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre

Build

$ mvn clean package

You may be need add command line argument "-Dmaven.test.skip=true" at this stage.

Running

$ mvn clean package
$ cd client-module/client/target
$ mkdir nuls-node
$ tar -zxvf nuls-node.tar.gz -C nuls-node
$ cd nuls-node/bin

Using start.sh running the nuls process.
Using stop.sh stop the nuls process.

Using IDE run or debug need execute command "mvn install" first.

Process EntryPoint

nuls/client-module/client/src/main/java/io/nuls/client/Bootstrap.java

License

Nuls is released under the MIT license.
Modules added in the future may be release under different license, will specified in the module library path.

Community