ECDSA
Three-party ECDSA over secp256k1 — Bitcoin, Ethereum, and other EVM chains.
Construct a session with trioInitiator and drive it through TrioSession, which adds pre-signatures, recovery, and hardened derivation on top of the shared operations. The stateless helpers inherited from SilentShard operate on secp256k1 keyshares.
Types
Internal test key provider for testing purposes ONLY. Never use in production. See MessageSigner for secure implementations.
Properties
The process-shared TSS instance backing the stateless helpers (getKeyshareKeyId, getKeysharePublicKey, deriveChildPublicKey, generateEncryptionDecryptionKeyPair). Sessions get their own instance via newSessionTss.
Functions
Derives a child public key via BIP32 hierarchical-deterministic derivation, producing many addresses from one keyshare. Runs locally.
Generates a keypair used to encrypt keyshare-backup material.
Computes the keyId of a keyshare — a deterministic identifier derived from its public key. This is the same value TrioSession.keygen and TrioSession.import return. Runs locally.
Extracts the public key from a keyshare, for deriving addresses or verifying signatures. Runs locally.
Construct a fresh per-session TSS instance — used by the trioInitiator(...) factories so each session owns its own native-handle tracking list. The process-singleton tss is kept for stateless utilities (getKeyshareKeyId etc.); sharing it for sessions would mean the library's allocation list grows monotonically and concurrent sessions race on it.
Creates an initiating TrioSession over the default WebSocket transport, reusing a SilentShardWebsocketClient you construct and own — for example to share one client across sessions and com.silencelaboratories.silentshard.network.NetworkClient.close it yourself.
Creates a TrioSession as the initiating party, over the default WebSocket transport. The recommended entry point for most integrations.
Creates an initiating TrioSession over a custom transport.