# Storage Mangement

## Overview

The Cosmos SDK provides a powerful key-value storage abstraction layer to the developers, making it easier to store and retrieve data in a structured and organized manner. However, the existing CosmosSDK storage layer is written in Go, which is not suitable for smart contracts written in WebAssembly (Wasm).

To address this limitation, the Cosmos SDK integrates with the CosmWasm VM, which provides a Rust-based WasmVM engine for executing Wasm smart contracts. The CosmWasm VM comes with its own storage management system that is specifically designed for smart contracts.

The storage management system in CosmWasm is based on a simple key-value store that is optimized for the needs of smart contracts. It provides efficient and secure storage for the contract state and supports all the necessary operations for creating, reading, updating, and deleting data.

With the LandslideSDK, developers can now take advantage of the CosmWasm VM storage layer in their smart contracts. They can store and retrieve data using the same key-value interface that they are familiar with in the Cosmos SDK. This makes it easier to migrate existing Cosmos SDK applications to the LandslideSDK and take advantage of its advanced features for building smart contracts.

## Storage Management <a href="#storage-management" id="storage-management"></a>

`wasmd` is the WebAssembly runtime for Cosmos SDK-based blockchains. It enables developers to write smart contracts in any language that compiles to WebAssembly, such as Rust or AssemblyScript, and deploy them on a Cosmos SDK-based chain. These smart contracts can be used to implement custom logic, create new digital assets, and enable inter-blockchain communication through the Inter-Blockchain Communication (IBC) protocol. By providing a secure and efficient way to execute code on a blockchain, wasmd opens up a wide range of possibilities for decentralized applications (dApps) and use cases on the Cosmos ecosystem.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.landslide.network/product-guides/slide-sdk/wasmvm/storage-mangement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
