比特币源码研读和尝试用swift copy 比特币源码(1)

比特币源码: https://github.com/bitcoin/bitcoin

swift的编写环境 没什么好说的 MAC 上装个 xcode 我用的是 xcode9.0


对于一个程序来说肯定是从入口开始

c++程序肯定是 main

这个就是 bitcoin 的 main 函数, 位于 ~/你的比特币源码文件夹/src/bitcoind.cpp 里

很明显的调用了两个函数 返回了一个应该是运行循环函数的东西

第一个是设置运行环境 

第二个注释说得很清楚: 连接bitcoind信号处理程序  

----------------------

那么我们开始 copy:

首先创建一个命令行工程

然后 在工程所在文件夹下 创建 src的实体文件夹,并添加进工程

然后在src下创建swift 文件取名为 bitcoind 

原工程自带的main不要删除, 因为这个文件就是程序的入口, 相当于main函数于c/c++ , 

我们先按c/c++的思路 在bitcoind文件里写上main函数, 当然按swift来说不用取名main,比如我就没用

func projectStart(argc: Int,argv:[Any]) -> Int {

print("开始copy bitcoin")

设置环境()

// 连接bitcoind信号处理程序

noui_connect()

return Int(AppInit(argc: argc, argv: argv) ? EXIT_SUCCESS : EXIT_FAILURE)

}

然后再回到main文件里, 调用下刚写的函数

/// 当前进程的arguments

let arguments = ProcessInfo.processInfo.arguments

_ = projectStart(argc: arguments.count, argv: arguments)

把对应的函数补上就不会报错且可以运行了

设置环境 是在 src/util.swift 里, noui_connect 在 src/noui.swift 里, AppInit 就在 src/bitcoind.swift 里


看设置环境的源码

注释都很清楚,不过这里的设置主要是针对c/c++语言来说的,swift不一定会碰见,我们只能先搁置等碰见的时候再做下补充和适配


区块链研习社比特币源码研读班  孤少

你可能感兴趣的:(比特币源码研读和尝试用swift copy 比特币源码(1))