b1fe0a574c | ||
---|---|---|
.husky | ||
.yarn | ||
artifacts/contracts | ||
contracts | ||
deploys | ||
scripts | ||
src/types | ||
test | ||
.commitlintrc.yaml | ||
.czrc | ||
.editorconfig | ||
.env.example | ||
.eslintignore | ||
.eslintrc.yaml | ||
.gitignore | ||
.lintstagedrc | ||
.prettierignore | ||
.prettierrc.yaml | ||
.solcover.js | ||
.solhint.json | ||
.solhintignore | ||
.yarnrc.yml | ||
LICENSE | ||
README.md | ||
hardhat.config.ts | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
p2pix-smart-contracts
Repository for P2Pix EVM contracts to be imported by the project.
Usage
Pre Requisites
Before installing, create a .env
file and set a BIP-39 compatible mnemonic and other env criteria as in .env.example
.
Install
$ yarn install
Compile
$ yarn compile
NOTE: TypeChain artifacts generated at compile time.
Test
$ yarn test
Report Gas
$ REPORT_GAS=true yarn test
NOTE: Gas usage per unit test and average gas per method call.
Clean
Delete the smart contract artifacts and cache:
$ yarn clean
Importing artifacts
To import artifacts on the project use the following:
import P2PIXArtifact from 'p2pix-smart-contracts/artifacts/contracts/p2pix.sol/P2PIX.json'
To grab deployment addresses you can just grab from deploys folder:
import localhostDeploys from 'p2pix-smart-contracts/deploys/localhost.json'
Deploying to local environment
On the first teminal, use the following command and import some wallets to your Metamask, then connect to the network pointed:
yarn hardhat node
On the second teminal, run the following commands:
yarn deploy1:localhost
yarn deploy2:localhost
NOTE: The second script transfers 2M tokens to the first wallet of the node. To use the P2Pix smart contract first transfer some of the tokens to other wallets.