Creating hello-world.wasm

There are a number of ways to create .wasm files but for the purposes of this tutorial, we'll be using the Rust toolchain. You can find more information on creating .wasm files from other languages in the Writing WebAssembly section.

To build WebAssembly binaries with Rust, you'll need the standard Rust toolchain.

Follow these instructions to install rustc, rustup and cargo

Next, you should add WebAssembly as a build target for cargo like so:

$ rustup target add wasm32-wasi

Finally, create a new Rust project called 'hello-world'. You can do this by running:

$ cargo new hello-world

After that, the hello-world folder should look like this.

├── Cargo.lock
├── Cargo.toml
└── src

And the file inside the src folder should contain the following rust code.

fn main() {
    println!("Hello, world!");

Now, we can tell cargo to build a WebAssembly file:

$ cargo build --target wasm32-wasi

Now, in the target folder, there's a hello-world.wasm file. You can find it here:

├── Cargo.lock
├── Cargo.toml
├── src
└── target
   └── ...
   └── wasm32-wasi
      └── debug
         └── ...
         └── hello-world.wasm