@red-isbe/did-isbe-registry
v1.3.3
Published
https://github.com/alastria/isbe-contracts/tree/main/contracts/identity/didregistry
Keywords
Readme
did:isbe TS Library
Librería TypeScript para la gestión de identidades descentralizadas (DID) en el ecosistema ISBE, facilitando la interacción segura y estructurada con los contratos inteligentes ISBE desde aplicaciones Node.js.
Características principales
- Recubrimiento de contratos ISBE: Clases TypeScript para interactuar con métodos públicos de los contratos.
- Gestión de DIDs, controladores y métodos de verificación.
- Consulta y actualización de documentos DID detallados.
- Construcción de transacciones y llamadas de solo lectura.
- Configuración dinámica mediante
config.jsony artefactos ABI.
Componentes principales
IDidVerificationMethod.ts: Gestión de métodos de verificación (añadir, revocar, expirar, rotar, validación de curva).IDidVerificationRelationship.ts: Gestión de relaciones de verificación entre DIDs y métodos.IDidController.ts: Gestión de controladores, construcción de transacciones y consultas de controladores autorizados.IDidDocumentDetailed.ts: Consulta, inserción y actualización de documentos DID detallados.config.json: Configuración de direcciones y ABI de contratos.IDidRegistry.json: Artefacto ABI del contrato.
Ejemplo de uso
import IDidController from "./src/identity/didregistry/IDidController";
import { JsonRpcProvider } from "ethers";
// Configura el provider
const provider = new JsonRpcProvider("https://tu-nodo-rpc");
// Instancia la clase
const didController = new IDidController(provider);
// Construir una transacción para añadir un controlador a un DID
const rawTx = await didController.buildAddControllerTx(
"did:isbe:network:1234567890abcdef1234567890abcdef12345678",
"did:isbe:network:controller7890abcdef1234567890abcdef1234"
);
// Consultar DIDs por controlador
const result = await didController.getDidsByController(
"did:isbe:network:controller7890abcdef1234567890abcdef1234",
1, // página
10 // tamaño de página
);
console.log(result.items);Instalación
- Instala las dependencias:
npm install- Configura
config.jsoncon las direcciones y ABI de los contratos.
Pruebas y robustez
- Las pruebas unitarias están implementadas con Jest y cubren tanto los caminos principales como los de error y condiciones límite de las utilidades y clases principales.
- Se utilizan mocks avanzados para dependencias externas, asegurando tests aislados y fiables.
- Los tests se encuentran en
src/identity/didregistry/__test__/. - Ejecuta los tests con:
npm testNota: Por limitaciones de ESM y variables globales, algunos módulos como ConfigManager solo pueden testearse parcialmente sin modificar el código fuente.
Documentación técnica
Consulta el documento ISBE-ART-00002.md para información detallada sobre arquitectura, reglas de negocio, ejemplos de código, criterios de validación y cobertura de tests.
Copyright © 2025 Comunidad de Madrid & Alastria
