c++ - 比特币最近这么热,有人分析过其源码么?
伊谢尔伦
伊谢尔伦 2017-04-17 11:13:12
0
2
831

从github上clone了bitcoin的源码,看src文件里大多是cpp文件,应该是用c++写的,但是没找到main函数,如果我想在windows上编译运行,如何做呢?有人分析过源码么?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all (2)
小葫芦

文章来自知乎:深入浅出比特币 作者:Wu Hao

  • 第负一章 反馈

    • 第一节 风险警示
    • 第二节 删节版
  • 第零章 玩具
  • 第一章 账单

    • 第一节 撕纸游戏
    • 第二节 账单链
    • 第三节 游戏规则
    • 第四节 2100万
  • 第二章 支付

    • 第一节 匿名
    • 第二节 点对点
    • 第三节 重要的细节
  • 第三章 沙发 --总结以及FAQ

    • 第一节 主观臆断
    • 第二节 客观事实
    • 第三节 结语

作者在 2013-11-22 添加了「第负一章 第二节 删节版」,并提供了一段源码:

function mine() { while(true) { longestChain = getLongestValidChain() -- A number that changes every time, so that you don't waste time -- trying to calculate a valid blockHash with the same input. nonce = getNewNonce() currentTXs = getUnconfirmedTransactionsFromNetwork() newBlock = getNewBlock(longestChain, currentTX, nonce) -- http://en.wikipedia.org/wiki/SHA-2 -- and this is what all the "mining machines" are doing. blockHash = sha256(newBlock) if(meetReqirements(blockHash)) { broadcast(newBlock) -- Now the height the block chain is incremented by 1 -- (if the new block is accepted by other peers), -- and all the TXs in the new block are "confirmed" } } } //////////////////////////////////////////////////////////////// function sendBTC(amount) { sourceTXs = pickConfirmedTransactionsToBeSpent(amount) tx = generateTX(sourceTXs, targetAddrs, amount, fee) signedTx = sign(tx, privateKeysOfAllInputAddress) broadcast(signedTx) } ////////////////////////////////////////////////////////////////

现在虽然没有分析,不过静待作者的更新吧。

----2013-12-10 13:16 更新---

非常遗憾,作者的回信是:“没有继续写的打算”。

    小葫芦

    MAIN函数在 bitcoinGUI.cpp 或者bitcoind.cpp 里面。 查看DOC/BUILD-WIN.MD里面有编译方法

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!