Php

coinbase 交易中的 scriptpubkey 是什麼?(和更多..)

  • February 27, 2021

我即將開採,當我想生成 coinbase 交易時,我達到了一部分。我不會通過放入新的大宗交易並收取費用來使事情複雜化。重要的是挖一個區塊(似乎 coinbase 交易算作整個區塊的 1 筆交易?是嗎?)

看看這個 PHP 函式並檢查評論(如果我在某個地方錯了,請告訴我)

function coinbase_gen($block_height){         //(decimal)$block_height would be the last official block number +1
$ver='01000000';                             // seems that this version won't change anytime soon?
$i_count='01';                              // In that situation it is always 01?
$txid='0000000000000000000000000000000000000000000000000000000000000000';   //always as well
$vout='ffffffff';                          // always?

$coin_nextbytes=dechex(strlen($block_height)/2);

$block_height=SwapEndianess(dechex($block_height)); //reassign the height to VarInt
$sig=$coin_nextbytes.$block_height."f48616f4254432f53756e204368756e2059753a205a6875616e67205975616e2c2077696c6c20796f75206d61727279206d653f2f06fcc9cacc19c5f278560300";
$sig_size=dechex(strlen($sig)/2);

$sequence='ffffffff';                 // Some people put 0000000 in here.. Why?
$o_count='01';
$o_value='40be402500000000';          //6.25 BTC !!!
$pubkeysize='19';
$script_pubkey='76a914bfd3ebb5485b49a6cf1657824623ead693b5a45888ac'; //Please answer..
$locktime='00000000'; // Seems good
return $ver.$i_count.$txid.$vout.$sig_size.$sig.$sequence.$o_count.$o_value.$pubkeysize.$script_pubkey.$locktime;
}
coinbase_gen((int)$last_blockn); // just example how I'll generate it.

正如你所看到的,我在程式碼中有很多問題,但我需要知道那個 $script_pubkey。一些部落格將它作為我的範例發布,但我覺得任何開采的比特幣都會獎勵 $script_pubkey 這是某人錢包公鑰(加密)?或者這對於 coinbase 交易無關緊要,當我使用 bitcoind RPC 送出塊時,它會確保它會進入我的錢包?了解這一點很重要。謝謝。

開采的比特幣“進入”coinbase 交易中的 scriptPubKey(s)。

比特幣在支出交易輸出上運作。送出區塊不會神奇地導致交易輸出出現,您需要專門創建它們。這是通過 coinbase 交易完成的(這確實是它的目的)。coinbase 交易之間的唯一區別是它沒有任何實際輸入。但就像普通交易一樣,coinbase 交易可以根據需要創建任意數量的交易輸出,這些只需要遵循輸出有效性的規則。

因此,要讓礦工獲得報酬,他們需要確保 coinbase 交易具有他們可以花費的交易輸出,並且這些輸出的金額是他們想要支付的金額。這意味著如果你想收取交易費用,你需要將金額設置為還包括該區塊的交易費用,否則比特幣將永遠消失。coinbase 交易中輸出金額的規則是,它們不得大於該區塊的區塊補貼 + 交易費用。

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