Tanour is a Contract actor executor for Pactus blockchain.
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.
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.
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 as file
Contract actor are written in WebAssembly and currently Tanour is using Wasmer to execute the contracts.
TODO
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
This package is licensed under the MIT License.