在 regtest 模式下確認交易
我正在 regtest 上測試一些錢包功能。這是到目前為止的順序:
cash-cli -regtest generate 101 cash-cli -regtest getbalance 500.00000000 cash-cli -regtest getnewaddress newAddress1 yeAPxkjsNk5RZnAyfHM6cjCtKM7oRUvhzX cash-cli -regtest sendtoaddress getrawtransaction 148b8ced78037cb8fe3b32b8814dbf6736c144448671a86da548bbdb5670750a 1 //... { "value": 2.00000000, "valueSat": 200000000, "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 c3bc1c481a15343ceb27d45d950c8770b7a0be1c OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a914c3bc1c481a15343ceb27d45d950c8770b7a0be1c88ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ "yeAPxkjsNk5RZnAyfHM6cjCtKM7oRUvhzX" ] } }, //... dash-cli -regtest gettxout 148b8ced78037cb8fe3b32b8814dbf6736c144448671a86da548bbdb5670750a 0 false //returns nothing as the transaction is not confirmed. Returns result if we change flag to true
如何在 regtest 模式下將交易設置為已確認,以便
dash-cli -regtest <txid> <outid> false
將交易輸出作為有效輸出返回?
通過將交易包含在一個塊中來確認交易。這意味著你必須探勘一個包含交易的區塊。您可以使用
generate
命令執行此操作。
我正在
bitcoind
與 Bitcore-node 一起執行,我遇到了同樣的問題。我向自己發送了 250 筆交易,但我從 BWC/BWS 獲得的餘額是:{ "totalAmount": 166250000000, "lockedAmount": 0, "totalConfirmedAmount": 0, "lockedConfirmedAmount": 0, "availableAmount": 166250000000, "availableConfirmedAmount": 0, "byAddress": [ { "address": "mvaTRJ63NJrZ3qaZW1AbfVzMsei5HCiupb", "path": "m/0/0", "amount": 166250000000 } ] }
顯然,
bitcoind
將在記憶體中保存一個記憶體,並且需要一些時間(或更多操作)來釋放它,將其內容傳遞給數據庫。當您關閉程序時(例如,使用 CTRL+C 或 CMD+C),您將看到如下消息:
2020-10-22T12:23:57Z FlushStateToDisk: write coins cache to disk (250 coins, 34kB) started 2020-10-22T12:23:57Z FlushStateToDisk: write coins cache to disk (250 coins, 34kB) completed (0.05s)
然後,Bitcore-node 將同步並將所有內容保存在 MongoDb 中。因此,如果您關閉該
bitcoind
過程然後重新啟動,您的交易應該得到確認。這正是我所做的:
bitcoind
以真實測試模式啟動:
bitcoind -printtoconsole -regtest -fallbackfee=0.00001
2. 啟動 Bitcore 節點。我假設您已將其配置為指向您的 regtest 節點。
npm run node
3. 為自己生成 250 筆交易:
bitcoin-cli -regtest generatetoaddress 250 "mvaTRJ63NJrZ3qaZW1AbfVzMsei5HCiupb"
4. 等待 Bitcore 與bitcoind
. 5.bitcoind
使用 CTRL+C(或 CMD+C)關閉。 6. 使用 CTRL+C(或 CMD+C)關閉 Bitcore 節點。 7. 重啟bitcoind
和Bitcore-node。 8. 繁榮。使用 BWC 和 BWS 獲取錢包餘額,我現在收到以下資訊:{ "totalAmount":166250000000, "lockedAmount":0, "totalConfirmedAmount":166250000000, "lockedConfirmedAmount":0, "availableAmount":166250000000, "availableConfirmedAmount":166250000000, "byAddress":[ { "address":"mvaTRJ63NJrZ3qaZW1AbfVzMsei5HCiupb", "path":"m/0/0", "amount":166250000000 } ] }