Development tool for Phala Phat contracts.
Tests for both latest devPHAse and Phala Blockchain release:
Tool is heavily inspired by Hardhat (EVM devs should be familiar with it).
I tried to provide as much similar features as possible.
-
Up to date Phala binaries
By default on each start devPHAse will pull latest Phala binaries (the latest release from official Phala's repo). -
E2E testing
Using internally Phala stack (prepared on start) you can test e2e your contracts with minimal cost. -
Scripting
Using all devPHAse API you can prepare scripts for common actions like: contract deployment, management, monitoring etc. -
Type generation
devPHAse generates type bindings for all structures used in contract, so autosuggestions should be provided by your IDE.
Requirements list for contract (building) commands
- Cargo
cargo 1.69.0 (6e9a83356 2023-04-12)
* - Cargo Contract
cargo-contract-contract 3.0.1-unknown-x86_64-unknown-linux-gnu
* - Target
wasm32-unknown-unknown
- Component
rust-src
*
- previous versions may also work, but it was not tested
Depending on how you manage your projects you can:
- Add devPHAse to your project dependencies (
yarn@^1
/npm
)
Sadlyyarn@^3
is not supported (check #4)
yarn add -D @devphase/cli
yarn add -D typescript ts-node # required peer dependencies
yarn devphase [command]
- Install it globally and use
npx
to call it.
Note: this may be default in Phala's example repos
npm install -g @devphase/cli
npm install -g typescript ts-node # required peer dependencies
npx @devphase/cli [command]
Detailed usage described here
USAGE
Must read :)
In directory workspaces/xsandbox
there is a template of devphase project.
You can try building and testing contracts.
workspaces/xsandbox
Check also workspaces/xexamples
for more examples.
workspaces/xexamples
I strongly recommned using scripts instead of CLI commands.
CLI commands index
Here is default configuration.
All values are optional (merged recuresivly)