Lazy Minting
2814 ワード
💡 Lazy Mintingは?
売り手のミントのnftが市場で売れない場合、売り手の立場から見ると、ミント価格だけが支払われている.このような状況を避けるためにlazy mintingを導入した.名前から分かるように、ミントの過程が延期された.
これはnftが実際に購入する際にnftを売り手にダンプし、売り手がnftを買い手にダンプする方法である.つまり、購入が完了するまで、市場のnftは実はnftではなく、簡単なイメージだったということです.
lazy mintingを使用して、minting価格は買い手が支払う.
注-https://nftschool.dev/tutorial/lazy-minting/#how-it-works
💡 プログラム
→ signer._signTypedData(domain、types、資格証明)を実行するとmetamaskが開き署名し、結果をsignalとして保存します
→この署名は売り手が当該物品をNFTを生成することを許可することを証明する
0xd849585d6e93ac0089cb21f2d7001a57a4361ce7e4f26794222e336ad4713dcc6549aac8f3~~~~~~~b48e1d8039c85142aae5c62ce0ab64fd471c
このようにして生成され、タイプはバイトです.これには、後で購入者が購入した場合(購入した場合、nftに印刷される)に呼び出された償還関数に渡される証明書が含まれます.function redeem(address redeemer, NFTVoucher calldata voucher) public payable returns (uint256) {
// make sure signature is valid and get the address of the signer
address signer = _verify(voucher);
// make sure that the redeemer is paying enough to cover the buyer's cost
require(msg.value >= voucher.minPrice, "Insufficient funds to redeem");
// first assign the token to the signer, to establish provenance on-chain
_mint(signer, voucher.tokenId);
_setTokenURI(voucher.tokenId, voucher.uri);
// transfer the token to the redeemer
_transfer(signer, redeemer, voucher.tokenId);
return voucher.tokenId;
}
function _verify(NFTVoucher calldata voucher) internal view returns (address) {
bytes32 digest = _hash(voucher);
return ECDSA.recover(digest, voucher.signature);
}
function _hash(NFTVoucher calldata voucher) internal view returns (bytes32) {
return _hashTypedDataV4(keccak256(abi.encode(
keccak256("NFTVoucher(uint256 tokenId,uint256 minPrice,string uri)"),
voucher.tokenId,
voucher.minPrice,
keccak256(bytes(voucher.uri))
)));
}
n/a.結論
lazy mintingを使用すれば、売り手の立場から見ると、minting価格の制限により、市場には複数のnftが登録できる.しかしminting以前にはmintingのための情報(image,signatureなど)がどこかに格納されなければならないため,多少は脱中央の価値に反する.
Reference
この問題について(Lazy Minting), 我々は、より多くの情報をここで見つけました https://velog.io/@heitzes/Lazy-Mintingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol