Skip to main content

Utilities to make it easier to work with Ethereum from your Django app.

Project description

Django Ethereum Utilities

A collection of helpers to make it easier to work with Ethereum from your Django app.

Currently this only consists of a custom model field which stores Ethereum addresses in the checksummed format.

Install

pip install django-ethereum

Fields

EthereumAddressField

A CharField which automatically converts an Ethereum address into its checksummed representation.

    from django_ethereum.fields import EthereumAddressField

    class MyModel(models.Model):
        address = EthereumAddressField()

    my_model = MyModel(address="0x627306090abab3a6e1400e9345bc60c78a8bef57")
    my_model.save()
    print(my_model.address)
    "0x627306090abaB3A6e1400e9345bC60c78a8BEf57"  # Note capitalisation

If the address is invalid a ValidationError will be raised.

Note that the address is stored in the checksummed format. If you want to compare against a non-checksummed address you will need to perform a case-insensitive match (or preferably convert the address to a checksummed address before comparing):

    MyModel.objects.filter(address__iexact=non_checksummed_address)
    # Or
    MyModel.objects.filter(address__iexact=Web3.toChecksumAddress(non_checksummed_address))

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

django-ethereum-0.0.4.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

django_ethereum-0.0.4-py3-none-any.whl (3.3 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