以太坊如何将自定义数据写入到区块链中
小编给大家分享一下以太坊如何将自定义数据写入到区块链中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
实用例子
5.5.1. 数据写入到区块链中
做一笔交易,并写入数据到区块链中
let Web3 = require("web3"); let fs = require("fs"); let web3 = new Web3("http://localhost:8545"); let log = { time:(new Date).getTime(), type:"info", msg:"Web3 Test!!!" }; let str = JSON.stringify(log); console.log(str); let data = Buffer.from(str).toString('hex'); data = '0x'+data; console.log(data); //将数据写入到交易中 let coinbase = "0x5c18a33df2cc41a1beddc91133b8422e89f041b7" console.log(coinbase) let user1 = "0xc2b9e316f246d35052118e51b55c75bfe99d247e"; web3.eth.personal.unlockAccount(coinbase, "chen1980"); let address = web3.eth.sendTransaction({ from:coinbase, to:user1, value:'0x00', data:data },function(error, hash){ console.log(hash); });
运行上面程序,会产生一个交易,记下hash值,然后启动挖矿。
> miner.start(); null # 过一段时间后停止 > miner.stop(); true
然后查看这比交易
let Web3 = require("web3"); let fs = require("fs"); let web3 = new Web3("http://localhost:8545"); let address ="0xb15681eb4bdb6b9670d305fb341ebbc95d45c2ede0ea5034ef432b74f30b1b4f"; //从交易地址获取数据 web3.eth.getTransaction(address).then(console.log); web3.eth.getTransaction(address,function(error, result){ //console.log(result); inputData = result.input; res_str = Buffer.from(inputData.replace('0x',''),'hex').toString(); res_json = JSON.parse(res_str); console.log(res_json); });
结果输出
{ blockHash: '0x78dacc2af60900d2e4cae90b71e27446e6e883df36c53f21cbc9e071f7a586f4', blockNumber: 1258, from: '0x5c18a33DF2cc41a1bedDC91133b8422e89f041B7', gas: 90000, gasPrice: '18000000000', hash: '0xb15681eb4bdb6b9670d305fb341ebbc95d45c2ede0ea5034ef432b74f30b1b4f', input: '0x7b2274696d65223a313531383933313435323537372c2274797065223a22696e666f222c226d7367223a22576562332054657374212121227d', nonce: 4, to: '0xc2b9e316F246d35052118E51B55C75BfE99d247e', transactionIndex: 0, value: '0', v: '0x41', r: '0x7fcd86c7fd975a0e98bd0e61a99da950b0155cd6c4581fefa4defbdcd404a930', s: '0x16f14ce1fbfadb9d59f343f8ac235cdd73dcedec5db1025ef91206b8bb17a827' } { time: 1518931452577, type: 'info', msg: 'Web3 Test!!!' }
{ time: 1518931452577, type: 'info', msg: 'Web3 Test!!!' } 就是保存在区块链中的数据。
以上是“以太坊如何将自定义数据写入到区块链中”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论