要学习的技术栈
技术栈我推荐你这么选:
- next.js:最流行的前端框架,没有备选。
- tailwindcss:最流行的 CSS 框架,没有备选。
- solidity:最流行的智能合约编程语言,没有备选。
- ethersjs:最流行的智能合约交互库,备选是 web3.js。
- wagmi:最流行的 React Hook 智能合约交互库,没有备选。
- hardhat:最流行的智能合约开发框架,备选是 truffle。
- open zeppelin:最流行的智能合约库。
业务领域没有局限,都可以选择。但一定要有自己最擅长的那一个,也就是专精领域。在你的专精领域中,你就是专家,你可以一直侃侃而谈,但一定不能被问得哑口无言。比如选择 NFT。你需要把 NFT 相关的协议全部搞得非常明白,比如 ERC721、ERC1155 等。同时还需要知道白名单是怎么做的、荷兰拍卖该怎么去做、NFT 交易所怎么做,手续费如何抽取、NFT 的一些种类,PFP 背后的逻辑等等、一些蓝筹项目是如何运作起来的、NFT 创作网站的流程及实现方案等等。千万不要什么都懂,但什么都不精通。
合约知识
Infura rpc节点提供商 可替代方案:Alchemy
- useSWR做接口请求
- EVM系 ,eth的发展建设,比较完善如matic,eth,币安链,layer2二层的arb,op都属于evm系
项目
Noah NFT
基于 ERC721 开发的 NFT DApp,涵盖了铸造 NFT、授权/收回 NFT 代理权、转让 NFT、销毁 NFT、授权/收回铸币权等功能。
ERC721是以太坊上用于非同质化代币(NFT)的代币标准,定义了一种独特且不可替代的代币类型,每个代币都具有唯一的标识符。 这使得ERC-721代币非常适合表示独特的数字资产,如数字艺术品、虚拟地块和游戏中的角色。
技术栈 主要
- next.js 对首页nft列表做服务端数据渲染
- wagmi 合约交互插件
- pinata 免费的IPFS服务提供商 learnblockchain.cn/article/430…
- swr 用于接口请求
- solidity 合约开发
- truffle
- ganache 其他
- formik 表单校验,提交插件
- react
- tailwindcss
- chakra-ui
- formidable 主要用于解析表单,支持get post请求参数,文件上传等。
nft采用useSWR做接口请求,使用next/dynamic做服务端数据渲染。 nft mint按钮:采用
import { useAccount, useContract, useSigner } from "wagmi";
实现了
const { data: signer } = useSigner();
const noahNFTcontractInstance = useContract({
...noahNFTcontract,
signerOrProvider: signer,
});
const token = (await axios.get("/api/nft/mint")).data;
const { wait } = await noahNFTcontractInstance?.mint(
address,
token.metadataUri
);
const receipt = await wait();
console.log(receipt);
toast({
title: "Mint 成功",
});
// 获取 tokenId,携带token请求nft数据