比特币源码研读之一

比特币源码研读之一
——区块链研习社 《比特币源码研读班》

一看文件夹结构 和 github编译依赖,分析的依赖库

src
    compat       //工作台代码  base58等
    config
    consensus  //交易相关  merkle树
    crypto        //加解密(aes sha)
    leveldb      //文件数据库  leveldb
    obj
    obj-test
    policy           //背书
    primitives  //区块和交易的数据结构
    qt                 //ui框架 qt
    rpc               //rpc  远程进程调用
    script           //交易脚本
    secp256k1 //椭圆曲线
    support
    test              //测试代码
    univalue
    wallet         //钱包相关
    zmq           //消息队列库  zmq
Library Purpose Description
libssl Crypto Random Number Generation, Elliptic Curve Cryptography
libboost Utility Library for threading, data structures, etc
libevent Networking OS independent asynchronous networking
miniupnpc UPnP Support Firewall-jumping support
libdb4.8 Berkeley DB Wallet storage (only needed when wallet enabled)
qt GUI GUI toolkit (only needed when GUI enabled)
protobuf Payments in GUI Data interchange format used for payment protocol (only needed when GUI enabled)
libqrencode QR codes in GUI Optional for generating QR codes (only needed when GUI enabled)
univalue Utility JSON parsing and encoding (bundled version will be used unless --with-system-univalue passed to configure)
libzmq3 ZMQ notification Optional, allows generating ZMQ notifications (requires ZMQ version >= 4.x)

二 看main.cpp文件 (src/bitcoind.cpp)

int main(int argc, char* argv[])
{
    SetupEnvironment(); //设置运行环境变量

    // Connect bitcoind signal handlers
    noui_connect();  //连接信号和槽

   //根据输入的argc argv 参数初始化程序
    return (AppInit(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE);
}

三 附main函数的结构图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本人15年毕业后一直从事Java电商平台的开发工作,2017年4月开始接触区块链技术,随后慢慢自学了《精通比特币》...
    自如致知阅读 1,183评论 1 3
  • 本文将继续参数处理其他部分源码的研读。 本文主要涉及的源码文件包括: src/bitcond.cpp、src/ut...
    菜菜子_forest阅读 3,088评论 3 7
  • 比特币源码研读系列已完成十二篇了,在前面的十二篇中我们大部分时间是在对传入的参数、定义的全局变量以及代码结构进行了...
    菜菜子_forest阅读 2,212评论 7 4
  • 今天是周一,是一周之中最繁忙的一天,办公桌上TO DO LIST 小本记录了10条今天要做的事情。吃过早餐的我提前...
    王美淇阅读 623评论 0 0
  • 人,一种奇怪的生物。心中总需要陪伴。
    黑白者阅读 126评论 0 0