kaspeak-sdk / Kaspeak
Class: Kaspeak¶
Defined in: sdk/kaspeak.ts:15
Accessors¶
address¶
Get Signature¶
get address():
string
Defined in: sdk/kaspeak.ts:221
Returns¶
string
balance¶
Get Signature¶
get balance():
number
Defined in: sdk/kaspeak.ts:229
Returns¶
number
isConnected¶
Get Signature¶
get isConnected():
boolean
Defined in: sdk/kaspeak.ts:192
Returns¶
boolean
publicKey¶
Get Signature¶
get publicKey():
string
Defined in: sdk/kaspeak.ts:225
Returns¶
string
utxoCount¶
Get Signature¶
get utxoCount():
number
Defined in: sdk/kaspeak.ts:233
Returns¶
number
Methods¶
callWorker()¶
callWorker(
header
,rawData
):void
Defined in: sdk/kaspeak.ts:299
Parameters¶
header¶
rawData¶
Uint8Array
Returns¶
void
connect()¶
connect(
url?
):Promise
\<void
>
Defined in: sdk/kaspeak.ts:172
Parameters¶
url?¶
string
Returns¶
Promise
\<void
>
createMessageHeaderFromTransaction()¶
createMessageHeaderFromTransaction(
txid
,prefix
,payload
,blockMeta
,consensusHash
):MessageHeader
Defined in: sdk/kaspeak.ts:420
Parameters¶
txid¶
string
prefix¶
string
payload¶
blockMeta¶
consensusHash¶
string
Returns¶
createPayload()¶
createPayload(
outpointIds
,messageType
,identifier
,data
):Promise
\<string
>
Defined in: sdk/kaspeak.ts:332
Parameters¶
outpointIds¶
string
messageType¶
number
identifier¶
data¶
Uint8Array
Returns¶
Promise
\<string
>
createTransaction()¶
createTransaction(
dataLength
):Promise
\<Transaction
>
Defined in: sdk/kaspeak.ts:370
Drafts an unsigned “send-to-self” transaction sized for a Kaspeak payload.
The SDK adds its fixed HEADER_SIZE to the supplied dataLength
to reserve enough bytes in the payload field. Fee bucket is taken from
#feeLevel
, plus any extra tip in #priorityFeeSompi
.
Parameters¶
dataLength¶
number
– Length of the encoded message body; used to calculate the required payload capacity.
Returns¶
Promise
\<Transaction
>
Unsigned Transaction
ready to be filled and signed.
decode()¶
decode\<
T
>(header
,data
,key?
):Promise
\<T
>
Defined in: sdk/kaspeak.ts:278
Reconstruct a typed message from raw payload bytes.
On any failure an UnknownMessage
is returned
Type Parameters¶
T¶
T
extends BaseMessage
Parameters¶
header¶
– Parsed MessageHeader
of the payload.
data¶
Uint8Array
– Raw bytes from the blockdag.
key?¶
Uint8Array
\<ArrayBufferLike
>
– Shared secret for decryption when required.
Returns¶
Promise
\<T
>
Concrete message instance or UnknownMessage
.
Throws¶
Error if decryption is required but no key is provided.
deriveConversationKeys()¶
deriveConversationKeys(
publicKey
):ConversationKeys
Defined in: sdk/kaspeak.ts:313
Parameters¶
publicKey¶
string
| Uint8Array
\<ArrayBufferLike
> | Point
Returns¶
encode()¶
encode(
message
,key?
):Promise
\<Uint8Array
\<ArrayBufferLike
>>
Defined in: sdk/kaspeak.ts:264
Turn a BaseMessage
instance into bytes ready for the wire.
Pass key
only when message.requiresEncryption
is
true
; otherwise it is silently ignored.
Parameters¶
message¶
– Message instance to encode.
key?¶
Uint8Array
\<ArrayBufferLike
>
– Shared secret for encryption (optional).
Returns¶
Promise
\<Uint8Array
\<ArrayBufferLike
>>
Compressed (and maybe encrypted) byte buffer.
Throws¶
Error if encryption is required but no key is provided.
getAddressFromPublicKey()¶
getAddressFromPublicKey(
publicKey
):string
Defined in: sdk/kaspeak.ts:326
Parameters¶
publicKey¶
string
| Uint8Array
\<ArrayBufferLike
> | PublicKey
Returns¶
string
getBalance()¶
getBalance(
address?
):Promise
\<Balance
>
Defined in: sdk/kaspeak.ts:207
Fetch the current balance and UTXO count.
If address
is omitted the request is made for the SDK’s own
wallet address and the internal sdk.balance
/ sdk.utxoCount
caches are updated. The value is reported in KAS (not sompi).
Parameters¶
address?¶
string
– Optional Kaspa address to query.
Returns¶
Promise
\<Balance
>
{ balance, utxoCount }
Throws¶
Error when the node is disconnected
getOutpointIds()¶
getOutpointIds(
tx
):string
Defined in: sdk/kaspeak.ts:349
Parameters¶
tx¶
Transaction
| ITransaction
Returns¶
string
off()¶
off\<
E
>(event
,listener
):void
Defined in: sdk/kaspeak.ts:243
Type Parameters¶
E¶
E
extends keyof KaspeakEvents
Parameters¶
event¶
E
listener¶
(data
) => void
Returns¶
void
on()¶
on\<
E
>(event
,listener
):void
Defined in: sdk/kaspeak.ts:239
Type Parameters¶
E¶
E
extends keyof KaspeakEvents
Parameters¶
event¶
E
listener¶
(data
) => void
Returns¶
void
once()¶
once\<
E
>(event
,listener
):void
Defined in: sdk/kaspeak.ts:247
Type Parameters¶
E¶
E
extends keyof KaspeakEvents
Parameters¶
event¶
E
listener¶
(data
) => void
Returns¶
void
parsePayload()¶
parsePayload(
data
):Payload
Defined in: sdk/kaspeak.ts:345
Parameters¶
data¶
string
| Uint8Array
\<ArrayBufferLike
>
Returns¶
registerMessage()¶
registerMessage(
message
,worker?
):void
Defined in: sdk/kaspeak.ts:293
Register a custom message type and its optional worker callback.
Every inbound payload whose type
equals ctor.messageType
(0-65535) is instantiated with new ctor()
. If worker
is
supplied it is invoked asynchronously for each such message.
Re-registering the same messageType
overrides the previous entry
Parameters¶
message¶
MessageClass
– Class extending BaseMessage
.
worker?¶
WorkerFn
– Optional handler for the raw payload.
Returns¶
void
sendTransaction()¶
sendTransaction(
transaction
,payload
):Promise
\<string
>
Defined in: sdk/kaspeak.ts:386
Fills, signs and broadcasts the prepared transaction.
transaction
must come from createTransaction; payload
is the
hex string built by createPayload.
Parameters¶
transaction¶
Transaction
– Unsigned transaction.
payload¶
string
– Hex-encoded Kaspeak payload to embed.
Returns¶
Promise
\<string
>
The resulting transaction ID.
setFeeLevel()¶
setFeeLevel(
level
):void
Defined in: sdk/kaspeak.ts:119
Enable dynamic fee selection based on current network load.
Three buckets are available:
• "priority"
— sub-second inclusion (default)
• "normal"
— inclusion within about a minute
• "low"
— inclusion within roughly an hour
Call setPriorityFee only if you need to add a fixed extra tip on top of the chosen bucket.
Parameters¶
level¶
– "low"
, "normal"
or "priority"
.
Returns¶
void
setPrefixFilterEnabled()¶
setPrefixFilterEnabled(
enabled
):void
Defined in: sdk/kaspeak.ts:89
Enable or disable prefix filtering.
When true
(default) the SDK accepts only messages whose 4-byte
prefix matches the one supplied at Kaspeak.create.
Set to false
if you need to watch traffic from several Kaspeak-based
apps on the same node.
Parameters¶
enabled¶
boolean
– true
to keep the filter on, false
to turn it off.
Returns¶
void
setPriorityFee()¶
setPriorityFee(
feeKAS
):void
Defined in: sdk/kaspeak.ts:130
Sets the priority fee in KAS (NOT SOMPI!) for transactions. The fee is converted to sompi (1 KAS = 1e8 sompi).
Parameters¶
feeKAS¶
number
The priority fee in KAS.
Returns¶
void
Throws¶
Error if the fee is negative.
setSignatureVerificationEnabled()¶
setSignatureVerificationEnabled(
enabled
):void
Defined in: sdk/kaspeak.ts:102
Toggle Schnorr-signature verification for incoming payloads.
Verification (true
) guarantees authenticity but costs CPU; skipping it
(false
) boosts throughput at the expense of trust. Choose according
to your threat model.
Parameters¶
enabled¶
boolean
– true
to verify every payload, false
to skip checks.
Returns¶
void
setWaitForConnectionEnabled()¶
setWaitForConnectionEnabled(
enabled
):void
Defined in: sdk/kaspeak.ts:154
Toggle automatic waiting for an RPC connection.
When enabled (true
), network-dependent methods such as
getBalance
, createTransaction
and sendTransaction
will silently await the internal “connect” event instead
of throwing Error: Node is not connected. Call connect() first.
Disabled (false
, default) keeps the SDK in strict
fail-fast mode, making connectivity issues explicit.
Parameters¶
enabled¶
boolean
– true
to wait for the connection,
false
to throw immediately.
Returns¶
void
transferFunds()¶
transferFunds(
recipients
):Promise
\<string
>
Defined in: sdk/kaspeak.ts:412
Sends an amount of KAS to one or several addresses.
To send messages, use: createTransaction → createPayload → sendTransaction.
Parameters¶
recipients¶
Array of objects { address, amountKas }, where amountKas is a number or string in KAS.
Returns¶
Promise
\<string
>
Promise
Errors: — invalid amount (cannot be converted to sompi); — no node connection (if auto-wait is disabled).
Example¶
create()¶
static
create(privateKey
,prefix
,networkId
):Promise
\<Kaspeak
>
Defined in: sdk/kaspeak.ts:60
Parameters¶
privateKey¶
string
| number
| bigint
| Uint8Array
\<ArrayBufferLike
>
prefix¶
string
= "TEST"
networkId¶
NetworkId
= DEFAULT_NETWORK_ID
Returns¶
Promise
\<Kaspeak
>