Skip to main content

A simple Django package to build web-based Indy agent applications.

Project description

Indy Community is a simple Django framework for building Hyperledger Indy Agent enabled web applications. Detailed documentation is in the “docs” directory.

Please see https://github.com/AnonSolutions/django-indy-community for detailed docmentation

Quick start

You can find a basic Indy Community application here https://github.com/AnonSolutions/indy-community-demo

To add indy_community to your own django application:

  1. Copy the requirements.txt file into your application directory and install requirements

  2. Add “indy_community” to your INSTALLED_APPS setting like this:

INSTALLED_APPS = [
    # this should go first
    'indy_community.apps.IndyCoreConfig',
    ...
]
  1. Add the following Indy configuration settings (this is for a local install):

import platform

def file_ext():
    if platform.system() == 'Linux':
        return '.so'
    elif platform.system() == 'Darwin':
        return '.dylib'
    elif platform.system() == 'Windows':
        return '.dll'
    else:
        return '.so'

INDY_CONFIG = {
    'storage_dll': 'libindystrgpostgres' + file_ext(),
    'storage_entrypoint': 'postgresstorage_init',
    'payment_dll': 'libnullpay' + file_ext(),
    'payment_entrypoint': 'nullpay_init',
    'wallet_config': {'id': '', 'storage_type': 'postgres_storage'},
    'wallet_credentials': {'key': ''},
    'storage_config': {'url': 'localhost:5432'},
    'storage_credentials': {'account': 'postgres', 'password': 'mysecretpassword', 'admin_account': 'postgres', 'admin_password': 'mysecretpassword'},
    'vcx_agency_url': 'http://localhost:8080',
    'vcx_agency_did': 'VsKV7grR1BUE29mG2Fm2kX',
    'vcx_agency_verkey': 'Hezce2UWMZ3wUhVkh2LfKSs8nDzWwzs2Win7EzNN3YaR',
    'vcx_payment_method': 'null',
    'vcx_enterprise_seed': '000000000000000000000000Trustee1',
    'vcx_institution_seed': '00000000000000000000000000000000',
    'vcx_genesis_path': '/tmp/atria-genesis.txt',
    'register_dids': True,
    'ledger_url': 'http://localhost:9000',
}
  1. Configure background tasks:

INSTALLED_APPS = [
    ...
    'background_task',
    ...
]

BACKGROUND_TASK_RUN_ASYNC = False
BACKGROUND_TASK_ASYNC_THREADS = 1
MAX_ATTEMPTS = 1
  1. Ensure your local templates are loaded first:

TEMPLATES = [
    {
        ...
        'DIRS': [
            os.path.join(BASE_DIR, '<your app>/templates'),
        ],
        ...
    },
]
  1. Override User, Organization and Relationship models, if you have your own subclass of these models:

AUTH_USER_MODEL = 'indy_community.IndyUser'
INDY_ORGANIZATION_MODEL = 'indy_community.IndyOrganization'
INDY_ORG_RELATION_MODEL = 'indy_community.IndyOrgRelationship'
  1. Include the indy URLconf in your project urls.py like this:

path('indy/', include('indy_community.urls')),
  1. Ensure you have all pre-requisites running, as per django-indy-community docs

  2. Run python manage.py migrate to create the indy models.

  3. Run python manage.py runserver and connect to http://localhost:8000/indy`

You can customize the UI and add event handling for VCX Connection and Messaging events. See the demos in https://github.com/AnonSolutions/indy-community-demo for examples of how to do this.

View detailed documentation in the Docs directory (https://github.com/AnonSolutions/django-indy-community)

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-indy-community-0.1.14.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_indy_community-0.1.14-py3-none-any.whl (87.9 kB view details)

Uploaded Python 3

File details

Details for the file django-indy-community-0.1.14.tar.gz.

File metadata

  • Download URL: django-indy-community-0.1.14.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for django-indy-community-0.1.14.tar.gz
Algorithm Hash digest
SHA256 20feec1b493eaf850067a7b8ef8c04f286baf4020d1609d20bcb1c12180b0483
MD5 5d3c55a43d6a579c3a94cd61473aaa10
BLAKE2b-256 2f6bab7e45471fdad95bdaa94210c21d5cd62a7e608f5ee3fcd648a9bf3d7fad

See more details on using hashes here.

File details

Details for the file django_indy_community-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: django_indy_community-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 87.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for django_indy_community-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 9845dd4c3e7fc43ee5644cb29894939436eb8d738141783439ed39602b8a0e66
MD5 68b8f1fd0886f79bf3afb8c2f3188a3b
BLAKE2b-256 2d2ab2d97b4cd3d39e8b9fcd5b9d7a5334dcd9a24c5d72a01acc6e438fe6dc82

See more details on using hashes here.

Supported by

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