git ssb

0+

wanderer🌟 / js-primea-hypervisor



Tree:
πŸ“„.gitignore
πŸ“„.gitmodules
πŸ“„.npmignore
πŸ“„.travis.yml
πŸ“„LICENSE
πŸ“„README.md
πŸ“„actor.js
πŸ“benchmark
πŸ“docs
πŸ“„egressDriver.js
πŸ“„errors.json
πŸ“„index.js
πŸ“„package-lock.json
πŸ“„package.json
πŸ“„scheduler.js
πŸ“tests
README.md

SYNOPSIS

NPM Package
Build Status
Coverage Status

js-standard-style

A JavaScript Implementation of Primea HyperVisor

INSTALL

clone and run npm install

USAGE


const Hypervisor = require('primea-hypervisor')
const {Message, FunctionRef} = require('primea-objects')
const WasmContainer = require('primea-wasm-container')

// setup presistant state
const level = require('level-browserify')
const RadixTree = require('dfinity-radix-tree')
const db = level(`${__dirname}/db`)
const tree = new RadixTree({db})

const hypervisor = new Hypervisor({tree, containers: [WasmContainer]})

const wasm // a webassembly binary with an exported function named "main"

// create an actor with a webassembly container
const {module} = hypervisor.createActor(WasmContainer.typeId, wasm)

// create message to send to the actor that was just created
const message = new Message({
  funcRef: module.getFuncRef('main'),
  funcArguments: [new FunctionRef({
    actorId: egress.id,
    params: ['data']
  })]
}).on('execution:error', e => console.error(e))

hypervisor.send(message)

// write everything to the db can create a merkle tree with a single state root
const sr = await hypervisor.createStateRoot()
console.log('state root:', sr.toString('hex'))

API

./docs

DESIGN

Primea is an actor based system with capabilities. Its high level goals are

LICENSE

MPL-2.0

Built with git-ssb-web