Skip to content

KryptoOS SDK Dart

El SDK Dart de KryptoOS permite crear identidades SSI/DID y emitir/verificar Verifiable Credentials (VCs) en el ecosistema Empoorio.

Código fuente: projects/KryptoOS/sdks/dart/ (paquete kryptoos_ssi_dart)

Instalación

yaml
dependencies:
  kryptoos_ssi_dart:
    path: ../KryptoOS/sdks/dart

Crear un DID

dart
import 'package:kryptoos_ssi_dart/kryptoos_ssi_dart.dart';

final ssi = KryptoosOuranoosSsi();

// Generar o importar keypair Sr25519
final keypair = await Sr25519Keypair.generate();

// Crear DID
final did = ssi.createDid(keypair.publicKey);
// Resultado: did:kryptoos:empoorio:sr25519:<base58-public-key>
print(did);

Emitir credencial de usuario Ouranoos

dart
final vc = await ssi.issueUserCredential(
  subject: did,
  keypair: keypair,
);

// VC contiene:
// - didCommitment (hash del DID + salt)
// - devicePossessionProofHash
// - revocationStatus: "active"
// - proof: Sr25519Signature2026

print(vc.type); // OuranoosUserCredential

Emitir credencial de proveedor Ouranoos

dart
final providerVc = await ssi.issueProviderDeviceCredential(
  subject: did,
  deviceClass: 'Desktop',
  maxCapacityGb: 500,
  keypair: keypair,
);

// VC contiene:
// - didCommitment
// - deviceIdHash (hash del device ID — nunca en claro)
// - deviceClass: "Desktop"
// - maxCapacityGb: 500
// - offeredCapacityGb: (configurable)
// - revocationStatus: "active"

Verificar una credencial

dart
final isValid = await ssi.verifyCredential(vc);
print('Credencial válida: $isValid');

Credenciales del ecosistema

TipoDescripciónQuién la usa
OuranoosUserCredentialIdentidad de usuario en OuranoosOuranoos App
Provider Device CredentialIdentidad de nodo proveedorOuranoos provider verification
EooniaWalletCredentialIdentidad de usuario en EooniaEoonia Wallet

Privacidad — lo que nunca se expone

  • El DID del usuario no se almacena on-chain en claro
  • Solo el didCommitment (hash) va a EmpoorioChain
  • El deviceId real nunca sale del dispositivo — solo su hash
  • Las VCs se verifican localmente antes de cualquier operación

Integración con EmpoorioChain

EmpoorioChain acepta el commitment público de la credencial de proveedor para anclar reputación sin exponer PII.

bash
emp-cli chain submit-extrinsic \
  --pallet storageMarket \
  --call linkProviderIdentity \
  --args '{"commitment": "<did_commitment>"}' \
  --signer <keyfile>