RChain上的dApp系列之一:Dappy

RChain主网发布后,最火的dApp就是法国小伙Raphael开发的Dappy了。Dappy功能比较复杂,不太好理解。有人认为Dappy是一个域名注册系统,有人觉得它是一个浏览器,还有人觉得它是一个钱包。Raphael自己介绍Dappy 是一个建立在智能合约平台上的文件及网页应用的分发系统。

我倾向于认为Dappy是一个钱包,帮助用户完成对RChain区块链的各种读写操作。我在开发锐Rui钱包时也有和Raphael一样的想法:既然RChain具有数据上链的能力,当然就需要这样一个接口,帮助用户上传和下载数据。进一步想,为了管理数据,当然需要一个名字注册系统。从这个角度理解Dappy的架构就比较清楚了。

Dappy的模块组成

Dappy由6个模块组成:

  1. Dappy浏览器
    进入Dappy, 首先展现在用户面前的是Dappy浏览器。用于浏览存储在RChain区块链上的网页及文件。

  2. Dappy node
    Dappy node位于dappy浏览器与RChain的RNode之间, 将 Websocket 信号转换为GRPC信号。在Raphael的规划中,将来会有很多人运行Dappy node,从而实现去中心化浏览。所以,将来Dappy生态圈里一定也会发币,用于激励大家运行Dappy node。

  3. Dappy CLI
    Dappy命令行工具,能够将你的web应用程序(HTML, CSS, JS文件)打包成base64编码的Rholang代码,并部署到RChain主网。然后就可以通过Dappy浏览器对你的链上网站进行访问了。

  4. RChain names
    通过两个Rholang智能合约实现DNS功能,将域名记录在链上,每次访问都将从RChain主网读取域名信息,实现去中心化DNS。

  5. Dappy ERC1155 manager
    ERC-1155是由Enjin团队在2018年提出的游戏token标准,可以将ERC-1155理解为token的购物车,可以同时发行和交易多种不同的token,从而节省Gas费。Dappy的这个功能将ERC-1155 token带到了RChain区块链上。

  6. RChain toolkit
    是js实现的RChain API接口库。对于RChain开发者来说,RChain toolkit 是Tomislav的rnode-client-js之外的又一个选择。

域名注册操作

RChain上的dApp系列之一:Dappy

域名注册有两类:添加本地域名和链上购买。本地域名只是用于方便记忆,有点儿类似书签的功能。
链上购买域名的过程:
注:目前Dappy还在测试版阶段,所有读写链的操作都对应的是RChain的测试网,并非主网。
1.
因为每一步写链都需要花费phlo,所以最好先导入钱包
先在account里导入一个私钥,导入成功后,将显示钱包余额。

  1. 以“wenode”为例,我要在RChain链上注册“wenode”,
    RChain上的dApp系列之一:Dappy

注意这里还有一个Badges功能,不太理解意义何在。

RChain上的dApp系列之一:Dappy

点击“try to retrieve IP and certificate”, 系统将自动将wenode.io的IP和CA认证信息读取过来。
然后点击“Setup IP servers”,完成链上注册。

链上确认需要等待一段时间,之后我们就可以在Browse的地址栏中输入“betanetwork/wenode”,就可以访问到wenode网站了。本次访问没有经过DNS查询,而是通过RChain区块链的链上查询完成了域名到IP地址的转换。

tips:Browse 可以点三下,点击后显示出书签栏。
RChain上的dApp系列之一:Dappy

个人主页制作

点击侧栏的Deploy, 可以尝试在链上发布个人主页。
RChain上的dApp系列之一:Dappy

依次选择page --> [email protected]–> [email protected] --> next page
支付完手续费后,就可以发布了。( 由于测试网有个bug,没有成功截图,等下回补图 )

结合刚才的域名注册步骤,你的个人网站就建立在链上了。

Dappy目前的版本是0.3.2,在交互方面还需要不断优化。但总体来讲,已经实现了去中心化浏览器的概念。欢迎试用并提出反馈意见。


欢迎关注 “Rholang中文社区” 公众号
欢迎开发者加入 “RChain开发者” 微信群。加群请加lowbird微信,拉你入群。非开发者请勿加,会有一轮测试,通过者方可入群。