最近发现很多人投资了 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. HDU - 1213 dfs求联通块or并查集

    思路:给定一个无向图,判断有几个联通块. AC代码 #include <cstdio> #include <cmath> #include <algorithm> ...

  2. Appium安卓真机环境搭建

    说明 步骤可能比较简洁,因为手头上有安卓测试机,所以需要配置虚拟机的童鞋请去虫师博客园,因为我也是从那儿学的,哈哈.点我飞到虫师那儿 但是如果你要搭建真机测试环境的话,本教程将是最简单实用的. 1. ...

  3. ReportView动态加载带参数的RDCL文件及子报表

    本文来自Torres.Wu发表在博客园的博客,转载请标明出处. 同上一篇差不多,这次咱们加载带有子报表的RDCl文件.首先还是创建一个form程序,在form2窗体中添加一个ReporView控件,l ...

  4. 【开源项目】智能电视及电视盒子的控制应用TVRemoteIME的接口说明

    一.APP项目介绍: APP名称:TVRemoteIME 功能说明:安卓智能电视或者安卓盒子的控制应用,可跨屏远程输入.远程遥控(代替遥控器)盒子.盒子应用及文件管理.HTTP/RTMP/MMS网络视 ...

  5. ubuntu设置网络

    二 .设置无线网络 1.首先确认一下你的无线驱动已经安装 方法一,查看一下ubuntu右上角的网络设置中有无线连接,如果有说明已经驱动了,ubuntu自带的就会驱动无线网卡. 方法二,iwconfig ...

  6. 嵌入式 Linux 与linux启动时自动加载模块

    一.在ARM linux 下,一般而言,产品在启动的过程中应该加载模块,最简单的方法是修改启动过程的rc脚本(/etc/init.d/rcS),增加ismod /../xxx.ko这个命令.例如:加载 ...

  7. 吐槽版︱MRO-Microsoft R Open快捷键+界面识别+功能设置

    下载了之后,发现连运行(RUN键)在哪都不知道,蒙逼的在哪倒弄半天,都执行不了...问了别人,都说"ctrl+enter",但是我的电脑执行不了,于是今天就狠狠的一个一个按钮的点一 ...

  8. mongodb命令行group分组和java代码中group分组

    group分组统计是数据库比较常用的功能,mongodb也不例外.不过相对于普通的增删改查,group操作就略微麻烦一些, 这里对group在shell中的操作.使用java原生代码操作以及集成spr ...

  9. NetBeans导入项目jar路径错误解决办法

    NetBeans导入项目jar路径错误解决办法 1.NetBeans中导入项目jar路径出错,单击项目右键,选择"属性",找到"库" 2.找到错误jar,全部勾 ...

  10. strcpy函数

    不调用C/C++库函数,编写strcpy()函数. char * my_strcpy(char *strDest,const char *strSrc) { char *p=strDest; whil ...