最近发现很多人投资了 EOS,却并不关心 EOS 目前的开发进度和技术细节,如果你投资了 EOS, 还有一定的技术基础,那就更应该关心 EOS 的开发情况了,下面我们就从 EOS 的源代码说起:
Github 是目前最流行的源码管理网站,无数明星项目都在 Github 上开发,这其中当然也包括了 EOS。 EOS 在 Github 上的地址:
https://github.com/EOSIO/
里面有多个目录,首先就是白皮书,这是区块链项目的根基:
https://github.com/EOSIO/Documentation
里面的中文版翻译的实在不怎么样,有基础的推荐直接看英文版。
说点题外话:如果你想提高英语的话,持有一点 EOS 代币吧,你会急于搞清楚白皮书在讲什么,要是想短时间快速提高英语,持有大量 EOS 代币吧,别问我是怎么知道的^_^。
源代码在此:
https://github.com/EOSIO/eos
主要代码都在这个工程里,不过有一部分引用了别的工程,同步时使用 --recursive 命令可以全部下载下来。这里可以看到,EOS 是用 C/C++ 开发的,Dan 说主要原因是 C/C++ 的效率非常高,可以支撑商业级的应用。
至于如何下载/同步源代码,可以查看 Github 的教程或者搜索一下,这里推荐使用 Github 的官方桌面客户端:
https://desktop.github.com/
桌面客户端最大的优点是可以图形化地看到每天的代码更新,就像看着一个 baby 在生长。你会发现 EOS 代码的开发速度是非常快的。
另外怎么能少了官方的 wiki:
https://github.com/EOSIO/eos/wiki
有了这个 wiki 基本就能指导你从零开始开发一个智能合约,需要一定基础。不过别怕,谁也不是生下来就一米八的。
有了这些,我们来看看 EOS 源码的目录结构吧:
├─.git // github 工程配置文件
├─build // 编译后的程序在此
├─CMakeModules // EOS 项目使用CMake构建
├─contracts // 示例智能合约代码
│ ├─currency //示例代币合约
│ ├─dice
│ ├─eos
│ ├─eoslib
│ ├─exchange
│ ├─infinite
│ ├─proxy
│ ├─simpledb
│ ├─skeleton
│ ├─social
│ ├─storage
│ ├─test_api
│ └─tic_tac_toe // 使用智能合约开发的小游戏
├─Docker // EOS 支持 Docker 容器
├─docs // HTML 格式的 API 文档
├─libraries //各种库代码
│ ├─abi_generator // 自动 abi 生成器
│ ├─appbase // eos 服务器端插件的框架
│ ├─chain
│ ├─chainbase
│ ├─egenesis
│ ├─fc
│ ├─src
│ ├─native_contract
│ ├─types
│ ├─utilities
│ └─wasm-jit // eos 智能合约使用 WabAssembly 架构
├─plugins // 服务器端的各种插件代码
│ ├─account_history_api_plugin
│ ├─account_history_plugin
│ ├─chain_api_plugin
│ ├─chain_plugin
│ ├─database_plugin
│ ├─db_plugin
│ ├─faucet_testnet_plugin
│ ├─http_plugin
│ ├─net_api_plugin
│ ├─net_plugin
│ ├─producer_plugin
│ ├─template_plugin
│ ├─txn_test_gen_plugin
│ ├─wallet_api_plugin
│ └─wallet_plugin
├─programs // 主程序代码
│ ├─abi_gen
│ ├─codegen
│ ├─debug_node
│ ├─eos-walletd // EOS 服务器端钱包插件
│ ├─eosc // EOS 客户端
│ ├─eosd // EOS 服务器端
│ ├─launcher
│ └─snapshot
├─scripts
├─tests 测试程序
└─tools // 工具集