Debt Algorand Standard Application (D-ASA)
D-ASA is a full tokenization framework for ACTUS-compliant
debt instruments, issued and executed on the Algorand Virtual Machine.
flowchart LR
ACTUS["ACTUS Contract"] --> NORMALIZE["AVM Normalization"]
NORMALIZE --> ABI["ABI Upload"]
ABI --> EXEC["AVM Execution"]
The canonical generated artifacts are:
-
src/d_asa/artifacts/DASA.arc56.json: D-ASA AppSpec, generates clients and can
be used on Lora App Lab; -
src/d_asa/artifacts/dasa_client.py: D-ASA client, expanded by the SDK; -
src/d_asa/artifacts/dasa_avm_client.py: D-ASA AVM client, for on-chain App-2-App
calls.
Documentation: https://cusma.github.io/d-asa/
High-level client docs: docs/sdk/overview.md
Interactive notebook examples: examples/README.md
Demo in One Command
The fastest way to showcase D-ASA is with host AlgoKit for Algorand LocalNet and
Docker for the showcase runtime.
git clone git@github.com:cusma/d-asa.git
cd d-asa
./d-asa runWhat ./d-asa run does:
- builds the local demo image
- starts host AlgoKit LocalNet if it is not already running
- waits for the LocalNet services required by the showcase
- runs the PAM fixed coupon and zero coupon showcase walkthroughs
- leaves LocalNet running so the Lora transaction links remain explorable
When you are finished inspecting the links:
algokit localnet stopOpen the published docs with:
./d-asa docsNotes:
- targets macOS and Linux
- requires both Docker and AlgoKit on the host
- the demo joins the LocalNet Docker network when available, which keeps the showcase
on direct container-to-container networking
Development
The D-ASA project is developed with AlgoKit and Poetry.
Bootstrap the development environment:
make install-devVerify your environment:
make doctorSee the available contributor commands:
make helpStart your Algorand LocalNet:
make localnetRun the default test suite:
make testBuild smart contracts:
make buildRun the showcase tests directly:
make showcaseServe docs locally with live reload:
make docs-serveInteractive Notebooks
The easiest way to explore the notebooks is using Docker (no local Python dependencies
needed):
./d-asa jupyterOr via make:
make jupyter-dockerThis will:
- Build the Docker image with Jupyter Lab included
- Start AlgoKit LocalNet if needed
- Launch Jupyter Lab at http://localhost:8888
- Automatically configure LocalNet connectivity
The notebooks will have full access to the D-ASA framework and LocalNet.
Press Ctrl+C to stop.
Alternative: Local Jupyter (requires local dependencies)
If you prefer running Jupyter locally, first install the optional notebook dependencies:
poetry install --with notebooksThen start Jupyter Lab:
poetry run jupyter lab examples/Contributing
Contributor setup and workflow guidance live in CONTRIBUTING.md.
