Landslide
  • 👋Landslide
  • Github
  • Product Guides
    • 🏄Slide SDK
      • Run Landslide Locally
        • How to setup Slide SDK locally
        • Conect your wallet to a local network
        • How to deploy a CosmWasm contract
      • Run Landslide on Testnet
        • How to connect Cosmostation
      • License
      • Security Audit
    • 🦄Landslide EVM
    • ⚙️IBC Light Client
      • Relayer Operator Guide
      • Chain integrators guide
        • Lower than v0.50
        • Higher than v0.50
      • IBC Connection
      • IBC Go
      • IBC Relayer AVAX L1 Proof
    • 🔌RPC
    • 🔄API endpoints
    • ⏭️Avalanche Warp Messaging
  • Integrations
    • 🚀Building with Andromeda
    • ⚛️Connecting Existing Cosmos dApps to Avalanche
      • Case Study: Osmosis
      • ABCI Calls
  • FAQ
    • 🤓FAQ
    • 🛣️Roadmap
  • Overview
    • 💡What is CometBFT?
    • 💡What is Avalanche Consensus?
    • ✨Features
  • Fundamentals
    • 🛠️Getting set up
  • Roadmap
    • 🤝Interchain Staking
Powered by GitBook
LogoLogo

Links

  • Home
  • Twitter

©2024 Gaia Labs LTD

On this page

Was this helpful?

Export as PDF
  1. Product Guides
  2. Slide SDK
  3. WasmVM

Storage Indexing

Allows dApps to support all DB methods from WasmVM

Last updated 2 years ago

Was this helpful?

The below chart illustrates the flow of data and dependencies between the LandslideCoreVM and CosmWasm, a Go module for executing WebAssembly (WASM) smart contracts on the CosmosSDK. The chart shows that the LandslideCoreVM is built on top of the CosmWasm module, which in turn depends on the WasmVM Go module for executing the smart contracts. The WasmVM module relies on the libWasmVM Rust library, which is compiled as a C library, and is ultimately used by the CosmWasmVM Rust library for executing WASM smart contracts.

With these components in place, the LandslideCoreVM can support all DB methods from WasmVM, providing an efficient and flexible platform for executing smart contracts on the Avalanche network.

The below chart illustrates how a Wasm smart contract can make use of DB methods. When a Wasm smart contract calls the storage.set() method, it triggers a call to the db.write() method in the STD library. From there, the CosmWasm VM method do_db_write is called, which in turn calls the store.set() method in libWasmVM Rust compiled as C library. Finally, this results in a call to the database, represented by the database node in the chart.

This chain of calls demonstrates how DB methods are utilized by Wasm smart contracts in the Cosmos ecosystem.

🏄
🌻
WasmVM