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

赵建海
赵建海 热门 2017-10-30 22:07
5 33249
最近还在继续研究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), 如图所示





然后,在菜单栏中点击“钱包”重建钱包索引, 4个节点运行结果如下图:




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



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


第三步,获取交易编号,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端口:



部署智能合约没问题,接下来要研究一下如何查询某个智能合约执行的结果。
5条回应 最新 最早
花火,
沙发# 花火, 2017-11-11 07:19
接下来要研究一下如何查询某个智能合约执行的结果
凝香雅意
板凳# 凝香雅意 2017-11-11 13:00
讲解如何部署智能合约
潘柏羽
地板# 潘柏羽 2017-11-28 16:01
如梦刚醒
4楼# 如梦刚醒 2017-12-24 03:15
98℃
5楼# 98℃ 2017-12-24 14:59
游客
登录后才可以回帖,登录 或者 注册