美文网首页区块链入门区块链
不用编程,如何把长文章记录到以太坊区块链上?

不用编程,如何把长文章记录到以太坊区块链上?

作者: 笔名辉哥 | 来源:发表于2018-07-22 22:42 被阅读393次

    1,摘要

    【本文目标】
    通过本文学习,以太坊学习者可以把中文长文章记录到区块链上,不会被删除。

    【前置条件】
    1)有数字钱包,里面有不少于0.02的ETH。
    2)本地CHROME浏览器安装有MetaMask钱包插件,没有的参考课程《第一课 如何在WINDOWS环境下搭建以太坊开发环境》完成安装。

    【技术收获】
    1) 区块链的去中心化,不可篡改的特点证实;
    2) 以太坊Gas,Gas Price的理解;

    2, 朋友圈不可忘却的刷屏和404

    2018年7月22日,当安比台风经过上海时,辉哥整个朋友圈却都在刷屏一个主题的文章,然后点击又是“已停止访问该网页”的提示。直到后来,辉哥看到“被永久记录在以太坊高度6007493之上”的文章提示,对发布者肃然起敬。是的,其实区块链从业者可以做些自己的事情,即使如同这台风不被人重视一样!

    3,发布长文章实操

    作为技术工作者,我们回到技术实现上来吧。这个命题就转化为“如何把长文章记录到以太坊区块链上”了。辉哥提供一种可实现的方法,针对不愿意编程,对区块链又有一定了解的人能够记录不想被抹去的重要时刻和内容。
    作为举例,辉哥找了一篇正能量的文章《李克强:疫苗质量安全是不可触碰的“红线”》,给大家演示如何把长文章记录到以太坊区块链上。

    3.1URL编码

    首先把该篇文章COPY到WORD文档上,做些文本大小调整的基本动作。
    然后打开“在线URL编解码工具”,把相关文本复制上去。点击按钮“URL ENCODE编码”,把产生的编码内容保持到本地文件“URL编码2.txt”。

    3.2 ASCII字母和数字转换为16进制

    URL编码存在一个问题,就是对应的英文字符和数字不会变为ASCII形式,还是保持原形态,需要识别出来以16进制方式进行转换。参考附件的WORD文档标识,辉哥把不能URL转换的文字都标识了出来。


    然后在“URL编码2.txt”查找对应的关键字例如http,找到后切换到16进制转换工具,然后复制16进制替换到“URL编码2.txt”的"http"文本。

    需要说明一下的是,针对“4月13日的国务院常务会议上说”的“4”“13”比较好的查找方式是查找其后置字符“月”“日”对应的URL编码“%E6%9C%88”“%E6%97%A5”,然后替换掉对应的“4”“13”为“34”“3133”等16进制码。替换完成后的16进制文件命名为“URL编码-16进制编码2.txt”。

    3.3 删除全文的%

    在“URL编码-16进制编码2.txt”中,用UltraEdit打开在菜单"搜索/替换",把%替换空的方式删除掉。


    把这个文件命名为“URL编码-16进制编码-去除百分2.txt”。

    【重大改进】 有朋友发现了一个新的网站工具,能够把3.1,3.2步骤一步完成,这个就更好用了。有需要者可点击链接跳转

    3.4 交易并记录文章

    3.4.1 导入账号

    打开本地CHROME浏览器之前安装的MetaMask插件,导入有至少有0.02ETH的账号,切换到以太坊主网模式。

    3.4.2 点击交易

    复制“URL编码-16进制编码-去除百分2.txt”,点击"SEND"按钮,在弹出的界面 DATA部分拷贝后,在其头部增加“0x”标识。
    转账数额可以填写很小,例如0.0001个ETH,转账的账号选择自己的地址吧。

    3.4.3 设置GAS Limit和GAS Price

    点击"Next"按钮,设置好Gas Limit参数和Gas Price参数,点击“SUMMIT”按钮即可提交交易。


    【说明】
    Gas Limit 默认为21000,但是DATA区有数据的话,需要增加上限的。针对非零数据,一共有5857个字节,有一个公式如下:
    5857*68+21000 =419276
    计算可得Gas Limit的最小数据,辉哥实际设置为419276 。
    Gas Price设置为20,目前测试下来交易还是比较快的。
    下面一条因为辉哥设置的Gas Limit偏小,导致失败。第二次交易成功,对应链接为https://etherscan.io/tx/0x802a072a303a1bb19a20065a262526f2cfda0d1ea16eeb3db6500d9d06f65963,记录在6010338区块位置,消费辉哥约3.93美元。

    【说明】测试者如果选择以太坊测试网络,例如“Repsten Test Network”,则不会消耗一分钱。

    3.4.4 查看文章内容

    点击交易成功的区块链接,设置"View Input As"为UTF-8,就可以看到这篇文章了。是中文的,不是乱码,也记录了这篇文章的原始出处。


    4,知识普及

    4.1 区块链特征

    区块链其中一个特征是信息不可篡改,一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
    以太坊目前在全球有几万个节点,篡改或者删除的成本极高极高。

    4.2 以太坊交易的Gas和gasPrice的概念

    可理解成汽油, 在以太坊上执行程序以及保存数据都要消耗一定量的以太币,Gas是以太币转换而成。这个机制用来保证效率。

    油费计算
    油费 = gasPrice 油价 × gasLimit 用油限制
    gasCost = gasPrice * gasLimit(used gas)

    注意gasLimit只是一个最大使用值,如果没有使用完全则会退回账户。就像是开车去某个目的地一样,gasPrice就是油价,油箱大小就是gasLimit,油够,到达目的地多余的油会留在油箱里面,也就是转账成功,多余的油费会返回账户。如果少了那就到达不了,意味着转账失败。

    货币单位(Ether Units):Gwei / wei / Eth之间的关系

    gasPrice单位一般用 Gwei表示,三者之间的转换关系为:

    1 eth = 1e9 Gwei = 1e18 wei

    【注意】1e9 代表的是10的9次方

    智能合约也是一样的,当一个发起者部署运行一段智能合约时,以太坊会收取gas费用,就像汽车行驶需要烧油一样,直到你的智能合约运行完毕,“油箱”中剩余的gas会退还给你,如果你的代码死循环了,耗尽了你“油箱”中的gas,那么以太坊会自动报出异常停止你的智能合约。

    需要获取本文举例的阶段性原文件用于测试的,加微信“PE-investor”获取。

    5,后记

    区块链的知识讲完了。辉哥突然注意到引用正能量的这篇文章《李克强:疫苗质量安全是不可触碰的"红线"》的发布时间竟然是2016年4月份啊,我还以为是今天说的呢!
    哎。。。

    相关文章

      网友评论

      • 旭日_af59:一点纯文字,上个链就要几美金,要是还有影音,还不破产,换井通吧,支持ipfs,几分钱搞定
      • 杀手比尔:最后一句,讽刺性太强 了,啊哈哈哈哈
      • 李喜妹:5857*68+21000=419276。这里,68是什么?得到419276这个结果结果有什么用?在哪里可以填入419276这个数字呢?还有,gas price设置为20,有什么依据吗?还是凭直觉估算?抱歉,新手,不太懂这个:joy:
        笔名辉哥:@行走的笔记本 第一个看帮助文档的,第二个是根据经验

      本文标题:不用编程,如何把长文章记录到以太坊区块链上?

      本文链接:https://www.haomeiwen.com/subject/wrurmftx.html