EOS 编程到底是什么呢、学什么呢?

抱歉,我现在也不无法回答。不过,我可以告诉你我做了哪些尝试、目前的理解,以及下一步还要做什么。

首先,EOS 开发最重要的文档自然是在 GitHub: github.com/EOSIO/eos,比如:

  • 介绍了如何在本机编译、运行 EOS
  • 其中的 contracts 目录,提供了一些智能合约的范例。

其中 一些基础概念

  • eosd - server-side blockchain node component

    • 可理解为运行在本机的 EOS Daemon/服务器
  • eosc - command line interface to interact with the blockchain
    • 可理解为方便与 EOS 服务器进行交互的命令行工具,不用写代码就可以通过这个工具执行命令,进行一些测试
  • eos-walletd - EOS wallet
    • 可以理解为 EOS 钱包的命令行工具

然后,主要开发文档在此:eosio.github.io/eos/,主要分为 2 种形式的接口及文档:

  1. REST RPC 接口
  • 也即,不是直接使用 C/C++/WebAssembly 编写代码,而且封装为 REST RPC 接口。有了这个接口,对编程语言就没有限制了,你可以用任何你喜欢的语言,比如 Swift/Python/etc
  • 不过,可惜的是,目前已经封装的接口并不多,你并不能通过 REST RPC 干所有事情。希望 EOS 能尽快完善 REST RPC 接口,这是目前我最期待的
  • 我把其中的接口都测试了一遍,可惜就是太少了
  1. C/C++/WebAssembly 源码
  • EOS 本身就是基于 C/C++/WebAssembly 编写的,基于这些语言的文档自然最全。
  • 自然的,目前如果你想充分基于 EOS 开发,只能使用 C/C++/WebAssembly;如果不会,要么学习,要么等 REST RPC 接口早日完善

你可能知道,EOS 在 17 年 12 月 4 日发布了 pre-release 2.0,同时也发布了 公测版的 EOS 区块链网络(不是主链,主链预计 18 年 6 月发布),以下是这部分的介绍:

  • Testnet: Public

    • 这个就是关于此次公测链的根文档
  • 你需要先在 这里 申请测试账户
  • 测试链的 REST API 接口文档
    • 包含了认证、区块、交易(Transaction)、账户等部分的介绍
    • 我简单试了一遍,貌似 v1/blocks 接口有问题,其它正常

**下一步怎么学呢?**其实我也还不清楚,有这么几个可选项:

  • 学习 Docker

    • 为什么呢?因为我暂时不想在 macOS 主系统中编译 EOS 项目,目前是在虚拟机中编译的,但多少有些方便
    • EOS 支持在 Docker 中运行,这样既不会把我的主系统搞乱,也不必忍受虚拟机的性能和麻烦
  • 学习 C/C++/WebAssembly
    • 只有这样,才能在 EOS 目前的状态下,深入的测试、学习
    • 这其实是成本、风险非常高的选择,我非常犹豫;我会再去了解下 EOS 团队有没有关于 REST 接口开发计划
  • 学习区块链通用开发技术
    • EOS 只是区块链的一种形态,而区块链本身还有很多通用型的开发技术,这个也要先行了解

你也对 EOS 感兴趣吗?希望这篇文章能帮你揭开 EOS 开发的神秘面纱,也欢迎一直啃这块骨头。

博客原文:0122 - EOS 编程学习日志(1)

0122 - EOS 编程学习日志(1)相关推荐

  1. 我的编程学习日志(9)--交换A,B值得方法(相加,异或,swap函数)

    在编程中,我们经常遇到将a,b的值交换这种情况,下面就说说交换a,b的方法. 1,最常规的就是定义一个变量,通过他交换 int a=1,b=2,t;t=a;a=b;b=t; 对于这种方法我们可以用宏定 ...

  2. linux shell编程学习--日志工具

    在使用高级语言如java,C++的时候,有专门的日志库,比如log4j,log4cxx等一些专门的日志库,进行日志打印,可以进行日志等级配置,日志的文件名,行号等信息的自动添加.但是在shell里,好 ...

  3. 我的编程学习日志(1)--进制转换

    昨天拿到一个题,把任意一个int型的十进制数n转换为m(0<m<=32)进制. 既然没有小数思路就很简单了,只需要把n除以m取余数,记录每个余数,最后把余数反序输出(如图). 下面就来分步 ...

  4. 0121 - 开始学习 EOS 编程

    首先,这里不是讨论 EOS 币的买卖,而是 EOS 编程.基于 EOS 的应用. 今天从 GitHub 上下载了 EOS 的应用,也花了半天编译了,按照操作演示创建了钱包.进行了交易.但,依然是云里雾 ...

  5. VB6编程:DirectX 2D图形学习日志20伽玛校正

    VB6编程:DirectX 2D图形学习日志20伽玛校正 教程下载地址:https://download.csdn.net/download/gosub60/13696651 作用:通过按↑和下方向键 ...

  6. VB6编程:DirectX 2D图形学习日志4:总结前3课

    VB6编程:DirectX 2D图形学习日志4:总结前1-3课 教程下载地址:https://download.csdn.net/download/gosub60/13696651 现在,我对源码中出 ...

  7. VB6编程:DirectX 2D图形学习日志22创建卡通动画

    VB6编程:DirectX 2D图形学习日志22创建卡通动画 教程下载地址:https://download.csdn.net/download/gosub60/13696651 作用:使用多幅BMP ...

  8. 一个编程小白的Java SE学习日志 Ⅵ——继承【极客BOY-米奇】

    文章目录 前言(转载请说明作者!)3.25~3.29编写 自我问答 任务导引:电子宠物Beta 任务UML图 继承 什么是继承? 如何实现继承? 案例 子类可以继承父类所有的成员和方法? 继承的特点 ...

  9. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

最新文章

  1. linux基础(8)-颜色显示
  2. XDR3020 WiFi6 11ax使用体验 11ax性能数据
  3. ICallbackEventHandler使用
  4. 编程零基础做程序员,该怎么学习?首先要学习什么?
  5. 通道注意力机制_即插即用,Triplet Attention机制让Channel和Spatial交互更加丰富(附开源代码)...
  6. 远程ykvm 插件移值java_远程管理KVM,命令行控制KVM,console连接,透传
  7. Vue-router之路由参数传递
  8. android开发,动态图标,Android动态更新APP图标
  9. 使用模板快速编写测试用例
  10. Springboot开关柜综合监测信息查询系统毕业设计-附源码191550
  11. Latex 宏定义中 \relax
  12. Unity功能点---模拟枪械射击时的后坐力
  13. 2021国际货币论坛金融科技分论坛隆重举行 聚焦“数字金融人才培养”
  14. 北邮硕士、前百度工程师:能进大厂,就不用读研究生了!
  15. 解决微软Edge浏览器和IE浏览器下载无反应的问题
  16. torch.Linear(input_size,output_size, bia = True/Flase)
  17. 第一篇 厚黑学 一、绪论
  18. eclipse快捷操作(如何更加便捷的使用eclipse来编程:持续更新)
  19. hdu1896 Stones
  20. 【小甲鱼C语言】课后笔记第一章第九节——if语句

热门文章

  1. MICROSOFT SQL SERVER 2005 SEPTEMPTER CTP下载
  2. CCF CSP201709-1打酱油
  3. 机器人(机械臂)动力学建模方法(Newton-Euler equation)
  4. Java 面向对象细节
  5. 上架过程中遇到的问题
  6. ansible之setup模块常用的信息
  7. MySQL索引原理及慢查询优化 美团
  8. 转: C语言中位运算符异或“∧”的作用
  9. Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞...
  10. js中document.getElementById(ID)与document.getElementsByName(Name)的区别