风险提示:理性看待区块链,提高风险意识!
Cosmos SDK 文档概述:SDK设计概况
首页 > 币界资讯 > 区块链新闻 2019-05-15 13:20
摘要
Cosmos SDK设计概况Cosmos SDK是一个在Tendermint基础上来安全开发状态机的区块链框架。SDK在核心使用Go语言开发的ABCI接口的模块。它包括了一个持久化数据存储multistore数据存储模块和处理交易的router路由模块。下面是一个简化的流程,当交易通过DeliverTx从Tendermint发送时基于Cosmos SDK构建的顶层应用如何处理交易。1.解码从Te.... 。
币界网报道:

Cosmos SDK设计概况

Cosmos SDK是一个在Tendermint基础上来安全开发状态机的区块链框架。SDK在核心使用Go语言开发的ABCI接口的模块。它包括了一个持久化数据存储multistore数据存储模块和处理交易的router路由模块。

下面是一个简化的流程,当交易通过DeliverTx从Tendermint发送时基于Cosmos SDK构建的顶层应用如何处理交易。

1.解码从Tendermint共识引擎收到的交易(记住在Tendermint上仅仅处理的是字节)。

2.从交易中提取消息,并进行基本的正常检查。

3.将每条消息通过路由传递到适当的模块,以便对其进行处理。

4.提交状态更改。

应用程序还允许创建交易,对它们进行编码,并将它们传递给底层Tendermint引擎来广播它们。

Baseapp

baseApp是Cosmos SDK ABCI接口的案例实现,它还包含一个router去将交易路由到它们各自的模块处理。你的应用程序的主程序文件app.go将会自定义你的app类型来嵌入baseapp。通过这种方法,你的自定义app 类型将会自动继承baseapp的ABCI方法。了解这个例子请看SDK 应用教程。

base app的目标是在存储和可扩展的状态机之间提供一个安全的接口,同时尽可能少地定义状态机(保持对ABCI的原生性)。

想要了解更多baseapp,请点击这。

Multistore

Cosmos SDK提供多种方式存储来实现持久化存储。多种存储方式意味着允许开发者声明任意数量的KVStores。KVStores存储只接受字节类型数组([]BYTE)的值。也就是说,任何自定义的数据结构在被存储前都需要使用go-amino进行序列化。

Multistore抽象上来说被用来将状态划分为不同的分区,每一个分区有自己的模块来管理。想要了解更多Multistore,请点击这儿。

Modules

Cosmos SDK的强大之处在于它的模块化,SDK应用被一堆可互操作的模块构建。每个模块定义了状态的子集和包含了与自己有关的消息/交易处理程序,而SDK负责将每一个消息路由到与它们有关的模块。

这是一个简单的流程图,当接受到一个可用的区块时,每一个全节点的应用如何处理交易过程。

(译者注:交易由Tendermint engine通过DeliverTx发送到应用程序,应用程序通过baseapp的方法解码字节数组,提取消息,分发到不同路由模块,模块处理消息更新状态,返回成功结果到Tendermint)

每一个模块都可以被视为最小的状态机。开发者需要定义每一个模块可以处理的状态的子集,同样需要自定义修改状态的消息类型(注意:消息使用baseapp的方法从交易中提取)。在实践中,每一个模块通常都声明它们自己的键值存储KVStore在multistore中实现状态子集的持久存储。绝大多数开发者在开发自己的模块时会需要引入第三方模块,考虑到Cosmos-SDK是一个开放的框架,一些模块可能是恶意的,这意味着需要一些安全规则来控制模块之间的交互。这些原则基于面向对象,在实践中,这意味着不是为每个模块保留一个其他模块可以访问控制的列表,而是每一个模块实现一个被叫做keeper的特殊对象,通过预先定义的功能来传递给其他模块。

SDK模块在SDK的x/文件夹中定义。一些核心模块包括:

x/auth:用于管理帐户和签名。

x/bank:用于启用代币和实现代币转移。

x/staking + x/slashing:用于构建POS区块链

除了x/中已经存在的模块(任何人都可以在其应用程序中使用)之外,SDK还允许您构建自己的自定义模块。您可以在本教程中查看该示例。

接下来,了解有关Cosmos SDK的OCAP的安全模型的更多信息

原文地址:

发表评论
发表评论
暂无评论
    相关阅读
    Arcana Network推出了其链抽象SDK,旨在为开发人员和用户简化多链体验。这种创新
    区块链
    2025-01-07 23:05:38
    一位备受关注的加密货币分析师表示,以支付为重点的山寨币XRP可能正在形成一种看涨的技术模式,这可能会导致指数级突破。
    区块链
    2025-01-06 18:16:25
    Metaplanet大胆的比特币战略对2025年的加密货币市场意味着什么?
    比特币
    2025-01-06 17:47:55
    Sam Altman强调了OpenAI今年准备建立AGI,因为Vitalik Buterin警告说需要强大的安全机制。
    区块链
    2025-01-06 12:03:02
    百度Teiba论坛上发布的一篇新的Nintendo Switch 2泄漏内容包括图像和视频,揭示了即将推出的游戏机Joycon控制器的新细节。
    区块链
    2025-01-06 06:44:00
    推荐专栏
    热门币种
    更多
    币种
    美元价格
    24H涨跌幅
    BTC比特币
    60,963.61 USDT
    ¥435,103.38
    -2.72%
    ETH以太坊
    3,368.69 USDT
    ¥24,042.67
    -0.3%
    BNB币安币
    570.68 USDT
    ¥4,073.00
    -0.28%
    USDT泰达币
    1.02 USDT
    ¥7.25
    -0.19%
    SOL
    135.96 USDT
    ¥970.36
    +7.66%
    USDC
    1.00 USDT
    ¥7.15
    -0.01%
    TON
    7.59 USDT
    ¥54.14
    +4.55%
    XRP瑞波币
    0.47720 USDT
    ¥3.41
    +0.48%
    DOGE狗狗币
    0.12210 USDT
    ¥0.87140
    +2.43%
    ADA艾达币
    0.39050 USDT
    ¥2.79
    +3.88%
    热搜币种
    更多
    币种
    美元价格
    24H涨跌幅
    狗狗币
    0.3509 USDT
    ¥2.57
    -10.37%
    Filecoin
    5.3099 USDT
    ¥38.93
    -10.51%
    比特币
    96335.88 USDT
    ¥706,296.14
    -5.35%
    Gatechain Token
    17.605 USDT
    ¥129.07
    -4.83%
    Horizen
    22.964 USDT
    ¥168.36
    -18.07%
    dYdX
    1.4002 USDT
    ¥10.27
    -13.41%
    柚子
    0.8079 USDT
    ¥5.92
    -10.76%
    Solana
    197.41 USDT
    ¥1,447.33
    -8.85%
    Shiba Inu
    2.162E-5 USDT
    ¥0.00
    -9.84%
    艾达币
    0.9911 USDT
    ¥7.27
    -8.86%
    火币积分
    0.926 USDT
    ¥6.79
    -29.52%
    Fantom
    0.6737 USDT
    ¥4.94
    -13.07%
    最新快讯
    更多
    外媒:2024年Telegram响应900项美国用户数据查询请求
    2025-01-08 12:49:08
    Upbit24小时现货交易量排行:XRP、BTG、BTC位居前三
    2025-01-08 12:48:52
    某新建钱包从币安提取562万美元THE
    2025-01-08 12:45:07
    币界网实时价格午报:ARB报0.8003美元/枚,跌幅达-3.51%
    2025-01-08 12:43:31
    币安上押注BTC上涨交易者占比达61.28%
    2025-01-08 12:42:22
    Bitwise研究主管:比特币与标普500指数相关性回升,背离趋势转变
    2025-01-08 12:35:25
    KULRCEO:比特币或在2025年迎来20万美元的周期顶部,国家战略储备是最大的催化剂
    2025-01-08 12:35:13