声明
この記事は、Vue3.0 +Quasar+ ethers.js と Ethereum スマート コントラクトの間の対話に関する一連のチュートリアルの 1 つです 。
前のセクション:ブロックチェーン ブラウザーとコントラクト コード – コード クールでは、 ブロックチェーン ブラウザー上のスマート コントラクトのコードを見ましたが、今日はブロックチェーン ブラウザーでこれらのコントラクト コードを理解し始めました。
もちろん、契約書の作成方法を教えるためにここにいるわけではないので、契約方法の一部を知っていれば十分です。
このセクションを学習する前に、次のものが必要です。
- メタマスクウォレット
- ブロックチェーンウォレットアカウント
始める
読み取りおよび書き込みメソッド
USDT トークン コントラクトを開きます: https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7
上の図の阅读 合约
と は编写合约
、実際にはスマート コントラクト内のすべてのメソッドです。なぜ 2 つのカテゴリーに分けられるかというと、それらには明らかな違いがあるからです。
一般的なフロントエンド開発における GET と POST と同様に、GET は通常、バックエンド インターフェイスを呼び出してデータを取得するために使用され、POST はバックエンド インターフェイスを通じてデータを転送します。
ここでの読み取り方法と書き込み方法は次のように説明されます。
- read メソッドは、contract メソッドを呼び出してデータをクエリするために使用されます。
- write メソッドは、contract メソッドを呼び出してデータを書き込みます。
それらの最大の違いは次のとおりです。
- read メソッドには認証は必要ありません。web3js ライブラリを使用してコントラクトに接続し、直接呼び出すだけです。このメソッドの呼び出しにはガス料金はかかりません (つまり、お金はかかりません)。
- write メソッドには認証が必要で、read メソッドと同様に、コントラクトに接続した後に呼び出す必要がありますが、メソッドの各ステップを呼び出すには、ユーザーに認証を許可するポップアップ メタマスクまたはその他のウォレットが必要であり、そのようなメソッドを呼び出すと、ガス代がかかる(お金がかかる)
例
読み取りメソッド
ここでは、「読み取りメソッド」タブをクリックして、残高メソッドを展開します。
このメソッドは、アカウントの USDT 残高をクエリするために使用されます。このメソッドでは、ウォレット アドレスを渡す必要があります。ここでは、独自のウォレット アドレスを入力します。
結果: 0
直感的にわかるように、このメソッドを呼び出すにはパラメータを渡してボタンをクリックするだけで、認証は必要ありません。
書き込みメソッド
書き込みコントラクトに切り替えて、認証方法を拡張します。
このメソッドは承認に使用されます。たとえばモールを開発する場合、ブロックチェーン決済を使用し、それがUSDT決済である場合、決済を開始する前にこのメソッドを一度呼び出す必要があります。これはユーザーの承認を意味します。使用。
ここでは 2 つのパラメータを渡す必要があります。
- _spender 許可ユーザー
- _value 承認金額
ここから、write メソッドのすべての操作にはユーザーの確認と署名が必要であり、そうしないとトランザクションを完了できないため、write メソッドの呼び出しではウォレットをリンクする必要があることがわかります。
私たちは今でも独自の住所と承認金額を書きます。
メタマスクをインストールしている場合は、ボタンをクリックするとポップアップ ウィンドウが表示され、認証が可能になります。
知らせ
この一連のチュートリアルでは、チュートリアル内で言及されているトークン、トークン機関、サードパーティ ソフトウェア、プラグインなどには関心がありません。ここでの例は技術的なコミュニケーションのみを目的としています。
この一連のチュートリアルはテクニカル取引のみを目的としており、通貨投機やトークン取引などの操作は禁止されています。