Back to glossary

Event (Vyper Code Example)

Table of Contents

Events write logs to the blockchain. They are commonly used by applications to monitor blockchain state and as a cheaper alternative to store data on the blockchain without using state variables.

Events can be efficiently searched by indexing their arguments. Up to 3 parameters can be indexed.

# pragma version ^0.4.0

# up to 3 index
event Transfer:
    # enables quick search of all Transfer events where sender is a certain address
    sender: indexed(address)
    # enables quick search of all Transfer events where receiver is a certain address
    receiver: indexed(address)
    amount: uint256

@external
def transfer(receiver: address, amount: uint256):
    # some code ...
    log Transfer(msg.sender, receiver, amount)

@external
def mint(amount: uint256):
    # some code ...
    log Transfer(empty(address), msg.sender, amount)

@external
def burn(amount: uint256):
    # some code ...
    log Transfer(msg.sender, empty(address), amount)

Related Terms

No items found.