Skip to content

Commit

Permalink
The documentation landing (#119)
Browse files Browse the repository at this point in the history
The documentation landing.
  • Loading branch information
hashedone authored Aug 14, 2024
1 parent 9ad492d commit 28a997c
Showing 1 changed file with 39 additions and 4 deletions.
43 changes: 39 additions & 4 deletions src/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,43 @@
tags: ["intro"]
---

CosmWasm is a smart contract platform focusing on security, performance, and interoperability. It is
the only smart contracting platform for public blockchains with heavy adoption outside of the EVM
world.
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
[Wasmer](https://wasmer.io/) virtual machine. It is a bridge between Cosmos chain and the
[WasmVM](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.

Here you can find its documentation.
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" ||--|| "CosmWasm Wasm/WasmVM": Includes
"Cosmos SDK" ||--o{ "Custom Module" : Includes
"Wasm/WasmVM" ||--o{ "CosmWasm Smart Contract": Executes
```

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 built 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:

- [CosmWasm book](https://book.cosmwasm.com/)
- [Sylvia book](https://cosmwasm.github.io/sylvia-book/index.html)

0 comments on commit 28a997c

Please sign in to comment.