DAOrayaki:BUIDL NFT Loot Box_TOKEN:OOT

原文作者:

interfaceILootBox{

functionafterHarbergerBuy(uint256tokenId,addressnewNFTOwner)external;

}

当NFT被任何人使用harbergerBuy()时,如果有一个现有的LootBox,它将尝试从LootBox调用afterHarbergerBuy()函数。BUIDLNFT的矿工(又名BUIDLer)可以任意定义afterHarbergerBuy()的行为。一般来说,这将是买家的奖励/奖励。NFT买家可以在购买前预测此功能的行为。

为确保安全,LootBox应始终检查:

?msg.sender:防止接口被滥用。

?tokenID:防止其他NFT使用同一个LootBox。

例子

下面是一个简单的AirdropLootBox合约示例:

pragmasolidity0.8.6;

import"./BuidlNFT.sol";

contractAirdropLootBoxisILootBox{

addresspublictoken;

addresspublicowner;

addresspublicentrypoint;

uint256publicmintTokenId;

constructor(address_toAirdropToken,address_ep,uint256_mintTokenId){

owner=msg.sender;

token=_toAirdropToken;

entrypoint=_ep;

mintTokenId=_mintTokenId;

}

functionafterHarbergerBuy(uint256_tokenId,address_newOwner)overrideexternal{

require(msg.sender==entrypoint);

require(_tokenId==mintTokenId);

(,,,uint256currentPrice,,,,)=BuidlNFT(msg.sender).metadataOf(_tokenId);

ERC20(token).transferFrom(owner,_newOwner,currentPrice/100);

}

}

背景

BUIDLNFT最初是在一篇文章中提出的,该文章讨论了使用简单Harberger税之类的交易机制的NFT如何帮助资助Web3开源软件,以及如何为开源项目创建的独特收藏品的收藏者创造乐趣。

该机制首先在HackerLink上进行了试验。有十多个HackerLinkBUIDL铸造了他们的BUIDLNFT。HackerLink上有一个所有BUIDLNFT的排行榜。

在原文中,创建NFT的一方应定义NFT的含义。它有两个在Web3时代并不受欢迎的要求:

1)要求不可验证的信任。像Web2/离线服务一样,权限是在链下确认的。一个例子是众筹平台,在这些平台上,利益和权利往往以文字形式写下来,在实际购买后很难执行/验证。

2)限制了NFT可以做什么。

BUIDLNFTs最初被描述为开源项目/公共产品的“UniswapSocks”。现在有了LootBox,可以对BUIDLNFT进行编程,为开发者和NFT收藏者提供更灵活的交互。

想法

对于有趣的LootBox用例的想法,我们维护了一个lootboxideas.md。每个人都可以为这个想法列表做出贡献,并启发其他人LootBox可以做什么。详情查看:https://github.com/dorahacksglobal/BUIDL-NFT

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

加密货币我为什么all in了mfers_SYN:ETI

如你所见,mfers火了。我第一次买入mfers是在今年2月1日,价格为0.77ETH,接下来的几天里又花了0.55ETH、1.03ETH买了两只,最后一次加仓是在2月17日,价格为4.15ET.

[0:15ms0-4:643ms