Bitcoind

在特定區塊高度創建可花費的交易

  • April 12, 2019

我是比特幣的新手,我嘗試在 Bitcoind 中創建一個地址並發送一筆交易,該金額將可用於區塊鏈的特定高度。

這是我所做的:

privateKey = 'cS5bZo8D1PBXwLbpGwYpb3CPvev5FYA7zPpftXAc6vzvbXt3aAa4'

absolute_time = 150

addr = getAddressFromPriv(privateKey) #customFunction

seq = Sequence(TYPE_ABSOLUTE_TIMELOCK, absolute_time)

script = Script([seq.for_script(), 
                       'OP_CHECKLOCKTIMEVERIFY', 
                       'OP_DROP', 
                       'OP_DUP', 
                       'OP_HASH160', 
                       p2pkh_addr.to_hash160(), 
                       'OP_EQUALVERIFY', 
                       'OP_CHECKSIG'])

addr2 = convertScriptToAddress(script) 

然後在 bitcoin-cli 我使用那個 addr2bitcoin-cli sendtoaddress <addr2> 10

但是,當我檢查交易時,它說它可以在目前塊高度上花費。任何想法?

您必須absolute time/blockheight在腳本中添加之前的 OP_CHECKLOCKTIMEVERIFY 來描述您想要鎖定事務多長時間。您還使用 150 作為 CLTV 參數。任何低於 500M 的東西都被稱為塊高度。假設您使用的是 150,這意味著交易在 150 個塊之前不可花費,這應該意味著它可以立即花費。

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