我正在为我的Dapp 寻找一个去中心化的数据库。 我找到了两个有用的解决方案orbitdb和gun,但我无法意识到主要区别以及哪个更适合使用以太坊智能合约的类似社交媒体的应用程序。
1 回答
我是枪的作者。我已经看到 OrbitDB 到处游荡(哈,请原谅双关语!)但显然我对它的了解不足以谈论它。我会留给他们回答。:)
看起来 OrbitDB 也使用 CRDT,这意味着它们可能正在做正确/正确的事情。很少有人使用 CRDT,这很可悲,但让 GUN 非常独特!尽管过去 4 年我一直在努力向人们宣传他们应该使用 CRDT,但我对此表示欢迎。
回答您的问题@maroodb 的一种实用方法可能是围绕 GUN 的社交媒体用例:
是的,GUN 已经被用于 P2P 社交媒体 dApp。你可以做:
- 用户帐户系统,包括传统的用户名/密码和密码重置(无服务器,完全 P2P)。
- 发布的用户数据,如推文等,其他人无法篡改(签名加密,但不是私有的)。
- 用户的私人数据(密码加密)。
- 2 个用户之间的秘密数据,例如私人消息 (diffie-hellman)。
- 我们目前正在努力让组读/写数据变得更容易,这是可能的,但还没有演示。
以下是一些显示演示的链接和其他资源,它们可能有助于构建您的应用程序:
- 对 P2P 安全性的概念理解,在 1 分钟动画解说员中完成 - https://gun.eco/explainers/data/security.html
- 关于如何开始使用 P2P Twitter 用户帐户的简短快速文章 - https://hackernoon.com/so-you-want-to-build-a-p2p-twitter-with-e2e-encryption-f90505b2ff8
- 一个 4 分钟 40 行代码的交互式编码教程,关于如何构建一个超级基础的 P2P Twitter - https://scrimba.com/c/c2gBgt4
- 社交网络理念 - https://d.tube/#!/v/marknadal/lanz4e6z(d.tube本身就是一个 P2P youtube)
- P2P 用户账户管理系统 - https://d.tube/#!/v/marknadal/gfqglxvd
- 75 行代码中的超级基本私人消息演示 - https://d.tube/#!/v/marknadal/ganoayt8
- 有关如何使用安全 API 的文档 - https://gun.eco/docs/SEA
当然,还有一个超级友好的开源开发人员聊天室,他们互相帮助构建这些东西,https://github.com/amark/gun!:)
您必须向 OrbitDB 询问他们的 P2P 社交网络 dApp 示例/用例,也许他们知道是什么让枪支与众不同。
注意:GUN+IPFS 适配器即将推出。
以太坊很棒,但如果它主要作为以太坊智能合约实施,你的社交网络可能不会扩大,只是作为一个警告。
我们建议您使用以太坊为您的用户(不是 GUN 或 Orbit)进行任何加密货币支付或交易。
但我们不建议使用以太坊构建基本的社交网络功能(个人资料信息、帖子、消息等)。
您的应用程序可能 90% 到 95% 将是 GUN 或 Orbit,并且可能只有 3% 到 5% 的智能合约。