fairpm/did-manager

Core PHP library for DID management, key handling, and PLC operations

Maintainers

Package info

github.com/fairpm/did-manager

pkg:composer/fairpm/did-manager

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 2

0.0.3 2026-03-13 18:34 UTC

This package is auto-updated.

Last update: 2026-03-13 18:46:04 UTC


README

fairpm/did-manager is the core FAIR DID library. It contains generic DID lifecycle management, PLC operations, key generation/export, and local key storage.

Features

  • Create, resolve, update, rotate, and deactivate did:plc identifiers
  • Generate secp256k1 rotation keys and Ed25519 verification keys
  • Encode/sign PLC operations with CBOR and multibase helpers
  • Store DIDs, keys, and generic metadata locally
  • Export keys in JSON, text, and environment-variable formats

Requirements

  • PHP 8.3 or higher
  • Composer
  • Extensions: curl, json

Installation

git clone https://github.com/fairpm/did-manager.git
cd did-manager
composer install

For WordPress package metadata parsing, install fairpm/did-manager-wordpress alongside this package.

Quick Start

<?php

require_once 'vendor/autoload.php';

use FAIR\DID\DIDManager;
use FAIR\DID\PLC\PlcClient;
use FAIR\DID\Storage\KeyStore;

$store = new KeyStore(__DIR__ . '/keys.json');
$client = new PlcClient();
$manager = new DIDManager($store, $client);

$result = $manager->create_did(
	handle: 'example-package',
	service_endpoint: 'https://example.com/did-endpoint',
	type: 'package',
	metadata: ['owner' => 'Example Org'],
);

echo $result['did'] . PHP_EOL;

Namespaces

  • FAIR\DID\Crypto for encoding, canonicalization, and DID helpers
  • FAIR\DID\Keys for key generation, decoding, and export
  • FAIR\DID\PLC for PLC client and operation objects
  • FAIR\DID\Storage for local key/DID persistence
  • FAIR\DID for high-level DID lifecycle orchestration

Examples

Core examples remain in examples:

  • 01-generate-keys.php
  • 02-plc-operations.php
  • 03-key-storage.php
  • 04-export-keys.php
  • 05-generate-and-submit-did.php

WordPress examples were moved to the did-manager-wordpress package.

Testing

composer test
composer lint
composer analyze

Related Packages

  • fairpm/did-manager-wordpress for WordPress header parsing, readme parsing, and FAIR metadata generation

Security

Never commit private keys or generated keystore files to version control.

License

GPL-3.0-or-later. See LICENSE.md for details.