Dedot Now Supports pallet-revive and ink! v6 through Ink!ubator 2.0

We’re thrilled to announce that Dedot has officially added support for pallet-revive & ink! v6 interaction in the latest version (v0.13.x)! This significant milestone expands Dedot’s contract compatibility to support both WASM and RISC-V based execution environments, providing developers with flexible deployment options while maintaining the familiar developer-friendly approach that Dedot is known for.

With this integration, Dedot now offers comprehensive smart contract support across multiple execution environments within the Polkadot ecosystem, enabling developers to choose the most suitable runtime for their specific use cases while enjoying a consistent development experience.

We want to give a huge shoutout to the Ink!ubator 2.0 program for their amazing support and funding, and a special thanks to @alexd10s from R0GUE for being such an incredible help throughout this integration!

Important Notes:

  • Backward Compatible: This new integration is fully backward compatible with pallet-contracts and previous ink! versions (v4, v5)

  • Unified Interface: We’re using a unified interface for both pallet-revive and pallet-contracts under the dedot/contracts package. Dedot automatically detects the ink! version from the contract metadata to perform initial validation and interact with the corresponding pallet interfaces:

    • ink! v4 & v5 → pallet-contracts (WASM-based execution)
    • ink! v6 → pallet-revive (RISC-V based execution)
  • Address Format Changes: There are slight breaking changes in interfaces/API to support both EVM addresses (20 bytes) and Substrate addresses (32 bytes), depending on the ink! contract version you’re interacting with:

    • ink! v4 & v5 contracts use Substrate addresses (32 bytes)
    • ink! v6 contracts use EVM addresses (20 bytes)

Getting started now

Here’s what you can do to start interacting with ink! v6 now in Dedot:

  1. Generate types & APIs for ink! v6 using dedot cli
  2. Deploy contracts & calculate contract address
  3. Send contract queries
  4. Sign and submitting contract transactions
  5. Retrieve contract storage via Storage API
  6. Listen to & work with fully-typed contract events
  7. Handling errors

Some examples to interact with ink! v6 contracts in Dedot repository:

Conclusion

We’d love for you to give it a try and let us know what you think! Your thoughts and experiences mean the world to us and really help shape how we continue improving this integration.


Dedot - Delightful JavaScript/TypeScript client for Polkadot & Polkadot SDK-based blockchains

15 Likes

Thanks @sinzii. Great developer experience for building frontends for ink! smart contracts.

For anyone getting started with ink! v6, be sure to check out the official docs and the example projects linked above (flipper, PSP22). They’re a great way to get hands-on quickly and start experimenting with smart contract development and integration.

1 Like