NFT 质押挖矿分红 dapp 系统开发功能介绍
写 NFT 合约要实现哪些功能?
比如你要发行一套“虎虎生威”NFT,你要怎么写合约呢?
这个“虎虎生威”NFT,是一套老虎头像,有 10000 个,每个都是一个 token。
这个合约要实现至少以下几个功能,NFT 系统开发对接唯 hkkf5566:
1、“铸造”(mint)功能。
NFT 是非同质化代币,也就是一种“币”(token)了,既然是“币”(说是币,其实只是 png 图片而已),就要 mint(铸造)了。执行一次 mint,就会产生一个铸造好的 token。
根据我前面的 NFT 科普文章,所谓铸造,就是在区块链上记载了一个 token 的 ID 和其拥有者的地址。
在计算机世界的术语里,有很多这种莫名其妙的说法,说铸造吧,也没有炉子,也没有高温,也没有金属,也没有模具,其实就单纯是个比喻,一开始会让人不习惯,时间长了就好了。
像“挖矿”、“铸造”、“销毁”、“桥”、“钱包”、“分叉”、“空投”、“分片”等等,一开始看上去是有点懵圈的,仔细研究一下就知道其实八杆子打不上关系,只是一个概念的借用,为了描述方便和好玩而已。
2、转移功能。
要能让拥有者把一个 token 转移给另外一个人。
3、查询功能。
要能查询某个 token 在谁手里,一个人有多少 token,等等这种类似功能。
4、元数据功能。
元数据这个术语,在老百姓那里说出来有点装。其实就是描述某事物各种属性的信息,比如一个人的元数据,就是他的姓名、性别、年龄、肤色、身份证号码、职业、民族、照片等信息。
一个 NFT 的元数据,其实是说每个 token 的元数据,比如在虎虎生威 NFT 中,有 10000 个 token,每个 token 都有其元数据,记录老虎头像各种属性的信息,诸如一个老虎的发型、肤色、性别、年龄、姿态、编号,以及存储这个老虎图像的链接。
由于图片一般比较大,所以图片本身都不放在以太坊上,而是放在 web 上或者 IPFS 上,链上只是存储了一个链接信息。
合约有了元数据功能,提供了 tokenURI 函数,人们就可以通过该函数的调用,获取某个 token 的元数据链接,然后读取元数据,并最终取得其图像。
OpenSea 之所以可以展示你的 NFT token,就是因为它调用你合约的 tokenURI,获得元数据中的 image 项,然后读取图像的。
5、合约元数据功能。
如果你想把你的 NFT 放在 OpenSea 上作为一个 Collection(收藏集)出现,就要让 OpenSea 能获取关于你 Collection 的一些基本设置。
合约元数据就是干这事的。
6、其他功能
比如你还想实现团队分账功能(团队成员按一定的比例获取收益)、白名单预售功能(只有白名单里的人才能在预售阶段 mint)等等。
评论