近期陆续体验常见的区块链开源项目,比如小蚁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. What is the fastest way of (not) logging?

    原文地址:http://www.slf4j.org/faq.html#logging_performance SLF4J supports an advanced feature called par ...

  2. 【javaw.exe 两个】启动了两个javaw.exe 相关

    大家开发 肯定见过 两条并存的现象吧! 关闭方式1: 在任务管理器中,挑选 内存占用较小的 那个  关闭即可!! 关闭方式2: 1.查找对应的端口占用的进程:netstat  -aon|findstr ...

  3. python接口自动化10-token登录

    前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这 ...

  4. 从CVPR 2014看计算机视觉领域的最新热点

    编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下帷幕.在这次大会中,微软亚洲研究院共有15篇论文入选.今年的CVPR上有哪些让人眼前一亮的研究,又反映出哪些趋势?来听赴美参加会议的微软亚洲 ...

  5. 20.custom自定义线程池

    自定义线程池 1.若Executors工厂类无法满足需求,可以自己使用工厂类创建线程池,底层都是使用了); ThreadPoolExecutor threadPoolExecutor = new Th ...

  6. 9.线程通信wait、notify

    线程之间通信 1.线程是操作系统的独立的个体,但这些个体如果不经过特殊处理就不能成为一个整体. 2.使用wait.notify,方法实现线程通信(2个方法都是需要object方法) 3.wait(释放 ...

  7. anisotropic filter

    各项异性 point一次sample 1 bilinear 一次sample 4 trilinear 一次sample 8   两个4按mipmaplevel混合 anisotropic 异性和同性 ...

  8. 用asp.net还原与恢复sqlserver数据库

    上次做了个项目,涉及到数据库的还原和恢复,到网上找了一下,是利用SQLDMO实现的,只要添加SQLDMO引用就好了,然后利用下边的类的方法就可以实现了. 我把原作者的类扩充了一下,可以自动识别web. ...

  9. 解决 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)

    在项目构建的时候遇到了这样的问题:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile ...

  10. [C++基础]那些容易被混淆的概念:函数/数组指针-指针函数/数组,类/函数模板-模板类/函数

    函数指针-指针函数 函数指针的重点是指针.表示的是一个指针,它指向的是一个函数.eg: int (*pf)(); 指针函数的重点是函数.表示的是一个函数,它的返回值是指针.eg: int* fun() ...