The Ethereum-AssemblyScript project (etherts
for short) aims to develop a robust set of tools to allow the development, testing, and deployment of Ethereum smart contracts using AssemblyScript.
AssemblyScript is a subset of TypeScript, a flavor of strictly-typed JavaScript. It compiles directly to "lean, mean WebAssembly modules." It should look and feel quite similar to any JavaScript developer, and is also a natural fit for Wasm since the Wasm runtime is based on the JavaScript runtime. It also uses existing JavaScript tooling such as npm
.
Etherts uses existing AssemblyScript tooling. Check out the Getting started section in the main AS repo as a starting point.
An AssemblyScript contract interacts with Ethereum through the use of imported host functions which implement each of the EEI (Ethereum environment interface) methods. Each EEI method is made available as an import from the ethereum
namespace and has the same method signature as described in the design doc.
The etherts project is maintained by the Ewasm team. Please see Ewasm testnet contributing for information on joining or contributing to the project.