最近还在继续研究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自己查系统
0258104bb969fa7c5d82da43cd2c79ab65eea8d5cf659ebedaee4740bb5112b819
L2yQ6JdFw9zQfWVER95Sgu9qfG6r5T5JkwkJCnHovmAUbxnTJaHa
系统IP:192.168.0.108,IP自己查系统
03386062735a119574aedecafe3f4643ab0d0f448f24792468457413cb25fe2319
L3m41zNEHb96cGjYRJb663yDVbEGQ5cV9Ueu13SrKDujsqJyK9oH
系统IP:192.168.0.109,IP自己查系统
020a2cf0910ca684b1fcb2e4f55b8b2b8024aba5f28b17b8f0bfd8966ab4d1d30a
L2s6eckoH6j9LTkAzqg7V4mJ6xxJaSPabysqVJPKkxPQyacXvk9F
{
"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
}
}
}
cd AntSharesCore
dotnet AntSharesDaemon.dll /rpc
open wallet 1111.db3
start consensus
第二步,把智能合约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端口:
部署智能合约没问题,接下来要研究一下如何查询某个智能合约执行的结果。