位元幣交易簽名(真)

2021-08-21 10:36:21 字數 1131 閱讀 9123

本文介紹位元幣的交易簽名和utxo

位元幣和以太坊最大的區別是位元幣發起交易是基於utxo(unspent transaction output)

說utxo大家可能聽不懂,但是我們來親自籤一筆交易就會明白了

首先需要依賴包

const bitcoin = require('bitcoinjs-lib');
要簽名首先我們需要獲得乙個賬戶的utxo,也就是至少一筆的未被花費的交易支票,我們可以使用介面來獲得這樣的支票

你的位址

]

}

這裡是乙個utxo,裡面有890000的satoshi,記載著tx_hash(交易hash值)和value(交易包含的位元幣)

簽名首先需要知道的是每一筆支票被交易時都會花完支票中的所有的位元幣,意思是說除了這筆支票的轉出金額,剩下的位元幣都將被當做礦工費,所以我們需要在交易中寫好找零位址,也就是轉出位址應當包括轉出目標位址和自己的乙個位址作為找零位址

簽名**可以參考官網示例

set = bitcoin.ecpair.fromwif(privatekey);//匯入私鑰用於簽名

txb = new bitcoin.transactionbuilder();//初始化交易物件

amount+=1e4;//消費金額是轉出金額加上10000的礦工費

txb.setversion(1);//設定交易版本號

var tot=0;//用於記錄utxo總量

for(var i=0;i最終可以得到,需要注意的是填入utxo作為input時應該填入的是tx_hash_big_endian引數,而不是大家以為的tx_hash(這絕對是個坑)

像這樣的序列

你可以通過這個**驗證交易序列是否正確,還可以通過介面來傳送交易,傳送成功後會返回

當這樣的一筆交易被發出之後,將會為找零位址和轉出位址產生新的utxo,從這裡我們可以看出,從位元幣的第一筆utxo開始,伴隨著不斷地交易,會分成多個utxo,而交易則改變了它們的所有權。

位元幣交易

位元幣交易是位元幣系統中最重要的部分。位元幣交易的本質是一種特殊設計的資料結構。而區塊鏈是記錄位元幣交易的總賬簿,每個位元幣交易都被記錄在區塊鏈上。這種資料結構的生命週期包括 被建立 被簽名加密 被廣播 被驗證 被新增到新建立的區塊。位元幣交易這種資料結構包含6個字段 版本 輸入數量 輸入 輸出數量...

位元幣UTXO交易模型

因為位元幣網路有個天然的問題 分叉問題,總是可能出現多個位元幣礦工挖出合法區塊,然後在鏈上產生分叉。在這個時候位元幣有一條規則 多條分叉鏈出現時,最長鏈 積累工作量最多的鏈 是有效的。如果你挖出一條比現有的誠實鏈更長的攻擊鏈,那大家就會承認你的攻擊鏈是有效的,誠實鏈會被作廢。這個時候就會產生雙花問題...

位元幣今日行情如何?怎麼進行位元幣交易?

自上週 迎來單邊拉公升後,細心的朋程式設計客棧友可以發現這一輪拉公升伴隨的量能釋放並不及預期,這和近期defi死灰復燃 專案更新迭代脫不了關係,市場大部分穩定資產都去參與流動性挖礦,導致市場流動性資金縮水。每一次大餅的拉公升給人的第一感覺就是後續量能不足,這也是提醒各位朋友現貨布局不必要太過著急的原...