首页
学习
活动
专区
工具
TVP
发布

如果你也想在以太坊上写点什么

如果你关注前几日的热点新闻,可能会听说以太坊有了一个重要的落地实践:记录不允许讨论的内容。

1

区块链 与

热点新闻

区块链这种匿名+不可篡改的特性的确也非常适合这样的场景,一开始这样的特性仅仅用于记录货币交易。比如比特币尽管拥有记录文字的能力,当时的构想也只是为了交易本身的备注信息。

但是随着区块链的发展,智能合约出现了。人们渐渐也想把区块链应用于各行各业,区块链上记录的东西就不仅仅表示某个交易的备注,而是被赋予更实际的业务场景含义。

比如,在这次的热点新闻里,区块链就像是个匿名论坛,这个论坛上记录的文字无法得知是谁记录的,也不能被轻易销毁。这样的技术让一些能力不足的恶人慌了神,删帖不再像在知乎和微博那样容易。

毕竟这是一篇正经的技术文章,那么简单聊聊以太坊区块链上信息记录的几种方式。

2

记录在交易里

本次的热点新闻中,信息是被记录在了交易中,像这样:

图中的信息就是一个以太坊交易所包含的信息,其中最后一项输入信息(Input Data)就是每次交易的时候我们可以自定义的信息。当这个交易被打包进区块进入区块链后,交易里的这个信息自然永久存储在了区块链上。

这个具有历史纪念意义的交易哈希值是:0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2,你可以在以太坊平台上查询到这个交易。

如果你不会查,那就点击这个URL吧:https://etherscan.io/tx/0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2。这个交易的信息是以Unicode-8编码的,如果你想查看原始信息,可以点击一下信息下方的,就能看到原始信息:

担心被删帖所以贴个小小的

事实上,当你用一些以太坊钱包的时候,并没有提供给你写入信息的接口,毕竟信息过多只会增加矿机的负担,你就需要支付更多的Gas费。Gas费你可以理解为手续费,就如同你做饭使用燃气需要交燃气费一样,矿工们为你工作存储信息自然也要获得相应的报酬。

在上面的交易中,交易的发起人和接收人是同一个,发送金额是0。如果你想在区块链写入信息,也可以这么做:自己发送给自己0个以太币。这样只需要支付少量Gas费即可写入信息到区块链上。

由于很多人不太具备开发能力,所以最近也出现很多提供这种服务的小工具。但是使用这些小工具的时候千万要谨慎,我查阅了其中一些工具,他们发起的交易是你向他们支付xx金额的以太币。这里推荐一位大佬前辈开发的小工具:

http://dapdap.io/#/onChain ,这个工具可以无需使用账户就能够在区块链上写入信息,像这样:

毕竟每次写入信息是需要支付Gas费的,所以这个交易是在以太坊公开的测试链ropsten链上进行的,让我们愉快地把前辈账户上的钱花光吧!

3

记录在合约里

以太坊的账户实际上是分为两种:普通账户合约账户普通账户就是上述提到的这些账户,跟比特币账户的性质是一样的。合约账户存储的其实就是一段代码,我们可以用自己的账户和合约账户发起交易,进而调用其某个接口,从而实现特定功能。

前面我们提到的ERC20代币就是使用合约账户发行的。合约账户本身可以公开代码(也可以不公开),对于公开的代码我们就能审查其合约是否真实,而非欺诈。

这个就是EOS的合约账户:

合约本身有一部分接口可以被指定为只读的,这些接口不会改变合约的状态,仅读取合约本身的数据。这样的好处是调用这些接口无需对合约账户发起交易,因此无需支付Gas费就能查询。

利用智能合约的特点,我们可以很轻松搭建一个匿名论坛合约。在存储信息的时候只需支付少量Gas费,在读取信息的时候是免费的。相比于把信息存储在交易中,这样的方式可以拥有更加强大的功能。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180426G1RTZ100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券