Raw-Transaction

您如何為新的原始 tx 創建腳本?

  • August 15, 2017

有人可以詳細說明如何做到這一點,這與真實的關聯交易相關,以便 n00b 可以理解嗎?它只是從原始 tx 中複製並粘貼前一個 tx 的特定可辨識部分還是更精細?

好吧,事實證明我的研究已經讓我回答了我自己的問題,主要是從這裡開始,儘管它確實缺乏一些解釋或沒有解釋,我認為,盡可能清楚。所以這是我的閱讀/解釋/翻譯。(如果需要,請轉到該頁面以查看我的數據來源)。

注意:在“鎖定”或“啟動”中添加“segwit”後,此過程可能已更改。我不能說那個。

該頁面的報價:

最終的 scriptSig 包含簽名以及源地址的公鑰 (1MMMMSUb1piy2ufrSguNUdFmAcvqrQF8M5)。這證明我可以使用這些比特幣,使交易有效。

第 1 步。 給定交易中的簽名將開始473044 (這些是我所看到的標準)。

第 2 步。 然後您必須附加0120到該數字的末尾才能獲得4730440120

旁注:在舊交易中證明了這一點的變化,並且可能仍然存在,您沒有輸入,而是輸入了不同的數字。我無法解釋和解釋這些實例,只是說“01”將其指定為第一個整數,而“20”指定了 32 位的整數長度(“20”為十六進制,只需將其轉換為整數即可得到 32)。32 位表示有 64 個十六進製字母數字字元(0-9 和或 af)。

**第 3 步。**然後您必須從 ECDSA 簽名中附加“r”的十六進制值(即 2cb265bf10707bf49346c3515dd3d16fc454618c58ec0a0ff448a676c54ff713),結果是: 47304401202cb265bf10707bf49346c3515dd3d16fc454618c58ec0a0ff448a676c54ff713

第 4 步。然後將“0220”附加到上一個程式碼的末尾,結果是 47304401202cb265bf10707bf49346c3515dd3d16fc454618c58ec0a0ff448a676c54ff7130220

邊注:僅添加可能存在或已經存在於整個區塊鏈的先前交易中的“0220”也有例外。我可以用來解釋它們的唯一工具是“02”是指“第二個整數”,“20”表示 32 位的整數長度(“20”是十六進制,只需將其轉換為整數得到 32)。32 位表示有 64 個十六進製字母數字字元(0-9 和或 af)。這就像“0120”一樣。因此,如果有第三個整數,我認為它前面會帶有“03”,並且如果該整數長於或短於 32 位(或 64 個十六進製字母數字字元),則“20”應更改為十六進制值的一半十六進製字母數字字元的數量。數一數,除以二,

**第 5 步。**然後您必須附加 ECDSA 簽名中的“s”值(我不會在這篇文章中涉及),這會6c6624d762a1fcef4618284ead8f08678ac05b13c84235f1654e6ad168223e82 導致: 47304401202cb265bf10707bf49346c3515dd3d16fc454618c58ec0a0ff448a676c54ff71302206c6624d762a1fcef4618284ead8f08678ac05b13c84235f1654e6ad168223e82

**第 6 步。**接下來您附加一個“01”,即“SIGHASH_ALL”。我不知道它的真正含義或完全代表什麼。

**步驟 7.**附加“41”,即“Pushdata41”。我不知道真正的意思或完全代表什麼。

**第 8 步。**附加“04”以引用您要代表此交易來自的公鑰的公鑰類型。

注意:“04”是指特定的未壓縮“公鑰”。比特幣此時通常使用“02”。

**步驟 9.**附加 X 值,後跟公鑰的 Y 值,在這種情況下,值是: 14e301b2328f17442c0b8310d787bf3d8a404cfbd0704f135b6ad4b2d3ee751310f981926e53a6e8c39bd7d3fefd576c543cce493cbac06388f2651d1aacbfcd

注意:如果您使用的是壓縮公鑰,則只會顯示第一個。

結果: 47304401202cb265bf10707bf49346c3515dd3d16fc454618c58ec0a0ff448a676c54ff71302206c6624d762a1fcef4618284ead8f08678ac05b13c84235f1654e6ad168223e8201410414e301b2328f17442c0b8310d787bf3d8a404cfbd0704f135b6ad4b2d3ee751310f981926e53a6e8c39bd7d3fefd576c543cce493cbac06388f2651d1aacbfcd

我沒有進入SR創作,因為我覺得它們應該在一個單獨的文章中完成以保持事情井井有條。

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