• Stars
    star
    188
  • Rank 205,563 (Top 5 %)
  • Language
    Elixir
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

WebAssembly Virtual Machine Built In Elixir

AlchemyVM Banner

Packagist Build Status

WebAssembly Virtual Machine written in Elixir. Currently used as the Wasm VM in the Elixium Network

Usage

Standard Usage

{:ok, ref} = AlchemyVM.start() # Start AlchemyVM
AlchemyVM.load_file(ref, "path/to/wasm/file.wasm") # Load a module
AlchemyVM.execute(ref, "some_exported_function") # Call a function
# => {:ok, total_gas_cost, :function_return_value}

Options

For Gas Limit use:

 AlchemyVM.execute(ref, "some_exported_function", [:gas_limt, 100])

For Trace use:

AlchemyVM.execute(ref, "some_exported_function", [:trace, true])

For Trace & gas limit use:

AlchemyVM.execute(ref, "some_exported_function", [gas_limit: 100, trace: true])

More detailed usage instructions can be found on HexDocs.

Installation

Add alchemy_vm to your list of dependencies in mix.exs:

def deps do
  [
    {:alchemy_vm, "~> 0.7"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/wasp_vm.

More Repositories

1

elixium_core

A privacy-preserving decentralized application network
Elixir
280
star
2

rydux

💾 Single source state management for ruby
Ruby
62
star
3

bert-elixir

BERT (Binary ERlang Term) serialization library for Javascript (with Elixir support)
JavaScript
34
star
4

odyn

A prototype anonymous proof-of-work blockchain
Ruby
16
star
5

elixium_miner

Official miner implementation for the Elixium blockchain
Elixir
11
star
6

ThetaLang

θ A statically typed, functional programming language that compiles to WebAssembly
C++
10
star
7

elixium_wallet

Official wallet implementation for the Elixium blockchain
Elixir
10
star
8

SevenDeadlySins

A side-scroller game written purely in ruby.
Ruby
7
star
9

amethyst

💎 A functional programming language that compiles to WebAssembly
Elixir
6
star
10

elixium_node

Reference implementation of an Elixium non-miner full node
Elixir
4
star
11

code_client

Desktop client for helping people learn to code
Java
4
star
12

claw_machine

Python code for my Raspberry PI claw machine
Python
4
star
13

devrant

Ruby Wrapper for the devRant API
Ruby
4
star
14

zephyre

A small opinionated Ruby web framework built on Rack
Ruby
3
star
15

resizeable.js

A (small) javascript library for resizeable grid layouts that preserve their aspect ratio.
JavaScript
3
star
16

ITPChain

Blockchain Demo for ITP Workshop
JavaScript
2
star
17

teminal-portfolio

My personal website, an emulated terminal in React
JavaScript
2
star
18

WebAssembly_TicTacToe

An example project showing how to build a simple Tic Tac Toe game in WebAssembly for use with AlchemyVM
WebAssembly
2
star
19

essence

Simple URL shortener made with Elixir
Elixir
2
star
20

Refactoryze

A platform for developers to post code snippets and compete by refactoring other developers code.
Ruby
1
star
21

facebook

Crystal wrapper for the Facebook Graph API
Crystal
1
star
22

ingredily.io

Get recipes based on the ingredients available to you.
JavaScript
1
star
23

sinatraDirectoryGenerator

Generates working directories for Sinatra development for quick setup. Creates commonly used files and folders such as Procfile, Gemfile, and server.rb
Ruby
1
star
24

compatibilify

Goes through a CSS file that is passed to it to quickly re-write all code easily and instantly, adding webkit compliance.
Ruby
1
star
25

DarkerShadeOfMagic

An HTML5 game based on the book "A Darker Shade of Magic"
JavaScript
1
star