Business Partner Agent
The Business Partner Agent allows to manage and exchange master data between organizations.
The Business Partner Agent is a domain-specific controller and extension for Aries Cloud Agent Python. It allows to manage and to publish public organizational master data tied to a decentralized identifier (DID) as well as to share and to request business partner specific master data and certifications.
The project consists of a backend written in Java that provides domain-specific APIs for integration in enterprise systems, as well as a simple reference user interface.
A first version of Business Partner Agent is available in branch master. It is not ready for production use. But with the API available it is at a stage where you could try it out. The frontend is under construction.
The Business Partner Agent supports two modes
- Web mode: Serves a did:web identity and allows to publish a public organizational profile.
- Aries mode (default): Utilizes an identity on an Hyperledger Indy ledger (default: https://indy-test.bosch-digital.de/) and enables Aries interaction protocols.
- Go to https://indy-test.bosch-digital.de/
- Provide a 32 characterer wallet seed on the right side under "Authenticate a new DID" and click on "Register DID"
- Make a copy of the provided .env-example file with the name
.env. Set theAGENT_SEEDto the wallet seed.
You can start an instance of the Business Partner Agent with docker compose. It will start the following
- Frontend (Vue.js)
- Controller Backend (Java Micronaut)
- Aries Cloud Agent Python
- Postgres
with a default configuration.
docker-compose updocker-compose buildAccess the frontend:
Access the swagger-ui:
http://localhost:8080/swagger-ui
docker-compose downIf you want to wipe the database as well you can use
docker-compose down -vIf you did not deploy your agent on a server with a public ip it won't have public endpoints to communicate with other agents. A simple way to get public endpoints for your agent is to setup ngrok.
If you have setup ngrok you can use the start-ngrok.sh script to start your agent with public endpoints.
./start-ngrok.shTo terminate all ngrok tunnels you can use
./kill-ngrok.shBE AWARE: If you don't have any security enabled the Business Partner API and and the frontend will be publicly available. This is in particular important when running in Aries mode where the public IP is written to the ledger.
In your .env under Security config file set
BPA_SECURITY_ENABLED=trueand a user name and password.
See demo
- https://github.com/swcurran Co-Chair of the Aries Working Group
Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.
