-
bitcoin $80561.859438 USD
3.19% -
ethereum $2424.138310 USD
5.44% -
tether $0.999012 USD
0.05% -
bnb $713.463401 USD
1.91% -
xrp $1.309969 USD
2.90% -
usd-coin $0.999850 USD
0.01% -
solana $96.030181 USD
3.34% -
tron $0.318298 USD
-1.05% -
zcash $1321.059495 USD
3.88% -
hyperliquid $83.383328 USD
-1.72% -
monero $635.070699 USD
-0.34% -
dogecoin $0.076431 USD
2.36% -
chainlink $11.515933 USD
4.12% -
unus-sed-leo $9.353544 USD
0.66% -
cardano $0.197430 USD
3.71%
견고한 이벤트는 무엇이며 사용 방법은 무엇입니까?
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 키워드 다음 이벤트 이름과 매개 변수 목록을 사용하여 Solidity 이벤트가 선언됩니다. 이 매개 변수는 인덱싱 또는 무인과를 만들 수 있으며 로그에서 인덱스 된 매개 변수를 검색 할 수 있습니다. 이벤트가 방출되면 블록 체인의 일부이지만 다른 스마트 계약에는 액세스 할 수없는 트랜잭션의 로그에 저장됩니다.
견고한 사건을 선언합니다
이벤트를 견고성으로 선언하려면 계약 범위 내에서 event 키워드를 사용합니다. 기본 예는 다음과 같습니다.
pragma solidity ^0.8.0;계약 myContract {event MyEvent(address indexed sender, uint256 amount);}
이 예에서 MyEvent 발신자의 주소와 전송 된 에테르 금액을 기록하는 이벤트입니다. indexed 키워드를 사용하면 로그를 쿼리 할 때 sender 매개 변수를 필터로 사용할 수 있습니다.
이벤트에 최대 3 개의 인덱스 매개 변수를 포함시킬 수 있습니다. 이 제한은 EVM (Ethereum Virtual Machine) 로그 구조에 기인하여 필터링을위한 최대 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)로 연락주시면 즉시 삭제하도록 하겠습니다.
- NYC 경고: AI 기반 공격이 기계 속도로 암호화폐 거래소를 공격합니다. 귀하의 디지털 자산은 안전한가요?
- 2026-11-05 12:50:02
- 시장 변동성 속에서 미국 비트코인 홀딩스의 이익 성장 급증
- 2026-11-05 12:50:02
- DuckDuckGo는 Google 검색 AI가 학교에서 우려를 제기함에 따라 기회를 포착합니다.
- 2026-11-05 12:45:01
- 2026년 4분기 최고의 NFT 컬렉션 탐색: 2026년 NFT 동향 및 최고 추천 상품
- 2026-11-05 12:55:01
- DarkSword 공격 도구는 iOS 취약점을 악용하여 암호화폐 지갑 보안에 큰 위협을 가하고 있습니다.
- 2026-11-05 04:45:02
- 프랑스 은행 암호화폐 손실: ZachXBT, Crédit Mutuel Arkéa에서 1억 3300만 달러 규모의 강도 사건 발견
- 2026-11-04 16:55:01
관련 지식
BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용을 계산하는 방법
2026-10-26 04:06:35
BTCUSDT 선물 포지션의 총 비용 구성요소 1. BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용에는 명시적 비용과 암묵적 비용이 모두 포함됩니다. 명시적 비용은 개설 및 마감 거래 수수료로 구성되는 반면, 암묵적 비용은 주로 시간이 지남에 따라 자금 요율 지...
XRPUSDT 펀딩 비율과 미결제약정을 함께 모니터링하는 방법
2026-10-20 18:39:42
XRPUSDT 무기한 계약의 펀딩 요율 메커니즘 1. XRPUSDT 영구 스왑의 펀딩 요율은 XRP와 USDT 표시 대출 시장 간의 프리미엄 지수와 이자율 차이를 사용하여 8시간마다 계산됩니다. 2. Binance, Bybit 및 OKX와 같은 거래소는 파생 상품 AP...
SOLUSDT 무기한 선물에 손익분기점 손실을 설정하는 방법
2026-10-23 09:34:18
손익분기점 손실 메커니즘 이해 1. 손익분기점 손절매는 포지션이 수익성 있게 움직일 때 위쪽으로 조정되어 실행 시 순손실이 0으로 고정되는 동적 주문입니다. 2. 거래가 미리 정의된 수익 기준점(일반적으로 초기 위험 또는 진입 수수료의 1배~2배)에 도달한 후에만 작동...
ETHUSDT 거래에 바이낸스 선물 계산기를 사용하는 방법
2026-10-21 02:00:11
바이낸스 선물 계산기 인터페이스 이해 1. 계산기는 주문 입력 패널 아래 ETHUSDT 영구 계약 페이지를 통해 액세스할 수 있는 바이낸스 선물 거래 인터페이스에 직접 내장되어 있습니다. 2. 사용자가 포지션 크기, 진입 가격, 레버리지 수준, 이익실현 또는 손절매 수...
선물 청산 전 BTCUSDT 표시 가격을 확인하는 방법
2026-10-26 12:20:18
BTCUSDT 선물의 시장 평균 가격 이해 1. 시장평균가는 변동성이 큰 시장 상황에서 불공정한 청산을 방지하기 위해 거래소가 계산한 가격입니다. 2. 지수 가격, 펀딩 요율 등 다양한 출처에서 도출된 공정하고 안정적인 기준 가격을 반영합니다. 3. 시장 평균가는 마지...
TRUMPUSDT 무기한 계약의 레버리지를 조정하는 방법
2026-10-30 22:19:37
TRUMPUSDT 무기한 계약 메커니즘 이해 1. TRUMPUSDT는 여러 Tier-1 파생상품 거래소에 상장된 주제별 무기한 선물 계약으로, 기본 자산 펀더멘털보다는 미국 정치적 서술에 대한 가격 심리를 추적하도록 설계되었습니다. 2. USDT를 견적 및 마진 자산으...
BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용을 계산하는 방법
2026-10-26 04:06:35
BTCUSDT 선물 포지션의 총 비용 구성요소 1. BTCUSDT 선물 포지션을 보유하는 데 드는 총 비용에는 명시적 비용과 암묵적 비용이 모두 포함됩니다. 명시적 비용은 개설 및 마감 거래 수수료로 구성되는 반면, 암묵적 비용은 주로 시간이 지남에 따라 자금 요율 지...
XRPUSDT 펀딩 비율과 미결제약정을 함께 모니터링하는 방법
2026-10-20 18:39:42
XRPUSDT 무기한 계약의 펀딩 요율 메커니즘 1. XRPUSDT 영구 스왑의 펀딩 요율은 XRP와 USDT 표시 대출 시장 간의 프리미엄 지수와 이자율 차이를 사용하여 8시간마다 계산됩니다. 2. Binance, Bybit 및 OKX와 같은 거래소는 파생 상품 AP...
SOLUSDT 무기한 선물에 손익분기점 손실을 설정하는 방법
2026-10-23 09:34:18
손익분기점 손실 메커니즘 이해 1. 손익분기점 손절매는 포지션이 수익성 있게 움직일 때 위쪽으로 조정되어 실행 시 순손실이 0으로 고정되는 동적 주문입니다. 2. 거래가 미리 정의된 수익 기준점(일반적으로 초기 위험 또는 진입 수수료의 1배~2배)에 도달한 후에만 작동...
ETHUSDT 거래에 바이낸스 선물 계산기를 사용하는 방법
2026-10-21 02:00:11
바이낸스 선물 계산기 인터페이스 이해 1. 계산기는 주문 입력 패널 아래 ETHUSDT 영구 계약 페이지를 통해 액세스할 수 있는 바이낸스 선물 거래 인터페이스에 직접 내장되어 있습니다. 2. 사용자가 포지션 크기, 진입 가격, 레버리지 수준, 이익실현 또는 손절매 수...
선물 청산 전 BTCUSDT 표시 가격을 확인하는 방법
2026-10-26 12:20:18
BTCUSDT 선물의 시장 평균 가격 이해 1. 시장평균가는 변동성이 큰 시장 상황에서 불공정한 청산을 방지하기 위해 거래소가 계산한 가격입니다. 2. 지수 가격, 펀딩 요율 등 다양한 출처에서 도출된 공정하고 안정적인 기준 가격을 반영합니다. 3. 시장 평균가는 마지...
TRUMPUSDT 무기한 계약의 레버리지를 조정하는 방법
2026-10-30 22:19:37
TRUMPUSDT 무기한 계약 메커니즘 이해 1. TRUMPUSDT는 여러 Tier-1 파생상품 거래소에 상장된 주제별 무기한 선물 계약으로, 기본 자산 펀더멘털보다는 미국 정치적 서술에 대한 가격 심리를 추적하도록 설계되었습니다. 2. USDT를 견적 및 마진 자산으...
모든 기사 보기














