- 干货 | 几行代码就能撸一个文档注册Dapp,一文学会以太坊Dapp开发
- 来源:区块链大本营
来源 | Hackernoon
编译 | 火火酱责编 | Carol出品 | 区块链大本营(blockchain_camp)
伟大的事情都很简单,而且大多数都可以被凝结成几个词:自由,正义,荣誉,责任,仁慈,希望。——温斯顿·丘吉尔
在本文中,我将用代码示例来描述我所知道的最简单的区块链应用程序。这对于那些以区块链为起点的人来说是十分有用的,也可以为经验更为丰富的架构师们提供一个设计模型。
让我们想象一下下面这个用例:你收到了一份经了好几手的文档,而且你想要确保它的真实性。这份文件可能是你要购买的汽车的服务手册,也可能是证明你要购买的房屋的房产证明,它可能是任何东西。
对文档进行数字签名以确保其不被篡改并不是什么新鲜事了,你可以获取文档内容并生成一个加密签名,该签名会与文档本身一起被发送出去。
文档接受者可以再次生成签名,并验证其与提供的签名是否匹配。若匹配一致,则证明文档没有被更改过。这就是MD5 checksums(MD5 校验:https://en.wikipedia.org/wiki/MD5)可以提供的功能,使用起来非常方便。但它的缺点是你需要通过接收签名来验证文档的真实性。如果有人在中间同时修改了文件和签名,那你便无从查证了。
由于从个人那里获取数据并不十分可信,因此有时会有第三方介入,提供有偿的记录保存服务。这种获利动机是促使记录保管者保持诚实的根本原因。
第三方的介入确实是一个可行的方案,但远不是最完美的方案。记录保管者会将自己放在权力顶端的位置,并且在没有竞争压力的情况下榨取高额酬金。更糟糕的是,如果经济激励机制发生变化,那么记录保管者可能会变腐败。又由谁来看守这些守门人呢?
执行
这次我没有从头开始编写合约代码。因为我一般不会做重复的工作,而区块链注册表已经被创建过十几次了。谷歌一键搜索就能找到 GitHub repo(https://github.com/nakov/Ethereum-Web3-Document-Registry-Demo),我将用它来展示该模型是如何运作的。即使它使用的是老版的solidity,它仍然可以很好的工作,而且你可以自己测试一下(感谢Svetlin!)。
这个合约非常简单,只有一个相关的合约变量和两个函数。
文档映射表把为文档计算的hash散列与添加它的区块链接起来。一个添加方法(add method)需要一个hash散列,并且将其储存在映射表中。一个验证方法(verifiy method)返还一个hash散列的时间戳。
前端允许你上传带有合约的文档,添加签名并利用sha256算法计算文档内容的哈希值。
前端依然让你上传带有合约的文档,此时需要验证一下之前是否上传过该文档,如果之前上传过,则会返回上传的大概时间。
这就是实现去中心化文档注册表的全部内容,该注册表做了两件事情:签署文档;验证文档自上次记录签名后是否发生过改变;
这种方法之所以有效,是因为两个不同的文档具有相同签名的概率几乎为零。如果你能得到时间戳,那么你就可以确定你提供的文档是在哪个时间被导入到注册表中的。
当然,合约代码是可以被更新和改进的,但这17行核心代码仍然是正确的。
总结
文档注册表是具有商业价值的区块链应用程序中最容易实现的一个应用程序。在2016年,本文中的几行代码就足以助力一个百万美元的项目。如今,它们仍然能在更复杂的解决方案中反复使用。
文档注册表有效地利用了区块链的去中心化性和不变性这两个属性,从而不需要依赖其他人来证明数据的真实性。这个想法非常简单,但却是具有革命意义的。
你是否想尝试一下?或有什么想法,可以在留言区告诉我们哦~
推荐阅读:预警,CSW的50万枚尘封BTC即将重返市场TechHQ首席架构师浓缩1000小时的项目经验总结出5大技能点,架构师必看!别让分析公司卖了你:一文读懂比特币的私密性及隐私保护我被“高薪稀缺技能”,坑到失业!2亿日活,日均千万级视频上传,快手推荐系统如何应对技术挑战?Docker容器化部署Python应用给面试官讲明白:一致性Hash的原理和实践吴子宁:手握 280 多项专利的斯坦福技术先锋 | 人物志
猛戳""有惊喜哟
CSDN App
扫一扫下载订阅号助手,用手机发文章
赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
已同步到看一看
取消
发送
我知道了
朋友会在“发现-看一看”看到你“在看”的内容
确定
已同步到看一看写下你的想法
最多200字,当前共字
发送
已发送
朋友将在看一看看到
确定
写下你的想法...
取消
发布到看一看
确定
最多200字,当前共字
发送中
微信扫一扫
使用小程序
取消
允许
取消
允许
知道了
确定
区块
-
-
- 区块链上的黄金:有什么不一样?
- (采石场山丘,梵高) 当前区块链行业面临产品与市场吻合的难题,这里包括公链和dApp。一是技术落地周期长,二是普通用户对于dApp的市场需求还不够强烈。这导致目前区块链市场相对低迷。从长期,有很多可以
- 蓝狐笔记
-
-
-
- 备受期待的原子交换,将如何对中心化交易所构成威胁?
- 点击上方“Unitimes” 可以订阅哦! unitimes.io 全球视角,独到见解 作者 | Luke Fitzpatrick 编译 | Summer 2009年比特币网络的推出预示着全新的
- Unitimes
-
-
-
- 区块链的世界“刷数据”造假已成家常便饭,蒙住了谁的眼睛?
- 前几天,国内两大头部钱包企业“撕”了起来。源头是比特派指责 imToken “数据造假”,并呼吁不要再造假了。 在 imToken 澄清之后,比特派道歉了,吃瓜群众吃完瓜也就散了。不过有意思的是,在比
- 白话区块链
-
-
-
- 9-4|得到APP上线课程《科技金融前沿:Libra与数字货币展望》
- 蜜蜂查行情早报 9-4 8:00 1)BTC现价:$10599.56,24小时涨跌 2.35%,交易量$269.21亿 2)ETH现价:$178.66,24小时涨跌 0.41%,交易量$72.62亿3
- 币圈情报社
-
-
-
- 干货 | 几行代码就能撸一个文档注册Dapp,一文学会以太坊Dapp开发
- | Hackernoon 编译 | 火火酱 责编 | Carol 出品 | 区块链大本营(blockchain_camp) 伟大的事情都很简单,而且大多数都可以被凝结成几个词:自由,正义
- 区块链大本营
-
-
-
- 从Web2.0走向Web3.0:还有多远?
- 前言:互联网的范式不断迭代升级,从只有静态网页的web1.0到用户直接交互的web2.0,再到用户自主控制数据的web3.0。经过十多年的发展,web2.0的已经极大丰富。而web3.0才刚刚露出尖尖
- 蓝狐笔记
-
-
-
- 星光闪耀!万向区块链第五届区块链全球峰会预告片来了!
- 点击上方“蓝色字”可关注我们! 作者:万向区块链 十年,我们经历了区块链从星星之火,到烈焰燎原。而万向区块链峰会则见证并参与了这个行业发展最快速的年代。 2015年,当绝大多数人对区块链还毫无
- 区块链铅笔Blockchain
-
-
-
- 以太坊2.0进展更新 (截至2019年8月31日)
- 点击上方“Unitimes” 可以订阅哦! unitimes.io 全球视角,独到见解 作者 | Ben Edgington 编译 | Jhonny 到目前为止,我已经在 Eth2.0 范围中隐
- Unitimes
-
-
-
- 一不留神大饼就突破70%了
- 同志们好,这里是狗哥的第376篇日记。 70.2%,大饼占比终于还是破70%了。 一方面说明了市场被大饼严重吸血,一方面,反过来看,现在肯定也存在大量的机会。 …………………………………………
- 狗哥币圈实盘日记
-
-
-
- 巨头涌入的稳定币市场,Terra靠什么成为加密世界的支付宝?
- 格时财经 区块链了解一下 摘要:着眼稳定币市场的Terra公司一直是币圈明星,去年8月,它在种子轮融资中共筹集到3200万美元,该轮的投资者包括Binance Labs、Okex、HuobiCapi
- 共识财经网
-
-
-
- 全球区块链早讯(9.3)
- 每日行情快讯:BTC早间大幅拉升 最高触及10450美元 BTC延续昨日晚间上涨行情,早间大幅拉升,最高触及10450美元,主流币普涨。BTC在币安现报10362美元,24h涨幅6.00%。 1.全球
- 全球区块链早讯
-
-
-
- 新浪推出区块链项目“绿洲”
- 关注我们 后台接收最新白皮书及研究报告 关注 北京时间2019年09月02日,新浪拟推出一款社交应用APP,名为“绿洲”,目前处于内测阶段,只有通过邀请码才能进入。这款产品的定位是“年轻人的生
-