moonstream/crawlers/mooncrawl
Andrey 105f29dfbe Reduce max blocks batch. 2023-10-18 07:48:45 +03:00
..
mooncrawl Reduce max blocks batch. 2023-10-18 07:48:45 +03:00
.gitignore
.isort.cfg
README.md
dev.sh
mypy.ini
sample.env Mooncrawl entity migration to spire 2023-08-01 08:58:36 +00:00
setup.py Bump version replace networks. 2023-08-29 07:19:25 +03:00

README.md

Moonstream Crawlers

Installation

(Use Python 3)

pip install -e .

Database access and environment variables

Make sure that the MOONSTREAM_DB_URI environment variable is set as a Postgres connection string.

For a sample, view sample.env.

Crawlers

Ethereum Signature Database

This crawler retrieves Ethereum function signatures from the Ethereum Signature Database at https://www.4byte.directory.

Crawling ESD function signatures

python -m mooncrawl.esd --interval 0.3 functions

Crawling ESD event signatures

python -m mooncrawl.esd --interval 0.3 events

Ethereum contract registrar

This crawler scans new transactions for smart contract deployments and retrieves their deployment addresses from transaction receipts.

To run this crawler:

python -m mooncrawl.cli ethcrawler contracts update

Output is JSON list of pairs [..., (<transaction_hash>, <contract_address>), ...], so you can pipe to jq:

python -m mooncrawl.cli ethcrawler contracts update | jq .

You can also specify an output file:

python -m mooncrawl.cli ethcrawler contracts update -o new_contracts.json