最近发现很多人投资了 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 // 工具集
 
那么下一步,我们就要尝试建立 EOS 所需的环境,并编译 EOS 工程了,敬请期待。

圆方圆区块链汇集大批区块链名师,采取导师值班制,为学员实时解决技术疑难。请关注圆方圆区块链知识星球与导师。(培训咨询请联系船长13826054890微信手机同号)

作者小笛 ,专注于 EOS 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。

听说你买了 EOS ,连代码什么样都不知道?的更多相关文章

  1. IDEA错误的将所有代码文件都加入版本控制

    1.问题: IDEA将从Git上拉取的所有代码文件都加入版本控制里,而这些文件和远程服务器没有任何区别: 2.原因: 后来发现,虽然项目使用的是Git的版本控制,但是异常模块都是使用SVN的版本控制: ...

  2. git——解决每次拉取、提交代码时都需要输入用户名和密码

    在开发中我们经常需要通过 git 对代码进行拉取和提交,频繁地输入用户名和密码会带来很大的麻烦,下面就介绍一下解决git每次拉取.提交代码时都需要输入用户名和密码的方法. 很简单,只要两步骤就能实现: ...

  3. 怎么看 EOS 的代码最爽?

    进入 EOS 的世界之前,愉快地看系统代码是第一步,试了 Visual Studio / Source Insight / Understand / Sublime 等多款 IDE / 编辑器后,强烈 ...

  4. 听说你买的基金又“绿了”,手把手教你用 Python选出好基金

    打工人打工魂打工都是人上人,红基金绿基金绿了又绿你基金.今天教大家一招不再被(基金)绿. 01 开发环境 Windows10 Python3 Pycharm 一些必要的库 02 步骤 1. 获取基金排 ...

  5. JS这些代码你都不会,你还有什么好说的!!!

    都说自己工资低的,先看看这些代码你能写出来不?这些都不会,你还嫌工资?

  6. CSS这些代码你都不会,你还有什么好说的!!!

    都说自己工资低的,先看看这些代码你能写出来不?这些都不会,你还嫌工资? 很多人抱怨工资低,觉得自己大材小用,但你真的是才不是柴嘛?? 经常听到一些人,遇到不会的问百度,如果这样,我们都不用学习了,天天 ...

  7. Google推荐的15条HTML 5代码军规----来看看你知道几个,我一个都不知道。。。

    Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml 1.协议头: 建议在指向图 ...

  8. [dev][nginx] 在阅读nginx代码之前都需要准备什么

    前言 以前,我读过nginx的源码,甚至还改过.但是,现在回想起来几乎回想不起任何东西, 只记得到处都是回调和异步,我的vim+ctags索引起来十分吃力. 几乎没有任何收获,都是因为当时打开代码就看 ...

  9. eclipse修改代码后都需要clean的解决办法

    问题描述: 用STS(类似于Eclipse)正在开发一个JavaWeb项目,但不知怎么的有一天,修改完Java代码,点击运行Tomcat,发现根本没有修改.刚刚开始的时候,因为一开始没找到原因而且工期 ...

随机推荐

  1. 出行服务类API调用的代码示例合集:长途汽车查询、车型大全、火车票查询等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 长途汽车查询:全国主要城市的长途汽车时刻查询,汽车站查询 车型大全 ...

  2. 网络基础tcp/ip协议一

    计算机网络: 硬件方面:通过线缆将网络设备和计算机连接起来 软件方面:操作系统,应用软件,应用程序通过通信线路互连 实现资源共享,信息传递 计算机网络的功能: 数据通信 资源共享 增加可靠性 提高系统 ...

  3. js中reduce()用法

    reduce()方法 定义:reduce()接收一个函数作为累加器,数组中每个值(从左到右)开始缩减,最终计算为一个值 对于空数组不执行回调函数 语法:array.reduce(function(to ...

  4. mysql常用基础操作语法(一)~~对库的操作【命令行模式】

    1.创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大 ...

  5. ADS1.2中RO base与RW base

    ARM映像文件 ARM中的各种源文件(包括汇编文件,C语言程序及C++程序等)经过ARM编译器编译后生成ELF(Executable and linking format)格式的目标文件.这些目标文件 ...

  6. Java Web项目(Extjs)报错五

    1. Java Web项目(Extjs)报错五 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname ...

  7. An internal error occurred during: "Building workspace". java.lang.StackOverflowError

    1 错误描述 2 错误原因 由上述描述可以,MyEclipse可用内存不足,导致堆内存溢出 3 解决办法 修改MyEclipse内存设置 #utf8 (do not remove) #utf8 (do ...

  8. Java获取某年某周的第一天

    Java获取某年某周的第一天 1.设计源码 FirstDayOfWeek.java: /** * @Title:FirstDayOfWeek.java * @Package:com.you.freem ...

  9. WDF驱动的编译、调试、安装

    编译和调试使用WDK编译,源代码应包括wdf.h,ntddk.h以及KMDF_VERSION=1,编译使用/GS.KMDF包括以下库:1). WdfDriverEntry.lib(编译时绑定):驱动入 ...

  10. freemarker中的split字符串分割(十六)

    1.简易说明 split分割:用来根据另外一个字符串的出现将原字符串分割成字符串序列 2.举例说明 <#--freemarker中的split字符串分割--> <#list &quo ...