以太坊·将数据写入到区块链中

简介:

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
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
5月前
|
SQL 存储 API
2023 SUI 区块链数据索引指南
在快节奏的区块链技术世界中,数据管理可能看起来令人生畏。合理利用工具是一个捷径,能够帮助你轻松地浏览链上生成的海量数据,甚至把它变成一个看板!
88 0
2023 SUI 区块链数据索引指南
|
11月前
|
搜索推荐 区块链 数据库
区块链能挑战“FANG”科技巨头控制我们的数据吗?
区块链能挑战“FANG”科技巨头控制我们的数据吗?
|
前端开发 算法 Go
新版以太坊Ethereum库ethersV5.0配合后端Golang1.18实时链接区块链钱包(Metamask/Okc)以及验签操作
区块链去中心化思想无处不在,比如最近使用个体抗原自检替代大规模的中心化核酸检测,就是去中心化思想的落地实践,避免了大规模聚集导致的交叉感染,提高了检测效率,本次我们使用Ethereum最新的ethersV5.0以上版本链接去中心化区块链钱包,并且通过后端Golang1.18服务进行验签。
新版以太坊Ethereum库ethersV5.0配合后端Golang1.18实时链接区块链钱包(Metamask/Okc)以及验签操作
|
存储 供应链 算法
区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
|
前端开发 算法 数据挖掘
俄罗斯央行:急需数字卢布,不会推迟 CBDC 测试;腾讯发布多个 Web3 岗位招聘信息;V 神:自己对以太坊的影响力不断下降 | 区块链周报
区块链周报栏目从产业动态、技术进展和政策监管等方面,为您总结了本周区块链领域发生的头条事件,让您更快速了解行业最新动态。
105 0
|
安全 数据可视化 数据挖掘
当大数据遇上区块链,欧科云链重塑Web3.0万亿数据价值
如果将石油视为工业时代的能源,那么数据就是数字经济时代的新能源。2017年,《经济学人》就曾发文称“世界上最有价值的资源不再是石油,而是数据”。
179 0
|
SQL 存储 数据挖掘
区块链数据探索:Bitcoin公链数据ETL
Bitcoin 公链可以理解为是一个公共的数据库,里面存储的是Bitcoin发布至今的所有转账记录,并且任何人只要接入到其网络中都可以获取,并不需要任何交易、挖矿、持币等相关操作。 本文主要主题的是将原始的Bitcoin公链数据进行清洗规整,写入到阿里云SLS,然后做一些有趣的数据处理,比如实现简洁的区块链浏览器、数据分析、交易链路追踪等。
851 0
区块链数据探索:Bitcoin公链数据ETL
|
Rust JavaScript 前端开发
区块链开发(八)以太坊不同语言客户端地址
区块链开发(八)以太坊不同语言客户端地址
105 0
|
区块链
区块链开发(三)以太坊客户端命令行选项汇总
区块链开发(三)以太坊客户端命令行选项汇总
226 0
|
JSON Ubuntu 区块链
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
459 0
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境

热门文章

最新文章