Skip to content

VMs Support #185

@julienrbrt

Description

@julienrbrt

Ignite Apps should aim to provide scaffolding commands and helpers for integrating VMs in an Ignite chain (Cosmos SDK chains).

To keep the ignite vm experience consistent, each vm app should strive to have the same features:

Scaffolding:

  • Scaffold boilerplate for Cosmos SDK chain
  • Scaffold default configuration for the VM (whether it is in app.toml, app_config.go, or somewhere else)

Helpers:

  • Helper for compiling contract
  • Helper for deploying contract
  • ...

Testing:

  • Integrations tests
  • Liveness tests

Currently, 3 VMs integrations are in progress:

CosmWasm

Integrate the CosmWasm VM via the Wasmd Cosmos SDK module: https://github.com/CosmWasm/wasmd.

The scaffolding part of the app is completed: https://github.com/ignite/apps/tree/main/wasm.
The helpers remains to be developped.

EVM

Integrate the EVM via the newly open sourced Cosmos EVM module: https://github.com/cosmos/evm

The scaffolding part of the app is completed: https://github.com/ignite/apps/tree/main/evm.
The helpers remains to be developped.

GnoVM

Integrate the GnoVM with the Ignite GnoVM Cosmos SDK module

The scaffolding part of the app is completed: #238
The helpers remains to be developped.


By having all VMs have the same features, we'll be able to provide a streamlined experience across the Ignite VMs apps.

End goal is to create a page on Ignite Tutorials comparing each VMs advantages (+ native) and tradeoffs for helping users decide which one for their use case.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

To Discuss

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions