@devphase/cli
v0.7.2
Published
Development tool for Phala Phat contracts.
Downloads
9
Readme
devPHAse
Development tool for Phala Phat contracts.
Tests for both latest devPHAse and Phala Blockchain release:
Features
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
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
Install
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]
Usage
Detailed usage described here
USAGE
Must read :)
Sandbox & Examples
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
Commands
I strongly recommned using scripts instead of CLI commands.
CLI commands index
Configuration
Here is default configuration.
All values are optional (merged recuresivly)