@fxwallet/kaspa-lib
v1.0.7
Published
Kaspa SDK used by FxWallet: key derivation, address generation/validation, transaction signing, txId calculation, and message signing.
Downloads
28
Maintainers
Readme
fx-kaspa-lib
Kaspa SDK used by FxWallet to interact with the Kaspa blockchain. It provides key derivation, address generation, address validation, transaction signing, txId calculation, and message signing.
Installation
npm install fx-kaspa-libUsage
Derive privateKey
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const privateKey = await wallet.getDerivedPrivateKey({
mnemonic: "reopen vivid parent want raw main filter rotate earth true fossil dream",
hdPath: "m/44'/111111'/0'/0/0",
});New address
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const address = await wallet.getNewAddress({
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff",
});Validate address
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const result = await wallet.validAddress({
address: "kaspa:qrcnkrtrjptghtrntvyqkqafj06f9tamn0pnqvelmt2vmz68yp4gqj5lnal2h",
});Transfer
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const tx = await wallet.signTransaction({
data: {
inputs: [
{
txId: "ec62c785badb0ee693435841d35bd05da9c8a40aa2d568dddb0dd47410e7e78a",
vOut: 1,
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
amount: 597700,
},
],
outputs: [
{
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
amount: 587700,
},
],
address: "kaspa:qqpet37fwqlql7q4jczr7zj7qp5ylps2r2c0ynz6jjf368sdjnztufeghvc9x",
fee: 10000,
},
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff",
});Calculate txId
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const txId = await wallet.calcTxHash({
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,
},
});Sign message
import { KaspaWallet } from "fx-kaspa-lib";
const wallet = new KaspaWallet();
const signature = await wallet.signMessage({
data: {
message: "Hello Kaspa!",
},
privateKey: "d636a23d4f49fe4e0d59fcf7a6c2ab3846ff2d3a54007b3817a11dff770d06ff",
});Build
npm install
npm run buildTest
npm testLicense
MIT
