thirdweb-dev / pack-protocol

$PACK Protocol lets anyone create and sell packs filled with rewards. A pack can be opened only once. On opening a pack, a reward from the pack is distributed to the pack opener.

Home Page:https://nkrishang.gitbook.io/pack-protocol/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

$Pack Protocol

$PACK Protocol lets anyone create and sell packs filled with rewards. A pack can be opened only once. On opening a pack, a reward from the pack is distributed to the pack opener.

Deployments

The contracts in the /contracts directory are deployed on the following networks.

Mumbai

Run Locally

Clone the project

  git clone https://github.com/nftlabs/pack-protocol.git

Install dependencies

  yarn install

Run tests and scripts

Add a .env file to the project's root directory. Update the .env file with the values mentioned in the provided .env.example file.

Run tests

  npx hardhat test

To use scripts, update the transaction parameters in the particular script (e.g. packId in scripts/txs/openPack.ts) and run e.g -

  yarn run openPack --network {network name}

Deploying contracts

To deploy this project on a given network (e.g. mumbai) update the hardhat.config.ts file with the following

// ...
if (testPrivateKey) {
  config.networks = {
    mumbai: createTestnetConfig("mumbai"),
  };
}

To deploy the entire protocol, run

  yarn run deploy-protocol --network {network name}

To deploy Pack.sol and Market.sol as individual modules, run e.g.

  yarn run deploy-pack --network {network name}

Finally, update the README.md files with the new addresses, which can be found in utils/addresses.json.

Verify contracts on Etherscan / Polygonscan

To verify the entire protocol, run

  yarn run verify-protocol --network {network name}

To verify individual modules like Pack.sol, run

  yarn run verify-pack --network {network name}

Feedback

If you have any feedback, please reach out to us at support@nftlabs.co.

Authors

License

GPL v3.0

About

$PACK Protocol lets anyone create and sell packs filled with rewards. A pack can be opened only once. On opening a pack, a reward from the pack is distributed to the pack opener.

https://nkrishang.gitbook.io/pack-protocol/

License:GNU General Public License v3.0


Languages

Language:TypeScript 53.1%Language:Solidity 46.3%Language:JavaScript 0.6%Language:Shell 0.0%