Skip to main content

Do arbitrary things in reaction to Ercoin transfers

Project description

ern_reactor is a Python library that allows performing arbitrary actions in reaction to Ercoin transfers, with live synchronization and catching up after coming back online. Licensed under Apache License 2.0. Python 3.8 or newer is required.

How to use

See the help for ern_reactor.ErcoinReactor:

import ern_reactor
help(ern_reactor.ErcoinReactor)

You need to implement the get_namespace and process_tx methods. To inspect the structure of the transaction dictionary which is passed to process_tx, see ern_reactor.TransferTx.__annotations__.

A basic example

This scripts connects to a local Ercoin node and live prints transaction values for transfers received by an Ercoin address (Base64-encoded) specified on the command line:

import asyncio
import decimal
import sys

from ern_reactor import ErcoinReactor


class DummyReactor(ErcoinReactor):
    def get_namespace(self):
        return 'dummy'

    async def process_tx(self, tx):
        amount_in_ern = decimal.Decimal(tx['value']) / 10**6
        print(f'Received {amount_in_ern} ERN')


if __name__ == '__main__':
    reactor = DummyReactor(
        node='127.0.0.1',
        to_address=sys.argv[1],
        ssl=False,
    )
    try:
        asyncio.run(reactor.start())
    except KeyboardInterrupt:
        sys.exit(0)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ern_reactor-0.2.3.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

ern_reactor-0.2.3-py3-none-any.whl (6.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page