10/19 勉強会 メモ
前半 thirdwebを使ったコントラクトのフロント連携について
1 ClientIDの取得
「Settings」からAPIキーを作成する
2 やってみよう
①.envにclientIDを入れる
②立ち上げる。
Npmの人はnpm install から、npm run dev
Yarn の人は yanr install から yarn dev
③connect walletの確認
「_app.tsx」のsupportedWallet
supported wallet
接続箇所は
「index.tsx」の44行目の「ConnectWallet」
④コードの実行
「index.tsx」の36行目
⑤チェーンの設定
import { Astar } from "@thirdweb-dev/chains";
activeChain={Astar}
⑥PWAのインストール
⑦コードについて
「next.config.js」
「Public」> 「manifest.json」
「pages」> 「_document.tsx」
後半 ERC6551の実装について
1 TBAの概要
・概要
・Registoryコントラクト/ implementationコントラクト
2 やってみよう
① clone
②コンパイラの変更
③ownableの修正
④NFTの作成(デプロイして、TokenID:1を0xAb…b2にミント)
⑤OwnerOfで確認
⑥Implementationコントラクト(ERC6551Account)のデプロイ
⑦Registoryコントラクトのデプロイ
⑧Registoryコントラクトの「createAccount」
(チェーンID:1,トークンID:1, salt:0, initData:[])
⑨decoded output: 0: address
10 ERC6551Accountで「At Address」に入れて実行
11 owner, tokenで内容を確認
12 トークンの送付(0x4B…dbに2ETH)
13 executeCall value 2000000000000000000 data:[]
14 value 2 ether
15次は、入れないで送る
16次は、別の人からやって、エラーを確認する