The aries-framework-go project can be used as a DIDComm Router/Mediator. The agents that do not have inbound transport can register with the router. Basically, the agent asks another agent to route the messages to it by asking for permission. On successful grant, agent receives the endpoint and routing key details. These details are used in DID Exchange Invitation or DID Document Service Descriptor.
The project supports DIDComm between two agents without inbound capability through a router. The framework needs to be initialized with Transport Return route options.
// create the framework with Transport return route
framework := aries.New(aries.WithTransportReturnRoute(""all"))
Currently, framework supports limited set of features.
- Supports only
all
transport route option. - Supports only
websocket
for duplex communication. ie, websocket needs to be used as the Outbound transport while initializing the framework for agents without inbound capabilities. - Only one inbound transport can be added to the
framework at the moment. Due to this, DIDComm router always need to be run using
websocket
as the inbound transport.