我正在寻找Dapp的去中心化数据库。
我找到了两个有用的解决方案orbitdb和gun,但是我无法意识到主要的区别,并且哪一个更适合使用以太坊智能合约的类似社交媒体的应用程序。
最佳答案
我是枪的作者。我已经看到OrbitDB随处可见(哈哈,请双关语!),但显然还不足以对其进行充分的了解。我让他们回答。 :)
看起来OrbitDB确实也使用了CRDT,这意味着它们可能在做正确/正确的事情。很少有人在使用CRDT,这很可悲,但却使GUN非常独特!尽管最近四年我一直在向人们宣传他们应该使用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%的智能合约。