美文网首页
EOS源码学习系列

EOS源码学习系列

作者: ansenyu | 来源:发表于2018-03-11 21:46 被阅读0次

    我为啥要学习EOS源码

    正所谓不忘初心方得始终,在开始这个系列前,先简单聊聊为啥我要学习EOS源码吧。

    首先,一直以来我对比特币和区块链还是蛮感兴趣的,不过大多认知都止步于科普文章/书籍和白皮书,这对于将"show me the code"常挂在嘴边的码农来说显然是不够的,要想深刻理解运用区块链必须要深入学习源码。

    其次,目前EOS作为最被广泛看好的区块链3.0方案之一,被寄予了解决区块链扩容等问题的期望,但是网上关于EOS的技术文章大多停留在白皮书搬运(各种概念的炒作)和运行样例程序的浅层次阶段,这类文章已经比较丰富了。对于真正有志于参与区块链开发实践的读者来说,源码级别的学习经验分享更具有参考价值。

    最后,EOS目前还处于发展的非常早期阶段,还没正式上线主网,还有大量的轮子需要被制造出来,熟悉了解源代码是参与社区建设的基本门槛。

    源码学习系列概要

    由于这个系列开始的时候EOS release了Dawn2.x版本并且上线了测试网络,这个应该是能够比较稳定运行的版本,所以这个系列先专注于Daw2.x分支的分析,后续新的feature上线文档后再另开系列分析,Github上项目分支在https://github.com/EOSIO/eos/tree/dawn-2.x

    由于我也是边学习源码边写这个系列,分享我的学习过程,所以系列的组织结构上可能会有一定的变动。

    为了方便,系列大体上参考源码组织结构,主要分为四个篇章,对应源码中四个一级目录:

    • program: 程序篇
      • eos的应用程序,最主要的包括运行节点实例eosd,与eosd交互的命令行工具eosc,单独的钱包应用eos-walletd,以及其他开发测试工具。
      • EOS源码学习:程序篇(一)eosd
    • plugin: 插件篇
      • eosd应用程序采用插件化设计,最主要的功能设计成接口统一的plugin,应用程序根据配置加载需要的插件,第三方开发者也可以开发扩展plugin支持新功能。
      • EOS源码学习:石墨烯引擎 & EOS插件机制
    • libraries: 功能库篇
      • 实现了eos业务功能组件。
    • contracts: 合约篇
      • 提供了一些合约样例。

    这样分的好处是,文章组织与EOS软件架构保持同构,一个篇章主要集中在EOS架构的一个层面进行分析和讨论,同时,读者能够快速找到对应的源码。对于EOS的软件架构概况会在程序篇结合例子进行介绍。

    等后续篇章和子文章丰富起来,和加深对EOS理解后,可以就个别主题打包文章集合,进一步贯穿分析讨论。

    值得一提的是,写这个系列顺序是按照我的兴趣和关注点优先,如果有希望提高优先级的欢迎在评论区留言。另外,文中认识理解有误或争议的地方,恳请读者多指正,谢谢。

    相关文章

      网友评论

          本文标题:EOS源码学习系列

          本文链接:https://www.haomeiwen.com/subject/czwwfftx.html