Skip to main content

Supported Wasm Languages

Polywrap aims to support many languages for Wasm wrapper development.

A Wasm wrapper can seamlessly interact with any other wrapper, regardless of their implementation languages. This fact leads to many exciting possibilities. For example, Wasm wrappers can be treated as individual modules in a multi-wrapper project. In such a project, each wrapper module could be written in a different language and the other wrappers wouldn't know the difference.

Demos#

LanguageHello WorldSimple StorageJSON RPCSubgraph Query
asAssemblyScriptSourceSourceSourceSource
rsRustSourceSourceSourceSource
rsTinyGo (Coming Soon)............

Choosing a language#

The choice of language(s) for your project may depend on a variety of factors. Here we provide a brief description of each supported language to aid you in your decision.

tip

Each supported wasm development language may have its own quirks when compiling to WebAssembly. Please reference the documentation available for your language of choice.

as AssemblyScript#

AssemblyScript is an easy-to-learn language with syntax similar to TypeScript. It is a relatively new language designed for WebAssembly. AssemblyScript is a garbage-collected language, simplifying the developer experience. Due to its newness, it has a comparatively small ecosystem and lacks some features found in more mature languages.

Featured Wrappers#

rs Rust#

Rust is a systems programming language with modern features. In 2021, it was rated the #1 most loved language in StackOverflow's annual Developer Survey for the sixth year in a row. Rust implements a new kind of memory management that eliminates most errors related to memory and concurrency without manual memory allocation or garbage collection.

Featured Wrappers#

  • Substrate (Coming Soon) - Interact with Substrate based blockchains