iscc-observer-evm
is a Python service for registering declarations of International Standard Content Codes (ISCC) coming from Web3/EVM compatible blockchains. Instances of this service can observe events from a single ISCC-HUB contract and register them on an ISCC Registry.
The service is configured via environment variables:
CHAIN_ID
- ID of blockchain to be observed. Supported values for EVM chains areETHEREUM
,POLYGON
WEB3_PROVIDER_URI
- Web3 Websocket URI used for connecting to blockchain events.HUB_CONTRACT
- The address of the ISCC-HUB contractREGISTRY_URL
- URL to OpenAPI REST service of an ISCC-REGISTRY for event publishingOBSERVER_TOKEN
- Bearer secret for authentication with ISCC-REGISTRY API serviceUPDATE_INTERVAL
- Seconds to wait betweenn synchronization of chain-events and the registryREAD_TIMEOUT
- Timeout for Web3 websocket and REST API https connections in secondsSENTRY_DSN
- Optional URI for error notifications via Sentry
See example at .env.dev
Requirements Python 3.9 with Poetry Get started with
$ git clone https://github.com/iscc/iscc-observer-evm.git
$ cd iscc-observer-evm
$ poetry install
Start an observer instance with poetry run iscc-observer-evm .env.dev
.
You may provide your own .env file configured according to your local development setup.
Docker images for deployment are available via https://ghcr.io/iscc/iscc-observer-evm. See docker-compose.yml for an example of how to deploy multiple observers.
Pull requests are welcome. For significant changes, please open an issue first to discuss your plans. Please make sure to update tests as appropriate.
You may also want join our developer chat on Telegram at https://t.me/iscc_dev.