3

Let's say I'm going to write a simple smart-contract to be executed in wasm. Is there any inherit overhead by the language I will use? In particular I'm interested of overhead between following languages:

  • Go
  • C++
  • TypeScript
  • Rust
1

Theoretically C++ is the most efficient language, since it is the native language for wasm, no one thinks of writing assembly by hand.

Next are Rust and Go, these probably add some overhead since they provide additional help for the programmer. TypeScript would probably add the most overhead but it really depends on the use case.

There are not a lot of benchmarks since this is all quite new. You can start with whatever language you're most comfortable with and replace with C++ if needed.

Most dApps are not complicated and you can update your code even after it is deployed.

  • 1
    Just as a nitpick there is no native language for Wasm that is 100% language agnostic. EOS first generation tooling is built around C++. From virtual machine point of view the smart contract entry point is just a standard C function similar to main() . – Mikko Ohtamaa Aug 8 '18 at 11:04

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.