📖NFTMarket
type
status
date
slug
summary
tags
category
icon
password
介绍
NFTmarket是一个可以出售与购买NFT的平台。
启动项目
进入.\my-app,终端输入npx run dev,浏览器打开localhost:3000。
准备工作
- npx hardhat init
(JS project)
- 删除自带的Lock.sol,创建新的NFTstore.sol
- 许可证明:
- npm install @openzeppelin/contracts
编写智能合约
测试智能合约
- 删除test目录下的Lock.js,并创建NFTStoreTest.js
- 编译智能合约:npx hardhat compile
部署Sepolia测试网
- 创建.env文件,添加代码:
- 打开alchemy网站:https://www.alchemy.com/;
登录后点击create new app;
选择以太坊sepolia测试;

将网址和钱包私钥粘贴至.env文件中;
- npm install dotenv
在hardhat.config.js顶部添加:
networks下添加:
- ignition\modules下的Lock.js改名为Token.js;
删掉除第一行外所有代码
- npx hardhat ignition deploy ./ignition/module/Token.js --network sepolia
(需要一些sepoliaETH)

复制最下面这行代码到.env文件
设置next.js项目
- npx create-next-app

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

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

建立Listing Page
- 进入pinata页面,https://app.pinata.cloud/developers/api-keys;
新建 API-Key;

再copy all;
- 在.\my-app目录下新建.env文件
粘贴到此文件;
格式改为这样:

- 进入my-app目录,npm install axios
- my-app\src\app下新建pinata.js
- app\sellNFT\page.js
- app\下新建market.json。
将artifacts\contracts\NFTStore\NFTStore.json的内容复制到market.json;
上部添加
然后把.env文件中的NFTStore地址粘贴到此处

- sellNFT.module.css
建立Market Page
- app\下新建文件夹market,新建page.js和market.module.css。
app\components下新建nftCard文件夹,新建NFTCard.js和NFTCard.module.css
- NFTCard.js
- app\下新建utils.js
- market\page.js
- next.config.mjs添加
- NFTCard.module.css
- market.module.css
建立个人页面
- app\下新建profile文件夹,包含page.js和profile.module.css
- profile\page.js
- profile\profile.module.css
建立NFT page
- 新建app\nft\tokenId文件夹,包含page.js 和 nft.module.css
- page.js
- nft.module.css
上一篇
foundry-ERC20
下一篇
Smart-Contract-Lottery
Loading...