美文网首页
比特币源码研读和尝试用swift copy 比特币源码(1)

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

作者: 孤随风 | 来源:发表于2017-10-14 20:31 被阅读0次

    比特币源码: 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)

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