-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
堅牢性のイベントとそれらの使用方法は何ですか?
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);これにより、外部システムは投票活動を追跡し、透明性を確保できます。
イベントを使用するためのベストプラクティス
イベントで堅実さで作業する場合、効率と明確さを確保するために、ベストプラクティスに従うことが重要です。
- フィルタリングにインデックス付きパラメーターを使用します。特定のパラメーターに基づいてログをクエリする必要がある場合は、インデックス付きとしてマークを付けます。
- イベントを使いすぎないでください:イベントが多すぎると、ガスコストが増加し、ログを乱雑にすることができます。
- ドキュメントイベントパラメーター:イベント宣言で各パラメーターが表すものを明確に説明します。
- 記述名の使用:イベント名は、
TokensTransferredやOwnershipTransferredなど、表現するアクションを明確に示す必要があります。
必要でない限り、ループや高周波機能でイベントを放出することは避けてください。これにより、ガス消費量が大幅に増加する可能性があります。
よくある質問
Q:イベントは、スマートコントラクト間の通信に使用できますか?
いいえ、契約間通信にはイベントを使用することはできません。これらはトランザクションログに保存され、オフチェーンアプリケーションにのみアクセスできます。
Q:イベントはどのくらいのガスを消費しますか?イベントは、トランザクションの一部であるためガスを消費します。正確なコストは、特にインデックス化されているかどうかにかかわらず、パラメーターの数とサイズに依存します。
Q:イベントはブロックチェーンに永久に保存されていますか?はい、イベントはブロックチェーンの一部であるイーサリアムログに保存されます。ただし、スマートコントラクトに直接アクセスできません。
Q:パラメーターなしでイベントを発信できますか?はい、パラメーターなしでイベントを宣言して放出できます。これは、データを渡す必要なく特定のアクションが発生したことを示すのに役立ちます。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- アナリストの警告と市場センチメントの変化の中でビットコインが下落
- 2026-02-05 09:40:02
- ジョージア州兄弟、COAMの入念な賭博詐欺計画で懲役20年の判決
- 2026-02-05 09:45:01
- MicroStrategy の株式損失:仮想通貨のボラティリティの中で年金基金は 60% の暴落に直面
- 2026-02-05 10:55:01
- 第 5 回スーパーボウル: テディ スイム、グリーン デイ、2026 年の祭典のレガシー トス セット
- 2026-02-05 07:20:02
- ファンタジー フットボール プレミア リーグ ラウンド 25: チームのパフォーマンスを最適化するための主要選手の選択、ヒント、アドバイス
- 2026-02-05 07:15:02
- Remittix、寛大な 300% ボーナスを提供する PayFi プラットフォームを開始し、投資家の興奮を後押し
- 2026-02-05 07:05:01
関連知識
感情と先物における「リベンジ取引」を管理する方法?
2026-02-05 00:19:32
先物市場における感情的なトリガーを理解する1. 市場のボラティリティは心理状態に直接影響を与え、急速な価格変動に基づいて恐怖や高揚感を増幅させることがよくあります。 2. 喪失は脳の脅威反応システムを活性化し、系統的な分析ではなく衝動的な決定を引き起こします。 3. ソーシャルメディアのフィードやグ...
恐怖と貪欲指数を使用して市場センチメントを分析するにはどうすればよいですか?
2026-02-05 07:40:21
恐怖と貪欲の指数を理解する1. 恐怖と貪欲指数は、仮想通貨投資家の間で蔓延している感情状態を定量化するために設計された複合指標です。ボラティリティ、市場の勢い、ソーシャルメディア活動、調査結果、Bitcoin の優位性、検索傾向など、複数のソースからデータを集約します。 2. スコア 0 は極度の恐...
出来高プロファイルを使用して主要な先物エントリーレベルを見つけるにはどうすればよいですか?
2026-02-04 23:39:35
ボリュームプロファイル構造の理解1. 出来高プロファイルは、定義された期間にわたる特定の価格レベルでの取引高の分布を表示し、チャート上に水平方向のヒストグラムを形成します。 2. コントロールポイント (POC) は、出来高集中が最も高い価格レベルを表し、多くの場合、価格反転の磁石として機能します。...
Bitcoin 先物を 100 倍のレバレッジで取引するにはどうすればよいですか? (ハイリスクセットアップ)
2026-02-05 11:00:08
Bitcoin 先物メカニズムを理解する1. Bitcoin 先物契約は、規制対象またはオフショアのデリバティブ取引所で取引される、将来の所定の価格および日付で BTC を売買する契約を表します。 2. スポット取引とは異なり、先物ではトレーダーはロングポジションとショートポジションを通じて価格の上...
クロスマージン取引を利用して資本効率を最大化するには?
2026-02-05 00:40:24
クロスマージン取引の基礎1. クロスマージン取引により、トレーダーは口座残高全体を複数の市場で同時にオープンポジションの担保として使用できます。 2. 各ポジションに専用のマージンプールがある独立マージンとは異なり、クロスマージンはウォレットに保持されているすべての資産から資本を動的に割り当てます。...
主要なニュースイベント中に仮想通貨契約を取引するにはどうすればよいですか? (CPI/FOMC)
2026-02-05 09:59:37
マクロデータリリースに対する市場の敏感度を理解する1. 仮想通貨先物市場は、金融政策の期待と直接関係しているため、米国の CPI および FOMC の発表中に顕著な変動を示します。 2. Bitcoin とイーサリアムの永久契約は、公式データが低下する数分前に資金調達レートを 50 ~ 200 ベー...
感情と先物における「リベンジ取引」を管理する方法?
2026-02-05 00:19:32
先物市場における感情的なトリガーを理解する1. 市場のボラティリティは心理状態に直接影響を与え、急速な価格変動に基づいて恐怖や高揚感を増幅させることがよくあります。 2. 喪失は脳の脅威反応システムを活性化し、系統的な分析ではなく衝動的な決定を引き起こします。 3. ソーシャルメディアのフィードやグ...
恐怖と貪欲指数を使用して市場センチメントを分析するにはどうすればよいですか?
2026-02-05 07:40:21
恐怖と貪欲の指数を理解する1. 恐怖と貪欲指数は、仮想通貨投資家の間で蔓延している感情状態を定量化するために設計された複合指標です。ボラティリティ、市場の勢い、ソーシャルメディア活動、調査結果、Bitcoin の優位性、検索傾向など、複数のソースからデータを集約します。 2. スコア 0 は極度の恐...
出来高プロファイルを使用して主要な先物エントリーレベルを見つけるにはどうすればよいですか?
2026-02-04 23:39:35
ボリュームプロファイル構造の理解1. 出来高プロファイルは、定義された期間にわたる特定の価格レベルでの取引高の分布を表示し、チャート上に水平方向のヒストグラムを形成します。 2. コントロールポイント (POC) は、出来高集中が最も高い価格レベルを表し、多くの場合、価格反転の磁石として機能します。...
Bitcoin 先物を 100 倍のレバレッジで取引するにはどうすればよいですか? (ハイリスクセットアップ)
2026-02-05 11:00:08
Bitcoin 先物メカニズムを理解する1. Bitcoin 先物契約は、規制対象またはオフショアのデリバティブ取引所で取引される、将来の所定の価格および日付で BTC を売買する契約を表します。 2. スポット取引とは異なり、先物ではトレーダーはロングポジションとショートポジションを通じて価格の上...
クロスマージン取引を利用して資本効率を最大化するには?
2026-02-05 00:40:24
クロスマージン取引の基礎1. クロスマージン取引により、トレーダーは口座残高全体を複数の市場で同時にオープンポジションの担保として使用できます。 2. 各ポジションに専用のマージンプールがある独立マージンとは異なり、クロスマージンはウォレットに保持されているすべての資産から資本を動的に割り当てます。...
主要なニュースイベント中に仮想通貨契約を取引するにはどうすればよいですか? (CPI/FOMC)
2026-02-05 09:59:37
マクロデータリリースに対する市場の敏感度を理解する1. 仮想通貨先物市場は、金融政策の期待と直接関係しているため、米国の CPI および FOMC の発表中に顕著な変動を示します。 2. Bitcoin とイーサリアムの永久契約は、公式データが低下する数分前に資金調達レートを 50 ~ 200 ベー...
すべての記事を見る














