近期陆续体验常见的区块链开源项目,比如小蚁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. 【java】【mybatis】在使用mybatis进行批量插入,批量更新等批量操作时,切割In集合List进行分批批量操作的java中的切割代码

    红字部分代表mybatis的批量操作调用方法: int num = 0; int maxLength = 200; int size = usableCodes.size(); if (size &l ...

  2. 关于comparator接口和comparable接口以及它们各自的方法compare()和compareTo()

    在今天做的LeetCode的题中有两道都出现了利用接口实现对象的排序.两题的相关链接: 1.利用comparable接口对对象排序 2.利用comparator接口实现排序 因为之前都没接触过这两个接 ...

  3. uva 816 abbott's revenge ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAncAAAN5CAYAAABqtx2mAAAgAElEQVR4nOy9sY4jydKezVuoayhH0r

  4. 【python】Django设置SESSION超时时间没有生效?

    按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效. 通过查看django的源代 ...

  5. Visual Studio 2013 Update2

    下载: http://download.microsoft.com/download/6/7/8/6783FB22-F77D-45C5-B989-090ED3E49C7C/vs2013.2.iso

  6. js实现可拉伸移动的div

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd&qu ...

  7. 关于CPU的运行队列与系统负载

    在linux操作系统中,我们一般查看系统的cpu负载情况常用的命令可以是uptime,top,还有vmstat等这些个都是可以有的.每个工具所提供的信息各不相同, 我这里要讨论的仅说cpu部分.使用u ...

  8. Ubuntu 14.04安装语言包后无法选择汉语问题解决

    如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 安装完语言包后.尽管里面有了汉语.可是是灰色的.例如以下图所看到的: watermar ...

  9. 转adb Shell root 权限

    永久root带文件 因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb pus ...

  10. PHP快速入门 如何操作MySQL

    1 创建一个新的数据库,注意类型设置为utf8_general_ci 2 在数据库中创建一个新的表,比如叫做tg_user(先从左侧选择刚才创建的数据库) 3 创建第一个字段,自动编号.我们估计网站的 ...