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

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

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

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

 

小蚁网站 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,一经查实,立即删除!

相关文章

PhotoShop基础知识

一、PhotoShop: 1.是由Adobe Systems开发和发行的专门用于图形图像处理的软件 2.优点:绘制或者处理后的图像,颜色鲜明、形象生动,能够给观者很好的视觉效果。 二、PhotoShop软件应用领域: 1.在平面设计中的应用 2.在插…

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

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

mybatis使用注解开发

Mybatis目录 注解开发的crud 1.IUserDao接口中使用注解 2.测试类 注解开发的多表查询 多对一(一对一) 1.IAccountDao接口中使用注解 2.Account类中(从表类) 3.测试类 一对多(多对多) 1.IUserDao接口中使用…

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

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

Photoshop的基本操作

一、缩放工具 1.缩放工具相当于放大镜和缩小镜,从视觉上改变图像的大小,但实际尺寸并没有改变。 2.快捷键:z或者按住alt鼠标滑轮上滑(放大)、下滑(缩小) 二、抓手工具: 1.当图片放大…

JDBC8.0 URL配置

Spring中即成DBUtils <property name"jdbcUrl" value"jdbc:mysql://localhost:3306/eesy_mybatis?useUnicodetrue&amp;characterEncodingUTF-8&amp;serverTimezoneUTC"></property>

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

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

批评?惩罚?

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

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

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

IDEA 配置Maven项目

https://blog.csdn.net/qq_41799219/article/details/90782162

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

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

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

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

React中分页错误

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

OpenCV3.4.5带GPU编译error: #error This file requires compiler and library support for the ISO C++ 2011

error: #error This file requires compiler and library support for the ISO C 2011 standard. This support is currently experimental, and must be enabled with the -stdc11 or -stdgnu11 compiler op caffe c11编译问题 问题&#xff1a;error: #error This file req…

班级第一次问卷调查

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

OAuth 2.0: Bearer Token Usage

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

Spring Boot 核心配置文件详解

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

深入类的方法

一、构造方法&#xff1a; 1.什么是构造方法&#xff1f; &#xff08;1&#xff09;方法名与类名相同 &#xff08;2&#xff09;没有返回类型 &#xff08;3&#xff09;主要完成对象的初始化工作 2.构造方法是没有返回类型的。 3.默认情况下&#xff0c;系统会自动给每个类分…

使用Jersey跨服务器上传图片 报405 Method Not Allowed错误

springMVC跨服务器上传 报错&#xff1a; HTTP Status 500 – Internal Server ErrorType 异常报告 消息 Request processing failed; nested exception is com.sun.jersey.api.client.UniformInterfaceException: PUT http://localhost:9090/uploads/2fdf8b2244324d1d9459349…

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

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