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_SEED
to 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 up
docker-compose build
Access the frontend:
Access the swagger-ui:
http://localhost:8080/swagger-ui
docker-compose down
If you want to wipe the database as well you can use
docker-compose down -v
If 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.sh
To terminate all ngrok tunnels you can use
./kill-ngrok.sh
BE 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=true
and 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/.