Documentation Index
Fetch the complete documentation index at: https://docs.kynesys.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Demos support use of the following Quantum safe signing algorithms for transaction and transmission signing:
- Falcon
- ML-DSA
You can sign transactions using Falcon by connecting your mnemonic as shown:
import { Demos } from "@kynesyslabs/demosdk/websdk"
const demos = new Demos()
const mnemonic = demos.newMnemonic()
await demos.connectWallet(mnemonic, {
algorithm: "falcon",
dual_sign: true
})
const rawTx = {...}
const tx = demos.sign(tx)
PQC Identities
You can link your PQC identities to your ed25519 address on the Demos network, to allow you to only include the PQC signature on future transactions.
import { Identities } from "@kynesyslabs/demosdk/abstraction"
const identities = new Identities()
// Bind every supported PQC algorithm to the connected ed25519 address.
const validityData = await identities.bindPqcIdentity(demos, "all")
const res = await demos.broadcast(validityData)
console.log(res)
You can also bind a specific subset of algorithms by passing a PQCAlgorithm[] array instead of "all":
// Bind only Falcon, leaving ML-DSA unbound.
await identities.bindPqcIdentity(demos, ["falcon"])
For future wallet connections, you can connect your wallet without the dual_sign option. Transactions will not have the ed25519 signature and your ownership of the ed25519 address will be validated on the network.
Removing PQC identities
To unbind PQC identities, use removePqcIdentity. It mirrors the binding shape — pass "all" to remove every algorithm, or a PQCAlgorithm[] to remove a subset.
// Remove every PQC algorithm bound to the connected address.
const validityData = await identities.removePqcIdentity(demos, "all")
await demos.broadcast(validityData)
// Or remove just one algorithm.
await identities.removePqcIdentity(demos, ["falcon"])