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

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

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

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

 

小蚁网站 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跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跟我学 Java 8 新特性之 Stream 流(二)关键知识点

转载自 跟我学 Java 8 新特性之 Stream 流(二)关键知识点 我们的第一篇文章,主要是通过一个Demo,让大家体验了一下使用流API的那种酣畅淋漓的感觉。如果你没有实践,我还是再次呼吁你动手敲一敲,自己实实…

Build 2017 | 微软开发者大会临近,今年的主题是边缘计算

200 多家明星企业,20 位著名投资机构顶级投资人共同参与!「新智造成长榜」致力于发掘 AI 领域有 “三年十倍” 成长潜力的创新公司,下一波 AI 独角兽,会有你么?点击加入! 雷锋网按:微软首席执行…

王者齐聚!Unite 2017 Shanghai 日程讲师全揭晓

汇聚了来自全球的 Unity开发者、发行商、培训家及爱好者的 Unite 2017 Shanghai 即将于于 5 月 11 日-13日在上海国际会议中心隆重举行。Unite 大会是由 Unity 举办的全球开发者大会,至今已有 10 年历史,并已成为游戏行业、VR/AR 行业最具权威…

批评?惩罚?

批评?惩罚?最近一直在听王晓春老师的《做一个专业的班主任》,并且上次在校内分享教学经验和技巧的时候,也推荐给其他的老师看了。我一般都是在上班的路上听,王老师的很多观点确实值得我们深思,但是&#xf…

屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python

转载自 屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python 前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么…

就业形势如此的严峻,你为何不努力?

就业形势如此的严峻,你们有何理由不努力?今天,围绕就业的问题展开个话题吧。马上,18级1班就要出去就业了,以前带的17级3班三期的时候学生的状态都比较积极,自己知道自己的实力,我和就业老师、班…

涨姿势,图文带你了解 8 大排序算法

转载自 涨姿势,图文带你了解 8 大排序算法 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见…

React中分页错误

因为save是异步方法 直接从model中取最新的数据

班级第一次问卷调查

135编辑器调差问卷终于,在班内做了一次问卷调查了,这是自同学们入学以来做的第一次调查,主要是从学生的对所学课程、班主任以及教员老师的角度出发的,所有的调查均采取匿名方式,以保证调查的民主性:调查的问…

OAuth 2.0: Bearer Token Usage

Bearer Token (RFC 6750) 用于OAuth 2.0授权访问资源,任何Bearer持有者都可以无差别地用它来访问相关的资源,而无需证明持有加密key。一个Bearer代表授权范围、有效期,以及其他授权事项;一个Bearer在存储和传输过程中应当防止泄露…

Spring Boot 核心配置文件详解

转载自 Spring Boot 核心配置文件详解 用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .properties) 为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗&#xff1…

Net分布式系统之:微服务架构

一、背景&问题 之前框架是一个基于SOA思想设计的分布式框架。各应用通过服务方式提供使用,服务之间通信是RPC方式调用,具体实现基于.NET的WCF通信平台。框架存在如下2个问题: 1、高并发处理能力不足。一当高并发请求,可能出现…

[Cake] 0.C#Make自动化构建-简介

0. Cake是什么? Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。 熟悉大名鼎鼎的Make的小伙伴,应该已经知道…

99%的面试官都会问到的Java面试题

转载自 99%的面试官都会问到的Java面试题 最近是招聘季,所谓金九银十,正是跳槽的好几节。今天,给大家整理了一些Java面试常考的经典题目,我们一道一道来分析一下。 经典面试题 1、谈谈你对 Java 平台的理解?“Java …

想对你们每个人说的话

135编辑器1吉方鑫:方鑫,在我和王老师面前,你永远都是那么的乖,爱笑,常言道:爱笑的人运气不会太差,希望你也是如此哦,现在的学业已经到了三期了,相信你也知道后期的学习该…

Dora.Interception: 一个为.NET Core度身定制的AOP框架

多年从事框架设计开发使我有了一种强迫症,那就是见不得一个应用里频繁地出现重复的代码。之前经常Review别人的代码,一看到这样的程序,我就会想如何将这些重复的代码写在一个地方,然后采用“注入”的方式将它们放到需要的程序中。…

揭秘阿里秒级百万TPS平台架构实现

转载自 揭秘阿里秒级百万TPS平台架构实现 导读:搜索离线数据处理是一个典型的海量数据批次/实时计算结合的场景,阿里搜索中台团队立足内部技术结合开源大数据存储和计算系统,针对自身业务和技术特点构建了搜索离线平台,提供复杂…

相对你们说的一些话

135编辑器1田文豪:文豪,最近上课我看你很认真,面试题也背的挺好的,你在很努力的学习了,这是一个非常好的趋势,希望你能一直保持下去。你的脑字也是很灵活的,好几次考试都超出了我的预想&#xf…

Build 2017 | 一文看懂微软 Build 2017 大会:让 AI 走向边缘

200 多家明星企业,20 位著名投资机构顶级投资人共同参与!「新智造成长榜」致力于发掘 AI 领域有 “三年十倍” 成长潜力的创新公司,下一波 AI 独角兽,会有你么?点击阅读原文了解详情! 雷锋网按:…

一文带你理解Java中Lock的实现原理

转载自 一文带你理解Java中Lock的实现原理 当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出问题。java提供了两种方式来加锁,一种是关键字:synchronized,一种是concurrent包下的lock锁。syn…