Tipe TypeScript
Semua tipe diekspor dari vue-kaspa dan tersedia untuk diimpor:
import type {
VueKaspaOptions,
KaspaNetwork,
// ...
} from 'vue-kaspa'VueKaspaOptions
Opsi yang diberikan ke app.use(VueKaspa, options) atau kunci kaspa di nuxt.config.ts.
interface VueKaspaOptions {
network?: KaspaNetwork
url?: string
resolver?: boolean
encoding?: RpcEncoding
autoConnect?: boolean
devtools?: boolean
panicHook?: 'console' | 'browser' | false
}| Field | Tipe | Default | Deskripsi |
|---|---|---|---|
network | KaspaNetwork | 'mainnet' | Jaringan yang akan dihubungkan |
url | string | — | URL WebSocket RPC kustom |
resolver | boolean | true | Gunakan resolver node publik |
encoding | RpcEncoding | 'Borsh' | Format encoding kawat |
autoConnect | boolean | true | Auto-init WASM dan hubungkan saat dipasang |
devtools | boolean | true di dev | Aktifkan integrasi Vue DevTools |
panicHook | 'console' | 'browser' | false | 'console' | Handler panic WASM |
KaspaNetwork
type KaspaNetwork = 'mainnet' | 'testnet-10' | 'testnet-12' | 'simnet' | 'devnet'RpcEncoding
type RpcEncoding = 'Borsh' | 'SerdeJson''Borsh' adalah encoding default dan direkomendasikan untuk performa. 'SerdeJson' menghasilkan JSON yang mudah dibaca dan berguna untuk debugging.
WasmStatus
type WasmStatus = 'idle' | 'loading' | 'ready' | 'error'| Nilai | Arti |
|---|---|
'idle' | WASM belum dimulai |
'loading' | Modul WASM sedang diambil dan dikompilasi |
'ready' | WASM diinisialisasi |
'error' | Inisialisasi gagal |
RpcConnectionState
type RpcConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error'| Nilai | Arti |
|---|---|
'disconnected' | Tidak ada koneksi |
'connecting' | WebSocket sedang dibuka |
'connected' | Koneksi aktif |
'reconnecting' | Mencoba terhubung kembali setelah terputus |
'error' | Koneksi gagal setelah maksimum percobaan ulang |
RpcOptions
interface RpcOptions {
url?: string
resolver?: boolean
network?: KaspaNetwork
encoding?: RpcEncoding
}Bagian dari VueKaspaOptions — diberikan ke useRpc().connect(options?) untuk menimpa default plugin untuk satu koneksi.
ServerInfo
Dikembalikan oleh useRpc().getInfo().
interface ServerInfo {
isUtxoIndexEnabled: boolean
isSynced: boolean
hasNotifyCommand: boolean
hasMessageId: boolean
serverVersion: string
networkId: string
}BlockInfo
Dikembalikan oleh useRpc().getBlock(hash).
interface BlockInfo {
hash: string
timestamp: number
blueScore: bigint
transactions: string[] // ID transaksi
}UtxoEntry
Satu output UTXO. Kompatibel dengan IUtxoEntry dari @vue-kaspa/kaspa-wasm — aman untuk diberikan langsung ke createTransactions().
interface UtxoEntry {
address?: string
outpoint: { transactionId: string; index: number }
amount: bigint
scriptPublicKey: { version: number; script: string }
blockDaaScore: bigint
isCoinbase: boolean
}| Field | Deskripsi |
|---|---|
address | Alamat pemilik (mungkin undefined untuk output skrip) |
outpoint | ID transaksi + indeks output yang secara unik mengidentifikasi UTXO ini |
amount | Nilai dalam sompi |
scriptPublicKey | Skrip penguncian |
blockDaaScore | Skor DAA dari blok yang menyertakan output ini |
isCoinbase | true untuk hadiah mining (penundaan maturitas berlaku) |
UtxoBalance
Saldo reaktif yang dihitung oleh useUtxo() dari entri UTXO yang dilacak.
interface UtxoBalance {
mature: bigint // Terkonfirmasi, dapat dibelanjakan (non-coinbase)
pending: bigint // Coinbase dengan penundaan maturitas, atau masuk yang belum dikonfirmasi
outgoing: bigint // Selalu 0n (dicadangkan)
}MempoolEntry
interface MempoolEntry {
fee: bigint
isOrphan: boolean
transaction: {
id: string
inputs: unknown[]
outputs: unknown[]
}
}BalanceResult
Dikembalikan oleh useRpc().getBalanceByAddress() dan getBalancesByAddresses().
interface BalanceResult {
address: string
balance: bigint // dalam sompi
}FeeEstimate
Dikembalikan oleh useRpc().getFeeEstimate(). Menyediakan bucket tarif biaya pada berbagai tingkat prioritas.
interface FeeEstimate {
priorityBucket: { feerate: number; estimatedSeconds: number }
normalBuckets: Array<{ feerate: number; estimatedSeconds: number }>
lowBuckets: Array<{ feerate: number; estimatedSeconds: number }>
}feerate dalam sompi per gram massa transaksi. Gunakan dengan pengaturan feeRate di useTransaction().
RpcEventType
type RpcEventType =
| 'connect'
| 'disconnect'
| 'block-added'
| 'virtual-chain-changed'
| 'utxos-changed'
| 'finality-conflict'
| 'finality-conflict-resolved'
| 'sink-blue-score-changed'
| 'virtual-daa-score-changed'
| 'new-block-template'
| 'pruning-point-utxo-set-override'RpcEvent<T>
Envelope event generik. Tipe dari data tergantung pada tipe event.
interface RpcEvent<T = unknown> {
type: RpcEventType
data: T
timestamp: number // Unix milidetik
}PaymentOutput
Satu penerima dalam sebuah transaksi.
interface PaymentOutput {
address: string // Alamat Kaspa
amount: bigint // dalam sompi
}TransactionSummary
Dikembalikan oleh useTransaction().estimate() dan create().
interface TransactionSummary {
fees: bigint // Total biaya dalam sompi
mass: bigint // Total massa dalam gram
transactions: number // Jumlah transaksi (>1 = compounding)
finalTransactionId?: string // Diset setelah pengiriman melalui send()
finalAmount?: bigint // Jumlah output final setelah biaya
}CreateTransactionSettings
Input ke useTransaction().estimate(), create(), dan send().
interface CreateTransactionSettings {
entries: UtxoEntry[]
outputs?: PaymentOutput[]
changeAddress: string
priorityFee?: bigint
feeRate?: number
payload?: string
networkId?: string
}| Field | Wajib | Deskripsi |
|---|---|---|
entries | Ya | Input UTXO — berikan useUtxo().entries.value |
outputs | Tidak | Penerima. Abaikan untuk konsolidasi UTXO sendiri. |
changeAddress | Ya | Alamat pengembalian kembalian |
priorityFee | Tidak | Biaya tetap dalam sompi |
feeRate | Tidak | Biaya dinamis dalam sompi/gram (alternatif dari priorityFee) |
payload | Tidak | Payload data yang di-encode hex |
networkId | Tidak* | Diperlukan ketika entries adalah array biasa |
PendingTx
Transaksi yang belum ditandatangani (atau sebagian ditandatangani) yang dikembalikan oleh useTransaction().create().
interface PendingTx {
sign(privateKeys: string[]): void
submit(): Promise<string>
serialize(): unknown
addresses(): string[]
}| Metode | Deskripsi |
|---|---|
sign(privateKeys) | Tandatangani dengan satu atau beberapa kunci privat hex |
submit() | Kirimkan ke jaringan, mengembalikan ID transaksi |
serialize() | Dapatkan objek plain untuk inspeksi atau pengiriman eksternal |
addresses() | Alamat input — berguna untuk memilih kunci penandatanganan yang diperlukan |
KeypairInfo
interface KeypairInfo {
privateKeyHex: string // Kunci privat 32 byte dalam hex
publicKeyHex: string // Kunci publik terkompresi dalam hex
address: string // Alamat Kaspa spesifik jaringan
}MnemonicInfo
interface MnemonicInfo {
phrase: string // Kata-kata BIP-39 yang dipisahkan spasi
wordCount: 12 | 24
}DerivedKey
Satu kunci dari derivasi HD wallet.
interface DerivedKey {
index: number // Posisi dalam rantai derivasi (berbasis 0)
publicKeyHex: string
address: string
}SignMessageResult
interface SignMessageResult {
message: string
signature: string // Tanda tangan yang di-encode hex
publicKeyHex: string
}Tipe kembalian composable
Setiap composable memiliki antarmuka tipe kembalian yang sesuai:
| Tipe | Komposabel |
|---|---|
UseKaspaReturn | useKaspa() |
UseRpcReturn | useRpc() |
UseUtxoReturn | useUtxo() |
UseTransactionReturn | useTransaction() |
UseCryptoReturn | useCrypto() |
UseNetworkReturn | useNetwork() |
UseVueKaspaReturn | useVueKaspa() |
KaspaRestOptions
Opsi yang diberikan ke useKaspaRest().
interface KaspaRestOptions {
baseUrl?: string
staleTime?: number
cacheTime?: number
headers?: HeadersInit
fetcher?: typeof fetch
}KaspaRestRequestOptions
Penyetelan override per-request untuk composable REST.
interface KaspaRestRequestOptions {
forceRefresh?: boolean
staleTime?: number
cache?: boolean
}KaspaRestResolvePreviousOutpoints
Mengatur seberapa banyak data previous-outpoint yang harus di-resolve oleh REST.
type KaspaRestResolvePreviousOutpoints = 'no' | 'light' | 'full'KaspaRestError
Error yang dilempar komposabel REST saat permintaan gagal.
class KaspaRestError extends KaspaError {}KaspaRestTransaction
Payload transaksi yang dikembalikan oleh komposabel REST.
interface KaspaRestTransaction {
subnetwork_id?: string
transaction_id?: string
transactionId?: string
hash?: string
mass?: string
payload?: string
block_hash?: string[]
block_time?: number
version?: number
is_accepted?: boolean
accepting_block_hash?: string
acceptingBlockHash?: string
accepting_block_blue_score?: number
acceptingBlockBlueScore?: number
accepting_block_time?: number
acceptingBlockTime?: number
inputs?: unknown[]
outputs?: unknown[]
senderAddresses?: string[]
}KaspaRestSubmitTxScriptPublicKey
Digunakan di dalam KaspaRestSubmitTxOutput.
interface KaspaRestSubmitTxScriptPublicKey {
version: number
scriptPublicKey: string
}KaspaRestSubmitTxOutpoint
Digunakan di dalam KaspaRestSubmitTxInput.
interface KaspaRestSubmitTxOutpoint {
transactionId: string
index: number
}KaspaRestSubmitTxInput
Digunakan di dalam KaspaRestSubmitTxModel.
interface KaspaRestSubmitTxInput {
previousOutpoint: KaspaRestSubmitTxOutpoint
signatureScript: string
sequence: number
sigOpCount: number
}KaspaRestSubmitTxOutput
Digunakan di dalam KaspaRestSubmitTxModel.
interface KaspaRestSubmitTxOutput {
amount: number
scriptPublicKey: KaspaRestSubmitTxScriptPublicKey
}KaspaRestTxSearch
Body permintaan untuk searchTransactions().
interface KaspaRestTxSearch {
transactionIds?: string[]
acceptingBlueScores?: {
gte: number
lt: number
}
}KaspaRestTxSearchAcceptingBlueScores
Objek filter yang dipakai oleh KaspaRestTxSearch.
interface KaspaRestTxSearchAcceptingBlueScores {
gte: number
lt: number
}KaspaRestSubmitTxModel
Payload transaksi yang diterima oleh submitTransaction() dan calculateTransactionMass().
interface KaspaRestSubmitTxModel {
version: number
inputs: KaspaRestSubmitTxInput[]
outputs: KaspaRestSubmitTxOutput[]
lockTime?: number
subnetworkId?: string
}KaspaRestSubmitTransactionRequest
Body yang dikirim ke endpoint REST POST /transactions.
interface KaspaRestSubmitTransactionRequest {
transaction: KaspaRestSubmitTxModel
allowOrphan?: boolean
}KaspaRestSubmitTransactionResponse
Nilai return dari submitTransaction().
interface KaspaRestSubmitTransactionResponse {
transactionId?: string
error?: string
}KaspaRestTxMass
Nilai return dari calculateTransactionMass().
interface KaspaRestTxMass {
mass: number
storage_mass: number
compute_mass: number
}KaspaRestTransactionAcceptance
Nilai return dari getTransactionAcceptance().
interface KaspaRestTransactionAcceptance {
transactionId: string
accepted?: boolean
acceptingBlockHash?: string
acceptingBlueScore?: number
acceptingTimestamp?: number
}KaspaRestAddressesActiveResponse
Nilai return dari endpoint eksperimental POST /addresses/active.
interface KaspaRestAddressesActiveResponse {
address: string
active: boolean
lastTxBlockTime?: number
}KaspaRestAddressesActiveCountResponse
Nilai return dari endpoint hitung active-address yang bersifat eksperimental.
interface KaspaRestAddressesActiveCountResponse {
timestamp: number
dateTime: string
count: number
}KaspaRestDistributionTier
Digunakan oleh KaspaRestDistributionTiers.
interface KaspaRestDistributionTier {
tier: number
count: number
amount: number
}KaspaRestDistributionTiers
Nilai return dari endpoint distribusi alamat yang bersifat eksperimental.
interface KaspaRestDistributionTiers {
timestamp: number
tiers: KaspaRestDistributionTier[]
}KaspaRestOutpoint
Digunakan oleh KaspaRestUtxoResponse.
interface KaspaRestOutpoint {
transactionId?: string
index?: number
}KaspaRestScriptPublicKey
Digunakan oleh KaspaRestUtxoModel.
interface KaspaRestScriptPublicKey {
version?: number
script?: string
}KaspaRestUtxoModel
Digunakan oleh KaspaRestUtxoResponse.
interface KaspaRestUtxoModel {
amount?: string
scriptPublicKey: KaspaRestScriptPublicKey
blockDaaScore?: string
isCoinbase?: boolean
}KaspaRestUtxoCountResponse
Nilai return dari useKaspaRest().getUtxoCountByAddress().
interface KaspaRestUtxoCountResponse {
count: number
}KaspaRestBalancesByAddressEntry
Nilai return dari useKaspaRest().getBalancesByAddresses().
interface KaspaRestBalancesByAddressEntry {
address: string
balance: number
}KaspaRestBlockHeader
Digunakan oleh KaspaRestBlock dan KaspaRestMaxHashrateResponse.
interface KaspaRestBlockHeader {
version?: number
hashMerkleRoot?: string
acceptedIdMerkleRoot?: string
utxoCommitment?: string
timestamp?: string
bits?: number
nonce?: string
daaScore?: string
blueWork?: string
parents?: KaspaRestParentHash[]
blueScore?: string
pruningPoint?: string
}KaspaRestParentHash
Digunakan oleh KaspaRestBlockHeader.
interface KaspaRestParentHash {
parentHashes?: string[]
}KaspaRestVerboseData
Digunakan oleh KaspaRestBlock.
interface KaspaRestVerboseData {
hash?: string
difficulty?: number
selectedParentHash?: string
transactionIds?: string[]
blueScore?: string
childrenHashes?: string[]
mergeSetBluesHashes?: string[]
mergeSetRedsHashes?: string[]
isChainBlock?: boolean
}KaspaRestBlockTxInputPreviousOutpoint
Digunakan oleh KaspaRestBlockTxInput.
interface KaspaRestBlockTxInputPreviousOutpoint {
transactionId?: string
index?: number
}KaspaRestBlockTxInput
Digunakan oleh KaspaRestBlockTx.
interface KaspaRestBlockTxInput {
previousOutpoint?: KaspaRestBlockTxInputPreviousOutpoint
signatureScript?: string
sigOpCount?: number
sequence?: number
}KaspaRestBlockTxOutputScriptPublicKey
Digunakan oleh KaspaRestBlockTxOutput.
interface KaspaRestBlockTxOutputScriptPublicKey {
scriptPublicKey?: string
version?: number
}KaspaRestBlockTxOutputVerboseData
Digunakan oleh KaspaRestBlockTxOutput.
interface KaspaRestBlockTxOutputVerboseData {
scriptPublicKeyType?: string
scriptPublicKeyAddress?: string
}KaspaRestBlockTxOutput
Digunakan oleh KaspaRestBlockTx.
interface KaspaRestBlockTxOutput {
amount?: number
scriptPublicKey?: KaspaRestBlockTxOutputScriptPublicKey
verboseData?: KaspaRestBlockTxOutputVerboseData
}KaspaRestBlockTxVerboseData
Digunakan oleh KaspaRestBlockTx.
interface KaspaRestBlockTxVerboseData {
transactionId: string
hash?: string
computeMass?: number
blockHash?: string
blockTime?: number
}KaspaRestBlockTx
Digunakan oleh KaspaRestBlock.
interface KaspaRestBlockTx {
inputs?: KaspaRestBlockTxInput[]
outputs?: KaspaRestBlockTxOutput[]
subnetworkId?: string
payload?: string
verboseData: KaspaRestBlockTxVerboseData
lockTime?: number
gas?: number
mass?: number
version?: number
}KaspaRestBlock
Nilai return dari useKaspaRest().getBlock().
interface KaspaRestBlock {
header: KaspaRestBlockHeader
transactions?: KaspaRestBlockTx[]
verboseData: KaspaRestVerboseData
extra?: Record<string, unknown>
}KaspaRestBlockResponse
Nilai return dari useKaspaRest().getBlocks().
interface KaspaRestBlockResponse {
blockHashes?: string[]
blocks?: KaspaRestBlock[]
}KaspaRestBlueScoreResponse
Nilai return dari useKaspaRest().getVirtualSelectedParentBlueScore().
interface KaspaRestBlueScoreResponse {
blueScore: number
}KaspaRestBlockdagResponse
Nilai return dari useKaspaRest().getBlockDag() dan getNetwork().
interface KaspaRestBlockdagResponse {
networkName: string
blockCount: string
headerCount: string
tipHashes: string[]
difficulty: number
pastMedianTime: string
virtualParentHashes: string[]
pruningPointHash: string
virtualDaaScore: string
sink: string
}KaspaRestCoinSupplyResponse
Nilai return dari useKaspaRest().getCoinSupply().
interface KaspaRestCoinSupplyResponse {
circulatingSupply: string
maxSupply: string
}KaspaRestBlockRewardResponse
Nilai return dari useKaspaRest().getBlockReward().
interface KaspaRestBlockRewardResponse {
blockreward: number
}KaspaRestHalvingResponse
Nilai return dari useKaspaRest().getHalving().
interface KaspaRestHalvingResponse {
nextHalvingTimestamp: number
nextHalvingDate: string
nextHalvingAmount: number
}KaspaRestHashrateResponse
Nilai return dari useKaspaRest().getHashrate().
interface KaspaRestHashrateResponse {
hashrate: number
}KaspaRestMaxHashrateResponse
Nilai return dari useKaspaRest().getMaxHashrate().
interface KaspaRestMaxHashrateResponse {
hashrate?: number
blockheader: KaspaRestBlockHeader
}KaspaRestHashrateHistoryResponse
Nilai return dari useKaspaRest().getHashrateHistory() dan getHashrateHistoryFor().
interface KaspaRestHashrateHistoryResponse {
daaScore: number
blueScore: number
timestamp: number
date_time: string
bits?: number
difficulty: number
hashrate_kh: number
}KaspaRestDBCheckStatus
Digunakan oleh KaspaRestHealthResponse.
interface KaspaRestDBCheckStatus {
isSynced?: boolean
blueScore?: number
blueScoreDiff?: number
acceptedTxBlockTime?: number
acceptedTxBlockTimeDiff?: number
}KaspaRestKaspadResponse
Digunakan oleh KaspaRestHealthResponse.
interface KaspaRestKaspadResponse {
kaspadHost: string
serverVersion?: string
isUtxoIndexed?: boolean
isSynced?: boolean
p2pId?: string
blueScore?: number
}KaspaRestHealthResponse
Nilai return dari useKaspaRest().getHealth().
interface KaspaRestHealthResponse {
kaspadServers: KaspaRestKaspadResponse[]
database: KaspaRestDBCheckStatus
}KaspaRestKaspadInfoResponse
Nilai return dari useKaspaRest().getKaspadInfo().
interface KaspaRestKaspadInfoResponse {
mempoolSize: string
serverVersion: string
isUtxoIndexed: boolean
isSynced: boolean
p2pIdHashed: string
}KaspaRestPriceResponse
Digunakan oleh endpoint REST mentah GET /info/price melalui request().
interface KaspaRestPriceResponse {
price: number
}KaspaRestMarketCapResponse
Nilai return dari useKaspaRest().getMarketcap() saat respons berupa JSON.
interface KaspaRestMarketCapResponse {
marketcap: number
}KaspaRestUtxoResponse
Nilai return dari useKaspaRest().getUtxosByAddress() dan getUtxosByAddresses().
interface KaspaRestUtxoResponse {
address?: string
outpoint: {
transactionId?: string
index?: number
}
utxoEntry: {
amount?: string
scriptPublicKey: {
version?: number
script?: string
}
blockDaaScore?: string
isCoinbase?: boolean
}
}KaspaRestBalanceResponse
Nilai return dari useKaspaRest().getAddressBalance().
interface KaspaRestBalanceResponse {
address: string
balance: number
}KaspaRestAddressBalanceHistory
Nilai return dari useKaspaRest().getAddressBalanceHistory().
interface KaspaRestAddressBalanceHistory {
timestamp: number
amount: number
}KaspaRestAddressName
Nilai return dari useKaspaRest().getAddressName() dan getAddressNames().
interface KaspaRestAddressName {
address: string
name: string
}KaspaRestTopAddresses
Nilai return dari useKaspaRest().getTopAddresses().
interface KaspaRestTopAddresses {
timestamp: number
ranking: {
rank: number
address: string
amount: number
}[]
}KaspaRestTopAddress
Digunakan oleh KaspaRestTopAddresses.
interface KaspaRestTopAddress {
rank: number
address: string
amount: number
}KaspaRestTransactionCount
Nilai return dari useKaspaRest().getAddressTransactionCount().
interface KaspaRestTransactionCount {
total: number
}KaspaRestTransactionCountResponse
Nilai return dari endpoint hitung transaksi yang bersifat eksperimental.
interface KaspaRestTransactionCountResponse {
timestamp: number
dateTime: string
coinbase: number
regular: number
}KaspaRestVcBlock
Nilai return dari useKaspaRest().getVirtualChain().
interface KaspaRestVcBlock {
hash: string
blue_score: number
daa_score?: number
timestamp?: number
transactions?: {
transaction_id: string
is_accepted?: boolean
}[]
}KaspaRestVcTxInput
Digunakan oleh KaspaRestVcTx.
interface KaspaRestVcTxInput {
previous_outpoint_hash: string
previous_outpoint_index: number
signature_script?: string
previous_outpoint_script?: string
previous_outpoint_address?: string
previous_outpoint_amount?: number
}KaspaRestVcTxOutput
Digunakan oleh KaspaRestVcTx.
interface KaspaRestVcTxOutput {
script_public_key: string
script_public_key_address: string
amount: number
}KaspaRestVcTx
Digunakan oleh KaspaRestVcBlock.
interface KaspaRestVcTx {
transaction_id: string
is_accepted?: boolean
inputs?: KaspaRestVcTxInput[]
outputs?: KaspaRestVcTxOutput[]
}KaspaRestBalanceEntry
Nilai return dari useKaspaRest().getBalancesByAddresses().
interface KaspaRestBalanceEntry {
address: string
balance: number
}UseKaspaRestReturn
Nilai return dari useKaspaRest().
interface UseKaspaRestReturn {
baseUrl: Readonly<Ref<string>>
cacheSize: ComputedRef<number>
clearCache(prefix?: string): void
request<T>(method: 'GET' | 'POST', path: string, options?: unknown): Promise<T>
getTransaction(transactionId: string, options?: unknown): Promise<KaspaRestTransaction | null>
getTransactionById(transactionId: string, options?: unknown): Promise<KaspaRestTransaction | null>
searchTransactions(request: KaspaRestTxSearch, options?: unknown): Promise<KaspaRestTransaction[]>
getAddressBalance(address: string, options?: unknown): Promise<KaspaRestBalanceEntry>
getAddressBalanceHistory(address: string, dayOrMonth: string, options?: unknown): Promise<KaspaRestAddressBalanceHistory[]>
getAddressNames(options?: unknown): Promise<KaspaRestAddressName[]>
getAddressName(address: string, options?: unknown): Promise<KaspaRestAddressName>
getTopAddresses(options?: unknown): Promise<KaspaRestTopAddresses[]>
getFullTransactionsByAddress(address: string, options?: unknown): Promise<KaspaRestTransaction[]>
getFullTransactionsByAddressPage(address: string, options?: unknown): Promise<KaspaRestTransaction[]>
getUtxosByAddress(address: string, options?: unknown): Promise<KaspaRestUtxoResponse[]>
getBalancesByAddresses(addresses: string[], options?: unknown): Promise<KaspaRestBalanceEntry[]>
getTransactionAcceptance(transactionIds: string[], options?: unknown): Promise<KaspaRestTransactionAcceptance[]>
getTransactionsCount(options?: unknown): Promise<KaspaRestTransactionCountResponse>
getTransactionsCountFor(dayOrMonth: string, options?: unknown): Promise<KaspaRestTransactionCountResponse[]>
getVirtualChain(options?: unknown): Promise<KaspaRestVcBlock[]>
submitTransaction(tx: KaspaRestSubmitTxModel, options?: unknown): Promise<KaspaRestSubmitTransactionResponse>
}RpcEventType
type RpcEventType =
| 'connect'
| 'disconnect'
| 'block-added'
| 'virtual-chain-changed'
| 'utxos-changed'
| 'finality-conflict'
| 'finality-conflict-resolved'
| 'sink-blue-score-changed'
| 'virtual-daa-score-changed'
| 'new-block-template'
| 'pruning-point-utxo-set-override'RpcEvent<T>
Envelope event generik. Tipe data bergantung pada tipe event.
interface RpcEvent<T = unknown> {
type: RpcEventType
data: T
timestamp: number // Unix milidetik
}AcceptedTransactionInfo
Digunakan oleh useTransactionListener().acceptedTransactions.
interface AcceptedTransactionInfo {
transactionId: string
acceptingBlockHash: string
senderAddresses: string[]
}TransactionListenerOptions
Opsi yang diberikan ke useTransactionListener().
interface TransactionListenerOptions {
maxHistory?: number
autoSubscribe?: boolean
includeSenderAddresses?: boolean
}| Kolom | Tipe | Default | Deskripsi |
|---|---|---|---|
maxHistory | number | 100 | Jumlah maksimum transaksi accepted yang disimpan |
autoSubscribe | boolean | true | Subscribe saat mount |
includeSenderAddresses | boolean | false | Resolve sender address dari block yang menerima transaksi |
UseTransactionListenerReturn
Nilai return dari useTransactionListener().
interface UseTransactionListenerReturn {
transactions: Readonly<Ref<string[]>>
acceptedTransactions: Readonly<Ref<AcceptedTransactionInfo[]>>
isListening: ComputedRef<boolean>
subscribe(): Promise<void>
unsubscribe(): Promise<void>
clear(): void
resolveSenderAddresses(transactionId: string): Promise<string[]>
}| Kolom | Tipe | Deskripsi |
|---|---|---|
transactions | Readonly<Ref<string[]>> | ID transaksi yang baru diterima |
acceptedTransactions | Readonly<Ref<AcceptedTransactionInfo[]>> | Transaksi yang diterima beserta sender address |
isListening | ComputedRef<boolean> | Apakah listener sedang subscribe |
subscribe() | Promise<void> | Mulai mendengarkan virtual-chain-changed |
unsubscribe() | Promise<void> | Hentikan pendengaran |
clear() | void | Hapus histori lokal |
resolveSenderAddresses(transactionId) | Promise<string[]> | Ambil sender address untuk satu transaksi yang dilacak |
PaymentOutput
Satu penerima dalam sebuah transaksi.
interface PaymentOutput {
address: string // Kaspa address
amount: bigint // in sompi
}TransactionSummary
Nilai return dari useTransaction().estimate() dan create().
interface TransactionSummary {
fees: bigint // Total biaya dalam sompi
mass: bigint // Total massa dalam gram
transactions: number // Jumlah transaksi (>1 = compounding)
finalTransactionId?: string // Diset setelah pengiriman melalui send()
finalAmount?: bigint // Jumlah output final setelah biaya
}CreateTransactionSettings
Input untuk useTransaction().estimate(), create(), dan send().
interface CreateTransactionSettings {
entries: UtxoEntry[]
outputs?: PaymentOutput[]
changeAddress: string
priorityFee?: bigint
feeRate?: number
payload?: string
networkId?: string
}| Kolom | Wajib | Deskripsi |
|---|---|---|
entries | Ya | Input UTXO — berikan useUtxo().entries.value |
outputs | Tidak | Penerima. Lewati untuk konsolidasi UTXO sendiri. |
changeAddress | Ya | Alamat pengembalian kembalian |
priorityFee | Tidak | Biaya tetap dalam sompi |
feeRate | Tidak | Biaya dinamis dalam sompi/gram (alternatif dari priorityFee) |
payload | Tidak | Payload data yang di-encode hex |
networkId | Tidak* | Diperlukan ketika entries adalah array biasa |
PendingTx
Transaksi yang belum ditandatangani (atau sebagian ditandatangani) yang dikembalikan oleh useTransaction().create().
interface PendingTx {
sign(privateKeys: string[]): void
submit(): Promise<string>
serialize(): unknown
addresses(): string[]
}| Metode | Deskripsi |
|---|---|
sign(privateKeys) | Tandatangani dengan satu atau beberapa kunci privat hex |
submit() | Kirim ke jaringan, mengembalikan ID transaksi |
serialize() | Ambil objek plain untuk inspeksi atau pengiriman eksternal |
addresses() | Alamat input — berguna untuk memilih kunci penandatangan yang diperlukan |
KeypairInfo
interface KeypairInfo {
privateKeyHex: string // 32-byte private key as hex
publicKeyHex: string // Kunci publik terkompresi dalam hex
address: string // Alamat Kaspa spesifik jaringan
}MnemonicInfo
interface MnemonicInfo {
phrase: string // Kata-kata BIP-39 yang dipisahkan spasi
wordCount: 12 | 24
}DerivedKey
Satu kunci dari derivasi HD wallet.
interface DerivedKey {
index: number // Posisi dalam rantai derivasi (berbasis 0)
publicKeyHex: string
address: string
}SignMessageResult
interface SignMessageResult {
message: string
signature: string // Tanda tangan yang di-encode hex
publicKeyHex: string
}WalletProvider
type WalletProvider = 'kasware' | 'kastle'WalletBalance
Saldo yang dilaporkan oleh wallet yang terhubung, dalam sompi.
interface WalletBalance {
confirmed: bigint
unconfirmed: bigint
total: bigint
}Populated for KasWare. Always null for Kastle (Kastle's API does not expose balance directly).
WalletSendOptions
Opsi untuk useWallet().sendKaspa().
interface WalletSendOptions {
priorityFee?: bigint // Biaya ekstra dalam sompi
payload?: string // Payload data yang di-encode hex
}Tipe return composable
Setiap composable punya interface return type yang sesuai:
| Tipe | Komposabel |
|---|---|
UseKaspaReturn | useKaspa() |
UseRpcReturn | useRpc() |
UseUtxoReturn | useUtxo() |
UseTransactionReturn | useTransaction() |
UseCryptoReturn | useCrypto() |
UseNetworkReturn | useNetwork() |
UseWalletReturn | useWallet() |
UseVueKaspaReturn | useVueKaspa() |
Kelas error
Semua kelas error mewarisi KaspaError dan diekspor dari vue-kaspa. Lihat Error Handling untuk pola pemakaian dan contoh lengkap.
KaspaError
Kelas dasar untuk semua error Vue Kaspa.
class KaspaError extends Error {
readonly cause?: unknown
}KaspaNotReadyError
Dilempar saat method composable dipanggil sebelum modul WASM diinisialisasi.
class KaspaNotReadyError extends KaspaError {}KaspaRpcError
Dilempar saat pemanggilan method RPC gagal.
class KaspaRpcError extends KaspaError {
constructor(method: string, cause?: unknown)
}err.message adalah "RPC method \"<method>\" failed". Error aslinya ada di err.cause.
KaspaWalletError
Dilempar saat operasi wallet (connect, sendKaspa, signMessage) gagal.
class KaspaWalletError extends KaspaError {
constructor(operation: string, cause?: unknown)
}err.message adalah "Wallet operation \"<operation>\" failed".
KaspaCryptoError
Dilempar saat operasi kriptografi gagal.
class KaspaCryptoError extends KaspaError {
constructor(operation: string, cause?: unknown)
}err.message adalah "Crypto operation \"<operation>\" failed".
