Collection’s Factory

介绍

Collection’s Factory是将指定的n个ocNFT兼容的nft聚合为NFT Collection的工具,该工具将生成新的NFT合约并锁定原ocNFT(不可解锁),owner可选设置economy模块个性化mint、transfer的经济模型;注意新的NFT合约非ocNFT兼容,跨链兼容需另外进行Wrapped;

  • mint由economy模块指定发行逻辑,具体结果为:
    1. 合约创建时立即mint指定部分或全部的item;
    2. 合约创建后可由调用方mint未被创建的item
  • 合约中的nft的tokenUri镜像于原ocNFT,但id不做镜像;
  • 合约提供sourceOf()方法查询原nft的基础信息;
  • 合约提供withdraw()方法销毁item并提出原nft;
  • economy模块提供6个public函数:
    1. mintFee(id) returns(mintFee)

    mintFee=0//mint时需额外支付的费用(使用gasToken)

    1. transferFee(id) returns(transferFee)

    transferFee=0```

    1. afterMint(id),用于指定mint后的执行逻辑,例如发放治理token;
    2. afterTransfer(id),用于指定transfer后的执行逻辑,例如转移或销毁治理token;
    3. afterFee(id),用于指定支付两类Fee后的执行逻辑,例如调整Dao中的权重;
    4. receive(),务必实现,fee是向本模块合约进行支付的,需在此标准函数中分发接收到的fee,默认是全部发放给合约的Owner
  • 合约创建时将Owner设置为创建者。

economy模块协议标准

coming soon

合约模板-支持多轮固定价格发售的盲盒NFT:BSR_Template(Blind box supporting multiple rounds of fixed price sales)

由两个基于透明代理的合约模板组成,NFTBox721与NFTGoods721;用户在Mint时将获得一个随机外观的NFTBox721,NFTBox721 在Open时将销毁NFTBox721并Mint一个独特的RareNumber的NFTGoods721,RareNumber可反推NFTGoods721的RareRank;为保证随机规则的公平性,NFTBox721与NFTGoods721均采用ChainLink VRF生成随机数列; NFTBox721 支持Round的管理,由Admin设定每个Round的总量、开始时间、结束时间及单价;除721标准接口外额外增加如下接口

  • NFTBox721 admin
    1. setChainLink(LinkConfig config)
    2. startRound(uint64 round,supply,start,end,price,startId)
    3. suspendRound(uint64 round)
    4. resumeRound(uint64 round)
    5. setRound(uint64 round,end,price)
    6. withdrawEther(uint amount)
  • NFTBox721 user
    1. mintRequest() payable
    2. open(uint tokenId)
  • NFTGoods721 admin
    1. setChainLink(LinkConfig config)
    2. withdrawEther(uint amount)
  • NFTGoods721 user
    1. RareNumber() view
    2. RareRank() view