Skip to content

l00k/devphase

Repository files navigation

devPHAse

Development tool for Phala Phat contracts.

Tests for both latest devPHAse and Phala Blockchain release:
CircleCI

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:

  1. Add devPHAse to your project dependencies (yarn@^1 / npm)
    Sadly yarn@^3 is not supported (check #4)
yarn add -D @devphase/cli
yarn add -D typescript ts-node # required peer dependencies

yarn devphase [command]
  1. 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)

About

Development tool for Phala Phat contracts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages