____  ___    _  _     _   _ _____     _______
 / ___|/ _ \  | || |   | | | |_ _\ \   / / ____|
| |  _| | | | | || |_  | |_| || | \ \ / /|  _|
| |_| | |_| | |__   _| |  _  || |  \ V / | |___
 \____|\___/     |_|   |_| |_|___|  \_/  |_____|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

bitshares 比特股源码阅读笔记(二)

BY: @qixing | CREATED: June 23, 2018, 7:04 a.m. | VOTES: 2 | PAYOUT: $0.00 | [ VOTE ]

比特股底层相关代码均在libraries目录下,libraries目录下有10个模块。
其中fc模块,包含与协议无关的代码。 FC全称是:fast comipling
FC提供的功能主要有:
1、协程支持
2、对boost ASIO提供一个同步封装
3、C++ 反射支持,提供结构体的二进制 、json序列化服务
4、json rpc的原子化操作反射接口,保证数据致性
5、加密、解密算法工具,封装了openssl
6、日志服务
7、封装其他boost服务
8、非官方boost.process 库支持

FC库基本上封装了比特股源码所有用到的系统api,fc库可以算是对C++没有一个大而全的标准库的一个补充,fc作为一个大而全的库,应该也可以在其他程序上使用, 但是文档太少了,差评!

FC库依赖于boost库,曾经bitshares只支持boost 1.60以下的版本就是因为fc库的代码过于陈旧,后来陈旧代码被清理了,现在最新版本(master分支)里的fc库已经支持boost 1.67了。

与比特股协议紧密最相关的应该是chain模块里面的代码。
chain模块里面定义了账户,资产,区块等比特投世界里面的所有对象,所有对象的定义在chain/protocol目录里

TAGS: [ #bistshares ] [ #cn ]

Replies

@introduce.bot | June 24, 2018, 5:14 a.m. | Votes: 0 | [ VOTE ]

✅ @qixing, I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!Thank you in advance!

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>