📖NFTMarket

type
status
date
slug
summary
tags
category
icon
password

介绍

NFTmarket是一个可以出售与购买NFT的平台。
 

启动项目

进入.\my-app,终端输入npx run dev,浏览器打开localhost:3000。

准备工作

  1. npx hardhat init
    1. (JS project)
  1. 删除自带的Lock.sol,创建新的NFTstore.sol
  1. 许可证明:
    1. npm install @openzeppelin/contracts

      编写智能合约

                          测试智能合约

                          1. 删除test目录下的Lock.js,并创建NFTStoreTest.js
                          1. 编译智能合约:npx hardhat compile

                          部署Sepolia测试网

                          1. 创建.env文件,添加代码:
                          1. 打开alchemy网站:https://www.alchemy.com/
                            1. 登录后点击create new app;
                              选择以太坊sepolia测试;
                          notion image
                          将网址和钱包私钥粘贴至.env文件中;
                          1. npm install dotenv
                            1. 在hardhat.config.js顶部添加:
                              networks下添加:
                          1. ignition\modules下的Lock.js改名为Token.js;
                            1. 删掉除第一行外所有代码
                            1. npx hardhat ignition deploy ./ignition/module/Token.js --network sepolia
                              1. (需要一些sepoliaETH)
                            notion image
                            复制最下面这行代码到.env文件

                            设置next.js项目

                            1. npx create-next-app
                            notion image
                            1. 在my-app\src\app\page.js中删除return()中的代码
                              1. 添加测试代码:
                            1. 终端进入my-app
                            1. npm run dev
                              1. 可以在localhost:3000中看到此项目页面
                            1. 在my-app\src\app下新建文件夹components\header,然后header下新建Header.js和Header.module.css
                            notion image

                            连接账户钱包

                            1. my-app\src下新建文件夹context,然后context下新建wallet.js
                            1. wallet.js
                            1. my-app\src\app下的layout.js中添加:
                            1. 在my-app下终端中npm install ethers
                            1. Header.js
                            return()中添加:
                            1. Header.module.css
                            1. my-app\src\components下新建文件夹footer,然后新建Footer.js和Footer.module.css
                            1. Footer.js
                            1. 删除my-app\public下的next.svg和vercel.svg,换成以下图片https://github.com/priyanshuthakur2002/NFTSTORE/tree/main/client/public
                            1. page.js
                            1. page.module.css
                            notion image

                            建立Listing Page

                            1. 进入pinata页面,https://app.pinata.cloud/developers/api-keys
                              1. 新建 API-Key;
                                notion image
                                再copy all;
                            1. 在.\my-app目录下新建.env文件
                            粘贴到此文件;
                            格式改为这样:
                            notion image
                            1. 进入my-app目录,npm install axios
                            1. my-app\src\app下新建pinata.js
                            1. app\sellNFT\page.js
                            1. app\下新建market.json。
                              1. 将artifacts\contracts\NFTStore\NFTStore.json的内容复制到market.json;
                                上部添加
                                然后把.env文件中的NFTStore地址粘贴到此处
                            notion image
                            1. sellNFT.module.css

                            建立Market Page

                            1. app\下新建文件夹market,新建page.js和market.module.css。
                              1. app\components下新建nftCard文件夹,新建NFTCard.js和NFTCard.module.css
                            1. NFTCard.js
                            1. app\下新建utils.js
                            1. market\page.js
                            1. next.config.mjs添加
                            1. NFTCard.module.css
                            1. market.module.css

                            建立个人页面

                            1. app\下新建profile文件夹,包含page.js和profile.module.css
                            1. profile\page.js
                            1. profile\profile.module.css

                            建立NFT page

                            1. 新建app\nft\tokenId文件夹,包含page.js 和 nft.module.css
                            1. page.js
                            1. nft.module.css
                             
                            上一篇
                            foundry-ERC20
                            下一篇
                            Smart-Contract-Lottery
                            Loading...