🏆 We are proud to announce that we became the 1st runner up in the competition! 🥇
ArtBlock is a creator based community that focuses on specific type of art. These communities are a form of DAO. A DAO platform with native currency and a DeX for liquidity among the currency. Additionally, the platform can post IPFS art content and after voting, the arts are minted as quality NFT with certainty. Royalty is storngly tracked over all NFT exchange. Dutch Auction system and a market place are used for the communiation and exchange of the tokens.
Check Code-Documentation.org for more information.
- Buy ABX Tokens with fixed ethers.
- Create new communities with ABX Tokens.
- Communities have their own tokens, exchangeable for ABX Tokens.
- Communities have a DEX with ABX Tokens and native tokens.
- DEX uses CPAMM with the x*y=k equation.
- Creators share art for approval using native tokens.
- Community votes on approval with upvote/downvote (weighted).
- Artists host Dutch auctions for exclusive items.
- Exclusive art becomes non-transferable tokens.
- General art becomes NFTs.
- ArtBlock marketplace for selling art in community tokens.
- Original creators set resale royalties
- 👷🏽♂️ Hardhat
- 🌈 RainbowKit
- ➬ WAGMI
- 🌐 Next JS
- [🗺 Web3.storage]
- 🗺 Etherscan
- 🕹 Typechain
- TailwindCSS – Utility-first CSS framework for rapid UI development
- TypeScript – Static type checker for end-to-end typesafety
- Prettier – Opinionated code formatter for consistent code style
- ESLint – Pluggable linter for Next.js and TypeScript
Node js
npm
yarn
Install yarn:
npm i -g yarn
For contract dev: Run this command on the root folder:
yarn
For Frontend dev:
Go to frontend
folder and install node modules:
cd frontend
yarn
- Install a wallet like Metamask
- Copy
.env.example
to.env
- Mac or Linux
cp .env.example .env
- Windows
copy .env.example .env
- Mac or Linux
- Set the env variable in
.env
file on root level and onfrontend
folder:
Variable descriptions:
RPC_NODE_API_KEY
: Get from Alchemy site after sign up and loginPRIVATE_KEY
: Export private key from metamask, follow these instructionsETHERSCAN_API_KEY
: Get from etherscan
Frontend ENV Variable:
4. NEXT_PUBLIC_ALCHEMY_API_KEY
: Same as RPC_NODE_API_KEY
- Compile Contract:
npm run compile
- Run test:
npm run test
- Deploy
npm run deploy:<network>
- Verify on etherscan
npx hardhat verify --network sepolia <YOUR_CONTRACT_ADDRESS> <Paramaters>
For example for ArtBlockPlatform
contract:
npx hardhat verify --network sepolia 0xAECD7dFD9d5ED08EA916B052D90A75366B963A61 "Hello world"
- https://itnext.io/building-a-decentralized-autonomous-organization-dao-from-scratch-a2846725013b
- https://dev.to/fassko/implementing-the-erc-2981-nft-royalty-standard-with-solidity-a-game-changer-for-creators-to-receive-income-from-every-sale-1e6j
- https://solidity-by-example.org/defi/constant-product-amm/