メインコンテンツまでスキップ

lesson-1_コントラクトのガス代を計算してみよう

💰 プロジェクトのコストを見積もる

前回のレッスンでは、NFTCollectibleコントラクトをデプロイしたsepolia Test Networkはイーサリアムのメインネットを模倣していますが、実際の金銭的取引は行われません。

自分のプロジェクトをマネタイズしたい場合は、最終的にコントラクトをイーサリアムメインネットにデプロイする必要があります。

しかし、イーサリアムメインネットは、ガス代(ブロックチェーンにデータを書き込むコスト)が高いことで有名です。

このレッスンでは、プロジェクトのデプロイと実行にかかるコストと、ユーザーがNFTをMintするのにかかるコストの見積もり方について学んでいきます。

⛽️ ガス代とその価格

ブロックチェーン上でデータの書き込み、または変更を行う際には、ガス代を支払う必要があります。

例)ブロックチェーン上でのデータの書き込み・変更

  • ETH(またはそのほかのERC20トークン)の転送

  • NFTの作成と転送

  • スマートコントラクトのデプロイ

まず、スマートコントラクトをデプロイするコストを計算しましょう。

従来、スマートコントラクトの作成は、常にコストのかかるプロセスでした。

導入コストのガス量を確認するのは非常に簡単です。

SepoliaにデプロイされたコントラクトのEtherscanページに移動し、最初のトランザクションを確認しましょう。

  • Create: NFTCollectibleと表記されているのコントラクトを確認してください。

次に、コントラクトの作成に関連付けられているTxn Hashハッシュをクリックしてください。

トランザクションページに進んだら、Click to see Moreをクリックしましょう。

Gas limit & Usage by Txnを確認してください。

Gas limit & Usage by Txnの値は、コントラクトのデプロイに使用されたガスの量です。

私のコントラクトをSepolia Test Networkにデプロイするのに、約386万ガスが消費されました。

同じコントラクトをイーサリアムメインネットに展開すると、同じ量のガスを消費することになります。

テストネットとイーサリアムメインネットでは、ガスの価格が違います。

上図のGas Feeを参照すると、私のコントラクトがSepolia Test Networkにデプロイされたときのガス価格は、1.3 Gweiだったことがわかります。

  • ✍️: ガス価格は、1単位のガスを消費するコストのことです。

上記を踏まえ、コントラクトをメインネットにデプロイする際にかかるコストを計算していきましょう。

下記の式に、数字を当てはめていきます。

コスト = ガス価格( Gas Price ) x 消費したガスの量( Gas limit & Usage by Txn )

ガス価格は、ネットワーク上のトラフィック量に応じて変動します。

ここで現在のETHのガス価格を確認できます: https://etherscan.io/gastracker

これは、私がコントラクトをデプロイした際のETHのガス価格です。

上図からわかるように、イーサリアムメインネットのガス価格は 約 40 Gwei であり、Sepolia で消費されたガス価格よりも大幅に高くなっています。

これで、ガスコストを見積もるのに必要なものがすべてそろいました。

私のコントラクトをイーサリアムメインネットにデプロイする際のコストの計算式は以下になります。

コスト= 40 Gwei (イーサリアムメインネットのガス価格) × 3,860,000( 消費したガスの量 ) = 154,400,000 Gwei = 0.154 ETH

現在、私のコントラクトをイーサリアムメインネットにデプロイするとしたら、0.154 ETH のコストがかかることがわかりました。

今の時点(2022年2月)で、0.154 ETHを日本円に換算すると、約4万円になります。

数行のコードをブロックチェーンにアップロードするだけにしては、高い金額です。

もちろん、価格が下がったときにコントラクトをデプロイすることもできますが、イーサリアムメインネット上でコントラクトを操作するのは、基本的に高額になる傾向があります。

👛 ユーザーが負担するコスト

ユーザーも、私たちのコントラクトからNFTをMintする際にガス代を支払う必要があります。

それでは、NFTを1つMintするのにかかる費用を計算してみましょう。

もう一度、あなたのコントラクトアドレスをEtherscanで呼び出し、Mint NFTsと書かれているトランザクションの中身を見ていきましょう。

イーサリアムメインネット上で私のコントラクトからNFTを1つMintする際のコストの計算式は以下になります。

コスト = 40 Gwei (イーサリアムメインネットのガス価格) × 386,338(消費したガスの量)/ 3(一度に Mint した NFT の数) = 5,151,173 Gwei = 0.005 ETH

1つのNFTをMintするために発生するガス料金は0.005 ETH(約1500円)です。

NFTを0.01 ETHで販売した場合、ユーザーは追加で実際のNFTの約半分の金額をガス代に費やすことになります。

🔗 サイドチェーンを使ってガス代を削減する

ガス代を考慮すると、イーサリアム上でNFTをMintし、取引することは、持続可能とは言いにくい状況です。

このガス代問題を解決するために、さまざまなソリューションが存在します。

人気のあるソリューションの1つがPolygonサイドチェーンです。

✍️: サイドチェーンとは何か

サイドチェーンは、メインチェーン(この場合はイーサリアム)と並行して動作します。

サイドチェーンは、メインチェーンとの間で資産の転送を可能にし、その過程でスピードとスケーラビリティを劇的に向上させます。

前述の取引にどれだけのコストがかかるか、Polygonで試算してみましょう。まず、こちら からPolygonのガス価格を見てみましょう。

2022年2月現在、ガス料金は3 Gwei程度です。

これをベースに、Polygonのサイドチェーンでコントラクトをデプロイするコストを計算してみましょう。

コスト = 3 Gwei (イーサリアムメインネットのガス価格) × 3,860,000(消費したガスの量) = 11,580,000 Gwei = 0.0115 MATIC

ガス料金は、現在のPolygonでの価格を反映させたものに変更しました。さらに重要なことは、Polygonで使用している通貨がMATICであることです。

現在(2022年2月)の1 MATICの値段は172円です。

したがって、同じスマートコントラクトを Polygon ネットワーク にデプロイするコストは、約 2 円になります。

同じコントラクトを Polygon ネットワーク にデプロイするコスト

= 172 円( 1 MATIC あたりの金額 ) × 0.0115 MATIC(コントラクトのデプロイコスト)

≒ 2 円

イーサリアムメインネットの価格(4 万円)と比べると、だいぶコストが削減できます。

こちら で、MATICの値をで表現できるので、試してみてください!

🔮 Polygon の有用性

Polygonを使う大きなメリットは、EVM に対応していることです。

  • EVMについて詳しくは、こちら をご覧ください。

「EVMに対応している」とは、イーサリアムと同じツールを使ってスマートコントラクトをデプロイできる、ということです。

Polygonのもう1つの特徴として、非常に有利なのは、世界最大のNFTマーケットプレイスであるOpenSeaにサポートされていることです。

ユーザーは、イーサリアムのNFTとほぼ同じ方法で、OpenSea上でPolygonネットワークにデプロイされたNFTを取引できます。

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#polygonで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の3点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット

次のレッスンに進みましょう 🎉