TrustWeave Glossary

Standard terminology used throughout TrustWeave documentation.

Version: 1.0.0-SNAPSHOT

Core Terms

Facade

The TrustWeave class is the main entry point (facade pattern). It provides a unified API for all TrustWeave operations.

Example:

1
2
val trustweave = TrustWeave.create()
val did = trustweave.dids.create()

Related: Core API Reference

Service

Concrete implementations that perform operations:

  • CredentialService: Issues and verifies credentials
  • WalletService: Manages wallet operations
  • KeyManagementService: Handles cryptographic keys

Example:

1
2
3
class MyCredentialService : CredentialService {
    override suspend fun issueCredential(...): VerifiableCredential
}

Related: Credential Service API

Provider

Factory pattern implementations that create service instances:

  • CredentialServiceProvider: Creates credential services
  • WalletFactory: Creates wallet instances
  • DidMethodProvider: Creates DID method implementations

Example:

1
2
3
class MyWalletFactory : WalletFactory {
    override suspend fun create(...): Wallet
}

Related: Wallet API

Registry

Collections that manage multiple implementations:

  • DidMethodRegistry: Manages DID methods (did:key, did:web, etc.)
  • BlockchainAnchorRegistry: Manages blockchain clients
  • CredentialServiceRegistry: Manages credential services

Example:

1
2
3
val registry = DidMethodRegistry()
registry.register(DidKeyMethod())
registry.register(DidWebMethod())

Related: Core Concepts

DID Terms

DID (Decentralized Identifier)

A self-sovereign identifier following the did:method:identifier pattern.

Example: did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK

Related: DIDs

DID Method

Implementation of a specific DID method specification (e.g., did:key, did:web, did:ion).

Example:

1
2
3
class DidKeyMethod : DidMethod {
    override val methodName: String = "key"
}

Related: DIDs

DID Document

JSON-LD structure containing public keys, services, and capabilities for a DID.

Related: DIDs

Credential Terms

Verifiable Credential (VC)

Tamper-evident attestation following the W3C VC Data Model.

Related: Verifiable Credentials

Credential Subject

The entity about which claims are being made in a credential.

Example:

1
2
3
4
5
buildJsonObject {
    put("id", "did:key:holder")
    put("name", "Alice")
    put("degree", "B.S. Computer Science")
}

Related: Verifiable Credentials

Issuer

Entity that creates and signs a verifiable credential.

Related: Verifiable Credentials

Holder

Entity that receives and stores a verifiable credential.

Related: Wallets

Verifier

Entity that verifies a verifiable credential or presentation.

Related: Verifiable Credentials

Proof

Cryptographic signature binding the issuer to the credential content.

Related: Verifiable Credentials

Wallet Terms

Wallet

Container for storing and managing verifiable credentials and DIDs.

Related: Wallets

Wallet Provider

Implementation that creates wallet instances (InMemory, Database, etc.).

Example:

1
2
3
4
5
6
val wallet = trustWeave.wallet {
    id("holder-wallet")
    holder("did:key:holder")
    enableOrganization()
    enablePresentation()
}

Related: Wallet API

Capability

Optional interface that a wallet may implement (e.g., CredentialOrganization, CredentialPresentation).

Example:

1
2
3
4
5
if (wallet.supports(CredentialOrganization::class)) {
    wallet.withOrganization { org ->
        org.createCollection("Education")
    }
}

Related: Wallet API

Blockchain Terms

Blockchain Anchoring

Process of writing data digests to a blockchain for tamper evidence and timestamping.

Related: Blockchain Anchoring

Anchor Client

Implementation that writes data to a specific blockchain.

Example:

1
2
3
class AlgorandAnchorClient : BlockchainAnchorClient {
    override suspend fun writePayload(payload: JsonElement): AnchorResult
}

Related: Blockchain Anchoring

Chain ID

Identifier for a blockchain network following CAIP-2 format (e.g., algorand:testnet).

Related: Blockchain Anchoring

Key Management Terms

Key Management Service (KMS)

Service that manages cryptographic keys (generation, storage, signing).

Example:

1
2
3
class InMemoryKeyManagementService : KeyManagementService {
    override suspend fun generateKey(...): KeyInfo
}

Related: Key Management

Key ID

Identifier for a specific key within a DID document.

Example: did:key:z6Mk...#key-1

Related: Key Management

Plugin Terms

Plugin

Extensible component that implements TrustWeave interfaces (DID methods, anchor clients, etc.).

Related: Plugin Lifecycle

Plugin Lifecycle

Methods for initializing, starting, stopping, and cleaning up plugins.

Example:

1
2
3
4
5
6
interface PluginLifecycle {
    suspend fun initialize(config: Map<String, Any?>): Boolean
    suspend fun start(): Boolean
    suspend fun stop(): Boolean
    suspend fun cleanup()
}

Related: Plugin Lifecycle

Error Terms

TrustWeaveError

Sealed hierarchy of structured error types with context.

Example:

1
2
3
4
TrustWeaveError.DidMethodNotRegistered(
    method = "web",
    availableMethods = listOf("key")
)

Related: Error Handling

Result

Kotlin Result type used for all TrustWeave operations.

Example:

1
2
3
4
5
6
try {
    val did = trustweave.dids.create()
    println("Created: ${did.id}")
} catch (error: TrustWeaveError) {
    println("Error: ${error.message}")
}

Related: Error Handling