Kaspa SDK is used to interact with the Kaspa blockchain, it contains various functions can be used to web3 wallet.
To obtain the latest version, simply require the project using npm :
npm install @okxweb3/coin-kaspa
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: DerivePriKeyParams = {
mnemonic: "reopen vivid parent want raw main filter rotate earth true fossil dream",
hdPath: "m/44'/111111'/0'/0/0",
};
let privateKey = await wallet.getDerivedPrivateKey(p);
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: NewAddressParams = {
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff"
};
let address = await wallet.getNewAddress(p);
Verify address
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: ValidAddressParams = {
address: "kaspa:qrcnkrtrjptghtrntvyqkqafj06f9tamn0pnqvelmt2vmz68yp4gqj5lnal2h"
};
let valid = await wallet.validAddress(p);
Transfer
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: SignTxParams = {
data: {
inputs: [
{
txId: "ec62c785badb0ee693435841d35bd05da9c8a40aa2d568dddb0dd47410e7e78a",
vOut: 1,
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
amount: 597700,
},
],
outputs: [
{
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
amount: 587700,
},
],
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
fee: 10000,
},
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff",
};
let tx = await wallet.signTransaction(p);
Calculate txId
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: CalcTxHashParams = {
data: {"transaction":{"version":0,"inputs":[{"previousOutpoint":{"transactionId":"ec62c785badb0ee693435841d35bd05da9c8a40aa2d568dddb0dd47410e7e78a","index":1},"signatureScript":"411687d956de8e3cc53b9dbf20ede3922b422595abbad31ecf38ff90c0cf8ef7c3b5ae71628e041a3a0f1b9ad6e14bb6d49dd7c35f06c46316b67c10d477c29ac001","sequence":0,"sigOpCount":1}],"outputs":[{"scriptPublicKey":{"version":0,"scriptPublicKey":"200395c7c9703e0ff81596043f0a5e00684f860a1ab0f24c5a94931d1e0d94c4beac"},"amount":587700}],"lockTime":0,"subnetworkId":"0000000000000000000000000000000000000000"},"allowOrphan":false},
};
let txId = await wallet.calcTxHash(p);
Sign message
import { KaspaWallet } from "@okxweb3/coin-kaspa";
let wallet = new KaspaWallet();
let p: SignTxParams = {
data: {
message: "Hello Kaspa!",
},
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff",
};
let sig = await wallet.signMessage(p);