# Logging, Events, Solidity, Bloom Filter

![](/files/vp7qie1gRUVKshFDoTCY)

* **Address**: address of contract that emitted the event
* **Topics**: indexed parameters of events
* **Data**: abi-encoded non-indexed parameters of events
  * have to decode using the abi of the contract
  * if contract is verified on etherscan, can view in decoded mode 'dec'

```python
from scripts.helpful_scripts import get_account
from brownie import SimpleStorage, config, network

def deploy():
    account = get_account()
    simple_storage = SimpleStorage.deploy({"from": account}, publish_source=config["networks"][network.show_active()].get("publish_source", False),)

    tx = simple_storage.store(1, {"from": account})
    tx.wait(1)

    print(tx.events)
    print(tx.events[0]["oldNumber"])
    print(tx.events[0]["newNumber"])
    print(tx.events[0]["addedNumber"])
    print(tx.events[0]["sender"])


def main():
    deploy()
```

* <https://www.youtube.com/watch?v=w18c9HLEuBs>
* <https://github.com/PatrickAlphaC/brownie-events-logs/blob/main/scripts/deploy_and_store.py>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://calnix.gitbook.io/eth-dev/deployment/logging-events-solidity-bloom-filter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
