Introduction
Omnichain Applications
Omnichain Applications (OApps) are a powerful evolution of traditional smart contracts. They allow signing transactions at any chain, while traditional smart contract applications only target users of a single chain.
An example of an OApp is SpaceWard – our application functioning as the front-end interface for Warden.
Omnichain Contracts
The main part of any Omnichain Application is an Omnichain Contract: a smart contract that allows signing transactions and messages at any destination chain. For this reason, OApp development starts with building a custom Omnichain Contract.
As shown below, the Warden Protocol integrates with two external modules allowing you to execute two types of smart contracts.
EVM contracts
The x/evm
Warden module allows executing Ethereum Virtual Machine (EVM) contracts charged by Evmos. They're written in Solidity.
Existing Solidity contracts are easy to deploy on Warden, so you can seamlessly port applications from any EVM-compatible chain to Warden and reach new users.
WASM contracts
The x/wasm
Warden module allows executing WebAssembly smart contracts developed with CosmWasm and Rust.
Section overview
-
Examples of OApps
Here you can find a full list of available OApps. -
Deploy smart contracts on Warden
Get started with OApps: deploy a basic WASM or EVM smart contract on Warden. -
Call Warden modules in a smart contract
Call Warden modules in your contract to access Warden-specific features such as managing Spaces and Keychains, creating Rules, getting data from oracles, and so on. -
Precompiles
Warden precompiles allow you to call Warden modules in EVM contracts. Browse this section to discover full lists of methods available for each precompile. -
Build with WardenJS
Here you'll find information on WardenJS – a tool used for building the frontend part of your application.