Skip to content

Commit

Permalink
Merge PR #5324: Fix links to ocap
Browse files Browse the repository at this point in the history
  • Loading branch information
paul121 authored and jackzampolin committed Nov 18, 2019
1 parent 08ce57b commit bb221a5
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/intro/sdk-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Here is a simplified view of how a transaction is processed by the application o
v
```

Each module can be seen as a little state-machine. Developers need to define the subset of the state handled by the module, as well as custom message types that modify the state (*Note:* `messages` are extracted from `transactions` using `baseapp`). In general, each module declares its own `KVStore` in the multistore to persist the subset of the state it defines. Most developers will need to access other 3rd party modules when building their own modules. Given that the Cosmos-SDK is an open framework, some of the modules may be malicious, which means there is a need for security principles to reason about inter-module interactions. These principles are based on [object-capabilities](../coore/ocap.md). In practice, this means that instead of having each module keep an access control list for other modules, each module implements special objects called `keepers` that can be passed to other modules to grant a pre-defined set of capabilities.
Each module can be seen as a little state-machine. Developers need to define the subset of the state handled by the module, as well as custom message types that modify the state (*Note:* `messages` are extracted from `transactions` using `baseapp`). In general, each module declares its own `KVStore` in the multistore to persist the subset of the state it defines. Most developers will need to access other 3rd party modules when building their own modules. Given that the Cosmos-SDK is an open framework, some of the modules may be malicious, which means there is a need for security principles to reason about inter-module interactions. These principles are based on [object-capabilities](../core/ocap.md). In practice, this means that instead of having each module keep an access control list for other modules, each module implements special objects called `keepers` that can be passed to other modules to grant a pre-defined set of capabilities.

SDK modules are defined in the `x/` folder of the SDK. Some core modules include:

Expand All @@ -91,4 +91,4 @@ SDK modules are defined in the `x/` folder of the SDK. Some core modules include
In addition to the already existing modules in `x/`, that anyone can use in their app, the SDK lets you build your own custom modules. You can check an [example of that in the tutorial](https://cosmos.network/docs/tutorial/keeper.html).


### Next, learn more about the security model of the Cosmos SDK, [ocap](./ocap.md)
### Next, learn more about the security model of the Cosmos SDK, [ocap](../core/ocap.md)

0 comments on commit bb221a5

Please sign in to comment.