時価総額: $2.1702T 1.17%
ボリューム(24時間): $75.7161B -2.12%
恐怖と貪欲の指数:

18 - 極度の恐怖

  • 時価総額: $2.1702T 1.17%
  • ボリューム(24時間): $75.7161B -2.12%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.1702T 1.17%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

堅牢性のイベントとそれらの使用方法は何ですか?

Solidity events enable contracts to log data via the `emit` keyword, allowing dApps to listen for and process real-time updates using tools like Web3.js.

2025/07/20 20:07

堅実さでイベントを理解する

堅実さでは、イベントは契約が外部の世界と通信する方法です。それらは、分散型アプリケーション(DAPP)、ウォレット、およびその他の外部サービスによって聴くことができるログを放出して、スマートコントラクトがログを発することを可能にします。イベントは、契約状態の変更を追跡し、フロントエンドインターフェイスにリアルタイムの更新を提供するのに特に役立ちます。

ソリッドイベントは、 eventキーワードに続いてイベント名とパラメーターのリストを使用して宣言されます。これらのパラメーターは、インデックス化されていないか、インデックスなしで、インデックス化されたパラメーターがログで検索可能です。イベントが放出されると、トランザクションのログに保存されます。これはブロックチェーンの一部ですが、他のスマートコントラクトにはアクセスできません。

堅牢性のイベントを宣言します

イベントを堅牢性で宣言するには、契約範囲内のeventキーワードを使用します。これが基本的な例です。

 pragma solidity ^0.8.0;契約mycontract {




event MyEvent(address indexed sender, uint256 amount);

}

この例では、 MyEvent送信者のアドレスと転送されたエーテルの量を記録するイベントです。 indexedキーワードにより、ログをクエリするときにsenderパラメーターをフィルターとして使用できます。

イベントには、最大3つのインデックス付きパラメーターを含めることができます。この制限は、Ethereum Virtual Machine(EVM)ログ構造によるものであり、フィルタリングのための最大3つのトピックのみを可能にします。

堅実さでイベントを放出します

イベントが宣言されると、 emitキーワードを使用して放出できます。これは通常、顕著なアクションが発生する関数内で行われます。以前に宣言されたイベントを放出する方法は次のとおりです。

 function sendFunds(address payable recipient, uint256 amount) public payable { recipient.transfer(amount); emit MyEvent(msg.sender, amount);

}

この関数では、受信者に資金を譲渡した後、契約は送信者の住所と送信金額でMyEventイベントを放出します。 emitステートメントは、数字とタイプの両方でイベントのパラメーターリストと一致する必要があります。

イベントが放出されると、EVMはトランザクションレシートに保存されるログエントリを作成します。このログは、後に外部アプリケーションでアクセスできます。

web3.jsを使用してイベントを聴く

DAPPでイベントを使用するには、web3.jsやethers.jsなどのツールを使用してそれらを聴く必要があります。 Web3.jsを使用してリスナーをセットアップする方法は次のとおりです。

  • Web3を初期化:InfuraやMetamaskなどのプロバイダーを使用してEthereumノードに接続します。
  • 契約インスタンスを取得:契約のABIとアドレスを使用して、契約オブジェクトを作成します。
  • イベントリスナーを設定します
 const myContract = new web3.eth.Contract(abi, contractAddress); mycontract.events.myevent()




.on('data', event => { console.log('Event triggered:', event.returnValues); }) .on('error', error => { console.error('Error listening to event:', error); });

このコードは、 MyEventイベントに耳を傾け、放出されるたびにデータを記録します。 returnValuesプロパティには、イベントがトリガーされたときに渡されるパラメーターが含まれます。

イベントの実際の使用ケース

イベントはロギングだけではありません。彼らはDAPP開発において重要な役割を果たしています。一般的なユースケースには次のものが含まれます。

  • トークン転送の追跡:ERC-20およびERC-721標準Transferイベントを使用して、トークンがアカウント間で移動されるときにログを記録します。
  • フロントエンドの更新の通知:契約状態が変更された場合、イベントを発行することで、フロントエンドをリアルタイムで更新できます。
  • 監査と監視:イベントは、契約活動の透明で不変の記録を提供します。これは、コンプライアンスとデバッグに役立ちます。

たとえば、投票契約では、投票がキャストされるたびにイベントを発する可能性があります。

event VoteCast(address indexed voter, string proposal);

これにより、外部システムは投票活動を追跡し、透明性を確保できます。

イベントを使用するためのベストプラクティス

イベントで堅実さで作業する場合、効率と明確さを確保するために、ベストプラクティスに従うことが重要です。

  • フィルタリングにインデックス付きパラメーターを使用します。特定のパラメーターに基づいてログをクエリする必要がある場合は、インデックス付きとしてマークを付けます。
  • イベントを使いすぎないでください:イベントが多すぎると、ガスコストが増加し、ログを乱雑にすることができます。
  • ドキュメントイベントパラメーター:イベント宣言で各パラメーターが表すものを明確に説明します。
  • 記述名の使用:イベント名は、 TokensTransferredOwnershipTransferredなど、表現するアクションを明確に示す必要があります。

必要でない限り、ループや高周波機能でイベントを放出することは避けてください。これにより、ガス消費量が大幅に増加する可能性があります。

よくある質問

Q:イベントは、スマートコントラクト間の通信に使用できますか?

いいえ、契約間通信にはイベントを使用することはできません。これらはトランザクションログに保存され、オフチェーンアプリケーションにのみアクセスできます。

Q:イベントはどのくらいのガスを消費しますか?イベントは、トランザクションの一部であるためガスを消費します。正確なコストは、特にインデックス化されているかどうかにかかわらず、パラメーターの数とサイズに依存します。

Q:イベントはブロックチェーンに永久に保存されていますか?はい、イベントはブロックチェーンの一部であるイーサリアムログに保存されます。ただし、スマートコントラクトに直接アクセスできません。

Q:パラメーターなしでイベントを発信できますか?はい、パラメーターなしでイベントを宣言して放出できます。これは、データを渡す必要なく特定のアクションが発生したことを示すのに役立ちます。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

主要な経済発表の際に仮想通貨先物を取引する方法

主要な経済発表の際に仮想通貨先物を取引する方法

2026-06-12 22:50:44

市場のボラティリティパターン1. Bitcoin の価格変動は、半減発表や主要取引所の上場などの流動性の高いイベント中に 24 時間以内で 5% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、過去 36 か月で平均 0.78 以上であり、Bitcoin の方向性の動きに強...

証拠金残高とは何ですか?先物リスク管理の核心を理解する

証拠金残高とは何ですか?先物リスク管理の核心を理解する

2026-06-12 15:19:45

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin の軌道を反映することが多いですが、上昇と調整の両方で大きさが増幅されます。 3. 上場投資信託(...

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

2026-06-13 02:05:25

ADLの中核的な仕組み1. ADL は Auto-Deleveraging の略で、市場の極端な混乱時にシステム全体の破産を防ぐために仮想通貨先物取引所に組み込まれたプロトコルです。 2. 価格変動が大量清算を引き起こし、保険基金がその能力を超えて枯渇すると、ADL が最後のリスク封じ込め層としてア...

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

主要な経済発表の際に仮想通貨先物を取引する方法

主要な経済発表の際に仮想通貨先物を取引する方法

2026-06-12 22:50:44

市場のボラティリティパターン1. Bitcoin の価格変動は、半減発表や主要取引所の上場などの流動性の高いイベント中に 24 時間以内で 5% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、過去 36 か月で平均 0.78 以上であり、Bitcoin の方向性の動きに強...

証拠金残高とは何ですか?先物リスク管理の核心を理解する

証拠金残高とは何ですか?先物リスク管理の核心を理解する

2026-06-12 15:19:45

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin の軌道を反映することが多いですが、上昇と調整の両方で大きさが増幅されます。 3. 上場投資信託(...

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

2026-06-13 02:05:25

ADLの中核的な仕組み1. ADL は Auto-Deleveraging の略で、市場の極端な混乱時にシステム全体の破産を防ぐために仮想通貨先物取引所に組み込まれたプロトコルです。 2. 価格変動が大量清算を引き起こし、保険基金がその能力を超えて枯渇すると、ADL が最後のリスク封じ込め層としてア...

すべての記事を見る

User not found or password invalid

Your input is correct