Closed PaulFidika closed 6 months ago
Our current stance is that we provide a low-level WASM runtime, and allow higher-level languages to be implemented by compilation to WASM. That's how JavaScript and EVM work on NEAR.
Building a Move VM to run on NEAR via WASM would be an awesome project! Luckily, it doesn't need any first-class support on the protocol level.
Once we know which of Move, Cadence, etc languages wins the mindshare, we can consider adding first-class support for it for better performance.
Okay that's great news! I think Move will be a great language for smart contracts in the near future.
If anyone wants to take a crack at "Move via WebAssembly" approach outlined above, feel free to reach out to pagoda/contract-runtime on Zulip. I'll also tag this as good-fist-issue -- this is quite an ambitious project, but indeed something that doesn't require a lot of context :D
I'm cleaning up old GitHub issues and I don't think we plan to work on this, so closing for now.
I think the possibility of adding the Move VM to NEAR's runtime should be seriously considered. JavaScript / Typescript are a poor choice for writing mission-critical business logic; I have no idea why effort is being wasted trying to develop this. Whereas Move was explicitly designed for blockchains. Move bytecode can be formally verified, ensuring the correctness of your programs. I believe in a few years Move, Cadence, or other (yet to be created) resource-oriented programming languages will replace Solidity and Rust for blockchain logic.
I believe other blockchains like Solana will soon be adding the Move VM to their runtimes, so NEAR should seriously consider it too:
https://github.com/solana-labs/solana/blob/5399faaf5367430b5e1451f0d9fd92c87d725171/docs/src/proposals/embedding-move.md