自從位元幣火起來以後,網上對位元幣的解釋可謂汗牛充棟,紛繁複雜。但對於程式設計師來說,最直接的方式莫過於直接看程式**了。嫌位元幣**龐雜沒關係,我找到一段簡明扼要的**,用來理解位元幣再好不過了。
以下這段程式**知乎上wu hao的回答。
function mine()
}}function sendbtc(amount)
下面是我的解釋:
挖礦過程就是不斷從位元幣網路中獲取所有未確認交易getunconfirmedtransactionsfromnetwork()
,把它們打包成乙個區塊並掛載目前最長的區塊鏈上getnewblock(longestchain, currenttxs, nonce)
,然後計算新的區塊的雜湊值sha256(newblock)
,如果雜湊值正好滿足挖礦難度了meetreqirements(blockhash)
,那麼就挖礦成功了。所謂挖礦難度,指的是要求的二進位制雜湊值末尾0的個數,而雜湊值是碰運氣生成的,除了窮舉沒有別的辦法,要求的0個數越多挖礦的難度就越大。
付款過程就是把一些有餘額的已確認交易拿出來作為傳送位址pickconfirmedtransactionstobespent(amount)
,然後根據目標位址支付一定交易費生成新的交易generatetx(sourcetxs, targetaddrs, amount, fee)
,並用錢包私鑰對交易簽名sign(tx, privatekeysofallinputaddress)
,然後廣播出去。
一段小程式 3
做個題目練練手,不然c語言都忘記了。設計一程式實現功能,處理字串a,處理規則是 只要b字串裡面有的字母,不分大小寫,一律從a字串中刪掉。1 請畫出此演算法的流程圖 2 請用c語言編寫對應的 include stdio.h include stdlib.h include string.h defin...
一段PHP驗證碼生成程式
函式列表 imagercreatefromtruecolor bool imagecolorallocate imageresource,代表rgb三原色,用十六進製制或十進位制表示 boolimagefilledrectangle resource image,int x1,int y1,int ...
一段有點容易看錯的C 程式
今天看到一段程式,乍一看以為寫錯了。寫了個原型程式,又想了想了,發現原來是對的。看下面的原型程式 include using namespace std class a class b public a void b f int main 這段 可以通過編譯並執行成功嗎?答案是可以的。f 雖然是b中...