要件と設計
まず、NFTの"独自"マーケットプレイスの説明をします。
クリエイターが自分の作品のNFTを作成し、販売するためにはマーケットプレイスを使用します。
マーケットプレイスとは、簡単に誰でも自分のデジタルアートやドメイン・ゲームアイテム・トレーディングカードなどのNFTを作成して、販売することができる販売プラットフォームのことです。
有名なNFTマーケットプレイスには OpenSea や Rarible などがあります。
国内では、 Coincheck NFT などがありLINEも最近「LINE NFT」の提供開始を発表していました。
今回の要件は、この販売プラットフォーム自体を独自で開発し、
自分達の顧客(アーティスト)がそこで販売できるようにするというものです。
マーケットプレイスを独自で作る最大のメリットは、「手数料」です。
既存のマーケットプレイスを使用してNFTを販売するとそのマーケットプレイスに手数料を取られてしまいます。
上記の主要なマーケットプレイスでは大体2~3%程度の手数料が取られます。
さらに、自社で抱えているアーティスト達がNFT販売できるプラットフォームをサービスとして展開するには、そこにサービス手数料を追加して、アーティスト達に使用してもらう必要があります。
そこで、自社のマーケットプレイスを構築できれば、その分手数料を安くでき、アーティストや自社に還元できる金額が大きくなります。
これの手数料の違いがかなり大きいですが、他にもいくつかのメリットはあります。
OpenSea SDK
OpenSeaにはSDKが存在し、独自マーケットプレイスの構築が可能とドキュメントには書かれています。
しかし、OpenSeaがSDK内で提供している機能の中には「NFTを出品する」機能がありません。
出品したNFTのリストを取得したり、販売中のNFTにオファーを出したりは出来ますが、出品だけは出来ないのでこの部分はOpenSea側で手動で出品する必要がありました。
これは、アーティスト向けのNFT販売サイトを作る上でかなり不便な仕様となってしまうため、サイト内でアーティストが自由にNFTを作成(Mint)して販売できるサイトを作るためには独自でマーケットプレイスを開発する必要がありました。
Venly APIとは?
Venly APIは汎用型のNFT APIです。
Mint(NFTを作成すること)や、専用のWallet作成、NFTの販売とマーケットプレイス運用などが可能となります。
APIは3つに分かれていてそれぞれ以下のような機能が提供されています。
Wallet API
ドキュメント: https://docs.venly.io/api/api-products/wallet-api
Wallet APIはVenlyが独自で提供している暗号通貨Walletです。
OpenSeaなどではMetaMaskなどのウォレットを持っている必要がありますが、MetaMaskを持っていない人はわざわざChrome拡張をインストールしてMetaMaskアカウントを作成する必要があります。
ただ、これは普段NFTなどを扱っていない人からするとかなり面倒臭く分かりづらい可能性があります。
そこで、Venly Wallet APIを使用すれば、マーケットプレイス内でウォレットを持っていない人でも簡単にNFT用のウォレットを作りそのまま使用することが出来るようになります。
NFT API
ドキュメント: https://docs.venly.io/api/api-products/nft-api
NFT APIは、実際にブロックチェーン上にNFT用のtokenを発行し、Mintすることが出来ます。
大きく3つの概念が存在し、
1. 「Contract」が実際のスマートコントラクトと対応しており、EthereumやPolygonなどにコントラクトをデプロイすることが可能です。
2. 「NFT template」がNFTのメタデータなどを事前に定義しておくものです。このtemplateからそれぞれのNFTトークンを生成します。これはERC1155規格に則った仕様でしょうか。
3. 「NFT」が実際のスマートコントラクト上で発行されるtokenに相当します。「Mint NFT」エンドポイントを使用してトークンを発行できます。
Market API
ドキュメント: https://docs.venly.io/api/api-products/market-api
Market APIは独自マーケットプレイスを作成する際に役立ちます。
「Offer」という概念があり、発行したNFTをドル価格で販売することが出来ます。
NFTを所有するウォレットにApproveと署名処理をしてもらう必要がありますが、Offerを購入したタイミングでAPIが自動でNFTを購入者のウォレットに移転してくれて、NFT購入の処理が完了します。
このように、独自マーケットプレイスを構築するために必要な機能が、この3つのAPIで一通り揃っているので比較的簡潔にプラットフォームを作ることが出来るようになります。
VenlyコミュニティはDiscord上にあり、
エンジニアや事業者・Venly運営・NFT所有者などが会話していたり、Discord上にサポート用のチャンネルがあるので、そこで技術的な質問を運営に聞いたりしています。
割とカジュアルにいろんな人が会話しているので気になる方は是非入ってみてください。
NFT販売しませんか?
もし、この記事を読んで独自マーケットプレイスが気になった方は是非ご連絡ください!
既存プロダクトやECにNFT販売機能を追加するなども可能なので、ご相談ください。
エンジニア向けにもう少し具体的なVenly APIの使用方法なども今後書いていければと思いますので、
気になる方はご連絡ください!