智能合约开发-基于以太坊的文章付费转载 demo

智能合约开发-基于以太坊的文章付费转载 demo

前段时间做了一个 Dapp demo,名字叫 钉书 (http://ds.bdaily.club)。通过区块链技术,证明用户文章的所有权,以此为基础打造一个知识类商品平台,用户上传知识,文章,标价,买家选择有价值的知识和文章,付费转载。


这个平台的愿景是为作者和内容使用方提供通畅的授权渠道,引导规范合理的转载行为,为原创者带来更多的尊重和收益。

下面具体说说 Dapp 开发过程中一些技术点和坑吧。

0x01

目前 dapp 基本都是从零开始,帐户体系还未建立。而以太坊本身就有账户的概念,所以让 dapp 的帐户和以太坊账户打通也是必要的。目前有一些解决方案,比如基于 Metamask 的一键化登录,无需单独创建账号,用户通过 Metamask 插件签名后与后端交互校验后即可创建与 address 绑定的帐户。

具体交互流程可参考我的这篇文章:智能合约开发 - 如何实现一键化登录 Dapp

0x02

dapp 的交互目前有 truffle, web3.js ,都属于前端的 js 包。或许说明了一个问题,目前与智能合约的交互得依赖前端。但其实很多时候数据的处理和维护还得放在后端来做,所以让 dapp 的开发更加方便也变得很重要,这里有一个思路供参考: 智能合约开发 - 如何更好的与合约交互

0x03

再说说智能合约的测试环境吧。

1. 如要在本地测试,可以用 ganache,他会启动一条私有的链,并且生成一些账户供测试用。
2. 如要放到公网环境测试,可以用 Ropsten Test Net 环境部署合约。比如 钉书 的合约就部署在以太坊的 Ropsten Test Net 环境。先安装 MetaMask 插件,切换到 Ropsten Test Net 环境,点击 BUY -> ROPSTEN TEST FAUCET 即可获得免费以太币测试发布和购买文章。


0x04

截止目前,以太坊的一个全节点总数据快 600G 了,自己维护一个全节点成本也变的越来越高。有一个稳定和可信的全节点还是很重要的,比如 infura.io/, 不过它不支持某些 json-rpc 接口,比如 event_filter。


0x05

就这个 demo 来说,其实还有好多东西没做,比如
1. 作者的身份认证系统
2. 文章通过数字签名来锚定唯一的链接
3. 支持其他数字媒体类型的所有权确认


0x06

这里抱怨下,这个 demo 其实是迅雷区块链大赛的参赛作品。迅雷的评委只看了 ppt ,demo 一眼都没看就被淘汰了,还是有点失望评委的态度。


0x07

最后推广下自己的 区块链日报,目前更新到八十三期,在知乎twitter 上都有了一定的关注量,希望能为真正学习区块链的人带来一点帮助。

编辑于 2018-06-30

文章被以下专栏收录