以太坊·將資料寫入到區塊鏈中
5.5. 實用例子
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!!!` } 就是儲存在區塊鏈中的資料。
原文釋出時間為:2018-02-19
本文作者:netkiller
本文來源:騰訊雲 雲+社群,如需轉載請聯絡原作者。
相關文章
- 區塊鏈之以太坊初探區塊鏈
- 區塊鏈 2.0 :以太坊(九)區塊鏈
- 以太坊及區塊鏈 程式資源整合區塊鏈
- 使用truffle部署以太坊智慧合約到區塊鏈區塊鏈
- 以太坊創世區塊與鏈配置載入分析
- 區塊鏈2.0架構:以太坊區塊鏈的介紹區塊鏈架構
- 區塊鏈2.0以太坊漫談(1)區塊鏈
- 區塊鏈2.0以太坊漫談(2)區塊鏈
- 區塊鏈2.0以太坊漫談(3)區塊鏈
- 區塊鏈2.0以太坊漫談(4)區塊鏈
- 區塊鏈2.0以太坊環境搭建區塊鏈
- 區塊鏈安全 - 以太坊短地址攻擊區塊鏈
- 區塊鏈——以太坊、智慧合約簡介區塊鏈
- 區塊鏈安全————以太坊短地址攻擊區塊鏈
- 以太坊DApp開發入門教程——區塊鏈投票系統APP區塊鏈
- 如何招聘面試區塊鏈以太坊開發人才面試區塊鏈
- 區塊鏈比較:以太坊 Cosmos Cardano EOS和Hyperledger區塊鏈
- 區塊鏈2.0以太坊智慧合約solidity之helloworld區塊鏈Solid
- 第6章 區塊鏈開發平臺:以太坊區塊鏈
- 以太坊 DApp 開發入門,如何搭建一個區塊鏈投票系統。APP區塊鏈
- 以太坊原始碼分析(21)chain_indexer 區塊鏈索引原始碼AIIndex區塊鏈索引
- 區塊鏈2.0以太坊編輯器atom配置詳解區塊鏈
- AWS推出以太坊和超級賬本區塊鏈模板區塊鏈
- 區塊鏈分散式賬本Fabric、Corda和以太坊比較區塊鏈分散式
- 區塊鏈2.0以太坊配置solidity編譯器sublime詳解區塊鏈Solid編譯
- 區塊鏈之--2小時構建以太坊智慧合約區塊鏈
- 中國移動區塊鏈技術支援數字資產跨鏈以太坊,讓中國文化走出去區塊鏈
- 區塊鏈2.0以太坊錢包編譯詳解+連線私有鏈+修改區塊鏈編譯
- 以太坊原始碼分析(8)區塊分析原始碼
- 加拿大政府機構建立以太坊區塊鏈瀏覽器區塊鏈瀏覽器
- 區塊鏈100講:淺析以太坊網路智慧合約原理區塊鏈
- 以太坊和比特幣區塊鏈的異同(一些QA)比特幣區塊鏈
- 【區塊鏈】實戰·以太坊智慧合約程式設計引導區塊鏈程式設計
- 死磕以太坊原始碼分析之區塊上鍊入庫原始碼
- 第十六課 不用程式設計,如何把長文章記錄到以太坊區塊鏈上?程式設計區塊鏈
- 以太坊之類區塊鏈的擴充套件存在各種限制 - vitalik區塊鏈套件
- java使用spring boot和web3j開發以太坊區塊鏈dappJavaSpring BootWeb區塊鏈APP
- 企業以太坊聯盟計劃在2018年推出區塊鏈標準區塊鏈