Skip to content

luloxi/PunkSociety

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Social protocol where interactions are monetized πŸ’° allowing users to earn through engaging with their community πŸ«‚.

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

πŸ“₯ Pending development tasks on this Trello board

🀘 Development

πŸ› οΈ Technical details

βš™οΈ Currently built using Scaffold-ETH 2, Foundry, OnchainKit, Pinata, Vercel, NextJS, RainbowKit, Wagmi, Viem, and Typescript.

🏦 Considering using protocols: Circle USDC as native gas, The Graph for indexing events, AAVE for earning interest on USDC, Chainlink for cross-chain NFT bridging.

πŸ“œ Considering using contracts: ERC721, Ownable and Upgradeable from Solady for contract ownership. And maybe EIP712 Signatures for some gasless activity.

πŸ”— To be deployed on Avalanche L1 and Bridge ERC20 and ERC721 using Avalanche Interchain Token Transfer and Chainlink CCIP Transfer Tokens with 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. Duplicate and rename packages/foundry/.env.example to packages/foundry/.env

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

  1. Rename the .env.example to .env in the packages/nextjs folder. For each variable, follow the instructions above the variable.

  2. Start a local Avalanche L1:

It'd be ideal to run it with one command like yarn subnet with a config file, but so far, you gotta follow this instructions.

You'll start a local Avalanche L1 using Ava Labs avalanche-starter-kit. The network runs on your local machine and can be used for testing and development.

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

This command deploys a PunkSociety contracts to your Avalanche L1.

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. Open a second terminal, navigate to PunkSociety and run this command to start your NextJS app:
yarn start

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

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