원저자: @tari404, Eric @DoraFactory
간단한 요약
예
예
일반적으로 프로그래밍할 수 있는 것은 무엇이든 전리품 상자에서 실행할 수 있습니다. 일부 초기 사용 사례에는 특전, 경품, 토큰 보상, 에어드롭, 온체인 레지스트리, 화이트리스트 등이 포함됩니다. 그러나 Loot Box의 프로그래밍 가능한 사용 시나리오는 무한합니다.
설정
NFT의 채굴자는 setLootBox(uint256,address)(또는 채굴 시 초기화)를 사용하여 BUIDL NFT를 LootBox 계약에 바인딩할 수 있습니다.
interface BuidlNFT {
function setLootBox(uint256 tokenId, address lootBoxAddr) external;
function mint(uint256 initPrice, uint256 bid, address lootBoxAddr, bytes calldata sign) external;
function mint(uint256 initPrice, uint256 bid, bytes calldata sign) external;
}
interface ILootBox {
function afterHarbergerBuy(uint256 tokenId, address newNFTOwner) external;
}
NFT가 누군가에 의해 harbergerBuy()될 때 기존 LootBox가 있는 경우 LootBox에서 afterHarbergerBuy() 함수 호출을 시도합니다. BUIDL NFT의 광부(일명 BUIDLer)는 afterHarbergerBuy()의 동작을 임의로 정의할 수 있습니다. 일반적으로 이것은 구매자에게 인센티브/인센티브가 될 것입니다. NFT 구매자는 구매하기 전에 이 기능이 어떻게 작동할지 예측할 수 있습니다.
안전을 위해 LootBox는 항상 다음을 확인해야 합니다.
Ÿmsg.sender: 인터페이스가 남용되는 것을 방지합니다.
예
예
BUIDL NFT는 원래 간단한 Harberger Tax와 같은 거래 메커니즘을 사용하는 NFT가 Web3 오픈 소스 소프트웨어 자금 조달에 도움이 되는 방법과 재미를 만드는 방법에 대해 논의한 기사(Geeks and Painters: Open Source Projects, NFTs, and a Simplified Harberger Tax)에서 제안되었습니다. 오픈 소스 프로젝트에서 생성된 고유한 수집품 수집가를 위한 것입니다.
pragma solidity 0.8.6;
import "./BuidlNFT.sol";
contract AirdropLootBox is ILootBox {
address public token;
address public owner;
address public entrypoint;
uint256 public mintTokenId;
constructor(address _toAirdropToken, address _ep, uint256 _mintTokenId) {
owner = msg.sender;
token = _toAirdropToken;
entrypoint = _ep;
mintTokenId = _mintTokenId;
}
function afterHarbergerBuy(uint256 _tokenId, address _newOwner) override external {
require(msg.sender == entrypoint);
require(_tokenId == mintTokenId);
(,,,uint256 currentPrice,,,,) = BuidlNFT(msg.sender).metadataOf(_tokenId);
ERC20(token).transferFrom(owner, _newOwner, currentPrice / 100);
}
}
배경
BUIDL NFT는 원래 간단한 Harberger Tax와 같은 거래 메커니즘을 사용하는 NFT가 Web3 오픈 소스 소프트웨어 자금 조달에 도움이 되는 방법과 재미를 만드는 방법에 대해 논의한 기사(Geeks and Painters: Open Source Projects, NFTs, and a Simplified Harberger Tax)에서 제안되었습니다. 오픈 소스 프로젝트에서 생성된 고유한 수집품 수집가를 위한 것입니다.
이 메커니즘은 HackerLink에서 처음 시도되었습니다. 12개 이상의 HackerLink BUIDL이 BUIDL NFT를 발행했습니다. HackerLink에는 모든 BUIDL NFT의 순위표가 있습니다.
원문에서 NFT를 생성하는 당사자는 NFT의 의미를 정의해야 합니다. Web3 시대에는 인기가 없는 두 가지 요구 사항이 있습니다.
1) 검증할 수 없는 신뢰가 필요합니다. Web2/오프라인 서비스와 마찬가지로 권한은 오프체인에서 확인됩니다. 예를 들어 혜택과 권리가 종종 텍스트로 기록되고 실제 구매 후 시행/확인하기 어려운 크라우드 펀딩 플랫폼이 있습니다.
2) NFT가 할 수 있는 것을 제한합니다.
BUIDL NFT는 원래 오픈 소스 프로젝트/공공 상품을 위한 "Uniswap Socks"로 설명되었습니다. 이제 Loot Box를 통해 BUIDL NFT를 프로그래밍할 수 있어 개발자와 NFT 수집가에게 보다 유연한 상호 작용을 제공합니다.
아이디어
흥미로운 전리품 상자 사용 사례에 대한 아이디어를 위해 lootboxideas.md를 유지 관리합니다. 누구나 이 아이디어 목록에 기여하고 Loot Box가 할 수 있는 일을 하도록 다른 사람들에게 영감을 줄 수 있습니다. 세부 정보 보기: https://github.com/dorahacksglobal/BUIDL-NFT


