近期陆续体验常见的区块链开源项目,比如小蚁OnChain出的AntShares。AntShares跟其它开源区块链项目不一样,他们家是使用C#开发,基于.NET Core执行在Linux,期待未来出Go语言版....

接下来会具体解说怎样部署AntShares和搭建私有链,本文使用virtualbox + ubuntu16.04 + AntSharesCore v1.4.,參考了官方文档

第一步,安装.net core,假设提示安装失败,则多刷“sudo apt-get update”几次,详见官方安装指导

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-dev-1.0.4

验证.net core是否成功安装。跑一下helloworld:

dotnet new console -o hwapp
cd hwapp
dotnet restore
dotnet run

第二步,节点部署

先下载并解压缩AntSharesCore(区块链client同一时候也是server端)

wget https://github.com/AntShares/AntSharesCore/releases/download/v1.4.5/AntSharesCore-CLI-v1.4.5.zip
unzip AntSharesCore-CLI-v1.4.5.zip

执行AntSharesDaemon.dll 去初始化。

dotnet AntSharesDaemon.dll activates one bookkeeping node
dotnet AntSharesDaemon.dll /rpc activates one bookkeeping node with rpc server

第三步。准备好4个节点和4个钱包文件
通过  AntSharesCore-GUI-v1.4.6291.25936.zip  生成4个钱包相应4台server,强烈建议断网执行这个GUI程序。不然会强制更新到最新的开发版(最新开发版有bug)
钱包1:1.db3
地址:AV1FjFdThXd6UeWPYzM2dmMwnJ79bdZxX1
公钥:03f1d8df48cac340eaaf9ad5dfadac75fb45e2a48ba3c6c63721b340826f3daa18
私钥WIF:L2D1orkQ8s1Ldg1XAQFJC82QcvbamVpex5D9MDDZvYgTjk64qgmE

钱包2:2.db3
地址:AWKxBoutR9VYKm1KhNvSTD5AhbSkDHC1A3
公钥:0313f7d3d34b95d3dcf016d23ad4e22f2b6253dfafc54971cd55f678170f40a735
私钥WIF:KyBv7S411MpSNQfcLqroxLFnQPdQvfjHsHcfGrkDyEVSr1hQjoch

钱包3:3.db3
地址:AYehAbETXbCRC2Hg4Wvy4ns9WcMbmZwYsU
公钥:03cb28efdb867960536aec1d9ba395bbf639888062d6186863756425c741741608
私钥WIF:L4Pe8boDac3Du93pRztcfoecy6S8hokk6nXjXtyttNNBfARWYbAk

钱包4:4.db3
地址:AJvkZbK9qK3uBxQrs56kx19GLuhtoxMDPG
公钥:03a26ef67f370d618c76859723f0c987133bc4d2236c7824e0938a52b6e7d6a6e5
私钥WIF:KxtYtdWh6qbwtGqAEMjhiMfM8Uop3bYvaTTo2JpfoPDBXKypazYp

以上4个钱包文件都存放在一起。后面会把当前虚拟机复制3份

第四步,使用virtualbox的“管理”->全局设定->网络->加入新的NAT网络
复制出3份虚拟机,共4个虚拟机
改动4个虚拟机的网络设置例如以下图:

4个虚拟机执行后IP地址

1.db3所在server的IP:10.0.2.4
2.db3所在的serverIP:10.0.2.5
3.db3所在的serverIP:10.0.2.6
4.db3所在的serverIP:10.0.2.7

第五步,分别改动4个虚拟机的protocol.Json文件
1.将节点文件及钱包文件拷贝至4台server中,找到配置文件protocol.json(...\AntSharesCore\protocol.json)
2.更改magic值(Magic): 7630404
3.更改后备共识节点(StandbyValidators),这里都是节点的公钥
4.更改种子节点IP信息(SeedList) : 

{
"ProtocolConfiguration": {
"Magic": 7630404,
"CoinVersion": 23,
"StandbyMiners": [
"03f1d8df48cac340eaaf9ad5dfadac75fb45e2a48ba3c6c63721b340826f3daa18",
"0313f7d3d34b95d3dcf016d23ad4e22f2b6253dfafc54971cd55f678170f40a735",
"03cb28efdb867960536aec1d9ba395bbf639888062d6186863756425c741741608",
"03a26ef67f370d618c76859723f0c987133bc4d2236c7824e0938a52b6e7d6a6e5"
],
"SeedList": [
"10.0.2.4:10333",
"10.0.2.5:10333",
"10.0.2.6:10333",
"10.0.2.7:10333"
],
"SystemFee": {
"EnrollmentTransaction": 1000,
"IssueTransaction": 500,
"PublishTransaction": 500,
"RegisterTransaction": 10000
}
}
}

第六步,在四台server中分别执行命令开启节点(同一时候开启rpc服务):

cd hwapp
cd AntSharesCore
dotnet AntSharesDaemon.dll /rpc

进入ant>模式
在10.0.2.4的server输入

open wallet /home/hellogv/hwapp/wallets/1.db3
start consensus

在10.0.2.5的server输入

open wallet /home/hellogv/hwapp/wallets/2.db3
start consensus

在10.0.2.6的server输入

open wallet /home/hellogv/hwapp/wallets/3.db3
start consensus

在10.0.2.7的server输入

open wallet /home/hellogv/hwapp/wallets/4.db3
start consensus

AntShares区块链的节点部署与搭建私有链的更多相关文章

  1. NuGet的使用、部署、搭建私有服务

    NuGet的使用.部署.搭建私有服务 前言 什么是NuGet? 为什么要使用NuGet NuGet的优点 使用 Get-Help NuGet Install-Package Get-Package U ...

  2. 区块链学习(四)truffle部署编译智能合约以太坊私有链

    前面我们介绍了以太坊私有链的搭建以及多节点私有链网络,这次我们介绍如何使用truffle框架来部署编译智能合约到我们之前搭建的私有链网络中. 搭建环境及需使用的工具:ubuntu18.04  Truf ...

  3. 联盟链初识以及Fabric环境搭建流程

    这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程. 区块链分类: 以参与方式分类,区块链可以分为:公有链.联盟链和私有链. 定义: 我们知道区块链就是一个分布式的,去中 ...

  4. 从零构建以太坊(Ethereum)智能合约到项目实战——第20章 搭建自己的私有链网络

    P75 .1-以太坊私网建立 .合约编译.部署完全教程(1) 使用此博文进行安装配置:https://blog.csdn.net/w88193363/article/details/79402074 ...

  5. Mac环境搭建以太坊私有链

    原文地址: 石匠的blog 为了测试以太坊智能合约,最方便的是在本地搭建一个以太坊私有链.在mac上搭建环境主要需要以下步骤. geth安装 geth是go-ethereum的简写,是一个用go语言编 ...

  6. 区块链--Ubuntu上搭建以太坊私有链

    1.搭建私链所需环境 操作系统:ubuntu16.04,开虚拟机的话要至少4G,否则会影响测试挖矿时的速度 软件: geth客户端 Mist和Ethereum Wallet:https://githu ...

  7. 转:区块链开发(一)搭建基于以太坊go-ethereum的私有链环境

    区块链开发(一)搭建基于以太坊go-ethereum的私有链环境 wo541075754 · 2016-11-07 13:00:03 · 3730 次点击 · 预计阅读时间 3 分钟 · 约1小时前  ...

  8. 以太坊联盟链 parity 节点搭建

    https://www.cnblogs.com/sumingk/articles/9097996.html 上一篇文章介绍了以太坊私有链 geth节点的搭建,本篇介绍下企业级应用 联盟链搭建,运用pa ...

  9. 第五章 FISCO BCOS 区块链浏览器的部署

    想了解相关区块链开发,技术提问,请加QQ群:538327407 前提 前面我们已经通过底层部署.sdk调测.自定义智能合约编写与部署.联合单元测试调测,已经初步对FISCO BCOS的区块链底层和实际 ...

随机推荐

  1. 第一篇 对Javascript中原型的深入理解

      理解原型对象 在Javascript中不管什么时候,仅仅要创建一个新的函数,就会依据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象(这个对象的用途是包括能够有特定 ...

  2. java中引用的原理

    转自:http://blog.163.com/xubin_3@126/blog/static/112987702200962211145825/ 在Java中的引用类型,是指除了基本的变量类型之外的所 ...

  3. OpenShift负载分区策略(Router Shading)

    在很多场景下,单靠几个在Infra节点上的Router进行服务请求的转发是不够的,项目中很多时候都有流量隔离的需求,主要场景在于: 一个集群中的不同的环境的流量隔离需求,比如开发走几个Router,生 ...

  4. time.h time_t

    #include <stdio.h> #include <stddef.h> #include <time.h> int main(void) { time_t t ...

  5. 嵌入式mp3播放器

    分四部分:按键驱动,声卡驱动,Madplay播放器移植,MP3主播放器处理 按键1:播放,按键2:停止,按键3:上一曲,按键4:下一曲 UA1341内核自带声卡驱动 .解压内核: tar zxvf l ...

  6. [转]Hamcrest使用方法实例

    assertThat方法需要使用hamcrest的匹配方法: 示例 assertThat( n, allOf( greaterThan(1), lessThan(15) ) ); assertThat ...

  7. Spring3之InternalResourceViewResolver

    打开Spring的源代码,我们可以在org.springframework.web.servlet.view包下看到很多的 View和ViewResolver类;View类为我们提供一些缺省的待扩展的 ...

  8. 数学图形(1.28) EPI线

    貌似由双曲线组成的图形.有时会像个自行车的轮子. 相关软件参见:数学图形可视化工具,使用自己定义语法的脚本代码生成数学图形.该软件免费开源.QQ交流群: 367752815 #http://www.m ...

  9. go语言基础之类型转换

    1.类型转换 示例: package main //必须有一个main包 import "fmt" func main() { //这种不能转换的类型,叫不兼容类型 var fla ...

  10. hadoop中实现定制Writable类

    Hadoop中有一套Writable实现可以满足大部分需求,但是在有些情况下,我们需要根据自己的需要构造一个新的实现,有了定制的Writable,我们就可以完全控制二进制表示和排序顺序. 为了演示如何 ...