로열티
이 튜토리얼에서는 대체 불가능 토큰(NFT) 스마트 컨트랙트를 계속 구축하고, NFT에 영구 로열티를 구현하는 방법을 배웁니다. 이를 통해 사람들은 NFT가 판매될 때 구매 가격의 일정 비율을 얻을 수 있습니다.
소개
지금쯤이면 로열티 지원을 제외하고는 완전한 NFT 컨트랙트가 있어야 합니다. 시작하려면 GitHub 레퍼지토리에서 5.approval
브랜치로 전환하거나 이전 튜토리얼에서 작업을 계속하십시오.
git checkout 5.approval
이 로열티 튜토리얼의 완성된 코드를 보려면,
6.royalty
브랜치를 확인해 보세요. :::문제에 대한 생각
로열티 기능을 구현하려면, 먼저 NFT 판매 방식을 이해해야 합니다. 이전 튜토리얼에서는, NFT를 가진 사람이 적절하게 디코딩할 수 있는 메시지를 전달하여 nft_approve
함수를 통해 마켓플레이스에 NFT를 리스팅하는 것을 보았습니다. 사용자가 마켓플레이스에서 NFT를 구매하면 어떤 일이 일어나나요?
지금 가지고 있는 지식을 사용했을 때의 합리적인 결론은, 마켓플레이스가 교차 컨트랙트 호출(cross-contract call)을 수행하여 NFT를 구매자에게 전송하고, NFT 컨트랙트의 nft_transfer
메서드를 호출하는 것입니다. 해당 함수가 완료되면, 마켓플레이스는 구매자가 지불한 정확한 금액을 판매자에게 지불합니다.
이제 판매자가 아닌 다른 계정으로 가는 금액을 삭감할 수 있도록 확장할 수 있는 방법에 대해 생각해 보겠습니다.