11 lines
1.6 KiB
Markdown
11 lines
1.6 KiB
Markdown
|
## SDK介绍
|
|||
|
|
|||
|
[Cosmos-SDK](https://github.com/cosmos/cosmos-sdk) 是一个架构,用于构建多资产股权证明(PoS)的区块链,比如Cosmos Hub,以及权益证明(PoA)的区块链。
|
|||
|
|
|||
|
Cosmos SDK的目标是允许开发者从头开始轻松创建原生就能同其他区块链相互操作的自定义区块链。我们设想SDK是类似于npm这样的框架,以在[Tendermint](https://github.com/tendermint/tendermint)之上构建安全的区块链应用程序。
|
|||
|
|
|||
|
它基于两个主要原则:
|
|||
|
+ **可组合性** :任何人都可以为Cosmos-SDK创建模块,并且集成已经构建的模块就像将它们导入你的区块链应用程序那样简单。
|
|||
|
+ **能力** :SDK受基于功能的安全性的启发,及多年来解决区块链状态机的经验。大多数开发人员在构建自己的模块时需要访问其他第三方模块。鉴于Cosmos-SDK是一个开放框架,一些模块可能是恶意的,这意味着需要安全原则来推理模块间的交互。这些原则基于对象能力。实际上,这意味着不是让每个模块保留其他模块的访问控制列表,而是每个模块都实现称为keeper的特殊对象,这些对象可以传递给其他模块以授予预先定义的一组功能。例如,如果模块A的keeper的实例被传递给模块B,则后者将能够调用一些受限制的模块A的函数。每个keeper的功能由模块的开发人员定义,开发人员需要根据传递到每个第三方模块的功能来理解和审计第三方模块外部代码的安全性。要深入了解请跳转到[本节](./ocap.md)。
|
|||
|
|
|||
|
### 接着,学习[SDK应用程序架构](./sdk-app-architecture.md)
|