如何用Cosmos SDK构建DApp?

科技新闻 2019-08-24 06:59149网络整理

为什么TruStory选择基于Cosmos SDK构建以及其体系结构概述

如何用Cosmos SDK构建DApp?

1. 为什么选择 COSMOS SDK?

TruStory从构建一个分布式应用开始,该应用的外观和使用体验和人们习惯的普通App一样。我们不希望用户每次执行操作时都要等待确认,也不希望用户不得不处理未完成的交易(https://qz.com/1145833/cryptokitties-is-causing-ethereum-network-congestion/)。该App还调用了大量细颗粒度交易,它们都是基于特定时间触发的事件。所以很快我们就发现,这不能在以太坊主网上实现。我们需要更灵敏、更健壮的东西。所以我们又觉得基于以太坊的侧链可能有效。

我们在Loom SDK (https://loomx.io/developers/en/intro-to-loom.html)上构建了一个早期的原型,但是这个框架还不够成熟,不能满足我们当时的需求。然而,我们喜欢上了Tendermint (https://github.com/tendermint/tendermint),这是一个BFT共识的中间件,它可以赋能Loom。它具有快速最终性(约5秒),这对于频繁交互的社交App的用户体验至关重要。

接下来,我们决定尝试一下Cosmos SDK (https://cosmos.network),因为它是由Tendermint团队开发的。我们欣喜地发现它有如下很好的特性:

·静态类型的编译编程语言(GO)
·构建良好的区块链框架
·模块化架构
·高度可配置
·内置治理

在Cosmos上我们学到的另一点是围绕网络构建利益相关者社区的能力。我们认为未来的网络可以更加平等,给用户和利益相关者更多的控制和对平台的所有权。比如像Airbnb这样的公司就会要求美国证券交易委员会 (https://www.cnbc.com/2018/09/21/airbnb-wants-hosts-to-own-equity-is-asking-sec-for-a-rule-change.html) 修改规则,允许房东持有该公司的股份。与传统公司(https://a16z.com/2019/03/02/cooperatives-cryptonetworks/) 相比,未来的社交网络很有可能更像合作企业。

用户和利益相关者将能够作为服务的消费者、网络运营商(验证人)或兼具两种身份,按照自己意愿或多或少地参与网络运行。此外,通证持有者将能够将其通证委托给验证人,并被动参与网络。

基于Cosmos SDK开发能为我们提供实现用户所有权和治理的天然技术能力。用户和验证人可以对升级和新功能进行投票,并帮助维护网络和用户社区的价值观和指导方针(https://www.trustory.io/values/)。用户被鼓励成为好公民,并在网络帮助协调。我们已经在第一个基于SDK主网上线的网络Cosmos Hub (https://hub.cosmos.network)上看到了成功的区块链治理。(译者注:Cosmos生态中第一个基于SDK主网上线的网络应该为IRIS Hub)到目前为止,几乎所有提案 (https://hubble.figment.network/cosmos/chains/cosmoshub-2/governance) 都有超过60%的投票参与。

建立一个自我持续和自我治理的网络可以解决当前社交网络的许多问题。Facebook在内容审查(https://www.nytimes.com/2018/12/27/world/facebook-moderators.html) 和隐私方面存在问题,这已经不是什么秘密。

2. Staking就是Defi

TruStory的激励机制是基于通过质押来展示内容。在内容上进行质押可以被认为是类似于 Facebook 点赞按钮的进化。点赞是很好的表达关注的信号,但它们不会对于用户花时间生产内容提供任何形式的奖励。TruStory的用户会对用户生产的内容进行质押,这与验证人质押ATOM (https://nylira.net/3d) 进行利益共享同时也保护Cosmos Hub类似。在此过程中,用户以TRU(TruStory的原生代币)的形式获得利息。

如何用Cosmos SDK构建DApp?

没有惩罚,激励机制就不完整。TruStory的内容由已获得足够TRU的用户进行调节。用户可能会因为不良行为而被罚没,他们会被监禁一段时间。被监禁的用户将损失一些TRU作为惩罚。

TruStory还计划在基础设施级别实施Staking。也就是说,超级用户可以运行TruStory区块链的节点,也被称为验证人。验证人负责通过签署交易和在PoS网络中提交区块来保护TruStory区块链。与TruStory用户类似,验证人质押TRU,并且会由于诸如下线和双签等不良行为而被大幅罚没。

3. TruStory体系结构概述

TruStory (https://www.trustory.io)的第一个版本是一个基于确认和验证内容的谢林点游戏(https://en.wikipedia.org/wiki/Focal_point_(game_theory)),但它最近在转型为一个平台,用于围绕观点进行更具建设性的辩论。Cosmos SDK在这个转折点(https://www.trustory.io/posts/our-new-mission/) 中起到了重要作用,使我们能够分叉我们的区块链,同时将所有数据迁移到新的链上。

每个Cosmos链都被一个定义区块链初始状态的创世文件(https://cosmos.network/docs/cosmos-hub/genesis.html#what-is-a-genesis-file)引导。要分叉区块链,可以使用导出当前App状态的命令行工具创建新的创世文件。用任何可以启动新链的工具对创世文件升级,就可以进行迁移。这个过程类似于迭代开发中常见的数据库迁移 (https://github.com/cosmos/cosmos-sdk/tree/master/contrib/migrate),为区块链开发带来了更灵活的方法。

下面是TruStory基本架构的高级视图:

如何用Cosmos SDK构建DApp?

如何用Cosmos SDK构建DApp?
转载请表明文章出处
本文地址:https://www.5zhuo.com/keji/49432.html

站长统计代码放在此处

联系QQ:1466191513 邮箱地址: