《从 DAS 开始了解 CKB 应用开发》零、开篇

DAS(Decentralized Account Services),是基于 CKB 构建的去中心化账户服务。DAS 项目本身,旨在为新世界提供一套兼具抗审查性,唯一性,可识别性的账户体系。在 DAS 的第一阶段,它看起来像是以太坊的 ENS,并且具备一些比 ENS 更为优秀的特性。但 DAS 要做的,不仅仅是更好的 ENS,而是试图为加密世界的「去中心化账户/身份」这块拼图,带来新的定义。

DAS 不是一个概念性产品,它目前已经运行在 CKB 测试网上,并预计于近期上线主网。可以通过 https://da.services 体验测试版本。

DAS 是基于 CKB 开发的区块链应用。在诸多公链中,为什么我们要选择基于 CKB 来进行开发呢?原因有二:

  1. PoW共识 + Cell(UTXO)模型
  2. 自定义密码学原语(高度开放的架构),基于此我们可以实现 DAS 账户可以被任意公链地址所持有

CKB 是少有的,在 UTXO 模型之上构建智能合约环境,并主张「链下计算,链上验证」的公链平台。这些主张和设计经过了充分的考量,非常具有前瞻性,但同时也带来了全新的去中心化应用开发范式。习惯了中心化应用开发和以太坊智能合约开发的开发者,在刚开始接触 CKB 开发时,会充满不适应。加之目前尚没有标杆应用出现,这让开发者们对于 CKB 到底能做什么,是不是真的值得花精力去学习 CKB,充满疑问。

《从 DAS 开始了解 CKB 应用开发》系列文章的目的,也正在于此。我们将我们在 DAS 实践过程中的问题,思考,以及解决方案整理成一系列文章,让大家了解我们是如何基于 CKB 构建产品级应用的。希望借此给更多开发者带来启发,了解CKB 能做什么,应该怎么做。

需要说明的是

  1. 在面对一个问题时,我们采用的思路和解决方案,不一定是最优解,甚至大概率不是。但这些满足我们场景的思路和解决方案,若能给大家带来启发,目的便已达到。
  2. 这一系列的文章,都假定读者已经充分理解 Cell 模型和「链下计算,链上验证」模型。

好了,我们将在我们的第一篇文章中,探讨 DAS 面临的第一个棘手问题:

每个 DAS 账户都需要一个 Cell 来存储其数据,Cell 是通过不同交易来创建的,这意味着 DAS 系统的全局状态数据是分散存储在各个角落的。同时每个 DAS 账户又必须具有唯一性。那么,当一个 DAS 账户注册行为发生时,我们如何判断该账户是否已经存在呢?

我们把这个问题一般化:对于分散存储的数据集,在插入数据时,如何保证每条数据的唯一性?

17 Likes

酷啊 这个好玩 而且比 ENS 简洁!!

补充一下

目前支付 ETH 的环境是 Goerli 测试网
https://goerli-faucet.slock.it/
要用这个测试网去领 ETH 才能支付

另外这里为什么没有预设的 gas price 和 gwei ?这样一般的用户应该用不了哈哈

这是 metamask 测试网络的问题,需要手动填写:

Gas Price:200
Gas Limit:40000

届时正式网不会有这个问题。

另外 Goerli 测试网每次只能领取 0.05 ETH,但是可以多次领取。

1 Like

谢谢 原来是测试网的问题
我 gas price 用 50 一样可以
这边有个问题请教

这个纳入提案要怎么通过呢?


以及切换链接这里点击后似乎目前还是空白

哈哈,测试网 Keeper 故障了,晚点恢复后会自动通过。只要付款完成,后面的流程就无需用户参与了。测试环境还不稳定,理解万岁。

邀请链接的问题,是因为你还没有注册成功过 DAS 账户。这里展示的状态不对,我们改一下。

1 Like

没事的
我只是以一个你们铁粉的角度提供一些用户反馈~
我也享受使用早期产品时能够帮助团队的那种感觉!

1 Like

非常好的一个产品,期待正式版发布,请问正式版发布时对测试版的前期用户有没有空投或者一定名额的“有限的注册期”

1 Like

体验了注册 管理解析 转账 转移域名 总体还算顺滑
全程 MetaMask签名,却跟以太坊没关系(除了用eth付费)
nervos牛

1 Like

为了公平性,我们甚至不会在部署主网后立即开启注册,而是向社区提前公告开放注册时间。这样,可以避免开发团队的“抢跑”。

2 Likes


非常好的一款产品!

  1. 那个邀请人可不可以默认填好.bit了
  2. 有几个注册不了,一直注册中,但是点进去赶紧还没付款,一点付款就退出,付款不了
  3. /DAS
2 Likes
  1. 可以的,如果是通过别人的邀请链接进来,会自动填写对方的 DAS 账户作为邀请人
  2. 麻烦列举几个注册不了的账户,我们排查一下
  3. 这个后面会支持
  • 20191116.bit

注册中

  • chain.bit

注册中

  • cny.bit

注册中

  • fish.bit

注册中

  • hamburger.bit

注册中

  • pos.bit

注册中

  • usd.bit

注册中

  • web.bit
1 Like

我在搜索的时候遇到了这个错误


目前是稳定复现的, 在隐私模式下可以正常使用, 看网络请求似乎是
https://stats.g.doubleclick.net/j/collect 请求失败导致后续请求没有发出, 流程中断了

搜索之前 应该要先连接好小狐狸钱包

确实, 连接后就可以用了.

之前一直卡在付款那里,小狐狸一直不弹出付款的确认窗口,试了几次等了一会儿还是不行就准备放弃了,关掉窗口后才弹出来,不知道什么原因。

然后现在点了付款了,交易还没确认,在等待,很慢。