Перейти к содержанию

kaspeak-sdk


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

MessageHeader

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

Payload

blockMeta

BlockMeta

consensusHash

string

Returns

MessageHeader


createPayload()

createPayload(outpointIds, messageType, identifier, data): Promise\<string>

Defined in: sdk/kaspeak.ts:332

Parameters

outpointIds

string

messageType

number

identifier

Identifier | SecretIdentifier

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

MessageHeader

– 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

ConversationKeys


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

BaseMessage

– 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

Payload


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

FeeLevel

"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

PaymentOutput[]

Array of objects { address, amountKas }, where amountKas is a number or string in KAS.

Returns

Promise\<string>

Promise — tx-id of the created transaction.

Errors: — invalid amount (cannot be converted to sompi); — no node connection (if auto-wait is disabled).

Example

1
2
3
4
const txid = await sdk.transferFunds([
  { address: "kaspa:qz7vr…", amountKas: 2 },
  { address: "kaspa:qp3jc…", amountKas: "0.3" }
]);

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>