NFT合约通论

NFT合约

一 需求

1 需要盲盒功能吗 ? – 需要

2 需要随机mint吗 ? 还是顺序mint, 默认顺序mint。

3 需要白名单功能吗 ?–不需要

(mapping映射白名单mapping(address => bool) public whiteList; or 默克尔tree)

4 基础功能

5

6 需要burn功能吗 ? --默认不需要

7 NFT转账功能?-- 不需要 ,需要的话 需要实现ERC721TokenReceiver接口

8 分账功能? --不需要

9 提款功能 --必须

10 传染性,怎么做?–认证的合约地址,合作方 --fugu不需要


二 外部依赖

部署NFT合约的地址和私钥

TokenURI (metadata地址)或baseUri

metadate内容和存储地址以及图片存储地址由合作方确认并提供。这边只负责合约。


三 安全:

1 重入攻击:解决:

import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
nonReentrant修饰符

2 Gating 门控,防止bot和脚本

但这里有一件事不要做。过去,开发人员使用这样一个简单的限制:

你可能感兴趣的:(区块链)