0.引子

关心链圈或者币圈的朋友,或许听过北大岳昕事件或者最近的疫苗事件。

北大岳昕事件:

https://etherscan.io/tx/0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2

疫苗事件:

https://etherscan.io/tx/0xb1ed364e4333aae1da4a901d5231244ba6a35f9421d4607f7cb90d60bf45578a

各大媒体和社交网络都被封口,但区块链的世界里没有404。

那么问题来了,我们应该如何将信息发布到区块链上呢?如果做到已经发布,就不可篡改。一经发布就永久流传呢?方法很简单。深研未来今天将手把手教大家内容上链的具体操作方法和流程。以后再出现公共事件时,希望大家第一时间将内容保存,并上链。这个世界的公平公正,需要我们每个人共同努力!

1.原理

其实原理很简单:

  • 在以太坊上,任何一笔交易都会记录在区块里面,而每一笔交易都有一个独一无二的交易id。
  • 我们可以在区块链上通过交易 id 查看历史上的任何一笔交易。
  • 每个交易都可以设置一个可选的 transaction data 字段,用来描述交易说明。
  • transaction data 这个字段是不会占用 gas 的,既它不会产生任何费用。

我们就是通过以太坊上的这个 “漏洞“ ,自己给自己转账 0 eth,生成一笔最低成本的交易,将我们要发布的内容填入交易说明,来实现内容上链的。

2.MetaMask

首先,你得有一个以太币的钱包,Mist 或者 MetaMask 都可以。在这篇文章里,我们默认使用MetaMask,安装方法如下:

2.1 Metamask安装

这是一款运行在谷歌浏览器Chrome上的插件,所以首先你必须要安装google chrome浏览器。或者使用其他浏览器的极速模式也可以(如360浏览器)。浏览器安装好之后,接下来要进行metamask插件的安装。

这款插件的官方地址为https://metamask.io/,我们用Chrome打开这个链接,进入后按照下面两个图的顺序进行安装即可。

如何将自定义数据写入以太坊区块链-深研未来

因为众所周知的原因,安装过程需要科学上网。科学上网详情请见:【点我科学上网】

2.2 Metamask使用

1. 安装完成后,当你第一次点开这个小狐狸图标,会出现这样的提示。

如何将自定义数据写入以太坊区块链-深研未来

2. 这里提示用户,当登录到MetaMask之后,你的账户对你访问的所有网站都是可见的,为了你的隐私,在使用完MetaMask之后最好退出登录。同时也提示读者,默认情况下MetaMask会登录到一个测试网络,要使用真实的以太网络,需要用户手动连接到以太坊的主网络,这里后面会给大家演示。

如何将自定义数据写入以太坊区块链-深研未来

3. 点选 Main Ethereum Network 之后,阅读完使用说明,往下拉到最下面,连续点击Accept,便可以设定密码。

如何将自定义数据写入以太坊区块链-深研未来

4. 当成功设定密码之后,你会获得 12 个英文字(这组英文成为助记词),请一定一定要把这 12 个英文字记录在安全的地方 ,因为在区块链上,如果忘记了密码的话,你的只能通过输入这组英文字来恢复帐号。

如何将自定义数据写入以太坊区块链-深研未来

5. 确定这 12 个英文字都记录好之后,你便可以看到在区块链上属于自己的地址了。

6. 下面是关于钱包页面各个按钮功能的一些介绍和翻译,直接从图中就可以了解了。

如何将自定义数据写入以太坊区块链-深研未来
如何将自定义数据写入以太坊区块链-深研未来
如何将自定义数据写入以太坊区块链-深研未来
如何将自定义数据写入以太坊区块链-深研未来

以上是关于metamask的安装及简单的使用和介绍,接下来,要讲一下关于账户的管理,以及如何快速的进行转账等操作。

2.3 使用Metamask操作

Metamask的优势在于快速的账户创建,和地址之间的互相转账。

如下图,我们点击右上角那个小人儿,点击Create Account,差不多可以在一秒之内完成一个钱包的创建,直接点击进去便可以对该钱包进行操作和管理,其页面都是一样的。

如何将自定义数据写入以太坊区块链-深研未来

之后如果要将ETH转账给其他几个钱包,此时我们点击SEND。

在之后出现的页面中,我们输入转账对象的地址,和转账数量。(我们把鼠标移动到转账地址的框框里,会发现右侧出现了一个小三角,用鼠标点击它,会直接出现metamask内自己的其他地址的选项(Account1,Account2,……),直接选择即可,无需复制地址。)

如何将自定义数据写入以太坊区块链-深研未来

之后会进入转账具体信息的界面,可以设置gas limit以及gas price。点击ACCEPT就将转账发送出去了。如果顺利的话,过一会儿就能在ETH区块链浏览器中看到你的转账交易了。

如何将自定义数据写入以太坊区块链-深研未来

Metamask优势

如果你是手动操作,在进行大量地址转账操作的时候,会发现有了这个功能会省去大量的时间,尤其是配合metamask快速创建钱包的特性。

3.购买ETH

知道Metamask怎么操作后,接下来你需要往你的Metamask钱包里转入一定数量的以太坊,这个数量不用太多,内容上链,一条内容的成本也就几块钱而已(主要用于支付gas费),你通过用类似OTCBTC的软件去场外市场用法币购买eth,然后提币到metamask自己的地址。如果你自己的其他钱包(如imToken)里有eth,那么直接转账到metamask自己的地址即可。不会购买eth的童鞋,可以在深研未来官网的投资交易栏目中去搜寻如何购买。

 

4.内容上链

4.1 复制地址

复制你自己的地址,用于自己给自己转账。

如何将自定义数据写入以太坊区块链-深研未来

4.2 准备内容

然后,准备你需要上链的内容。内容必须是十六进制的 Hex 字符。有很多种方法可以从UTF-8字符得到Hex字符。比如使用Python:

如何将自定义数据写入以太坊区块链-深研未来

content = “区块链的世界里没有404,深研未来将和您一同维护这个世界的公平、公正!”

content=

'\xe5\x8c\xba\xe5\x9d\x97\xe9\x93\xbe\xe7\x9a\x84\xe4\xb8\x96\xe7\x95\x8c\xe9\x87\x8c\xe6\xb2\xa1\xe6\x9c\x89404\xef\xbc\x8c\xe6\xb7\xb1\xe7\xa0\x94\xe6\x9c\xaa\xe6\x9d\xa5\xe5\xb0\x86\xe5\x92\x8c\xe6\x82\xa8\xe4\xb8\x80\xe5\x90\x8c\xe7\xbb\xb4\xe6\x8a\xa4\xe8\xbf\x99\xe4\xb8\xaa\xe4\xb8\x96\xe7\x95\x8c\xe7\x9a\x84\xe5\x85\xac\xe5\xb9\xb3\xe3\x80\x81\xe5\x85\xac\xe6\xad\xa3\xef\xbc\x81'

然后批量去除掉\x。

或者通过在线工具(本文推荐使用此方法):https://onlinehextools.com/convert-utf8-to-hex

调节转换参数(三个勾都去掉),将UTF-8字符转换成Hex字符:

如何将自定义数据写入以太坊区块链-深研未来

得到:

e58cbae59d97e993bee79a84e4b896e7958ce9878ce6b2a1e69c89404efbc8ce6b7b1e7a094e69caae69da5e5b086e5928ce682a8e4b880e5908ce7bbb4e68aa4e8bf99e4b8aae4b896e7958ce79a84e585ace5b9b3e38081e585ace6ada3efbc81

然后使用Word等文字编辑工具,将Hex字符批量变大写(深研未来亲测过,不经过此步骤,直接把小写的Hex字符写入到以太坊区块链中,显示View as UTF-8时会出现乱码)

如何将自定义数据写入以太坊区块链-深研未来

得到:

E58CBAE59D97E993BEE79A84E4B896E7958CE9878CE6B2A1E69C89343034EFBC8CE6B7B1E7A094E69CAAE69DA5E5B086E5928CE682A8E4B880E5908CE7BBB4E68AA4E8BF99E4B8AAE4B896E7958CE79A84E585ACE5B9B3E38081E585ACE6ADA3EFBC81

并在最开头加上 0x

0xE58CBAE59D97E993BEE79A84E4B896E7958CE9878CE6B2A1E69C89343034EFBC8CE6B7B1E7A094E69CAAE69DA5E5B086E5928CE682A8E4B880E5908CE7BBB4E68AA4E8BF99E4B8AAE4B896E7958CE79A84E585ACE5B9B3E38081E585ACE6ADA3EFBC81

将其保存好。

4.3 发起交易

点击 SEND ,发起一笔交易。

在交易信息里面填好收款方地址是自己,数量为0个ETH,内容是我们上面编辑好的 0x 字串。

如何将自定义数据写入以太坊区块链-深研未来

调整一下交易的手续费,Gas的price越高,则在区块中确认的越快。一般来说,你可以查看当前的平均交易的 gasPrice 来确定你自己的交易的 gasPrice。查看地址

如何将自定义数据写入以太坊区块链-深研未来

点击SUBMIT发送交易。然后,耐心的等待。一般,以太坊的出块时间是15秒,如果 gasPrice 设置的比较低,就会出现漫长等待的情况。

【说明】Gas Limit 默认为21000,但是DATA区有数据的话,需要增加上限的。针对非零数据,深研未来这里input的文本:区块链的世界里没有404,深研未来将和您一同维护这个世界的公平、公正!

如何将自定义数据写入以太坊区块链-深研未来

一共有67个字节,有一个公式如下:
67*68+21000 =34396
计算可得Gas Limit的最小数据,深研未来这里实际设置为34400 。
Gas Price设置为60,目前测试下来交易还是比较快的。
如果设置的Gas Limit偏小,会导致失败。

最终,当交易完成后,你就可以在区块链上查看你的交易了。记住你的交易号,比如深研未来发起的这笔交易哈希地址为:TxHash: 0xcd03dc7fbe01b999f05645e3ccdc04e0047195adb1235a3ae871990ba7838384

如何将自定义数据写入以太坊区块链-深研未来

在区块链浏览器上(https://etherscan.io/),可以看到该交易、交易的花费($0.78),以及最重要的交易的 input data。至此,最简单的内容上链就完成了。

区块链的世界里没有404,希望这个世界的未来可以更美好。