A TypeScript implementation of the Trust Resolving System that follows Trust Registry Query Protocol (TRQP) to simplify trust information resolution across different trust protocols.
The TRS addresses the complexity of implementing trust resolver systems on the client side by providing a unified interface for various trust protocols including OpenID Federation, X.509 certificates, did:web and EBSI Trust Chains.
+-------------+
| |
| root server |
| |
| |
+-------------+
↑ |
(not standardized) | |
who can process my | |
query? | |
| ↓
+-------------+ Query +----------------+ Query +--------------+
| | (TRQP) | | (TRQP) | |
| client |------------------>| trust resolver |--------------->|trust registry|
| | | | | |
+-------------+ +----------------+ +--------------+
- Unified Trust Resolution: Single interface for multiple trust protocols
- TRQP Implementation: Full TypeScript implementation of the Trust Registry Query Protocol
- Client-Side Simplicity: Easy-to-use API without requiring deep protocol knowledge
- Extensible Architecture: Support for adding new trust protocols
npm install trust-resolver
import { TrustResolver } from "trust-resolver";
const resolver = new TrustResolver({
resolver1: "x.x.x.x", // Primary resolver
resolver2: "x.x.x.x", // Backup resolver
});
const trustInfo = await resolver.query({
// Query parameters
});
We welcome contributions from the community! Please feel free to:
- Open issues to discuss ideas or report bugs
- Submit pull requests with improvements
- Participate in discussions
See our Code of Conduct for community guidelines.
This project is licensed under the Apache 2.0 License.
The project plans to deploy a distributed server infrastructure with primary and backup servers, similar to DNS resolver systems, accessible via IP address for reliable trust resolution services.