Web Assembly
I did a write up Web Assembly when i first took a look at it on my blog.
High Level
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications — Web Assembly Home Page
Microcontrollers
I think web assembly also has an interesting role to play in the microcontroller space.
I'm specifically interested in this because it will allow for sandboxed apps on a microcontroller that would also easily run in a different environment (e.g. the browser).
It's also dynamically loadable. So, you could send a wasm file from one microcontroller to another and run it.
Web Assembly Interpreter
https://github.com/wasm3/wasm3
| name | size | |---------|-----| | wasm.h | 18KB |
an example of a wasm vm on a microcontroller
Smart Contracts
It seems several major smart contract crypto currencies are moving to a wasm vm.