Open16

何もわからんから始めるNFT

とりあえずまぁ、インターフェースを体験してから実装を理解していこう、ということで、
実際にNFTを買ってみて、何が行っているのかを把握してみよう。

もともと持ってる理解レベルは、「仮想通貨をかってopenseaってところでNFT買う」くらい...。

この辺を見ると、流れ的には、

  1. 仮想通貨購入のために、取引所の口座作って、入金する
  2. 取引所でETHを買う
  3. 買ったETHを、MetaMask(ウォレットと呼ばれるものぽい)に送る
  4. openseaで自分のwalletとConnectして、NFTを購入
    ぽい。

実際やってみると、3までは特に悩むことなくやってみれたが、
openseaがなんなのかよくわからなすぎて、気軽に購入〜とかできなかった。

雰囲気検索

https://opensea.io/assets?search[categories][0]=art&search[priceFilter][symbol]=USD&search[priceFilter][max]=1&search[resultModel]=ASSETS&search[toggles][0]=BUY_NOW

そして、すごく安そうなNFT買おうとしてみたけど、ガス代とやらが高すぎる。
金額は0.0001ETH(約$0.35)だけど、ガス代が0.01ETH(約$34.7)。。

ガス代は、Ethereum上でtransaction実行するためにかかるお金だとか....

https://www.coindeskjapan.com/137693/

困っていたら、手数料の安いpolygon networkで買ったらよいとアドバイスをくれ、
3MATICをポケットマネーから出してくれる神が降臨。

流れ的には、

  1. 神がMATICをくれる
  2. uniswapで、MATICをWETHに変える
  3. OpenSeaで、Chains polygon にでているやつを買う

Polygonは、Ethereumのレイヤー2ネットワークというものらしい。
たぶん、Ethereumとは別のブロックチェーンなんだけど、なんか互換性がある的な。。わからん。

https://ethereum.org/ja/layer-2/

MATICは、Polygonにおけるトークンの名前っぽい、EthereumにおけるETHみたいな...たぶん。

Wrapped ETHってなんだ?

https://gadget-joho.com/weth/

正直良くわからんけど、トークンの標準規格があって、それに沿っていれば、異なるブロックチェーン上のトークンを交換できるとか、同じウォレットで管理できるとかのメリットがあるけど、ETH自体は対応してなくて、同じ価値で交換される別トークン、WETHが作られてたとか...。

よくわからんのは、WETHってどこブロックチェーンにあるものなのってあたり...。
・Opensea上では、ETH(黒)、ETH on Polygon(紫)、WETH(赤)とかある。
・Chains Ehterenum選んだら、ETH(黒)・WETH(赤)がでて、Chains Polygon選んだらETH on Polygon(紫)だけ出る。
・MetaMask上、Polygon Mainnetにつないでる状態でMATICとWETHでる、Ehtreum MainnetでETHからWETHにスワップさせることもできる...ガス代高くてやるきにならんが...。

なんかそのあたりからして、チェーン毎にWETHあるような気がする..。

2のuniswapで、MATIC -> WETHにスワップしたとき、なんかずっとpendingって出る状態になった。

よくわからんけど、指定するガス代がひくくて処理されない状態になったぽい。

https://pprct.net/howtosolve_transaction-pending/

MetaMask上のアクティビティから、speedupボタンで指定するガス代変更? したらいいらしい。
実際やったら、なんか失敗扱いになった。
が、その後もう一回最初からやったら成功した謎。

ETHでかうのも、ETHからMATICなりWETHに変えるのも、4000円近くガス代かかる。
MATICを取り扱ってる取引所でなら、ETH経由せずにMATICかうことができるとか。。

https://www.binance.com/en/markets

Part1は、スマートコントラクトをRpostenってテスト用?の場所にデプロイするところまで。

いまいちよくわからんが、
・Alchemyッテサービスを使って、スマートコントラクトを簡単にデプロイできる
・デプロイにはETHが必要。そのため、自分のwalletとの接続が必要。
・Ethereum Testnet RpostenのコインはFaucetで付与可能。
・なんか、Metamaskで秘密鍵Exportして環境変数に読み込ませろと...。ちょっと怖いので、Metamask上でアカウント作って読み込ませる。。

付与されたときのtransaciton

https://ropsten.etherscan.io/tx/0x66c7f209fa36c6e250ed3a386bcf76d8445843997740ffea25ce11c293237208

デプロイが成功するとaddressが表示される。Fromが自分の指定したwalletになっていた。

https://ropsten.etherscan.io/tx/0x32a527e25c7bfac1d0d2620cae1c667d7079f605d9af3d9a7ca9f4032145a29c

Part2は、Part1で作ったコントラクトを使ってNFTを作るところ

・pinataに画像データを上げる
・あげるとCIDが払い出される
 https://gateway.pinata.cloud/ipfs/QmXiVhkgxAix6txsYwVD9mRDfK3sA7uWWoe9Vn6z6X57nb
・メタデータを準備してそれも同じようにしてアップロードする
 https://gateway.pinata.cloud/ipfs/QmeYSGaKmYgJmKojPz7pbjZAaeuPCteEVQs2pGtGtRBf2R
・Part1で作ったコントラクトに対して、transactionを実行する...?

https://ropsten.etherscan.io/tx/0xf020b9aad356652a5dafa9e266294113f82cd8293173407931122d2c0439dc98

これで、できた...のか。。

Part3は、Part2で作ったNFTをmetamaskで表示するところ

・metamask上でカスタムトークンをインポートを実行する。
・トークンコントラクトアドレスに、コントラクトのアドレスを入れる。0x0a200eb7b18a027cdfc4889304824cdd48a2d3c8
・トークンのIDとやらには、Etherscanに表示されていた、1をいれた。
・ブラウザ上だとNFTとしてアセット表示されるけど、画像までは表示されない。
・スマホにmetamaskいれて、そっちにも同じアカウント使うためにシードフレーズを入れる(いいんだよなこれは)
・同じアカウントでRopsten Test NetworkでみるとNFTにPart2で作ったやつがでている。

コントラクトアドレスとトークンIDは、

https://ropsten.etherscan.io/token/0x0a200eb7b18a027cdfc4889304824cdd48a2d3c8?a=1

くまのNFTだとこれかな。

https://polygonscan.com/token/0x2953399124f0cbb46d2cbacd8a89cf0599974963?a=3288746032322864612798072950283382958942011722884479707289250112310901473281

スマホで見てみて。
・アカウントの名前とかアクティビティは、ローカルに保存されているだけぽいな
・Polygon, MATICはでてるけど、WETHが表示されてないな...。
 これも自分で登録しないとでないのか。
・くまのNFTもスマホで表示しようとしたが、could not verify ownershipとか言われてできない...。指定してるコントラクトかToken IDが違うんだよ思うが。。<- コピペミスってただけだった。

ログインするとコメントできます