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

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

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

小蚁网站 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

 

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

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

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

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

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#模板

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

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

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

又问:SDK是干嘛的?

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

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

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

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

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

SDK 就是干这个用的。

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

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

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

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

再见,回家。

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

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

现在有两条路:

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

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

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

而是有两点具体的考虑。

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

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

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

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

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

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

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

动手动起来

第一步,安装dotnet core

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

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

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

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

因为我们要用测试网络

注意config.json 和 protocol.json

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

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

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

然后启动,慢慢同步

别忘了rpc参数

命令行怎么用

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

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

Show state 是看同步情况的

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

比较常用的指令是

Create wallet 创建钱包

Open wallet 打开钱包

List address 看账户

List asset 看资产

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

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

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

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

不要着急,想想阿基米德

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

相关文章:

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

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


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

剑英的区块链学习手记(二)相关推荐

  1. 剑英的区块链学习手记(一)

    开篇布拉拉 因为参与了小蚁的c#智能合约编译器的开发,让我第一次近距离接触到区块链技术. 以前我对区块链技术的了解,只知道有一种叫做比特币的玩意儿,以前有同事在几百块一个比特币的时候屯了一批,后来价格 ...

  2. 区块链学习笔记二之区块链的加密技术

    概述 区块链最常见的用途是消除交易双方的中间环节.举个例子来说,学位认证的过程.当你投递简历到企业时,企业一般需要验证你的学位在类似于学信网等第三方验证平台可查,这相当于依托第三方验证平台验证你的过往 ...

  3. 月薪 100K?还不来看看区块链学习清单?字字都是 Money!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! CSDN粉丝今日专属购书福利:全场书籍优惠,满100减50!仅限当日使用. 初春乍寒,又到了 ...

  4. 区块链学习路径,看这一篇就够了 | FISCO BCOS

    FISCO BCOS开源社区已沉淀过百篇文章,覆盖了区块链学习各个阶段.为了方便大家对应自身学习阶段找到合适的教程,我们按照区块链学习成长路径对社区文章进行整理排序,希望沿着这份路径规划,大家都能成为 ...

  5. 尚硅谷以太坊区块链学习之NFT智能合约(6)

    尚硅谷以太坊区块链学习之NFT智能合约(6) 前言 一.NFT智能合约 1.智能合约代码 2.智能合约推送 3.具体调用 二.具体使用 三.NFT商家智能合约 前言 提示:服务外包区块链学习 5被ba ...

  6. 区块链学习三——比特币的数据结构

    区块链学习三--比特币的数据结构 文章内容来源于北京大学肖臻老师<区块链技术与应用>公开课 文章目录 区块链学习三--比特币的数据结构 一.哈希指针(hash pointers) 二.区块 ...

  7. 区块链学习笔记(三)——从商鞅变法谈“共识机制”

    区块链学习笔记(三)--从商鞅变法谈"共识机制" 前言 一.商鞅变法的故事 总结一下 二.共识机制 1)什么是共识机制 2)要点 总结 前言 区块链健康运行的灵魂是"共识 ...

  8. 尚硅谷以太坊区块链学习(4)

    尚硅谷以太坊区块链学习(4) 前言 一.安装环境 1.安装Golang 2.安装Geth 二.初始化区块链 1.创建创世区块 2.区块链初始化 三.Geth客户端操作 1.启动Geth客户端 前言 提 ...

  9. 美化UI合约区块链学习版系统+交易大厅

    简介: 美化UI合约区块链学习版系统+交易大厅 亲测环境:Win+宝塔+Apache+php5.6+mysql5.5 数据库配置文件:/APP/Conf/config.php 设置TP伪静态 后台地址 ...

最新文章

  1. 改变自己,让自己变得更好
  2. 一、cocos2dx之如何优化内存使用(高级篇)
  3. python怎么筛选excel数据_PythonEXCEL读取-保存-矩阵合并-条件筛选
  4. linux系统创建windows启动盘
  5. 转:MAC 下安装PHONEGAP开发环境
  6. idea社区版下载lombok或是导入lombok.jar包
  7. oracle2db2,从Oracle 到DB2(二)
  8. WordPress学习笔记(一)文章操作
  9. echarts环形图加边框
  10. pytorch函数测试
  11. 安卓导航车机root方法_手机、平板这么好用,为什么车机还这么垃圾
  12. 解决Chrome浏览器无法加载flash插件的问题
  13. python去除视频水印接口_使用ffmpeg去除视频水印【ffmpeg】
  14. [LiteratureReview]Improving 3D Object Detection for Pedestrians with Virtual Multi-View Synthesis...
  15. mysql commit work_数据库commit work
  16. 急!灾区的食物依然短缺!(找不到原题出处只能这样了.....)
  17. office2010 手动卸载和安装提示
  18. 冒泡排序法定向冒泡排序法的Python实现
  19. 道路交通安全改善解决方案PPT
  20. Docker搭建持续集成平台Jenkins

热门文章

  1. ChatForFun 公众号使用说明
  2. SQL Server默认1433端口修改方法
  3. Spring与SpringMVC集成出现的问题
  4. c#中BackGroundWorker控件
  5. C# WPF MVVM模式下在主窗体显示子窗体并获取结果
  6. 成长 | 《大厂晋升指南》学习总结(下)
  7. 性能再提升70%?大咖前瞻带你揭开.NET6的神秘面纱!
  8. 理论修炼之ETCD,高一致性Key-Value服务提供者中的佼佼者
  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定...
  10. Microsoft宣布将停止支持多个 .NET Framework版本