Skip to content

Commit

Permalink
Post-review fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
hashedone committed Aug 12, 2024
1 parent 68fe011 commit a0db0c8
Showing 1 changed file with 17 additions and 25 deletions.
42 changes: 17 additions & 25 deletions src/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,34 @@ tags: ["intro"]
---

The [x/wasm module](https://github.com/CosmWasm/wasmd/tree/main/x/wasm), the root of CosmWasm, is a
[Cosmos SDK](https://docs.cosmos.network/) module enabling smart contracts to execute on the Wasm
virtual machine. It is a bridge between Cosmos chain and the
[WasmWM](https://github.com/CosmWasm/wasmvm) executing the smart contracts. CosmWasm itself is the
whole ecosystem built around it with a mission to make smart contracts development easy and
reliable. The focuses of the CosmWasm platform are security, performance, and interoperability.
[Cosmos SDK](https://docs.cosmos.network/) module enabling smart contracts to execute on the [Wasmer](https://wasmer.io/) virtual machine.
It is a bridge between Cosmos chain and the [WasmWM](https://github.com/CosmWasm/wasmvm) executing the smart contracts.
CosmWasm itself is the whole ecosystem built around it with a mission to make smart contracts development easy and reliable.
The focuses of the CosmWasm platform are security, performance, and interoperability.

We chose to target a Rust programming language as a smart contract development stack, as it has the
best Wasm compiler on the market so far. As of today, we do not provide bindings to help write smart
contracts in another stack that compiles to Wasm, and we don't support that.
We chose to target a Rust programming language as a smart contract development stack, as it has the best Wasm compiler on the
market so far. We do not provide bindings to help write smart contracts in another stack that compiles to Wasm, and we don't support that.

Here is where to find CosmWasm in the whole Cosmos stack:

```mermaid
erDiagram
"Cosmos SDK" ||--|| BFT: Uses
"Cosmos SDK" ||--|| "Wasm/WasmWM": Includes
"Cosmos SDK" ||--|| "CosmWasm Wasm/WasmWM": Includes
"Cosmos SDK" ||--o{ "Custom Module" : Includes
"Wasm/WasmWM" ||--o{ "Smart Contract": Executes
"Wasm/WasmWM" ||--o{ "CoscWasm Smart Contract": Executes
```

The important thing about CosmWasm smart contracts is their transparency. Even though they are
executed by the chain node application using the WasmVM module, they are written to hide their
dependency on it. Every smart contract instance has its unique address on the chain, and it can act
just like any other chain client. It is easy to implement communication between two smart contracts
on the same chain. CosmWasm standard library provides simple utilities to communicate with
non-CosmWasm modules on the chain. That includes common Cosmos modules like bank or staking and any
custom module unique for a particular chain. Finally, CosmWasm is built around the
[IBC](https://www.ibcprotocol.dev/), and it provides simple entities for communication with remote
chains using IBC-based protocols and talk directly to smart contracts instantiated on remote chains
with the IBC packages.

This documentation already covers most of the stack. Still, some parts are a work in progress. If
there is something you remember being here in the old documentation, you can find its content at
https://github.com/CosmWasm/docs-deprecated. Remember that the old documentation is deprecated,
mostly outdated, and will not be maintained. We would appreciate any GitHub issues about missing
The important thing about CosmWasm smart contracts is their transparency. Every smart contract instance has its unique address on the chain,
and it can act just like any other chain client. It is easy to implement communication between two smart contracts on the same chain.
CosmWasm standard library provides simple utilities to communicate with non-CosmWasm modules on the chain. That includes common Cosmos
modules like bank or staking and any custom module unique for a particular chain.
Finally, CosmWasm is build around the [IBC](https://www.ibcprotocol.dev/) and provides a simple API to communicate with other chains and contracts using IBC-based protocols

This documentation already covers most of the stack. Still, some parts are a work in progress. If there is something you remember
being here in the old documentation, you can find its content at https://github.com/CosmWasm/docs-deprecated. Remember that the
old documentation is deprecated, mostly outdated, and will not be maintained. We would appreciate any GitHub issues about missing
parts in the [documentation repository](https://github.com/CosmWasm/docs).

It is worth noting about additional CosmWasm learning resources:
Expand Down

0 comments on commit a0db0c8

Please sign in to comment.