high-level Ledger API client for DAML ledgers
Project description
dazl
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
License
Copyright 2014-2019 Digital Asset
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
dazl-5.5.8-py3-none-any.whl
(304.3 kB
view hashes)