EOS 编程究竟是什么呢、学什么呢?html
抱歉,我如今也不没法回答。不过,我能够告诉你我作了哪些尝试、目前的理解,以及下一步还要作什么。node
首先,EOS 开发最重要的文档天然是在 GitHub: github.com/EOSIO/eos,好比:git
- 介绍了如何在本机编译、运行 EOS
- 其中的 contracts 目录,提供了一些智能合约的范例。
其中 一些基础概念:github
eosd
- server-side blockchain node component
- 可理解为运行在本机的 EOS Daemon/服务器
eosc
- command line interface to interact with the blockchain
- 可理解为方便与 EOS 服务器进行交互的命令行工具,不用写代码就能够经过这个工具执行命令,进行一些测试
eos-walletd
- EOS wallet
而后,主要开发文档在此:eosio.github.io/eos/,主要分为 2 种形式的接口及文档:编程
- REST RPC 接口
- 也即,不是直接使用 C/C++/WebAssembly 编写代码,并且封装为 REST RPC 接口。有了这个接口,对编程语言就没有限制了,你能够用任何你喜欢的语言,好比 Swift/Python/etc
- 不过,惋惜的是,目前已经封装的接口并很少,你并不能经过 REST RPC 干全部事情。但愿 EOS 能尽快完善 REST RPC 接口,这是目前我最期待的
- 我把其中的接口都测试了一遍,惋惜就是太少了
- C/C++/WebAssembly 源码
- EOS 自己就是基于 C/C++/WebAssembly 编写的,基于这些语言的文档天然最全。
- 天然的,目前若是你想充分基于 EOS 开发,只能使用 C/C++/WebAssembly;若是不会,要么学习,要么等 REST RPC 接口早日完善
你可能知道,EOS 在 17 年 12 月 4 日发布了 pre-release 2.0,同时也发布了 公测版的 EOS 区块链网络(不是主链,主链预计 18 年 6 月发布),如下是这部分的介绍:c#
**下一步怎么学呢?**其实我也还不清楚,有这么几个可选项:api
- 学习 Docker
- 为何呢?由于我暂时不想在 macOS 主系统中编译 EOS 项目,目前是在虚拟机中编译的,但多少有些方便
- EOS 支持在 Docker 中运行,这样既不会把个人主系统搞乱,也没必要忍受虚拟机的性能和麻烦
- 学习 C/C++/WebAssembly
- 只有这样,才能在 EOS 目前的状态下,深刻的测试、学习
- 这实际上是成本、风险很是高的选择,我很是犹豫;我会再去了解下 EOS 团队有没有关于 REST 接口开发计划
- 学习区块链通用开发技术
- EOS 只是区块链的一种形态,而区块链自己还有不少通用型的开发技术,这个也要先行了解
你也对 EOS 感兴趣吗?但愿这篇文章能帮你揭开 EOS 开发的神秘面纱,也欢迎一直啃这块骨头。服务器
博客原文:0122 - EOS 编程学习日志(1)网络