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:
- Generate types & APIs for ink! v6 using dedot cli
- Deploy contracts & calculate contract address
- Send contract queries
- Sign and submitting contract transactions
- Retrieve contract storage via Storage API
- Listen to & work with fully-typed contract events
- 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.
- Drop us a line about any issues on our GitHub repository
- Come chat with us in our Telegram community - we love hearing from you!
- Contact me directly on Telegram at realsinzii if you want a direct discussion!
Dedot - Delightful JavaScript/TypeScript client for Polkadot & Polkadot SDK-based blockchains