Skip to content
dazl Ledger API client
Python Other
  1. Python 99.2%
  2. Other 0.8%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
_fixtures
_themes/dazl_sphinx_theme
python
samples
tests
tools
.dazl-root
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYRIGHT
LICENSE
Makefile
README.md
VERSION

README.md

dazl

License

Copyright 2019 Digital Asset (Switzerland) GmbH and/or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0

Rich Python bindings for accessing Ledger API-based applications.

Requirements

  • Python 3.6+
  • Pipenv
  • Although not strictly required for building, you'll probably want the DAML SDK

Examples

All of the examples below assume you imported dazl.

Connect to the ledger and submit a single command:

with dazl.simple_client('http://localhost:7600', 'Alice') as client:
    client.submit_create('Alice', 'My.Template', { someField: 'someText' })

Connect to the ledger as a single party, print all contracts, and close:

with dazl.simple_client('http://localhost:7600', 'Alice') as client:
    # wait for the ACS to be fully read
    client.ready()
    contract_dict = client.find_active('*')
print(contract_dict)

Connect to the ledger as multiple parties:

network = dazl.Network()
network.set_config(url='http://localhost:7600')

alice = network.simple_party('Alice')
bob = network.simple_party('Bob')

@alice.ledger_ready()
def set_up(event):
    currency_cid, _ = await event.acs_find_one('My.Currency', {"currency": "USD"})
    return dazl.create('SomethingOf.Value', {
        'amount': 100,
        'currency': currency_cid,
        'from': 'Accept',
        'to': 'Bob' })

@bob.ledger_created('SomethingOf.Value')
def on_something_of_value(event):
    return dazl.exercise(event.cid, 'Accept', { 'message': 'Thanks!' })

network.start()

Building locally

cd python && pipenv run package

Tests

cd python && pipenv run test
You can’t perform that action at this time.