This project is a website for creating, buying, selling, and minting your own non-fungible tokens (NFTs). It's designed as a social media platform where users can not only trade NFTs but also engage in discussions about them. The project utilizes the ICP blockchain and DFINITY protocol for decentralized operations, leveraging Motoko for smart contracts and the MERN stack (MongoDB, Express, React, Node.js) for the overall web application.
- Motoko: Used for writing smart contracts on the Internet Computer.
- MERN Stack:
- MongoDB: Database for storing user and NFT data.
- Express.js: Backend framework for handling API requests.
- React.js: Frontend library for building user interfaces.
- Node.js: Runtime for server-side JavaScript execution.
- ICP Blockchain: Provides the decentralized infrastructure.
- DFINITY Protocol: Used for deploying and managing canisters (smart contracts).
JavaScript: 58.0%
CSS: 29.7%
Motoko: 11.4%
HTML: 0.9%
-
Start local DFX
dfx start --clean
-
Run NPM server for frontend
npm start
-
Run NPM server for backend
npm run dev
-
Deploy Canisters
dfx deploy --argument='("CryptoDunks #123", principal "s72bo-wblgv-ks5pj-vtj4p-4vpwr-6wefz-5h2eo-o3nn3-4ifdp-m47b2-nae", (vec {137; 80; 78; 71; 13; 10; 26; 10; 0; 0; 0; 13; 73; 72; 68; 82; 0; 0; 0; 10; 0; 0; 0; 10; 8; 6; 0; 0; 0; 141; 50; 207; 189; 0; 0; 0; 1; 115; 82; 71; 66; 0; 174; 206; 28; 233; 0; 0; 0; 68; 101; 88; 73; 102; 77; 77; 0; 42; 0; 0; 0; 8; 0; 1; 135; 105; 0; 4; 0; 0; 0; 1; 0; 0; 0; 26; 0; 0; 0; 0; 0; 3; 160; 1; 0; 3; 0; 0; 0; 1; 0; 1; 0; 0; 160; 2; 0; 4; 0; 0; 0; 1; 0; 0; 0; 10; 160; 3; 0; 4; 0; 0; 0; 1; 0; 0; 0; 10; 0; 0; 0; 0; 59; 120; 184; 245; 0; 0; 0; 113; 73; 68; 65; 84; 24; 25; 133; 143; 203; 13; 128; 48; 12; 67; 147; 94; 97; 30; 24; 0; 198; 134; 1; 96; 30; 56; 151; 56; 212; 85; 68; 17; 88; 106; 243; 241; 235; 39; 42; 183; 114; 137; 12; 106; 73; 236; 105; 98; 227; 152; 6; 193; 42; 114; 40; 214; 126; 50; 52; 8; 74; 183; 108; 158; 159; 243; 40; 253; 186; 75; 122; 131; 64; 0; 160; 192; 168; 109; 241; 47; 244; 154; 152; 112; 237; 159; 252; 105; 64; 95; 48; 61; 12; 3; 61; 167; 244; 38; 33; 43; 148; 96; 3; 71; 8; 102; 4; 43; 140; 164; 168; 250; 23; 219; 242; 38; 84; 91; 18; 112; 63; 0; 0; 0; 0; 73; 69; 78; 68; 174; 66; 96; 130;}))'
-
Head to localhost
Open http://localhost:8080/ in your browser.
- Create NFTs: Users can mint new NFTs from images in .png format.
- Sell NFTs: List NFTs for sale. Once listed, the owner cannot rebuy their own NFT.
- Buy NFTs: Purchase NFTs listed by other users.
- View NFTs: Display owned NFTs and those available for sale, with listed NFTs shown as faded.
- Social Interaction: Engage in discussions about NFTs within the community.