您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何將任意數據保存到以太坊區塊鏈,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
如何將任意數據,比如圖像或文本寫入以太坊區塊鏈呢?下面將講解如何使用web3.js實現這一功能并給出相應的實現代碼。實現任意數據上鏈的核心是web3.eth.sendTransaction()方法的使用,我們將借助一個轉賬交易來完成任意數據上鏈的任務。在要發送的交易對象中,使用data
字段就可以傳入任意的16進制字符串。
我們可以使用web3.toHex()方法將一個字符串轉換為16進制字符串:
let data = web3.toHex('你可以將任意數據寫入以太坊區塊鏈')
得到的data值為:0x4f6053ef4ee55c064efb610f6570636e519951654ee5592a574a533a575794fe
。
當然不一定需要使用web3.toHex()
方法,可以使用任何能夠得到16進制串的方法,例如在NodeJS中使用Buffer
:
let data = '0x' + Buffer.from('使用Buffer更好處理圖像數據').toString('hex')
得到的data值為:0xe4bdbfe794a8427566666572e69bb4e5a5bde5a484e79086e59bbee5838fe695b0e68dae
。
接下來然后設置要發送的交易對象,我們需要借助一個轉賬交易來實現數據上鏈,因此設置的主要字段是轉出賬戶from,轉入賬戶to,轉賬金額value,當然,少不了data,我們就是為了它才要搞一個交易:
let txo = { from: web3.eth.accounts[0], to: web3.eth.accounts[1], value:'0x00', data: data }
如果你只有一個賬戶,也可以自己轉給自己:)
最后調用web3.eth.sendTransaction()
方法即可:
web3.eth.sendTransaction(txo, (error, hash) => console.log(hash));
當交易成功后,你可以使用etherscan.io來查看交易信息中的input data
。
關于如何將任意數據保存到以太坊區塊鏈就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。