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
- Nuls.io
- YouTube channel
- Telegram Nuls Community
- Telegram Nuls 中文社区