Transactions
測試網事務 b6714e05dd014cc92de09271886e62d85e7d41dd44fad417c520eb51d57f94c0 是如何驗證的?
測試網交易
c474c67cabc13f74c65e7cf503db971d5ba176794bff7de36f46d51ca675cf3a
用一個簡單的數學腳本鎖定了 0.0005BTC:OP_2DUP OP_ADD 5102 OP_EQUALVERIFY OP_SUB 230d OP_EQUAL
事務
b6714e05dd014cc92de09271886e62d85e7d41dd44fad417c520eb51d57f94c0
使用 sigscript 花費了該輸出:ba07 6985
我看不到如何
(ba07 + 6985) == 5102
或(ba07 - 6985) == 230d
。關於比特幣腳本、整數和數學,我缺少什麼?
對於數學運算,比特幣將字節向量視為有符號(有符號大小)小端值。那麼讓我們看看這些數字是多少:
- 字節向量
ba07
是十六進制數 (0)7ba。- 字節向量
6985
採用8569
大端序。由於設置了最高位,因此該數字為負數。所以十六進制數是-(0)569。- 字節向量
5102
是十六進制數 (0)251。- 字節向量
0d23
是十六進制數 (0)23d。因此,我們最終得到了這兩個陳述
7ba+(-569)=251
,7ba-(-569)=d23
它們是正確的。