本文介绍了DelegateCall,一个运行在Loom DAppChain上的区块链问答网站。用户通过回答问题和获得点赞来赚取积分,这些积分可以兑换为可交易的ERC-20代币。文章详细描述了DelegateCall的架构、运行机制及其与Ethereum的关联,展示了DAppChain在性能和去中心化方面的优势。
过去几个月,我们经常讨论 DAppChains 作为扩展 Ethereum DApps 的解决方案。但到目前为止,这一切大多还是理论。
今天,一切都改变了:我们自豪地正式发布 首个在 Loom Network 上运行的 DApp。
介绍一下 DelegateCall.com.
DelegateCall 是一个区块链和与以太坊相关的问题问答网站,完全运行在 Loom DAppChain 上。
当用户的问题和答案被点赞时,他们会赚取声望积分。但与传统的 Web 2.0 网站不同,在 DelegateCall 上,这些声望积分可以兑换为在以太坊主网上可交易的 ERC-20 “DelegateCall token”,让用户可以根据他们对网站的贡献来获得相应的奖励。
你可以把 DelegateCall 看作是 Steemit 和 StackOverflow 的结合,支持以太坊。
自从我们几个月前启动了 CryptoZombies 以来,我们在主要的 Telegram 社区 和 高级开发者社区 聊天中建立了一个坚实的以太坊开发者和爱好者社区。
但 Telegram 并不适合开发讨论。问题在聊天中被淹没,好的答案随着时间流逝而消失。
因此,我们决定建立一个区块链社区网站,使我们的社区能够在一个更永久的形式上聚集,分享他们在区块链和以太坊开发相关问题上的知识,并且:
DelegateCall 是我们内部构建的第一个(也是许多)示范,向开发者展示可以在 Loom Network 上构建的 DApps 类型。
简要预览: 接下来,我们将把关注点转向基于区块链的游戏。在接下来的两个月里,期待我们在这方面的一些重大更新!
在其核心,DelegateCall 完全运行在 Loom Network DAppChain 上,该 DAppChain 是一个独立的区块链,通过 Relay 与以太坊智能合约绑定。
DelegateCall 的独立区块链使用 Loom DPoS 的原型作为其共识层。未来,我们还计划支持 Tendermint 和 Casper 团队正在开发的 PoS 算法,只要这些实现从各自团队提供。
Loom DAppChains 与普通区块链不同,因为它们能够原生定义多种复杂的交易类型。在 DelegateCall 的情况下,其 DAppChain 有原生交易类型用于 创建账户、创建/更新帖子、接受答案、和 点赞/点踩。
在这个意义上,DAppChains 的行为类似于传统的 Web API,因为它们支持用户可以调用的固定方法数量。
我们为 DelegateCall DAppChain 构建了区块浏览器,地址是 blockchain.delegatecall.com,你可以实时查看这些交易的发生:
区块浏览器允许你查看交易如何被纳入 DAppChain
你可以检查单个交易以查看其内容
DPoS 在区块链社区中名声不太好,因为它不如 PoW 和 PoS 去中心化。
这是一个合理的担忧,但 DPoS 也能够处理比更去中心化的共识算法更高的每秒交易吞吐量。
因此,我们面临一个矛盾。DApps 需要高吞吐量以与传统网页应用(例如,Twitter 每秒经历 7000 条推文)竞争。然而,独立的 DPoS 区块链 永远不会像以太坊这样的 PoW 区块链那样值得信赖。
DAppChains 通过让 DPoS 区块链通过 Relay 与相应的以太坊智能合约绑定实现这一问题的解决。作为一个单元运行,用户可以在以太坊上简单地将资产转移/交易为 ERC-20 代币,同时应用层保持去中心化、快速和便宜的使用。
最终结果,如在 DelegateCall 上所见,是一个规模上在以太坊上绝对不可能实现的去中心化应用。安全、标准符合、去中心化的资产处理,同时保持便宜和快速的交易。
我们将在未来发布关于 Relay 实现 和 Loom 的 DPoS 算法 的更多细节。(以及关于 Loom Vault 的细节,这是一个可选的第三方服务,用于为用户管理私钥)。
你可以将 DelegateCall.com 看作是与底层 DAppChain 交互的便利层。虽然你不需要使用该网站与 DelegateCall 区块链进行交互,但它提供了方便的 UI 进行这样的操作。(类似于 Steemit.com 对于 Steem,或 MyEtherWallet / EtherScan 对于以太坊)。
该网站是一个 Ruby on Rails 应用程序,读取底层 DAppChain 数据的缓存。只读缓存(由 MySQL 数据库和 Elasticsearch 构成)只是区块链中数据的镜像,并在每次发布新块时更新。缓存的存在是为了使该网站可以像标准的 Web 2.0 应用程序一样快地服务页面。
当你访问 DelegateCall.com 时,看到的数据是从这个 MySQL 缓存中拉取的。该网站还为你提供了一个基于 Loom.js 构建的 DelegateCall 客户端的副本。
Loom.js 是 Loom DAppChains 的通用接口层,负责在客户端上签名交易,并将这些交易格式化为 DAppChain 所期待的格式。你可以把它看作是以太坊的 web3.js 对 Loom Network DApps 的等价物。
当你在网站上执行某个操作(给答案点赞、发布评论等)时,不是像传统的网页应用那样将数据发送到 DelegateCall.com 的 web 服务器,而是 Loom.js 直接将你的交易广播到 DelegateCall DAppChain。
然后,DelegateCall.com 上的一个工作进程不断监听区块链的变化,并将这些新交易同时发布到 MySQL 缓存和 Elasticsearch,以便底层区块链的变化能够反映在 DelegateCall.com 上。
DAppChain 仍然是最终的真相来源,而 Rails 应用中的数据只是底层 DAppChain 数据的镜像。
人们常说一图胜千言,以下是展示架构和数据流的示意图:
用户签名他们的交易并直接写入 DAppChain,然后这些交易被复制到 Rails 应用中的只读缓存中,以便快速读取。区块浏览器是一个完全独立的应用,从同一底层 DAppChain 数据中读取。
我想强调的是,使用 DelegateCall.com 网站是可选的——用户可以直接读取和写入底层 DAppChain,而不使用 DelegateCall.com。未来,开发者甚至可以编写自己的前端,以不同的方式展示数据,例如我们的 区块浏览器 与 Rails 应用完全独立。
这正是社交网站在底层 DAppChain 上构建的众多优势之一——仿佛拥有了一个完全开放的 API 访问底层数据,以便第三方开发者可以构建自己接口,用户也可以有更多的选择,与服务进行交互。
我们将在接下来的几周发布更多关于开发者如何与 DelegateCall 和其他 Loom DAppChains 交互的信息。
明天,我们将发布一个后续公告,提供更多细节,并且还将讨论 Loom Network 接下来会发生什么。
你不想错过它!
Loom Network 是一个用于扩展高性能 DApps 的多链互操作平台——已经在生产环境中运行、经过审计并经过实战检验。
只需将你的 DApp 部署到 Loom 的 Basechain 上,即可在所有主要区块链上接触到最大的用户群体。
_对 Loom 不太了解? 从这里开始 。
_想要质押你的 LOOM 代币并帮助保护 Basechain 吗? 了解如何做 。
_喜欢我们正在做的事情吗?通过 注册我们的私人邮件列表 保持关注。
- 原文链接: medium.com/loom-network/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!