簡介:
NULS ChainBox是一個基于NULS2.0區塊鍊底層運作環境建構的一套區塊鍊應用快速開發平台。它可以幫助區塊鍊應用開發者快速建構自己的區塊鍊應用,而無需關心複雜的底層邏輯。它包含一套友好的開發流程,開發工具以及若幹的子產品開發模闆。
NULS2.0底層運作環境基于微服務架構,支援多語言子產品接入,開發者還可使用ChainBox提供的各種開發模闆無需關心如何與NULS2.0子產品通信,隻需專注于業務的實作。
github位址:
https://github.com/lijunzhou/nuls-engine1.環境準備:
macOS、centos7+、ubuntu 14+或者其他linux核心的作業系統,伺服器最低标準4核8G
安裝 Git (推薦yum安裝)
安裝指令
yum -y install git
git --version
安裝Maven
yum -y install wget
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
安裝JDK11
我這邊使用的我自己的阿裡雲提供服務
jdk11下載下傳
https://pan.baidu.com/s/1rpS9DZ5PIlKpp3OGSxlodQ
maven和jdk配置在系統參數中
JAVA_HOME=/var/java/jdk11 #這個是jdk解壓後mv之後的名稱
JRE_HOME=$JAVA_HOME/lib
export JAVA_HOME JRE_HOME
export MAVEN_HOME=/var/local/apache-maven-3.3.9 #這個是maven解壓之後的路徑
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
2.擷取NULS ChainBox程式
打開終端,執行以下指令
git clone https://github.com/lijunzhou/nuls-engine.git chainbox
3.建構加密郵件子產品
執行指令進入chainbox/example目錄
cd chainbox/example #進入示例檔案夾
執行指令構模組化塊
./package #執行建構腳本(模闆提供)
看到以下輸出後,說明建構完成
============ PACKAGE FINISH ===============
4.內建加密郵件子產品
回到chainbox根目錄
cd ..
執行指令,內建加密子產品到NULS2.0運作環境中
./tools -p example
看到以下輸出後,說明內建成功
============ PACKAGE FINISH ===============
完成後在chainbox目錄下會生成NULS-WALLET檔案夾,此檔案夾包含了內建了加密郵件子產品的NULS2.0運作程式
5.修改區塊鍊配置
進入NULS-WELLET檔案夾,打開.default-config.ncf修改配置檔案(如果同目錄下有nuls.ncf,請修改nuls.ncf),請修改以下幾項:
minNodeAmount=2 改為 0,修改後確定1個節點也能出塊。
#最小連結節點數,當連結到的網絡節點低于此參數時,會持續等待
minNodeAmount=0
去掉多餘的出塊種子位址,修改後確定在1個節點運作時也能10秒鐘出一個塊。
#種子節點出塊位址
seedNodes=tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp
6.啟動節點程式
配置完成後,在NULS-WALLET目錄執行以下指令
./start-mykernel
看到以下内容說明子產品正在啟動中
LOG PATH : ~/NULS-WALLET/Logs
DATA PATH : ~/NULS-WALLET/data
CONFIG FILE : ~/NULS-WALLET/nuls.ncf
DEBUG : 0
JAVA_HOME : /Library/java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
====================
NULS-WALLET STARING
====================
可通過以下指令檢查子產品啟動情況
./check-status
看到以下内容表示節點子產品已全部啟動成功
==================MODULE PROCESS====================
account PROCESS IS START
block PROCESS IS START
consensus PROCESS IS START
ledger PROCESS IS START
network PROCESS IS START
transaction PROCESS IS START
==================RPC REDAY MODULE==================
account RPC READY
block RPC READY
consensus RPC READY
ledger RPC READY
network RPC READY
transaction RPC READY
======================REDAY MODULE==================
account STATE IS READY
block STATE IS READY
consensus STATE IS READY
ledger STATE IS READY
network STATE IS READY
transaction STATE IS READY
================TRY RUNNING MODULE==================
account TRY RUNNING
block TRY RUNNING
consensus TRY RUNNING
ledger TRY RUNNING
network TRY RUNNING
transaction TRY RUNNING
===================RUNNING MODULE===================
account STATE IS RUNNING
block STATE IS RUNNING
consensus STATE IS RUNNING
ledger STATE IS RUNNING
network STATE IS RUNNING
transaction STATE IS RUNNING
==================NULS WALLET STATE=================
==========================
NULS WALLET IS RUNNING
==========================
7.導入種子節點出塊位址
現在種子節點已經啟動,我們需進入指令行導入預設的種子出塊位址,讓節點開始出塊
首先進入指令行
./cmd
導入出塊位址
nuls>>> import b54db432bba7e13a6c4a28f65b925b18e63bcb79143f7b894fa735d5d3d09db5 #通過私鑰導入種子節點位址,此私鑰生成的位址必須與第5步第2條的位址相同
Please enter the password (password is between 8 and 20 inclusive of numbers and letters), If you do not want to set a password, return directly.
Enter your password:********** #設定導入位址的密碼,此密碼與第4步第3條記錄的密碼必須一緻
Please confirm new password:********** #重複上一步輸入的密碼
tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp #導入位址成功,驗證此位址是否與第4步第2條的配置項完全一緻
8.使用加密郵件
準備2個賬戶,用于測試發送和接收郵件,下方兩個位址是測試環境創世塊中定義的位址,賬戶中有一定數量的資産供測試使用。
nuls>>> import 477059f40708313626cccd26f276646e4466032cabceccbf571a7c46f954eb75
Please enter the password (password is between 8 and 20 inclusive of numbers and letters), If you do not want to set a password, return directly.
Enter your password:**********
Please confirm new password:**********
tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD
nuls>>> import 8212e7ba23c8b52790c45b0514490356cd819db15d364cbe08659b5888339e78
Please enter the password (password is between 8 and 20 inclusive of numbers and letters), If you do not want to set a password, return directly.
Enter your password:**********
Please confirm new password:**********
tNULSeBaMrbMRiFAUeeAt6swb4xVBNyi81YL24
9.測試
綁定郵箱位址
請求位址:http://127.0.0.1:9999/mail/createMailAddress
請求參數:
{
"address":"tNULSeBaMrbMRiFAUeeAt6swb4xVBNyi81YL24",
"password":"nuls123456",
"mailAddress":"[email protected]"
}
發送郵件
請求位址:http://127.0.0.1:9999/mail/sendMail
請求參數:
{
"senderAddress": "[email protected]",
"password": "nuls123456",
"mailAddress": "[email protected]",
"title": "haha",
"content": "gogo"
}
檢視郵件
請求位址:http://127.0.0.1:9999/mail/viewMail
請求參數:
{
"password": "nuls123456",
"address": "tNULSeBaMrbMRiFAUeeAt6swb4xVBNyi81YL24",
"hash": "84708459a981f95999f91809acf99f81001ad268617634de8256ed56385468b0"
}
10.解決啟動start-mykernel報錯的問題

将上面紅色框内的jdk位址改成本地jdk位址(本圖檔中是已經解決後的)
11.解決啟動cmd報錯的問題
12.後期會将錢包和區塊鍊浏覽器推出來,請關注更新
如果有問題請評論中展現,看到會給大家解決。