Skip to content

Framework for building EVM compatible dapps that interact with ERC20 and ERC721 tokens (fungible and non-fungible)

License

Notifications You must be signed in to change notification settings

luloxi/PunkSociety

Repository files navigation

❓ To know what this project aims to be, read the about page.

📥 If you wanna collaborate, here are the pending development tasks on this Trello board

PunkSociety's builds:

🤘 Development

🛠️ Technical details

⚙️ Currently built using Scaffold-ETH 2, Foundry, Pinata, Vercel, NextJS, RainbowKit, Wagmi, Viem, and Typescript.

🏦 Considering using protocols: Circle USDC, The Graph, Chainlink.

📜 Considering using contracts: ERC721, Ownable and Upgradeable from Solady for contract ownership.

🔗 To be deployed on EVM compatible chains.

📚 Prerequisites

👨‍🏫 Instructions

To get started follow the steps below:

  1. Open a terminal and run this commands to clone this repo and install dependencies:
git clone https://github.com/luloxi/PunkSociety.git
cd PunkSociety
yarn install
  1. Rename the .env.example to .env in the packages/nextjs folder. For each variable, follow the instructions above the variable.

  2. Run this command to start your NextJS app:

yarn start

Visit your app on: http://localhost:3000.

NOTE: You can interact with your smart contracts on http://localhost:3000/debug and see a local block explorer on http://localhost:3000/blockexplorer

🚀 Testing on a local network

  1. Open a second terminal, navigate to PunkSociety and run this command to start a local chain:
yarn chain

NOTE: To test using your own Avalanche L1, follow this instructions.

  1. Duplicate and rename packages/foundry/.env.example to packages/foundry/.env. Fill the DEPLOYER_PRIVATE_KEY with the private key of the account you want to use to deploy the contracts. Remember to append 0x at the beginning of the private key.

NOTE: ETHERSCAN_API_KEY and ALCHEMY_API_KEY are not required until you deploy to a live EVM like Avalanche, Base, Ethereum, etc.

  1. Open a terminal, navigate to PunkSociety and run this command to deploy the contracts:
yarn deploy

NOTE: Contracts are located in packages/foundry/contracts and can be modified to suit your needs. The yarn deploy command uses the deploy script located in packages/foundry/script/Deploy.s.sol to deploy the contract to the network. You can also customize the deploy script.

NOTE 2: To deploy to a different network, you can run yarn deploy --network <network-name>. For example, to deploy to the Ethereum network, you can run yarn deploy --network ethereum.

  1. Go to packages/nextjs/scaffold.config.ts and change the targetNetworks to [chains.foundry].

About

Framework for building EVM compatible dapps that interact with ERC20 and ERC721 tokens (fungible and non-fungible)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published