WASM Support and Language Perferences


Following up to conversations about Web Assembly and its support by Harmony.
This is a generic topic about Harmony’s vision for WASM and specifically whether there is perceived advantages of writing Web Assembly in a specific language? (i.e. rust of go vs solidity)



Handy WASM Links

https://github.com/perlin-network/life (GO)
https://github.com/paritytech/wasmi (Parity Tech WASMI)
Adex protocol on Cosmos
Preparing to build on Polkadot
Conversation on Matrix


Hey @john,

Really glad you’re opening up this topic. I am not sure about the advantages of writing WA in Rust or Go versus Solidity. We need some language and compiler guys in here! I’m looking at you @stse!

My best guess is that you would need to write in a functional programming language for formal verification. So Rust would be better for contracts. But I think Go’s primary advantages are in distributed systems which wouldn’t be relevant for smart contract contexts, so I don’t think one would choose to use Go for if you’re writing for WASM smart contracts.

The choice of the language depends on the end application I guess. What are your thoughts?