开源区块链-链(NULS ChainBox)搭建和测试

简介: 简介:NULS ChainBox是一个基于NULS2.0区块链底层运行环境构建的一套区块链应用快速开发平台。它可以帮助区块链应用开发者快速构建自己的区块链应用,而无需关心复杂的底层逻辑。它包含一套友好的开发流程,开发工具以及若干的模块开发模板。

简介:
NULS ChainBox是一个基于NULS2.0区块链底层运行环境构建的一套区块链应用快速开发平台。它可以帮助区块链应用开发者快速构建自己的区块链应用,而无需关心复杂的底层逻辑。它包含一套友好的开发流程,开发工具以及若干的模块开发模板。

NULS2.0底层运行环境基于微服务架构,支持多语言模块接入,开发者还可使用ChainBox提供的各种开发模板无需关心如何与NULS2.0模块通信,只需专注于业务的实现。
github地址:https://github.com/lijunzhou/nuls-engine
1.环境准备:
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":"zqy13917449434@163.com"
}
发送邮件
请求地址:http://127.0.0.1:9999/mail/sendMail
请求参数:
{
    "senderAddress": "asd@nuls.io",
    "password": "nuls123456",
    "mailAddress": "zqy13917449434@163.com",
    "title": "haha",
    "content": "gogo"
}
查看邮件
请求地址:http://127.0.0.1:9999/mail/viewMail
请求参数:
{
    "password": "nuls123456",
    "address": "tNULSeBaMrbMRiFAUeeAt6swb4xVBNyi81YL24",
    "hash": "84708459a981f95999f91809acf99f81001ad268617634de8256ed56385468b0"
}

10.解决启动start-mykernel报错的问题
image
将上面红色框内的jdk地址改成本地jdk地址(本图片中是已经解决后的)
11.解决启动cmd报错的问题
image
将上面红色框内的jdk地址改成本地jdk地址(本图片中是已经解决后的)
12.后期会将钱包和区块链浏览器推出来,请关注更新
如果有问题请评论中体现,看到会给大家解决。

相关文章
|
2月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
126 2
|
3月前
|
C++
jrtplib开源库系列之一:jrtplib介绍、安装和测试(window 10环境介绍)
关于jrtplib库网上已经有很多介绍,而且目前jrtplib作者已经停止更新(Apr 18, 2020),最新版本为v3.11.2。本系列内容也以该版本进行介绍。 相信你已经对RTP/RTCP协议有一定的了解,并想更深入的了解RTP协议的具体实现,jrtplib就是使用使用C++实现的RTP/RTCP协议。具体标准为RFC3550,如果想仔细阅读原文,但是对英文又有点吃力,可以参考我的博客RTP/RTCP中英文对照,在博客的后面有百度链接,是对RFC3550的中文翻译,可能很多地方不太准确,有些内容是自己添加进去的,希望不会影响你的阅读。
34 0
|
6月前
|
自然语言处理 前端开发 Java
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
TestAgent 旨在构建测试领域的“智能体”,融合大模型和质量领域工程化技术,促进质量技术代系升级。我们期望和社区成员一起合作,打造创新的测试领域解决方案,构建24小时在线的测试助理服务,让测试如丝般顺滑。 很高兴地宣布,我们在国内首次开源了测试行业大模型及工具——TestAgent。本次版本包含了性能最强的7B测试领域大模型,以及配套的本地模型快速发布和体验工程化框架,欢迎体验和关注!
437 0
您的智能测试助理来了!蚂蚁TestAgent开源,快来体验!
|
2月前
|
存储 人工智能 自然语言处理
选择最适合数据的嵌入模型:OpenAI 和开源多语言嵌入的对比测试
OpenAI最近发布了他们的新一代嵌入模型*embedding v3*,他们将其描述为性能最好的嵌入模型,具有更高的多语言性能。这些模型分为两类:较小的称为text- embeddings -3-small,较大且功能更强大的称为text- embeddings -3-large。
81 0
|
2月前
|
运维 数据可视化 测试技术
Lag-Llama:第一个时间序列预测的开源基础模型介绍和性能测试
2023年10月,我们发表了一篇关于TimeGPT的文章,TimeGPT是时间序列预测的第一个基础模型之一,具有零样本推理、异常检测和共形预测能力。 虽然TimeGPT是一个专有模型,只能通过API访问。但是它还是引发了对时间序列基础模型的更多研究。到了2024年2月,已经有了一个用于时间序列预测的开源基础模型:laglllama。
106 2
|
2月前
|
测试技术 Linux 数据安全/隐私保护
如何远程访问Linux MeterSphere一站式开源持续测试平台
MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付,推动中国测试行业整体效率的提升。
|
3月前
|
Web App开发 Linux 数据安全/隐私保护
Docker本地部署开源浏览器Firefox并远程访问进行测试
Docker本地部署开源浏览器Firefox并远程访问进行测试
139 1
|
5月前
|
缓存 Ubuntu Linux
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试】
通过按照上述步骤部署和配置Varnish,您可以将其作为反向代理缓存服务器来提高Web应用程序的性能和响应速度。记住,在实际部署中,您可能需要进一步调整Varnish的配置以满足您的具体需求。
45 2
|
5月前
|
缓存 Linux 开发者
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试。】
通过以上步骤,你可以成功部署和安装Varnish,并对Web应用程序进行测试。请根据具体需求进行适当的配置和调整,以确保Varnish能够按预期工作并提升Web应用程序的性能。
33 0
|
6月前
|
安全 Cloud Native Go
开源与区块链:去中心化的未来
开源与区块链:去中心化的未来
59 0
开源与区块链:去中心化的未来

热门文章

最新文章