Skip to content

Compatibility Matrix

These are the minimum supported Rust crate versions for the initial release of Phat Contract.

Rust CrateMinimum VersionDefinition
inkv4.2.0ink! is an eDSL to write smart contracts in Rust for blockchains built on the Substrate framework. ink! contracts are compiled to WebAssembly.
pink-extensionv0.4.3.pink! is based on Parity's ink! language and provide some extra functionality to interact with phala's phat contract runtime.
pink-utilsv0.4.1Useful utilities for pink!.
pink-extension-macrov0.4.2Macros for writing phat contract.
pink-extension-runtimev0.4.2Mock pink chain extension for Phala pink contract.
pink-web3v0.20.2Ethereum JSON-RPC client for pink. Port of rust-web3 to Pink contract.
pink-jsonv0.4.0serde_json for pink programs. The serde-json-core with alloc::* types.
pink-ethabiv17.2.0Easy to use conversion of ethereum contract calls to bytecode. Ethereum ABI encoding decoding library.
pink-kv-sessionv0.2.0KV session primitives for phat off-chain rollup.
pink-erased-serdev0.3.23Type-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-s3v0.5.0A substrate rpc client running in pink. Substrate json RPC module with limited functionalities.
sidevmv0.1.10Framework to help developing phala sidevm program. This crate provides some instrumentation to write sidevm programs. It is built on top of the Sidevm ocalls.
sidevm-macrov0.1.1Macros for writing fat contract sidevm program.
sidevm-envv0.1.7The low level protocol between sidevm guest and host.
sidevm-loggerv0.1.1A logger works in sidevm guest program. Enabling a logger for sidevm programs.