Ethereum flavored WebAssembly (Ewasm)
Ewasm is the next generation Ethereum virtual machine.
Last updated
Was this helpful?
Ewasm is the next generation Ethereum virtual machine.
Last updated
Was this helpful?
The Ewasm is the future of Ethereum smart contracts and applications. It is highly-efficient, supported by the mainstream tech communities, and could support more programming languages on the frontend.
Here is a written in Solidity. Compiling it with the , you will get a file. Then, convert it to so that we can deploy via web3 JavaScript.
This file is an ERC20 contract written in Solidity.
This file is a wasm file generate from erc20.sol
by
Command to generate wasm file: soll -deploy=Normal erc20.sol
To deploy wasm file to our node, we need to convert erc20.wasm
to hex.
Command to generate hex file: xxd -p erc20.wasm | tr -d $'\n' > erc20.hex
The Node.js application deploys the ERC20 smart contract to the mainnet node. It uses the HEX bytecode from SOLL, as well as the private key from a known address to pay for "gas", and then initiate a coin transfer transaction.
This is just a taste of the future. As Ewasm evolves, we will see many more smart contracts and dapps written in WebAssembly in the future.
The Node.js application makes a transfer from the ERC20 contract we just created. It transfers from the contract creator's address, which we know the private key of, to another address, and then prints the balance. The first argument is the ERC20 contract address, the second argument is the TO address that receives the ERC20 tokens, and the third argument is the amount of ERC20 tokens to transfer.