We’re from Eiger, and since June we have been working on a pallet which will enable anyone to run Move smart contracts in the Polkadot ecosystem.
Move originated from Facebook as a programming language intended to power the Diem blockchain. Nowadays Move powers high profile blockchains like Aptos and Sui.
We believe that by bringing the MoveVM inside the Substrate stack and making it available to anyone in the Polkadot ecosystem by building a Move parachain, we can extend the computational capabilities of the network. Doesn’t matter what ecosystem they come from, the supercomputer welcomes all developers, languages and programs.
- MoveVM Substrate Pallet Development: The core objective revolves around creating the MoveVM Substrate pallet, which will serve as a bridge between the Substrate and the Move VM. This enables the execution of Move smart contracts on Substrate blockchains.
- Seamless Integration: We aim to ensure a smooth and intuitive integration process for Substrate developers. The pallet will be designed to seamlessly mesh with existing Substrate frameworks, enhancing the experience of incorporating Move smart contracts.
- Compatibility and Flexibility: Our project emphasizes compatibility with a range of Substrate blockchains. The pallet will be designed with flexibility in mind, accommodating diverse use cases and scenarios.
- Documentation and Education: We recognize the importance of clear documentation and educational resources. As part of the project, we intend to provide comprehensive guides and resources to facilitate the adoption of Move smart contracts on Substrate blockchains.
- Run the pallet in the real-world parachain: The most important is to make the whole Community benefit from our work. Thus, running a parachain capable of executing smart contracts is our priority and long-term objective.
Our current work is focused on the pallet development and we are close to completing that milestone. Next we would like to start development of the parachain but before that we’d like your thoughts and valuable feedback on this topic.
Read more about the design of our solution: https://github.com/eigerco/pallet-move/blob/436e666fba4c28fff6924d93e0d64585d96ad08e/doc/design.md
Keep track of our progress:
Wasm-compatible MoveVM: https://github.com/eigerco/substrate-move
Very excited to see this! I wonder if when the MoveVM pallet is complete it would be possible to try using Aptos’s Block-STM implementation for parallel execution?
@sophia, thank you for the kind words!
MoveVM is intended to work as a pallet inside the Substrate runtime. The runtime does not support parallel execution. Well, at least officially - the
sp_tasks package is marked experimental.
So, unless Substrate supports production-stage tasks/threads, we probably can’t use
block-executor directly as it demands running jobs in parallel.
We’ll keep an eye on that topic, especially when trying to focus on a parachain with the MoveVM pallet utilized.
This is an awesome development to see get further! I was long a slight skeptic of move being more marketing than substance, but after taking an actual technical dive - it’s just incredibly impressive.
I urge anyone with doubts to read this Smart Contract Development — Move vs. Rust | by Krešimir Klas | Medium or just let chatgpt ingest it and ask questions.
The way move has been designed seems to solve so many issues smart contract developers have had in the past, that I truly think this is one big move to make polkadot even more long term proof.
Rushi is a huge move advocate, it’s great to see him bring his following over to Polkadot - shows why modularism enabled by substrate pallets is so strong. In the tweet he does erroneously mention that I somehow built this - I am not even a developer
Like I said, I am also excited about move - so I definitely tried to nudge the Eiger team towards working on this, but I had no part in the team or actual project itself - that’s all on them!
Hey, Daren from Eiger here. Just to clarify Joakim has been pushing for the idea but he has no involvement with this project, which is entirely owned and executed by our team at Eiger so the linked tweet is inaccurate in assigning ownership.
Interesting post, Move came out of the facebook engineers that worked on facebook’s Libra project. Is the pallet being used by any live chain?
@RustSyndicate it’s not used by any chain right now as it’s currently under heavy development. We’re heading now towards finishing the second milestone of our work. However, we are very open to anyone who would like to implement Move in his parachain, and even now, we are ready to talk about the possible use cases.
This is a quick update from our side.
We’re finishing our next milestone in a couple of weeks from now. We expect a working pallet capable of storing Move modules and executing scripts.
We’re also preparing a testing node codebase for those who would like to check Move pallet capabilities and share some feedback with us and the community.
Thanks for the clarification!