做数字藏品最重要的function是tokenURI(tokenId)。
实现1 基本路径+tokenID ERC721
![](https://img.haomeiwen.com/i9696390/38301dc74b9b3536.png)
没有配置基本路径(baseURI)时,tokenURI返回空,如果配置基本路径,则返回基本路径+tokenID的组合。
如果基本路径是 http://demo.com/meta/ 则可以返回 http://demo.com/meta/1 这样的tokenURI
注:若我们想返回带 .json 的 tokenURI ,我们可以重载这个函数
![](https://img.haomeiwen.com/i9696390/beae04f4bf2702ad.png)
实现2 给每一个tokenID配上独立的tokenURI ERC721URIStorage
![](https://img.haomeiwen.com/i9696390/908a76fe4f6699fc.png)
我们用了一个变量 _tokenURIs 单独保存每一个token的uri
如果没有使用_baseURI配置,则函数返回全部tokenURI
如果使用了_baseURI配置,则拼接基本路径+tokenURI
在使用_baseURI的情况下,只要把每一个tokenURI配置成 {id}.json 也可获得 http://demo.com/meta/1.json 的格式
不过都需要_setTokenURI了,就不差配置全部url地址了
相对比下,如果不想在铸造的时候配置URI,选第一种方式还是比较简单的
网友评论