Bitcoind

我如何知道 bitcoind 何時找到了一個區塊?

  • March 31, 2016

我在測試網上使用傳統bitcoind -gen的方法來探勘一些測試比特幣。我在一台機器上做了幾個小時,當我找到一個水龍頭時就停下來了。後來,我神奇地在我的錢包裡得到了 50 個硬幣。我認為是因為區塊的確認時間很長?

無論如何,我怎麼知道 bitcoind 何時成功探勘了一個區塊(現在只是等待確認)

如果您查看debug.log,您應該會看到一條消息,上面寫著“找到工作證明”。

debug.log這是我發現的一個測試網塊的摘錄。(它立即成為孤兒;事實上,早在幾分鐘前就發現了一個更早的塊,但還沒有到達我那裡。所以你不會在區塊鏈中找到它。)

BitcoinMiner:
proof-of-work found  
 hash: 00000000609b21ea1d67f7220d12f7e6f06542907fa24511fa416b286e11cb54  
target: 00000000ffff0000000000000000000000000000000000000000000000000000
CBlock(hash=00000000609b21ea1d67f7220d12f7e6f06542907fa24511fa416b286e11cb54, ver=2, hashPrevBlock=00000000b96e8a2e2f27bf209a1059fd10b117cdf5a6373559eb93268853bc04, hashMerkleRoot=f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50, nTime=1383697696, nBits=1d00ffff, nNonce=2576125723, vtx=1)
 CTransaction(hash=f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50, ver=1, vin.size=1, vout.size=1, nLockTime=0)
   CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0330f6010101062f503253482f)
   CTxOut(nValue=50.00000000, scriptPubKey=0226fe62f7b1812c421efd7638907f)
 vMerkleTree: f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50 
generated 50.00
keypool keep 6
AddToWallet f25394d1360a276fa5e3c51b245969d193710d06b5bda12468e11074c8740d50  new
Committing 1 changed transactions to coin database...
SetBestChain: new best=00000000609b21ea1d67f7220d12f7e6f06542907fa24511fa416b286e11cb54  height=128560  log2_work=57.064666  tx=708022  date=2013-11-06 00:28:16 progress=1.000000
ProcessBlock: ACCEPTED

我相信debug.log會定期覆蓋,因此如果您的塊是前一段時間創建的,您的塊中可能不再有此條目。

新生成的硬幣需要 100 次確認才能使用,並且bitcoind顯然要到 120 次才會顯示為可使用。另請參閱此問題。據我所知,這些規則在測試網上是相同的。

恭喜你新發現的假財富!

執行比特幣中所述,您需要使用 -blocknotify 命令行開關或啟用 Bitcoin.conf 文件中的設置。

正如頁面所說,您使用命令行腳本/程序,命令行中的 %s 被新塊的雜湊替換。如果您需要有關該塊的資訊,則可以使用JSON-RPC 命令(例如 get-block)進行查找。

我的 bitcoind 安裝有一個使用 CURL 的命令行腳本,然後我用它向我的網站發布 HTTP 通知。只是一個如何使用它的例子。

引用自:https://bitcoin.stackexchange.com/questions/17985