Cosmos代码审查:Cosmos SDK才是杀手锏_COSM:osmo币怎么买

摘要:Cosmos怎样解决今天最难的区块链问题。

让我们从查看声明开始这篇Cosmos代码回顾。就这一个,因为这是个大问题。“Cosmos解决了今天最难的区块链问题。”

可伸缩性——TendermintBFT解决了这个问题

可用性——CosmosSDK解决了这个问题

互操作性——IBC协议解决了这个问题

只有三件东西,但这里有很多东西要打开。Cosmos是一个由不同事物混合而成的大包,所以有时候要知道我们在说什么有点棘手。我们有以下内容;

Cosmos—基础

拜占庭共识Tendermint—pBFT共识引擎

CosmosSDK—允许您构建dapps的软件包/集合(但不是在以太坊智能合约的意义上,而是在每个dapp的区块链意义上)

IBC—通信协议

Amino——数据传输的一种特定协议(本质上是原生buff——这个声明被过分简化了,但现在还不是那么重要)

Cosmos生态基金会ICF计划今年提供约4000万美元资助项目团队:金色财经报道,支持跨链项目Cosmos开发和生态建设的基金会Interchain Foundation(ICF)发布2023年开支预算,预计2023年将花费大约4000万美元来资助不同的工程团队来开发和维护Interchain的核心堆栈,包括支持推动采用和用例的项目。2023年重点资助领域包括共识、互操作性、App框架和客户端、Cosmos Hub、安全和测试框架、DevRel、传播和增长。ICF目前正处于敲定2023年关键合同的最后阶段。[2023/2/21 12:19:47]

Gaia-第一个Cosmos“Hub”,是由运行在tendermint上的CosmosSDK构建的

因此,任何人都可以使用运行在Tendermint上的CosmosSDK(软件开发工具包)构建一个dapp(区块链),通过使用Cosmos,它可以兼容IBC,因此可以进行互操作。

因此,可伸缩性通过两个领域来解决,第一个领域是TendermintpBFT,第二个领域是每个dapp都有自己的共识系统(Tendermint)。因此,如果你构建一个Cosmosdapp,你不是在Gaia上构建它,而是在构建一个全新的区块链,但是因为它兼容IBC,所以它可以与其他使用CosmosSDK构建的区块链进行交互(因此是可互操作的)

Robinhood董事会已批准回购SBF此前所购买5500万股股票的计划:2月9日消息,美股经纪商Robinhood董事会批准了一项计划,以购买SBF去年购买的5500万股股票。SBF最初于2022年5月通过Emergent Fidelity Technologies购买了这些股份。

Robinhood正与美国司法部合作以提供协助。美国司法部于今年1月没收了这些股票。根据美国司法部1月20日提交的文件,SBF持有55,273,469股Robinhood股票,占该公司流通股的7%以上。截至周三收盘,这些股份的价值超过5.78亿美元。

数日前消息,由SBF和前高管Gary Wang共同创立的Emergent Fidelity Technologies已申请第11章破产保护。Emergent Fidelity持有5600万股Robinhood Markets(HOOD)股票。按当日收盘价计算,这5600万股Robinhood股票价值超过6亿美元。此外,彭博社报道称,Emergent Fidelity拥有的唯一其他资产是2070万美元现金。(CNBC)[2023/2/9 11:56:05]

可用性,是因为CosmosSDK,它封装了所有棘手的部分,共识,通信,p2p,所有这些都由CosmosSDK来处理。

Pantera Capital:10月以来,Coinbase等合规交易所的市场份额增加了30%:金色财经报道,Pantera Capital在12月的致投资者信中表示,相比离岸交易所,受监管、透明、在岸和/或经过审计的交易所的市场份额正在急剧增加。自10月以来,Coinbase、Kraken、Upbit、Bitstamp等交易所的市场份额增加了30个百分点。

此外,Pantera还表示,九年前就聘请安永会计师事务所对旗下加密实体进行首次审计,四年前安永再次受聘对Bitstamp进行审计。[2022/12/20 21:55:28]

因此,以上内容涵盖了可伸缩性、可用性和互操作性。

上面的代码在令牌方面有一些有趣的含义,因为除了Gaia(有点像CosmosSDK的演示示例)之外,实际上与Atom没有任何关系。您不需要它来构建自己的Cosmos区块链,也不需要它来实现IBC或互操作性。你只需要stake它就行了,因为Gaia不支持在它上面建造。

撇开这个不谈,让我们看看Gain,然后从那里深入研究。

Cosmos上IBC DeFi协议Gravity DEX已完成部署:据官方消息。7月13日,Cosmos上IBCDeFi协议GravityDEX宣布已完成部署,后续将上线GravityBridge以连接以太坊和其他EVM兼容链。GravityDEX是为CosmosHub创建的链间去中心化交易所,并将CosmosHub确立为链间中心,允许交易任何连接链的代币。[2021/7/13 0:47:15]

只有20个提交?这通常是一个很大的警告信号。但这里是100%没问题,因为这只是CosmosSDK的实现,真正的工作是CosmosSDK和Tendermint。我们稍后会讲到。Gaia本身是一个相当小的、直接的代码库,这是因为它只是CosmosSDK的“演示”。CosmosSDK和Tendermint是真正的重量级举重选手。但让我们看看它是如何工作的。

Golang项目,所以我们从/cmd/开始

命令行界面,用于创建帐户,发送转账,检查余额。这包括了RPC/HTTP端点,因此我们将研究它,但首先,我们需要gaiad-daemon,它运行节点/软件。

动态 | 美联社:三星Galaxy S10冷钱包将支持COSM:据美联社报道,Cosmochain被选为三星智能手机Galaxy S10的首个DAPP合作伙伴。三星Galaxy S10将支持其DAPP COSMEE的代币COSM,将成为冷钱包Galaxy Keystore中包含的首批代币之一。据悉,COSMEE是一个基于区块链的美容平台,用户可以通过移动设备查看化妆品。当用户上传评论时,他们会根据其他用户的评估获得COSM奖励。此前有消息称,三星Galaxy S10或将提供加密货币钱包。[2019/2/20]

所有通常包括候选人,cobra/viper的命令行。这里的Tendermint很有趣,cosmo-sdk很有意义。

帐户、验证器和共识节点的Bech32前缀。常用命令的候选人。

app.go

这很好地概述了从CosmosSDK中导入什么是必需的,baseapp是核心框架,codec处理所有组件间的通信,用于基本账户和转账的认证和银行。分配,mint(块奖励),slashing(坏行为),staking(dPoS)都包括在内。这就是你所需要的。

只设置和初始化组件,这个文件将主要有设置样板文件。

这是复制/粘贴的东西,只需要设置键值存储,然后你需要设置所有的保存器(保存器管理所有的工作-我们稍后会讲到)

AddRouteforproposal(http/rpc),允许社区设置和表决提案。

这很有趣,setorderbeginblocker,我们造币,然后分配,然后salshing,相对于setorderendblocker,我们管理,然后staking。因此,我们首先生成块铸币,然后分发它,然后通过委托奖励(在块之后)削减跟随。我得再深入研究一下为什么是这个顺序。

同样,主要是来自CosmosSDK的样板文件。

就是这样。

网络是设置脚本。文档是文档,其余的是测试系统。这就是运行您自己的Gaia(Atomstakingsystem—这就是它的全部内容)所需的所有“代码”。

这是一个很好的迹象,它向您展示了CosmosSDK和Tendermint是多么强大。

公平地说,如果这是另一个区块链而不是Gaia(也就是Cosmos),我不会有什么印象,因为他们什么都没做,但是既然Gaia是Cosmos,是CosmosSDK,是Tendermint,我们可以继续。

CosmosSDK,真正的秘密武器。5k提交,86个分支,112个版本,92个贡献者,这个东西非常活跃。出色的公关和问题管理,出色的抽象和封装。我们已经在Gaia实现中看到了很多;

baseapp——核心客户端——与服务器编解码器交互的客户端——管理所有的通讯服务器——运行服务器端存储——处理所有的存储x——这是所有核心模块的所在

在x/我们有auth,银行,分销,ibc、gov、mint、staking。在不到100行代码中实现您自己的可互操作的高可伸缩性dPoS区块链所需的一切。

收取手续费,开始/结束块是你做大部分工作的地方,你希望在得到一个块之前和之后发生什么。这是您通常放置大部分工作逻辑的地方(gaia并不真正需要它)。对等过滤器,状态检查器,版本管理。这是非常棒的生产级代码。

不用多说,令人印象深刻的是tendermint、abci和cosmossdk之间的交互方式。它的设计和构思都很好。

我们不打算深入讨论太多,客户端,密钥,rpc,tx生成。区块链样板文件,即使它是非常棒的区块链样板文件。

编解码器是一个amino包装器。Amino也是固体。但是/x/才是真正的工作所在,所以让我们来看看bank/mint//staking。

我们从keeper开始。

Keeper定义了我们能做什么;

Setcoins、SubtractCoins、AddCoins、InputOutputCoins、DelegateCoins、UndelegateCoins

这里需要注意的是,keepers是功能包装器。当你把它全部归零,在区块链中困难的部分是分布式系统部分,共识。这是由Tendermint处理的,共识基本上是一个“保存”屏障。通常,您只需简单地说1010=20,因此让我们将20保存在存储(数据库)中。在这种情况下,您需要协商一致,但是它已经被处理好了,您不需要担心它,因此您只需输入1010=20并存储。所以所有的Keepers都只是简单的基本功能。

所以对于像AddCoins这样的东西,它只需要一个地址,一个硬币类型,然后加上金额。

就是这么简单。

顺便说一句,这是副作用免费代码,不是你经常看到的东西,伟大的设计原则。

CosmosCodeReview总结:

Gaia是没有意义的,它只是一个CosmosSDK的演示,但是CosmosSDK很好。我想我也会用它来做一些链。

感谢Tendermint团队的高级软件顾问AlessioTreglia,他补充说:“Gaia只有在最近从@cosmossdkrepo的原始位置提取后才提交了20次。”

作者:AnderCrojeAndre是一位拥有20年开发经验的软件架构师。在5个月内修完3年的计算机科学课程后,他被要求继续当讲师。在深入研究移动安全和密码学之前,他进入电信行业,开发大数据、高交易基础设施。过去5年,他一直致力于打造定制的金融科技解决方案,并利用区块链技术为非洲无银行部门提供降低成本的金融产品。

编译:共享财经Neo

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-3:240ms