API Quick Reference
Quick lookup for common TrustWeave (trustWeave) operations. For full signatures and edge cases, see Core API .
DIDs
Method
Description
Link
createDid { }
Create a new DID (returns DidCreationResult)
createDid()
resolveDid(did)
Resolve a DID (String or Did) → DidResolutionResult
resolveDid()
updateDid { }
Update a DID document → DidDocument
updateDid()
createDidWithKey { }
Create DID and expose key id → DidCreationWithKeyResult
core-api.md
Credentials
Method
Description
Link
issue { }
Issue a VC → IssuanceResult
issue()
verify(credential)
Verify with defaults → VerificationResult
verify()
verify { }
Verify with DSL (revocation, schema, trust policy, …)
verify()
presentationResult { }
Build a VP → PresentationResult
create-presentations.md
Wallets
Method
Description
Link
wallet { }
Create a wallet → WalletCreationResult
wallet()
Wallet storage/query live on the Wallet instance after a successful result (see Wallet API ).
Blockchain
Use trustWeave.blockchains (e.g. anchor, read) — not a top-level anchor { } on the facade. See Core API — Blockchain and quick start .
Trust registry
Method
Description
trust { }
Trust DSL: addAnchor, isTrusted, findTrustPath, getTrustedIssuers, …
Requires trust { provider(...) } (or an explicit trust registry factory) in TrustWeave.build { } .
Delegation & keys
Method
Description
delegate { }
Delegation chain check → DelegationChainResult
rotateKey { }
Key rotation → DidDocument
revoke(timeout) { }
Revocation DSL
Snippets (current API)
Create DID
1
2
3
4
5
6
7
8
import org.trustweave.trust.TrustWeave
import org.trustweave.trust.types.getOrThrowDid
val trustWeave : TrustWeave = // TrustWeave.build { ... } or quickStart()
val issuerDid = trustWeave . createDid {
method ( "key" )
algorithm ( "Ed25519" )
}. getOrThrowDid ()
Resolve DID
1
2
3
4
5
6
7
8
import org.trustweave.did.identifiers.Did
import org.trustweave.did.resolver.DidResolutionResult
import org.trustweave.did.resolver.errorMessage
when ( val res = trustWeave . resolveDid ( Did ( "did:key:example" ))) {
is DidResolutionResult . Success -> println ( res . document . id )
is DidResolutionResult . Failure -> println ( res . errorMessage )
}
Update DID
1
2
3
4
5
6
7
8
import org.trustweave.trust.dsl.credential.DidMethods
import org.trustweave.testkit.services.*
trustWeave . updateDid {
did ( "did:key:example" )
method ( DidMethods . KEY )
addService { /* ... */ }
}
Issue credential
1
2
3
4
5
6
7
8
9
10
11
12
13
import org.trustweave.trust.types.getOrThrow
import org.trustweave.credential.results.getOrThrow
import kotlinx.datetime.Clock
val credential = trustWeave . issue {
credential {
type ( "PersonCredential" )
issuer ( issuerDid )
subject { id ( "did:key:holder" ); "name" to "Alice" }
issued ( Clock . System . now ())
}
signedBy ( issuerDid ) // key id derived when configured
}. getOrThrow ()
Verify credential
1
2
3
4
5
6
7
8
import org.trustweave.credential.results.VerificationResult
val result = trustWeave . verify ( credential )
when ( result ) {
is VerificationResult . Valid -> println ( "Valid" )
is VerificationResult . Invalid -> println ( result . allErrors . joinToString ())
}
Optional: import org.trustweave.trust.types.* for ergonomic helpers (result.valid , result.trustRegistryValid , result.errors as an alias of allErrors , etc.) on VerificationResult .
Wallet
1
2
3
4
5
6
7
8
import org.trustweave.trust.types.getOrThrow
import org.trustweave.credential.results.getOrThrow
val wallet = trustWeave . wallet {
holder ( "did:key:holder" )
enableOrganization ()
enablePresentation ()
}. getOrThrow ()
Requires a WalletFactory on the TrustWeave configuration (e.g. testkit in tests).
Trust anchors
1
2
3
4
5
6
7
trustWeave . trust {
addAnchor ( issuerDid . value ) {
credentialTypes ( "EducationCredential" )
description ( "Trusted university" )
}
val ok = isTrusted ( issuerDid . value , "EducationCredential" )
}
Delegation
1
2
3
4
val chain = trustWeave . delegate {
from ( delegatorDid . value )
to ( delegateDid . value )
}
Key rotation
1
2
3
4
5
6
7
import org.trustweave.trust.dsl.credential.KeyAlgorithms
trustWeave . rotateKey {
did ( "did:key:example" )
oldKeyId ( "did:key:example#key-1" )
newAlgorithm ( KeyAlgorithms . ED25519 )
}