0から1へ:NFT分散化取引所の完全ガイド

robot
概要作成中

ゼロからNFT分散化取引所を構築する

以前の記事では、ERC-20トークンが分散化取引所を通じてどのように取引されるかを探りました。それでは、ERC-721プロトコルに従ったNFTは、どのように分散化取引を実現できるのでしょうか?

現在主流のNFT取引プラットフォームのほとんどは、商品の陳列を買い手が選ぶための棚に似たオーダーモードを採用しています。本稿では、スマートコントラクトとシンプルなフロントエンドインターフェースを作成することによって、基本的なNFT分散化取引システムを実現します。なお、本稿は学習参考用であり、プロダクション環境には適していません。

! 【Web3スターターシリーズ:NFT DEXをゼロから実装する】(https://img-cdn.gateio.im/webp-social/moments-5d391cb28a9a6eafd3ef56f39b0dc5bc.webp)

NFTの紹介

NFTは非代替性トークンであり、各トークンは唯一無二です。それはERC-721プロトコルに従い、通常はウォレット内で異なる画像形式で表示され、各NFTには一意のIDがあり、区別されます。

NFTの特性により、ERC-20トークンのように価格曲線を通じて価格を設定することはできません。したがって、NFT取引は通常、注文簿の形式を採用しています。

! Web3初心者シリーズ:NFT DEXをゼロから実装する

オーダーブック取引モード

オーダーブック方式では、商品価格は売り手が自ら設定し、アルゴリズムによって計算されるものではありません。一般的に2つの取引方法があります:

  1. 価格設定注文: 売り手が販売価格を設定し、買い手がそれを適切だと感じれば購入できます。
  2. 購入依頼: バイヤーが購入注文を発行し、売り手が価格が適切だと感じた場合、販売することができます

この記事では、最初の価格設定取引方法に重点を置いて紹介します。

! 【Web3スターターシリーズ:NFT DEXをゼロから実装する】(https://img-cdn.gateio.im/webp-social/moments-f6f730a4e82de02e49d30d9089e8716e.webp)

NFT取引所の基本機能

基本的なNFT取引所には以下の機能が含まれるべきです:

  1. 商品を上架:設定した価格でNFTを上架する
  2. 商品の購入: NFTの価格に従って購入する 3.手数料:取引価格に比例して請求されます

上場プロセス

  1. ユーザーはフロントエンドでNFTを選択し、価格を設定します。
  2. ユーザーは契約にNFTの操作を許可する
  3. リスティング情報を契約書に記録する

購入プロセス

  1. ユーザーはフロントエンドでNFTを選択し、購入をクリックします。
  2. 契約は買い手の資金を売り手に移転し、NFTを買い手に転送します。

! Web3スターターシリーズ:NFT DEXをゼロから実装する

NFT取引所を実装する

下に、ゼロからシンプルなNFT取引所を実現します。

1. テスト用NFTを作成する

テストを便利にするために、Remixを使用してERC-721プロトコルのNFTコントラクトを迅速にデプロイできます。もちろん、既存のNFTを使用してテストすることもできます。

! Web3スターターシリーズ:NFT DEXをゼロから実装する

2. スマートコントラクトの作成

契約は以下の主要機能を実現する必要があります:

2.1 売り手がNFTを出品する

プロセス:

  1. NFTの所有権を確認する
  2. リスティングレコードを追加する
  3. 上場イベントをトリガーする

! Web3初心者シリーズ:NFT DEXをゼロから実装する

2.2 バイヤーがNFTを購入

プロセス:

  1. NFTのリスティング情報を取得する
  2. 手数料を計算して差し引く
  3. NFTの所有権を譲渡する
  4. 購入イベントをトリガーする

! Web3スターターシリーズ:NFT DEXをゼロから実装する

2.3 上場を取り消す

isActiveフィールドをfalseに設定することで実現します。

! 【Web3スターターシリーズ:NFT DEXをゼロから実装する】(https://img-cdn.gateio.im/webp-social/moments-4dc46af090a3d3987626b915c0d5f1ac.webp)

2.4 手数料の引き出し

契約の所有者は累積された手数料を引き出すことができます。

! Web3スターターシリーズ:NFT DEXをゼロから実装する

3. フロントエンドインターフェースの開発

以下のツールを使用してください:

  • Ant Design Web3:ウォレットを接続してNFTを展示
  • Wagmi:ウォレットとインタラクションする
  • Next.js + Vercel:プロジェクトをデプロイする

フロントエンドには3つの主要なページが含まれています:

  • Mint:テスト用NFTを鋳造する
  • 購入:NFTマーケットプレイス
  • ポートフォリオ: ユーザーのNFTを管理

! Web3スターターシリーズ:NFT DEXをゼロから実装する

3.1 ウォレットを接続

Ant Design Web3の接続されたコンポーネントを使用して実装されています。

! 【Web3スターターシリーズ:NFT DEXをゼロから実装する】(https://img-cdn.gateio.im/webp-social/moments-a11e2cb9eb62433a03adcf2abd7b56b5.webp)

####3.2ミントページ

wagmiのuseWriteContractメソッドを使用して、契約を呼び出してNFTをミントします。

! Web3スターターシリーズ:NFT DEXをゼロから実装する

3.3 ポートフォリオページ

ユーザーのNFTを表示し、上架/下架操作をサポートします。

! Web3初心者シリーズ:NFT DEXをゼロから実装する

3.4 購入ページ

販売中のすべてのNFTを表示し、購入機能をサポートします。

上記の手順を通じて、基本機能を備えたNFT分散型取引所を実現しました。最後に、プロジェクトをVercelにデプロイして使用できます。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 7
  • 共有
コメント
0/400
ChainMaskedRidervip
· 08-04 18:11
この文章は無駄なことばかり言っていて、まったく意味がない。
原文表示返信0
CommunityWorkervip
· 08-04 01:49
ガス代なしでDEXを使っても誰が欲しいの?
原文表示返信0
MelonFieldvip
· 08-02 21:21
わあ、この文章は簡単に書かれているね
原文表示返信0
GmGmNoGnvip
· 08-02 21:21
コードを学ぶのが面倒なら、クリップクーポンを使いましょう。
原文表示返信0
ILCollectorvip
· 08-02 21:03
ああああ また新しいコレクションが私をカモにしようとしている
原文表示返信0
RugPullProphetvip
· 08-02 21:00
手があれば大丈夫 まずはやってみよう
原文表示返信0
LazyDevMinervip
· 08-02 20:53
フロントエンドがひどくなってしまったのに、どうして生産に使わないの?
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)