-
Bitcoin
$118300
0.21% -
Ethereum
$3748
5.28% -
XRP
$3.514
2.29% -
Tether USDt
$1.000
-0.01% -
BNB
$747.8
2.18% -
Solana
$181.1
2.16% -
USDC
$0.9999
0.00% -
Dogecoin
$0.2642
9.21% -
Cardano
$0.8606
3.96% -
TRON
$0.3173
-0.98% -
Hyperliquid
$46.70
4.60% -
Stellar
$0.4730
1.76% -
Sui
$3.926
3.48% -
Chainlink
$19.27
5.24% -
Hedera
$0.2780
4.02% -
Bitcoin Cash
$549.4
8.37% -
Avalanche
$25.06
3.31% -
Shiba Inu
$0.00001538
4.36% -
Litecoin
$117.0
12.63% -
UNUS SED LEO
$8.998
0.08% -
Toncoin
$3.279
3.00% -
Polkadot
$4.490
4.46% -
Uniswap
$10.62
5.37% -
Ethena USDe
$1.001
-0.01% -
Monero
$326.5
0.32% -
Pepe
$0.00001417
8.12% -
Bitget Token
$4.984
2.01% -
Dai
$0.9999
-0.01% -
Aave
$326.3
3.09% -
Bittensor
$427.7
3.65%
堅牢性のイベントとそれらの使用方法は何ですか?
堅牢性イベントにより、契約は「emit`キーワードを介してデータを記録でき、dappsは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) までご連絡ください。速やかに削除させていただきます。
- アイアンメイデン:音楽の伝説はロイヤルミントコインで50年を祝います
- 2025-07-21 00:30:13
- BlockDag、TIA、LTC:最新のCrypto Buzzを発表します
- 2025-07-21 00:50:12
- Ethereum Layer-2ミームコイン:リトルペペの大きな飛躍?
- 2025-07-21 00:30:13
- Moonbull、Crypto、およびBomeの利益:ミームコインの波に乗って100倍になりますか?
- 2025-07-21 00:50:12
- ビットコイン、ETH、およびトレーダーターゲット:暗号の景観のデコード
- 2025-07-21 01:10:14
- SolanaのTVL成長:暗号通貨の波に乗る
- 2025-07-21 01:10:14
関連知識

メーカーとテイカー料金とは何ですか?
2025-07-19 01:14:23
暗号通貨交換料金の基本を理解する暗号通貨取引の世界では、メーカーとテイカーの手数料は、すべてのトレーダーが理解すべき基本的な概念です。これらの料金は、配置する注文の種類に基づいてユーザーとの交換によって請求されます。メーカーとテイカーの手数料の区別は、取引コストで支払う金額に影響を与え、取引戦略に影...

Bitcoin先物データをCMEから分析する方法は?
2025-07-19 17:22:11
CMEでのBitcoin先物の理解Bitcoin CME Group(Chicago Mercantile Exchange)の先物は、投資家が基礎となる資産を所有せずにBitcoinの将来の価格を推測できる規制された金融商品を表しています。これらの先物契約は標準化され、集中交換で取引されているため...

暗号先物取引における一般的な間違い
2025-07-20 21:56:36
リスク管理なしの過剰評価Crypto先物取引で最も一般的な間違いの1つは、過剰なものです。トレーダーはしばしば、高いレバレッジを使用すると利益が大幅に増加すると考えていますが、これは大きな損失のリスクも掛けています。ストップロスの注文を設定したり、ポジションサイジングを無視したりすると、アカウント全...

清算価格を理解する方法は?
2025-07-19 22:00:19
暗号通貨取引の清算価格とはいくらですか?暗号通貨先物とマージン取引の領域では、清算価格とは、トレーダーのポジションが交換によって自動的に閉鎖される特定の価格レベルを指します。これは、トレーダーがレバレッジされた位置を維持するために必要なマージンを満たすことができないときに発生します。清算価格は、交換...

Bitcoin先物の最大レバレッジはいくらですか?
2025-07-20 15:42:56
Bitcoin先物のレバレッジを理解するBitcoin先物のレバレッジとは、投資収益率を高めるために借りた資本の使用を指します。トレーダーは、比較的少量の資本でより大きなポジションを制御できます。 Bitcoin先物取引の文脈では、レバレッジにより、トレーダーはアカウントの残高よりも何倍も価値のある...

施行されている時間(GTC、IOC、FOK)は何ですか?
2025-07-19 08:57:01
暗号通貨取引で有効な時間を理解する暗号通貨取引の世界では、強制時間(TIF)は、順序が実行またはキャンセルされる前に市場でアクティブな期間を決定する重要なパラメーターです。注文が異なる動作をすることができる従来の株式市場とは異なり、暗号交換はGTC 、 IOC 、 FOKなどの特定のTIFオプション...

メーカーとテイカー料金とは何ですか?
2025-07-19 01:14:23
暗号通貨交換料金の基本を理解する暗号通貨取引の世界では、メーカーとテイカーの手数料は、すべてのトレーダーが理解すべき基本的な概念です。これらの料金は、配置する注文の種類に基づいてユーザーとの交換によって請求されます。メーカーとテイカーの手数料の区別は、取引コストで支払う金額に影響を与え、取引戦略に影...

Bitcoin先物データをCMEから分析する方法は?
2025-07-19 17:22:11
CMEでのBitcoin先物の理解Bitcoin CME Group(Chicago Mercantile Exchange)の先物は、投資家が基礎となる資産を所有せずにBitcoinの将来の価格を推測できる規制された金融商品を表しています。これらの先物契約は標準化され、集中交換で取引されているため...

暗号先物取引における一般的な間違い
2025-07-20 21:56:36
リスク管理なしの過剰評価Crypto先物取引で最も一般的な間違いの1つは、過剰なものです。トレーダーはしばしば、高いレバレッジを使用すると利益が大幅に増加すると考えていますが、これは大きな損失のリスクも掛けています。ストップロスの注文を設定したり、ポジションサイジングを無視したりすると、アカウント全...

清算価格を理解する方法は?
2025-07-19 22:00:19
暗号通貨取引の清算価格とはいくらですか?暗号通貨先物とマージン取引の領域では、清算価格とは、トレーダーのポジションが交換によって自動的に閉鎖される特定の価格レベルを指します。これは、トレーダーがレバレッジされた位置を維持するために必要なマージンを満たすことができないときに発生します。清算価格は、交換...

Bitcoin先物の最大レバレッジはいくらですか?
2025-07-20 15:42:56
Bitcoin先物のレバレッジを理解するBitcoin先物のレバレッジとは、投資収益率を高めるために借りた資本の使用を指します。トレーダーは、比較的少量の資本でより大きなポジションを制御できます。 Bitcoin先物取引の文脈では、レバレッジにより、トレーダーはアカウントの残高よりも何倍も価値のある...

施行されている時間(GTC、IOC、FOK)は何ですか?
2025-07-19 08:57:01
暗号通貨取引で有効な時間を理解する暗号通貨取引の世界では、強制時間(TIF)は、順序が実行またはキャンセルされる前に市場でアクティブな期間を決定する重要なパラメーターです。注文が異なる動作をすることができる従来の株式市場とは異なり、暗号交換はGTC 、 IOC 、 FOKなどの特定のTIFオプション...
すべての記事を見る
