Graphene 源码阅读 ~ 基础知识

3년 전

最近一直在业余时间看 Graphene 的源码, Graphene 是 bitshares 和 steem 的底层技术, 得益于 LMAX 架构和 DPoS 这一高效的共识机制, 使得基于 Graphene 成为目前最稳定和最高效的区块链底层. 接触区块链技术后, 我对区块链的各种共识协议做了很多浅薄的思考, 最后真的觉得 DPoS 共识才是未来的趋势 :P. 看 Graphene 的源码, 一方面是学习一下 LMAX 架构以及 DPoS 共识机制; 另一方面因为以前没做过分布式开发, 也是学习一下分布式程序的运作机制.

Graphene 的源码现在已经并到 bitshares/bitshares-core 维护了, 本来以为自己残存的 C++ 知识应该直接看没问题, 但 clone 下来代码以后发现高估了自己... 不得不又买了本 C++ Primer 补了一下.. 所以这篇文章就总结一下阅读 Graphene 源码时的一些 prerequisites 吧..

  1. typename 的存在理由及用处, http://pages.cs.wisc.edu/~driscoll/typename.html
  2. .template 的用法以及存在的理由, https://stackoverflow.com/questions/610245/where-and-why-do-i-have-to-put-the-template-and-typename-keywords
  3. lambda 表达式
  4. 函数模板 (C++ primer 10.1 ~ 10.4 节)
  5. 继承, 重载, 虚函数/纯虚函数, 友元
  6. 类模板以及类模板的特化
  7. 智能指针 (shared_ptr, unique_ptr)
  8. 多线程编程与异步编程
  9. boost::multi_index 库, rb tree, b/b+ tree
  10. BM 的 fc 库 (FC_REFLECT 宏)
  11. 最基本的 c/c++ 知识

后续计划分 5 篇左右的文章从各个部分剖析一下 Graphene 的源码实现. 希望自己能坚持写完 :D

欢迎感兴趣的朋友一起分享交流~~

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

感谢分享,期待后续。

我也是买了 C++ Primer ,准备先学习下 C++ 再说看代码的事情😂

·

哈哈, 一起交流交流~

欢迎技术高手加入