剑英的区块链学习手记(二)

孙子说,知己知彼,百战不殆。

咱是通过小蚁学习区块链技术的。

开工之前,先了解一下小蚁的资料家族。

 

小蚁网站 https://www.antshares.org/

小蚁源码 https://github.com/AntShares

小蚁SDK源码 https://github.com/ANTSHARESSdk

比较集中的资料 https://github.com/AntShares/AntShares/wiki

小蚁论坛 http://www.antfans.org/

小蚁技术交流QQ群 451931692

 

 

加粗,红字伺候,虽然看完资料以后,我表示

 640?wx_fmt=jpeg

我是谁?我在哪儿?我要干什么?

 

已经失去了人生的意义,知己知彼一开始就遇到了阻力。

于是我带着我的小白疑问,跑去探访了分布科技

640?wx_fmt=png

640?wx_fmt=png

By the way,如果要去探访分布科技,从江湾体育场出来,路过的大学路上有很多酒吧之类的,可以放置对科技公司感到无聊的女朋友和宠物之类的,不要问我为什么知道。

又找CTO张铮文请教 low 到爆的问题,明显感觉到对面投来不屑的眼神,好在我最大的特点就是脸皮自带回血。

第一个问题

我问:我要在哪儿写下我区块链学习之旅的第一行代码?

这个问题没有得到正面回复,通过进一步沟通,我发现了问题所在,这个问题没有答案。

小蚁形成了一个平台,我们可以以很多的身份加入这个平台,不同的身份就有不同的开始路径。

 

有了一个大概的认知,我想可以问一些真正的问题了。

那一刻,我卓伟附体,狗仔队的精神给了我力量。

我抛出了一个非常无礼的yes or no 问题:我想开发一个用小蚁币作为结算工具的赌博游戏,有自己的UI,是不是我需要以AntSharesCore/AntSharesUI这个项目作为参考例子,自己写一个。

这次,我得到了0.5个Yes,回复说“可以”。

 

好,这解决了一个形式问题,我得到了一些关于小蚁的知识

开发使用小蚁币结算的APP,可以用AntSharesCore/AntSharesUI为参考,自己写一个。

 

但“可以”显然还有潜台词,又经过各种友好的被我跑题、发散之后,我偶然问到了一个问题。

我问:AntShares上面那一堆开源项目,都是啥关系啊。

AntShares/AntShares 核心

AntShares/AntSharesCore 客户端,一个winform的有UI,一个命令行的

AntShares/AntSharesApp 轻客户端

AntShares/AntShares.VM 虚拟机,这个我熟

AntShares/AntShares.SmartContract.Framework 智能合约c#模板

这些信息目前对于我来说,就是一堆符号。

我只用过钱包客户端,有界面的那个

 640?wx_fmt=png

 

但我突然发现,没有提到https://github.com/ANTSHARESSdk 这个东西

又问:SDK是干嘛的?

 640?wx_fmt=gif

 

一不小心,潜台词找到了。

原来 命令行客户端内有乾坤

 640?wx_fmt=png

加上这个参数 /rpc,命令行客户端自己开了个本地服务器。

可以用小蚁的命令行客户端当服务

然后自己开发一个客户端,调用命令行客户端提供的那些接口完成在小蚁区块链上的操作。

SDK 就是干这个用的。

说句实在话,在wiki上看到过这些内容

https://github.com/AntShares/AntShares/wiki/API%E5%8F%82%E8%80%83

但是没有一堆杂七杂八的铺垫和询问,还真挺难把他们联系起来。

现在我可以确定,我要找的答案:

 640?wx_fmt=jpeg

 

再见,回家。

解决了第一个问题,不虚此行。

 

 

先来总结一下,我的目标是做基于小蚁区块链的应用,使用小蚁币结算,我最主要的给用户看的东西是一个独立的APP,不是小蚁客户端。

现在有两条路:

一、研究小蚁的winform客户端,抄之。

二、研究小蚁的命令行客户端的http服务,调之。

当然选二呀,不是因为我的人生就是这么二。

而是有两点具体的考虑。

  1. hybird,js 已经烂大街了,现在hybird混合开发那么流行。用二,直接就走上了流行的路线,流行不是问题,人口大呀,web前端程序员的领域。

而我也在webgl 的路上探索,这不是我就可以做个3D的游戏了。

 640?wx_fmt=png640?wx_fmt=png

顺便给自己的h5 3d引擎打广告,需要合作请联系我。

 网页游戏用小蚁币结算,听起来不错呀。

  2.钱包要同步账簿的,一台电脑开几个太不环保了,当然是一台电脑开一个钱包服务,其他应用去调用他啊,二就是这个模式。

你想啊,如果都用模式一,研究winform客户端开发自己的。用户用各种基于小蚁的应用,各自都在那同步账簿,多不环保呀。

如果基于小蚁的应用多起来,官方肯定要做些环保方面的规范的,我们可以着眼于未来一点嘛。

动手动起来

第一步,安装dotnet core

 640?wx_fmt=png

验证方法,在命令行中输入dotnet

 640?wx_fmt=png

 

第二步,下载小蚁命令行客户端

 640?wx_fmt=png

安装,不用,是绿色的,不过没有发布成exe,需要用dotnet core 来启动。

 640?wx_fmt=png

先别启动,要不然你一会儿还得删除账簿目录。

因为我们要用测试网络

 640?wx_fmt=png

 640?wx_fmt=png

 注意config.json 和 protocol.json

他们各自都有两个副本,用 testnet 的副本的内容,就是 测试网络

用Mainnet副本的内容 就是主网。

复制黏贴问题,略去不表。

然后启动,慢慢同步

 640?wx_fmt=png

别忘了rpc参数

 

命令行怎么用

启动起来是个死循环,会显示ant>

可以输入help 看有那些命令行指令可以用。

Show state 是看同步情况的

 640?wx_fmt=png

不知道同步还有多久,可以看看当前高度,从antcha.in 看当前高度的方法是 onchain 的陈志同告诉我的,很实用。

 640?wx_fmt=png

比较常用的指令是

Create wallet 创建钱包

Open wallet 打开钱包

List address 看账户

List asset 看资产

Send 资产种类 地址 数量 直接对地址转账

 

先让他慢慢同步去,我先来写下我的第一行代码,打开浏览器,在地址行输入

 640?wx_fmt=png

这条就是查询区块链高度的,通过http访问会得到一个json的回复

 640?wx_fmt=png

第一行代码是输入在浏览器里面的,你很失望吧。

 

不要着急,想想阿基米德

 640?wx_fmt=jpeg

 

支点已经有了,一起战吧。

相关文章: 

原文地址:http://www.cnblogs.com/crazylights/p/6822216.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

640?wx_fmt=jpeg

阅读更多

更多精彩内容