ERC4907規格によるレンタル可能なNFTの作成

※当記事は、こちらの記事の翻訳版です。
このガイドでは、ERC4907規格を使用してレンタル可能なNFTを作成する方法を説明します。
これにより、NFTの所有者が他のユーザーにNFTの一時的な使用(権)を与えることができます。
さっそく始めましょう。
ERC4907とは何ですか?
ERC4907は、他のウォレットに貸し出すことができるノンファンジブルトークン(NFT)のための規格です。
つまり、このNFTはuser(使用者) だけでなく、owner(所有者) も持つことになります。
これは、NFTの所有権を譲渡するのではなく、他のウォレットに一定期間貸し出したい場合に有効です。
ERC4907スマートコントラクトのデプロイ
Explore ページに入り、ERC4907 のコントラクトを選択します。
すると、以下のような画面が表示されます。

Deploy Nowボタンをクリックすると、コントラクトのパラメータを入力するダイアログが表示されます。以下は、パラメータの例です。

これらのパラメータの意味を簡単に説明します。
-
_name: コレクション名 - OpenSea などのプラットフォームで、NFT コレクションページに表示される一般的なものです。 -
_symbol: コレクションのシンボル。 -
_royaltyRecipient: ロイヤリティを受け取るウォレットまたはコントラクトアドレス。ロイヤリティの収益を共有するために分割コントラクトについてのガイドをご覧ください。
(こちらはまだ翻訳を行なっておりません。) -
_royaltyBps: 100ロイヤリティ基礎ポイントは、ロイヤリティの1%です。ロイヤリティ基礎ポイントは、適宜計算してください。
パラメータは自由に変更してください。次に、ご希望のチェーンを選択し、Deploy Nowをクリックします。(翻訳はまだ行っておりません。)
これでスマートコントラクトをデプロイするためのトランザクションが実行されます。プロセスが完了すると、コントラクトのダッシュボードにリダイレクトされます。

NFTをレンタルする方法
NFTをミントして、他のウォレットに貸し出してみましょう。
上部のNFTsタブに行き、Mintボタンをクリックします。
NFTの詳細を追加し、Mint NFTボタンをクリックします。これでトランザクションが開始され、NFTがNFTsタブに表示されます。

NFTを貸し出すには、Explorerタブを開き、WriteセクションからsetUser関数をクリックします。
貸し出したいNFTのトークンID、NFTの使用者(貸し出す相手)、使用者(貸し出す相手)がNFTを使用できなくなるタイミングを示すexpiresフィールドを入力します。
expiresフィールドでは、ここで生成できるUNIXタイムスタンプを受け付けます。

Execute をクリックし、トランザクションを承認します。トランザクションが成功すると、NFTの貸し出しが完了します!
レンタル状況を確認するには、ReadセクションのuserOf関数を使用します。NFTのトークンIDを入力し、レンタルがまだ有効であれば、レンタルされたウォレットのアドレスが表示されるでしょう。

また、expires(有効期限)が過ぎ、userがNFT を使用する権利を失った場合、userOf 関数を呼び出すと、0 のアドレスが返されます。

Codeタブをチェックすると、あなたのアプリでこのコントラクトとやり取りするために使用できるコードスニペット(再利用可能なコードの断片)が表示され、ユーザーにシームレスな(途切れのない)体験を提供することができます。
まとめ
レンタル NFT には、土地、美術品、あるいはソフトウェア ライセンスのレンタルなど、さまざまな使用例があります。このガイドでは、ダッシュボードを使用して独自のレンタルNFTスマートコントラクトを簡単にセットアップする方法について説明しました。
エラーや提案がある場合は、Discordに参加してチームにお話しください。
Discussion