# Built with AssemblyScript
A place for all things AssemblyScript. Feel free to add your projects and applications.
# Benchmarks
- Wasm Mandelbrot (opens new window) (demo (opens new window))
A mandelbrot rendered using a variety of WebAssembly tools (emscripten, AssemblyScript, asm.js, etc ...) - WasmBoy Benchmark (opens new window)
Benchmarking WasmBoy emulator. - webassembly-wave (opens new window) (demo (opens new window))
JavaScript vs WebAssembly performance comparison - wave equation demo (JS, C++, AssemblyScript). - Sort Colors Benchmark (opens new window) (demo (opens new window))
Bench of sorting random colors by hue component on 2d canvas. - wasm-n-body (opens new window)
WebAssembly N-body simulation benchmark (use 1000 bodies compare to original). - as-benchmarks (opens new window) (demo (opens new window))
A set of computational benchmarks (JS, AssemblyScript).
# Blockchain
- ASContract / subscript (opens new window)
Substrate smart contract framework written in AssemblyScript. - eWasm / Biturbo (opens new window)
Eth1 EE using Turboproofs. - ewasm / scout.ts (opens new window)
Scout is a Ethereum 2.0 Phase 2 execution prototyping engine (AssemblyScript Port). - NearProtocol / near-sdk-as (opens new window)
AssemblyScript tools for writing smart contracts for NearProtocol. - GraphProtocol / graph-ts (opens new window)
TypeScript/AssemblyScript library for writing mappings for The Graph (opens new window). - ChainSafe / as-sha256 (opens new window)
AssemblyScript implementation of SHA256 for Lodestar (opens new window). - ParityTech / srml-contracts-waterfall (opens new window)
Collection of simple Substrate smart contract examples written in Rust and AssemblyScript and tests for Substrates SRML Contracts module. - CasperLabs / contract-as (opens new window)
AssemblyScript smart contracting library for the CasperLabs protocol.
# Build Tools
- Zwitterion (opens new window)
A web dev server that lets you import anything*. - rollup-plugin-assemblyscript (opens new window)
A Rollup plugin that allows you to import AssemblyScript files and compiles them on-the-fly. - visitor-as (opens new window)
Tools for creating compiler transformers.
# Editors
- WebAssembly Studio (opens new window)
Learn, Teach, Work and Play in the WebAssembly Studio. - Fastly Terrarium (opens new window)
A compilation toolchain and sandbox to run WebAssembly server-side, with native support for AssemblyScript. - NEAR Protocol Examples (opens new window)
Examples that use GitPod (opens new window) to develop and deploy distributed web apps using NEAR smart contracts authored in AssemblyScript. - Iodide Notebook (opens new window)
Experimental tool for scientific communication and exploration on the web (more (opens new window)).
# Emulators
- wasmBoy (opens new window) (demo (opens new window))
Game Boy / Game Boy Color Emulator Library, written for WebAssembly using AssemblyScript. - Atari 2600 (opens new window)
An Atari 2600 emulator written in AssemblyScript compiled to WebAssembly. - as-spectrum-engine (opens new window)
AssemblyScript implementation of a ZX Spectrum emulator engine.
# Games
- Chess (opens new window) (play (opens new window))
A free and open source chess game using AssemblyScript and React. - Gomoku WASM (opens new window) (play (opens new window))
A Gomoku game implements with WebAssembly using as2d (opens new window).
# Graphics
- as2d (opens new window)
Bring the power of the CanvasRenderingContext2D prototype to AssemblyScript. - as-smallpt (opens new window)
Port of C++ smallpt, a path tracing renderer. - Babylon.Font (opens new window)
Create 3d text in BabylonJS. - seam-carving-as (opens new window)
Seam Carving experiments with AssemblyScript.
# Libraries
- AS-LZMA (opens new window)
LZMA Decoder written in AssemblyScript. - assemblyscript-bson (opens new window)
BSON encoder / decoder. - assemblyscript-json (opens new window)
JSON encoder / decoder. - as-bignum (opens new window) (formerly bignum.wasm)
Fixed length big numbers likeu128
,i256
,fp128
and etc for AssemblyScript. - ASTL (opens new window)
Migration project from C++ STL (Standard Template Library) to AssemblyScript. Containers, iterators, algorithms and functors are supported. - Levenshtein Wasm (opens new window)
An experimental lightning-fast Wasm-compiled levenshtein library. - superfasthash (opens new window)
An implementation of the SuperFastHash non-cryptographic hashing algorithm in JavaScript and WebAssembly. - as-wasi (opens new window)
An AssemblyScript API layer for WASI system calls. - WASM-Crypto (opens new window)
An AssemblyScript set of cryptographic primitives for building authentication and key exchange protocols. - rabin-wasm (opens new window)
Rabin fingerprinting implemented in WASM (used by js-ipfs). - galois (opens new window)
Arithmetic and polynomial operations in finite fields. - merkle (opens new window)
Merkle tree and other data structures. - xoroshiro128starstar (opens new window)
An AssemblyScript port of xoroshiro128starstar.c - pixelmatch-asc (opens new window)
Pixel level image comparison library. - as-bind (opens new window)
Isomorphic library to handle passing high-level data structures between AssemblyScript and JavaScript, built on top of the AssemblyScript loader. - wasmer-as (opens new window)
Helpers for dealing with assemblyscript memory inside wasmer-runtime. - wasmbind (opens new window)
Work with AssemblyScript memory and classes from Python. - io-devices-lib (opens new window)
Library for interacting with the Wasmer Experimental IO Devices.
# Embedded / IoT
- wasm3-arduino (opens new window)
Usage example with wasm3 which run on Arduino, PlatformIO, Particle. - Wasm3_RGB_Lamp (opens new window)
Animating an RGB lamp, using WebAssembly (AssemblyScript). - wasm-arduino-wifi (opens new window)
Example how update WebAssembly via WiFi on arduino.
# Testing
- as-pect (opens new window)
A test framework for AssemblyScript inspired by jest.
# Project Templates
- worker-assemblyscript-template (opens new window)
A Cloudflare wrangler template for a AssemblyScript worker.
# Other
- wasm-matrix (opens new window)
A Matrix effect in your terminal using AssemblyScript and WASI, deployed to WAPM. - WebAssembly music experiment (opens new window)
A live coding environment in the browser for sequencing music with javascript and synthesizing instruments in AssemblyScript. Demonstrates compiling AssemblyScript directly in the browser, and live hot-swapping of webassembly modules. - WireWorld (opens new window) (demo (opens new window))
The Wireworld Computer in Javascript/Canvas.