31139b0236 | ||
---|---|---|
.devcontainer | ||
artifacts/contracts | ||
contracts | ||
deploys | ||
scripts | ||
test | ||
.gitignore | ||
LICENSE | ||
README.md | ||
hardhat.config.js | ||
package-lock.json | ||
package.json |
README.md
p2pix-smart-contracts
Repository for P2Pix EVM contracts to be imported by the project.
Installation
Import the repository on your app to allow use the artifacts for Ethers.
npm install --save git+https://github.com/doiim/p2pix-smart-contracts.git
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'
The default deploy addresses for localhost is the following:
Contract | Address |
---|---|
p2pix | 0x5FbDB2315678afecb367f032d93F642f64180aa3 |
token | 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 |
Then use a Contract instance to interact directly with it:
const p2pixContract = new ethers.Contract(address, P2PIXArtifact.abi, signer);
Deploying local environment
Clone the repo and install dependencies:
git clone https://github.com/doiim/p2pix-smart-contracts.git
cd p2pix-smart-contract
npm install
On the first teminal use the following command and import some wallets to your Metamask and connect to the network pointed:
npx hardhat node
On the second teminal run following commands:
npx hardhat run --network localhost scripts/1-deploy-p2pix.js
npx hardhat run --network localhost scripts/2-deploy-mockToken.js
The second script transfer 2M tokens to the firrs wallet of the node. To use the P2Pix smart contract first transfer some of the tokens to other wallets.
Testing
To run tests, clone this repo, install dependencies and run Hardhat tests.
git clone https://github.com/doiim/p2pix-smart-contracts.git
cd p2pix-smart-contract
npm install
npx hardhat test