AntShares 区块链搭建私有链与部署智能合约

最近还在继续研究AntShares 区块链,可能是因为用C#实现,所以看起来特别怀旧,毕竟好久也没有写C#了。本文还会讲到搭建私有链,玩了一段时间,发现短期内是不能完全甩开Windows,所以干脆就3个Linux虚拟机(网络连接方式:桥接网卡)+一个Windows机器来搭私有链好了。本文的环境:ubuntu 16.04 ,AntSharesCore-CLI-v1.6.1 ,AntSharesCore-GUI-v1.6.6354.35073 ,net core 1.0.4。

首先,在ubuntu安装.net core,详见上篇《AntShares区块链的节点部署与搭建私有链》

其次,创建4个钱包文件,用AntSharesCore-GUI来创建:

钱包1,文件名 1111.db3: 
公钥:02494f3ff953e45ca4254375187004f17293f90a1aa4b1a89bc07065bc1da521f6
私钥WIF : Kzo8BkCuamp9LX6KEHQ7c49QNunYX1KqrL8NZxNqy9H77B76tNiF

系统IP:192.168.0.105,IP自己查系统


钱包2,文件名 2222.db3
0258104bb969fa7c5d82da43cd2c79ab65eea8d5cf659ebedaee4740bb5112b819
L2yQ6JdFw9zQfWVER95Sgu9qfG6r5T5JkwkJCnHovmAUbxnTJaHa

系统IP:192.168.0.108,IP自己查系统


钱包3,文件名 3333.db3
03386062735a119574aedecafe3f4643ab0d0f448f24792468457413cb25fe2319
L3m41zNEHb96cGjYRJb663yDVbEGQ5cV9Ueu13SrKDujsqJyK9oH

系统IP:192.168.0.109,IP自己查系统


钱包4,文件名 4444.db3
020a2cf0910ca684b1fcb2e4f55b8b2b8024aba5f28b17b8f0bfd8966ab4d1d30a
L2s6eckoH6j9LTkAzqg7V4mJ6xxJaSPabysqVJPKkxPQyacXvk9F
系统IP:192.168.0.107,IP自己查系统

然后,4个节点上的AntSharesCore的procotol.json都修改成以下内容:
{
  "ProtocolConfiguration": {
    "Magic": 20170603,
    "AddressVersion": 23,
    "StandbyValidators": [
      "02494f3ff953e45ca4254375187004f17293f90a1aa4b1a89bc07065bc1da521f6",
      "0258104bb969fa7c5d82da43cd2c79ab65eea8d5cf659ebedaee4740bb5112b819",
      "03386062735a119574aedecafe3f4643ab0d0f448f24792468457413cb25fe2319",
      "020a2cf0910ca684b1fcb2e4f55b8b2b8024aba5f28b17b8f0bfd8966ab4d1d30a"
    ],
    "SeedList": [
      "192.168.0.105:10333",
      "192.168.0.108:10333",
      "192.168.0.109:10333",
      "192.168.0.107:10333"
    ],
    "SystemFee": {
      "EnrollmentTransaction": 0,
      "IssueTransaction": 0,
      "PublishTransaction": 0,
      "RegisterTransaction": 0
    }
  }
}


准备工作结束后,可以开始跑起私有链,ubuntu的3个虚拟机分别执行以下命令,记得开RPC,注意分别修改 1111.db3、2222.db3、3333.db3
cd AntSharesCore
dotnet AntSharesDaemon.dll /rpc
open wallet 1111.db3
start consensus


打开GUI版 AntSharesCore-GUI-v1.6.6354.35073,在PC版客户端中打开钱包 4444.db3,右键-》创建合约地址-》多放签名,输入 protocol.json 中的4个公钥,设置最小签名数量为3(共识节点数量/2 + 1), 如图所示
AntShares 区块链搭建私有链与部署智能合约_第1张图片

然后,在菜单栏中点击“钱包”重建钱包索引, 4个节点运行结果如下图:
AntShares 区块链搭建私有链与部署智能合约_第2张图片

接下来,讲解如何部署智能合约。
第一步,菜单栏--高级--Deploy Contract

第二步,把智能合约load进去,Information那部分随便填,区块链的“交易”可以是发布智能合约,私有链这里零花费直接交易。

AntShares 区块链搭建私有链与部署智能合约_第3张图片

第三步,获取交易编号,TXID = b25f28d590d58b8e287d343afadc69b2029f55359f15d5b4b630971b42c3d0f3 


拿着这个TXID可以通过第三方的post工具来使用AntShares的RPC服务,这里使用getrawtransaction 方法
(根据指定的散列值,返回对应的交易信息),使用方法详见(http://docs.antshares.org/document/node/api/getrawtransaction.html),查看交易的详情,192.168.0.108是Linux虚拟机IP,10332是Http的RPC端口:

AntShares 区块链搭建私有链与部署智能合约_第4张图片

部署智能合约没问题,接下来要研究一下如何查询某个智能合约执行的结果。

你可能感兴趣的:(金融科技)