Upgrade to Pro — share decks privately, control downloads, hide ads and more …

非エンジニアでも理解できるようにERC721Aをわかりやすく解説

cardene
February 18, 2023

 非エンジニアでも理解できるようにERC721Aをわかりやすく解説

以下の勉強会で使用した資料になります。
https://cryptogames.connpass.com/event/273086/

勉強会のアーカイブはこちらになります。
https://www.youtube.com/watch?v=U7QNVSwtU7M

cardene

February 18, 2023
Tweet

More Decks by cardene

Other Decks in Programming

Transcript

  1. 非エンジニアも理解できるように
    をわかりやすく解説
    ERC721A

    View full-size slide

  2. 自己紹介
    https://www.azuki.com/

    View full-size slide

  3. 自己紹介
    Cardene(かるでね)
    2021年後半からNFTに興味を持ち、
    2022年夏頃からSolidityの勉強を始め
    る。
    新卒で入社した企業を辞めて今年の1月に
    CryptoGamesに参画。
    ■ 名前
    ■ 経歴

    View full-size slide

  4. 目次
    https://www.azuki.com/

    View full-size slide

  5. 目次
    ERC20とERC721の違い
    ERC721Enumerableとは?
    ERC721Aとは?
    最後に
    参考文献
    https://www.azuki.com/

    View full-size slide

  6. ERC20
    とERC721
    の違い
    https://www.azuki.com/

    View full-size slide

  7. ERC20
    とERC721
    の違い
    ERC20 ERC721
    代替性トークン 非代替性トークン
    交換できる 交換できない

    View full-size slide

  8. ERC20
    とERC721
    の違い
    ERC20 ERC721

    View full-size slide

  9. ERC20
    とERC721
    の違い
    ERC20 ERC721
    1
    2
    3
    4

    View full-size slide

  10. ERC20
    とERC721
    の違い
    ERC20 ERC721
    『誰が』
    『いくつ持っているか』
    『誰が』
    『何を持っているか』
    ・・
    ・・・

    View full-size slide

  11. ERC20
    とERC721
    の違い
    Mint : トークンを新規に生成すること。
    Transfer : トークンを誰かに送ること。
    ガス代:手数料のこと。
    トランザクション:取引のこと。
    ■ 用語の整理

    View full-size slide

  12. ERC20
    とERC721
    の違い
    ちなみに...
    『ERC』とは何でしょうか?

    View full-size slide

  13. ERC20
    とERC721
    の違い
    『ERC = 改善提案』
    番号は提案された順番。
    *ERC20 → 20番目の提案

    View full-size slide

  14. ERC20
    とERC721
    の違い
    ERC20
    トークンを作成するための標準規格(設計書)
    ERC721
    NFTを実装するための標準規格(設計書)

    View full-size slide

  15. ERC20
    とERC721
    の違い
    詳しくは以下の記事を参考にしてください。
    ERC721をEIPやIERCの違いな
    どから丁寧に学んでみよう!

    View full-size slide

  16. ERC721Enumerable
    https://www.azuki.com/

    View full-size slide

  17. ERC721Enumerable
    ERC721Enumerableとは、ERC721の拡張機能であり実装は任
    意となっています。ERC721Enumerableは、「あるアドレス
    がどのトークンを所有しているか」というデータををストレー
    ジに保存しています。そのため、あるアドレスが所有している
    ERC721トークンの一覧を取得することができます。しかし、
    ストレージに保存するデータが多いため、ガス代も多くかかっ
    てきます。さらに、トークンのMintやTransferのとき、1つず
    つストレージの更新処理がされるためガス代が多くかかる原因
    になります。...

    View full-size slide

  18. ERC721Enumerable
    『あるアドレスが所有しているNFT 
     の一覧を取得できる、ERC721の
    拡張機能。
     ただ、ガス代高い...。』

    View full-size slide

  19. ERC721Enumerable

    View full-size slide

  20. ERC721Enumerable

    View full-size slide

  21. ERC721Enumerable
    ERC721
    0xabc123...
    ■ ある人がどのNFTを持っているかの一覧を取得できない...

    View full-size slide

  22. ERC721Enumerable
    ERC721
    Enumerable
    0xabc123...
    ■ ある人がどのNFTを持っているかの一覧を取得できる!
    5
    10

    View full-size slide

  23. ERC721Enumerable
    更新するデータが多い ガス代が高い
    ■ ERC721Enumerableの課題点

    View full-size slide

  24. ERC721Enumerable
    Mint(発行)されているトークンの総量がいくつ
    か?
    あるアドレスがいくつのトークンを持っているか?
    どのアドレスがどのトークンを所有しているか?
    ■ Mint(発行)時に以下のデータを更新します。
    1.
    2.
    3.

    View full-size slide

  25. ERC721Enumerable
    3個欲しい!
    10 3
    11 4
    12 5
    Mint
    Mint
    Mint
    Mintされてい
    るトークン総量
    アドレスが所有
    するトークン量

    View full-size slide

  26. ERC721Enumerable
    3個欲しい!
    10 3
    11 4
    12 5
    Gas!!!
    Gas!!!
    Gas!!!
    Mintされてい
    るトークン総量
    アドレスが所有
    するトークン量

    View full-size slide

  27. ERC721Enumerable
    3個欲しい!
    Mintされてい
    るトークン総量
    アドレスが所有
    するトークン量
    12
    5
    Gas!!!

    View full-size slide

  28. ERC721Enumerable
    あるアドレスが所有しているNFTの一覧を取得
    できる。
    更新するデータが多いためガス代が高くなる。
    ■ まとめ

    View full-size slide

  29. ERC721A
    https://www.azuki.com/

    View full-size slide

  30. ERC721A
    『ガス代を節約しながら、
     あるアドレスが所有している
     NFTの一覧を取得できる。』

    View full-size slide

  31. ERC721A
    NFTプロジェクトの「Azuki」から提案された
    独自実装。
    複数のトークンを一度のトランザクションで
    Mintすることができる。
    ガス代が節約できる。
    ジェネラティブNFTに向いている。
    ■ 特徴

    View full-size slide

  32. ERC721A
    Moonbirds
    Doodles
    RTFKT
    Goblintown
    NEO TOKYO PUNKS
    NEO Samurai Mokeys
    ■ ERC721Aを実装しているNFTプロジェクト

    View full-size slide

  33. ERC721A
    ■ Mint時にかかるガス代
    https://www.azuki.com/erc721a

    View full-size slide

  34. ERC721A
    ■ Mint時にかかるガス代
    https://www.azuki.com/erc721a

    View full-size slide

  35. ERC721A
    ■ ERC721 - 1つ1つ所有者に紐づく。

    View full-size slide

  36. ERC721A
    ■ ERC721A - 一部のみ所有者に紐づく。

    View full-size slide

  37. ERC721A
    ■ ERC721A - 連続している最小番号のみ紐づく。

    View full-size slide

  38. ERC721A
    ■ ERC721A - 全てのトークンの所有者を確認。

    View full-size slide

  39. ERC721A
    ■ ERC721A - トークンを他の人に送る。

    View full-size slide

  40. ERC721A
    ■ ERC721A - データの更新(NG)

    View full-size slide

  41. ERC721A
    ■ ERC721A - データの更新(OK)

    View full-size slide

  42. あるアドレスが所有しているNFTを一覧で取得で
    きる。
    複数のNFTを一度にMintできる。
    更新するデータを削減し、ガス代を節約できる。
    ■ まとめ
    ERC721A

    View full-size slide

  43. 最後に
    https://www.azuki.com/

    View full-size slide

  44. 色々記事にまとめているので、ぜひ読んでみて
    ください。
    https://chaldene.net/
    こんな記事書いて欲しいとかあれば、Twitter
    のDMなどで連絡ください!
    @cardene777
    ■ 記事
    最後に

    View full-size slide

  45. 参考文献
    https://www.azuki.com/

    View full-size slide

  46. BEANZ Official
    Azuki
    INTRODUCING ERC721A:AN IMPROVED ERC721 IMPLEMENTATION
    Azukiが開発したNFT規格ERC712Aは何を行なっているのか?
    イーサリアムの「ERC」って何?今話題のERC-721Aについても解
    説!
    ERC721Aについて非エンジニアでもわかるように概要から実装ま
    で1から丁寧にわかりやすく解説
    参考文献

    View full-size slide