近期陆续体验常见的区块链开源项目,比如小蚁OnChain出的AntShares。AntShares跟其它开源区块链项目不一样,他们家是使用C#开发,基于.NET Core执行在Linux,期待未来出Go语言版....
第三步。准备好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个虚拟机的网络设置例如以下图:
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) :?
第六步,在四台server中分别执行命令开启节点(同一时候开启rpc服务):
进入ant>模式
在10.0.2.4的server输入
在10.0.2.5的server输入
在10.0.2.6的server输入
在10.0.2.7的server输入
接下来会具体解说怎样部署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.42.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