以太坊是个天然的区块链日记本

【背景】

突然发现已经旷工4个礼拜了,甚是罪恶感!

那就借着兽爷疫苗之王一文上链的故事,来炒炒现饭,讲讲如何利用以太坊写日记,同时捋一捋gas price和gas limit的概念,这也是前阵子Fcoin上币空投智能合约必须了解的知识,否则不知道会花掉多少冤枉钱了。

【以太坊是个天然区块链日记本】

早在4月份的时候,北大14级外国语学院岳昕事件就被写上了链(0x2d6a7b0f6adeff38423d4c62cd8b6ccb708ddad85da5d3d06756ad4d8a04a6a2),紧接着520时,大量使用区块链表白的教程又火了一波,这次兽爷疫苗之王一文又再次上链(0xb1ed364e4333aae1da4a901d5231244ba6a35f9421d4607f7cb90d60bf45578a)。

笔者也一直觉得,众多酷炫的区块链项目真正落地效果未有其宣传的一样,倒是一款区块链日记本的落地应用会接地气得多,当然区块链日记本项目还需要解决隐私加密问题才行,这样产品设计出来至少可以有如下场景:


区块链日记本

上面的场景只是随笔写了写,可能用区块链写日记的确有点儿浪费,但是对于表白、誓言之类还是有刚需的;对于行业重大纪事录,如全球核电安全事故记录等或者重大历史事件都可以用区块链记录,这样也可以减少通过修改教科书来自我欺骗的行为;对于违约黑名单的上链可能就有侵犯隐私之嫌,但是对可恨的人比如割韭菜跑路的代投,也是可以将其信息上链化作为严重惩罚的,如果能支持图片了后效果会更好。

笔者YY结束,回归主题教教感兴趣的同学来使用以太坊这个天然区块链日记本。

常用最简单必备工具:imtoken钱包一个(任何支持备注功能,即Input Data功能的钱包都可以,比如AlphaWallet),十六进制转换工具(主流基本只支持英文,如imtoken高级功能里提供的http://string-functions.com/string-hex.aspx,能支持中文的比较少https://www.bejson.com/convert/ox2str/是不错的)


Imotken高级转账界面

使用imtoken高级选项页面,如上图所示,将想要输入的汉字文本复制到https://www.bejson.com/convert/ox2str/的转化框中,得到16进制结果,如下图16进制的字符串


字符转16进制

将16进制的字符串复制到imtoken的十六进制数据一栏中,切记最开头补上0x,表征16进制表示法,然后执行转账操作就可以将自己想表达的事件上链了,应用场景如前所示:

1.给恋人表达,转个520 ETH,再来一段表白词;

2.著名事件记录,如这几次的事件;

3.币圈黑名单,将跑路代投或者骗子信息直接上链公布(这个好狠毒)

等等

下图是笔者使用测试网络模拟的一段结果:

测试网络模拟

在上图中需要提醒大家注意两个概念:gas price和gas limit

简单的说 gas limit 相当于汽车需要加多少汽油, gas price 相当于每升汽油的价格

gas limit 之所以称为限额,因为它是你愿意在一笔交易中花费 gas 的最大数量。交易所需的 gas 是通过调用智能合约执行多少代码来定义。 如果你不想花太多的 gas,通过降低 gas limit 将不会有太大的帮助。 因为你必须包括足够的gas 来支付的计算资源,否则由于gas 不够报错 Out of gas。所有未使用的 gas 将在转账结束时退还给您。

所以使用 imToken 发送1 ETH,并设置 gas limit 为 40万,转账结束后你会收到 400000 - 21000 gas 退还。

通过降低 gas price可以节省矿工费用,但是也会减慢矿工打包的速度。矿工会优先打包 gas price 设置高的交易,如果你想加快转账,你可以把 gas price 设置得更高,这样你就可以排队靠前。如果你不急,你只需要设置一个安全的 gas price,矿工也会打包你的交易查看矿工可以接受的最低 gas price : http://ethgasstation.info/

Input Data 是可选项,用来调用合约。你需要把对应字符串转换成 16进制。

所以,理论上节约费用的方法是可以将gas price压低到足够低(矿场愿意打包的最低价格),只要时间足够长就一定能够转账出去;同时,gas limit建议设置足够大的值(最少21,000),因为是多退少补,它在执行每一段代码时都会消耗,要保证诸如参与1C0,发送数据,空投等调用智能合约所需的足够gas limit才不会出现out of gas的情况。下图为ETH在黄皮书中对gas消耗的具体场景表:


gas消耗表

所以,当你执行一个比较关键的操作时,如涉及运行智能合约,一般建议适当调高gas limit,否则出现out of gas的情况等于赔了夫人又折兵了,花了钱还没收到预期效果。在Fcoin空投合约设置时,一个优秀的空投智能合约还是能帮助省不少钱的。


用ETH表白的案例

如上图这个用ETH表白的案例,转账金额采用1.314ETH,比较牛的是gas limit和实际gas花费一模一样,堪称精准微操了,笔者相信,这是在test网络反复试验了很多次的结果了。

【总结】

至此,笔者应该算讲清楚了如何利用以太坊来上链一下事件、表白的方法,操作还是很亲民易上手的,唯一有点麻烦的地方是https://www.bejson.com/convert/ox2str/网站挂了后替代品不好找,此时可以使用英文来折中。同时理解gas price和gas limit的使用,会帮助日常ETH转账过程中省钱。

以上所有的操作只限于ETH的转账增加备注功能,其他币种并不支持。

最后,笔者文章还没发出来就看到了一个基于ETH和ipfs的twitter网站出来了,需要metamask支付少量账户费才能开通(让我想起了EOS开户),提供了一个Lock now的功能,即将Lock的状态或者评论上链,这样发的每一条显然是要收费的了。感兴趣的童鞋可以试试:https://peepeth.com/?PeepethLoves=putin,支付过程都需要翻墙确认,浏览可以随意!


Lock now

花了点银子关注了下来打过酱油的V神


V神页面






应大家建议开通微信公众号方便交流,目前公众号已与简书同步更新。喜欢的朋友可以关注,以后仍会以简书为主,微信公众号同步的方式,可以搜索公众号名“Putin学习区块链”或者“PutinBlockchain”,二维码如下:


推荐阅读更多精彩内容