Links

Compatibility Matrix

These are the minimum supported Rust crate versions for the initial release of Phat Contract.
Rust Crate
Minimum Version
Definition
ink
v4.2.0
ink! is an eDSL to write smart contracts in Rust for blockchains built on the Substrate framework. ink! contracts are compiled to WebAssembly.
v0.4.3.
pink! is based on Parity's ink! language and provide some extra functionality to interact with phala's phat contract runtime.
v0.4.1
Useful utilities for pink!.
v0.4.2
Macros for writing phat contract.
v0.4.2
Mock pink chain extension for Phala pink contract.
pink-web3
v0.20.2
Ethereum JSON-RPC client for pink. Port of rust-web3 to Pink contract.
pink-json
v0.4.0
serde_json for pink programs. The serde-json-core with alloc::* types.
v17.2.0
Easy to use conversion of ethereum contract calls to bytecode. Ethereum ABI encoding decoding library.
v0.2.0
KV session primitives for phat off-chain rollup.
v0.3.23
Type-erased Serialize and Serializer traits. This crate provides type-erased versions of Serde's Serialize, Serializer and Deserializer traits that can be used as trait objects. Note: Floating points operations are removed to run in ink!
pink-s3
v0.5.0
A substrate rpc client running in pink. Substrate json RPC module with limited functionalities.
sidevm
v0.1.10
Framework to help developing phala sidevm program. This crate provides some instrumentation to write sidevm programs. It is built on top of the Sidevm ocalls.
v0.1.1
Macros for writing fat contract sidevm program.
v0.1.7
The low level protocol between sidevm guest and host.
v0.1.1
A logger works in sidevm guest program. Enabling a logger for sidevm programs.