Make code compatible with php 8.0 Signed-off-by: Namith Jawahar <namith.jawahar@gmail.com> |
||
|---|---|---|
| docs | ||
| examples | ||
| src/FAIR/DID | ||
| tests/Unit/FAIR/DID | ||
| .gitattributes | ||
| .gitignore | ||
| composer.json | ||
| composer.lock | ||
| LICENSE.md | ||
| mago.toml | ||
| phpcs.xml.dist | ||
| phpunit.xml | ||
| README.md | ||
FAIR DID Manager
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:plcidentifiers - 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.0 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\Cryptofor encoding, canonicalization, and DID helpersFAIR\DID\Keysfor key generation, decoding, and exportFAIR\DID\PLCfor PLC client and operation objectsFAIR\DID\Storagefor local key/DID persistenceFAIR\DIDfor high-level DID lifecycle orchestration
Examples
Core examples remain in examples:
01-generate-keys.php02-plc-operations.php03-key-storage.php04-export-keys.php05-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-wordpressfor 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.