Git Product home page Git Product logo

tanour's Introduction

Tanour

Tanour is a Contract actor executor for Pactus blockchain.

Features

Standalone and stateless

Tanour can be launched as an independent and standalone process and it has no internal state. Interacting with the Pactus blockchain happens through the set of Provider APIs.

tanour-stateless

Actor model

Contract in Pactus are like Actors in the Actor model.

Each contract actor:

  • Can be instantiated through the instantiate method.
  • Can process the message it receives through process method.
  • Can concurrently send a message to another contract actor through the send_msg method.

These are the only methods that each contract can expose to the outside world.

Storage as file

Pactus storage is not a typical key-value pair system, but rather a separate file that each contract actor has read and write access to. Pactus storage offers a unique way of managing data in a distributed environment.

Storage as key-value pairs

storage_map

Storage as file

storage_file

WebAssembly

Contract actor are written in WebAssembly and currently Tanour is using Wasmer to execute the contracts.

Gas metering

TODO

Building

Tanour requires latest stable Rust version to build. You can install Rust through rustup.

In order to use Tanour as a Web service you also need to install Cap'n Proto.

To build the Tanour from the source code, you can follow these commands:

$ git clone https://github.com/pactus-project/tanour
$ cd tanour

# build in release mode
$ cargo build --release

License

This package is licensed under the MIT License.

tanour's People

Contributors

b00f avatar dependabot[bot] avatar kehiy avatar themantre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

orgepo kehiy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.