TypeScript 型
すべての型は vue-kaspa からエクスポートされており、インポートして使用できます:
import type {
VueKaspaOptions,
KaspaNetwork,
// ...
} from 'vue-kaspa'VueKaspaOptions
app.use(VueKaspa, options) または nuxt.config.ts の kaspa キーに渡すオプションです。
interface VueKaspaOptions {
network?: KaspaNetwork
url?: string
resolver?: boolean
encoding?: RpcEncoding
autoConnect?: boolean
devtools?: boolean
panicHook?: 'console' | 'browser' | false
}| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
network | KaspaNetwork | 'mainnet' | 接続するネットワーク |
url | string | — | カスタム RPC WebSocket URL |
resolver | boolean | true | 公開ノードリゾルバーを使用する |
encoding | RpcEncoding | 'Borsh' | ワイヤーエンコーディング形式 |
autoConnect | boolean | true | インストール時に WASM の自動初期化と接続を行う |
devtools | boolean | 開発時は true | Vue DevTools 統合を有効にする |
panicHook | 'console' | 'browser' | false | 'console' | WASM パニックハンドラー |
KaspaNetwork
type KaspaNetwork = 'mainnet' | 'testnet-10' | 'testnet-12' | 'simnet' | 'devnet'RpcEncoding
type RpcEncoding = 'Borsh' | 'SerdeJson''Borsh' はパフォーマンスの観点からデフォルトかつ推奨のエンコーディングです。'SerdeJson' は人間が読める JSON を生成し、デバッグに便利です。
WasmStatus
type WasmStatus = 'idle' | 'loading' | 'ready' | 'error'| 値 | 意味 |
|---|---|
'idle' | WASM 未開始 |
'loading' | WASM モジュールをフェッチ・コンパイル中 |
'ready' | WASM 初期化完了 |
'error' | 初期化失敗 |
RpcConnectionState
type RpcConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error'| 値 | 意味 |
|---|---|
'disconnected' | 接続なし |
'connecting' | WebSocket を開いている |
'connected' | アクティブな接続中 |
'reconnecting' | 切断後に再接続を試みている |
'error' | 最大リトライ回数後に接続失敗 |
RpcOptions
interface RpcOptions {
url?: string
resolver?: boolean
network?: KaspaNetwork
encoding?: RpcEncoding
}VueKaspaOptions のサブセット — 単一の接続でプラグインのデフォルトを上書きするために useRpc().connect(options?) に渡します。
ServerInfo
useRpc().getInfo() が返す型です。
interface ServerInfo {
isUtxoIndexEnabled: boolean
isSynced: boolean
hasNotifyCommand: boolean
hasMessageId: boolean
serverVersion: string
networkId: string
}BlockInfo
useRpc().getBlock(hash) が返す型です。
interface BlockInfo {
hash: string
timestamp: number
blueScore: bigint
transactions: string[] // transaction IDs
}UtxoEntry
単一の UTXO 出力です。@vue-kaspa/kaspa-wasm の IUtxoEntry と互換性があります — createTransactions() に直接渡すことができます。
interface UtxoEntry {
address?: string
outpoint: { transactionId: string; index: number }
amount: bigint
scriptPublicKey: { version: number; script: string }
blockDaaScore: bigint
isCoinbase: boolean
}| フィールド | 説明 |
|---|---|
address | 所有者アドレス (スクリプト出力の場合は undefined の可能性あり) |
outpoint | この UTXO を一意に識別するトランザクション ID + 出力インデックス |
amount | sompi 単位の金額 |
scriptPublicKey | ロッキングスクリプト |
blockDaaScore | この出力を含むブロックの DAA スコア |
isCoinbase | マイニング報酬の場合 true (満期遅延が適用される) |
UtxoBalance
useUtxo() が追跡した UTXO エントリから計算するリアクティブな残高です。
interface UtxoBalance {
mature: bigint // Confirmed, spendable (non-coinbase)
pending: bigint // Coinbase with maturity delay, or unconfirmed incoming
outgoing: bigint // Always 0n (reserved)
}MempoolEntry
interface MempoolEntry {
fee: bigint
isOrphan: boolean
transaction: {
id: string
inputs: unknown[]
outputs: unknown[]
}
}BalanceResult
useRpc().getBalanceByAddress() および getBalancesByAddresses() が返す型です。
interface BalanceResult {
address: string
balance: bigint // in sompi
}FeeEstimate
useRpc().getFeeEstimate() が返す型です。異なる優先度レベルの手数料レートバケットを提供します。
interface FeeEstimate {
priorityBucket: { feerate: number; estimatedSeconds: number }
normalBuckets: Array<{ feerate: number; estimatedSeconds: number }>
lowBuckets: Array<{ feerate: number; estimatedSeconds: number }>
}feerate はトランザクションマスのグラムあたりの sompi 単位です。useTransaction() の feeRate 設定と合わせて使用します。
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>
汎用イベントエンベロープです。data の型はイベントの種類によって異なります。
interface RpcEvent<T = unknown> {
type: RpcEventType
data: T
timestamp: number // Unix ミリ秒
}PaymentOutput
トランザクション内の単一の受取人です。
interface PaymentOutput {
address: string // Kaspa アドレス
amount: bigint // in sompi
}TransactionSummary
useTransaction().estimate() および create() が返す型です。
interface TransactionSummary {
fees: bigint // sompi 単位の総手数料
mass: bigint // グラム単位の総マス
transactions: number // トランザクション数 (>1 で compounding)
finalTransactionId?: string // `send()` 送信後に設定される
finalAmount?: bigint // 手数料差し引き後の最終出力額
}CreateTransactionSettings
useTransaction().estimate()、create()、send() への入力です。
interface CreateTransactionSettings {
entries: UtxoEntry[]
outputs?: PaymentOutput[]
changeAddress: string
priorityFee?: bigint
feeRate?: number
payload?: string
networkId?: string
}| フィールド | 必須 | 説明 |
|---|---|---|
entries | はい | UTXO 入力 — useUtxo().entries.value を渡す |
outputs | いいえ | 受取人。UTXO セルフ統合の場合は省略。 |
changeAddress | はい | お釣りの返送先アドレス |
priorityFee | いいえ | sompi 単位の固定手数料 |
feeRate | いいえ | sompi/グラム単位の動的手数料 (priorityFee の代替) |
payload | いいえ | 16 進エンコードされたデータペイロード |
networkId | いいえ* | entries が通常の配列の場合に必須 |
PendingTx
useTransaction().create() が返す未署名 (または部分署名済み) のトランザクションです。
interface PendingTx {
sign(privateKeys: string[]): void
submit(): Promise<string>
serialize(): unknown
addresses(): string[]
}| メソッド | 説明 |
|---|---|
sign(privateKeys) | 1 つ以上の 16 進秘密鍵で署名する |
submit() | ネットワークに送信し、トランザクション ID を返す |
serialize() | 検査または外部送信用のプレーンオブジェクトを取得する |
addresses() | 入力アドレス — 必要な署名鍵の選択に便利 |
KeypairInfo
interface KeypairInfo {
privateKeyHex: string // 32-byte private key as hex
publicKeyHex: string // 圧縮公開鍵を hex で表現
address: string // ネットワーク固有の Kaspa アドレス
}MnemonicInfo
interface MnemonicInfo {
phrase: string // スペース区切りの BIP-39 ワード
wordCount: 12 | 24
}DerivedKey
HD ウォレット導出から得られる単一のキーです。
interface DerivedKey {
index: number // 導出チェーン内の位置 (0 から開始)
publicKeyHex: string
address: string
}SignMessageResult
interface SignMessageResult {
message: string
signature: string // hex エンコードされた署名
publicKeyHex: string
}コンポーザブルの戻り値型
各コンポーザブルには対応する戻り値型インターフェースがあります:
| 型 | コンポーザブル |
|---|---|
UseKaspaReturn | useKaspa() |
UseRpcReturn | useRpc() |
UseUtxoReturn | useUtxo() |
UseTransactionReturn | useTransaction() |
UseCryptoReturn | useCrypto() |
UseNetworkReturn | useNetwork() |
UseVueKaspaReturn | useVueKaspa() |
KaspaRestOptions
useKaspaRest() に渡すオプション。
interface KaspaRestOptions {
baseUrl?: string
staleTime?: number
cacheTime?: number
headers?: HeadersInit
fetcher?: typeof fetch
}KaspaRestRequestOptions
REST コンポーザブル向けの各リクエスト上書き設定です。
interface KaspaRestRequestOptions {
forceRefresh?: boolean
staleTime?: number
cache?: boolean
}KaspaRestResolvePreviousOutpoints
REST がどこまで previous-outpoint データを解決するかを制御します。
type KaspaRestResolvePreviousOutpoints = 'no' | 'light' | 'full'KaspaRestError
REST composable でリクエストが失敗したときに投げられるエラーです。
class KaspaRestError extends KaspaError {}KaspaRestTransaction
REST composable が返すトランザクション payload です。
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
KaspaRestSubmitTxOutput 内で使われます。
interface KaspaRestSubmitTxScriptPublicKey {
version: number
scriptPublicKey: string
}KaspaRestSubmitTxOutpoint
KaspaRestSubmitTxInput 内で使われます。
interface KaspaRestSubmitTxOutpoint {
transactionId: string
index: number
}KaspaRestSubmitTxInput
KaspaRestSubmitTxModel 内で使われます。
interface KaspaRestSubmitTxInput {
previousOutpoint: KaspaRestSubmitTxOutpoint
signatureScript: string
sequence: number
sigOpCount: number
}KaspaRestSubmitTxOutput
KaspaRestSubmitTxModel 内で使われます。
interface KaspaRestSubmitTxOutput {
amount: number
scriptPublicKey: KaspaRestSubmitTxScriptPublicKey
}KaspaRestTxSearch
searchTransactions() のリクエストボディです。
interface KaspaRestTxSearch {
transactionIds?: string[]
acceptingBlueScores?: {
gte: number
lt: number
}
}KaspaRestTxSearchAcceptingBlueScores
KaspaRestTxSearch で使うフィルターオブジェクトです。
interface KaspaRestTxSearchAcceptingBlueScores {
gte: number
lt: number
}KaspaRestSubmitTxModel
submitTransaction() と calculateTransactionMass() が受け取るトランザクション payload です。
interface KaspaRestSubmitTxModel {
version: number
inputs: KaspaRestSubmitTxInput[]
outputs: KaspaRestSubmitTxOutput[]
lockTime?: number
subnetworkId?: string
}KaspaRestSubmitTransactionRequest
REST の POST /transactions エンドポイントに送信するボディです。
interface KaspaRestSubmitTransactionRequest {
transaction: KaspaRestSubmitTxModel
allowOrphan?: boolean
}KaspaRestSubmitTransactionResponse
submitTransaction() の戻り値です。
interface KaspaRestSubmitTransactionResponse {
transactionId?: string
error?: string
}KaspaRestTxMass
calculateTransactionMass() の戻り値です。
interface KaspaRestTxMass {
mass: number
storage_mass: number
compute_mass: number
}KaspaRestTransactionAcceptance
getTransactionAcceptance() の戻り値です。
interface KaspaRestTransactionAcceptance {
transactionId: string
accepted?: boolean
acceptingBlockHash?: string
acceptingBlueScore?: number
acceptingTimestamp?: number
}KaspaRestAddressesActiveResponse
実験的な POST /addresses/active エンドポイントの戻り値です。
interface KaspaRestAddressesActiveResponse {
address: string
active: boolean
lastTxBlockTime?: number
}KaspaRestAddressesActiveCountResponse
〜の戻り値: 実験的な active-address count エンドポイントです。
interface KaspaRestAddressesActiveCountResponse {
timestamp: number
dateTime: string
count: number
}KaspaRestDistributionTier
〜で使用: KaspaRestDistributionTiers.
interface KaspaRestDistributionTier {
tier: number
count: number
amount: number
}KaspaRestDistributionTiers
〜の戻り値: 実験的な address distribution エンドポイントです。
interface KaspaRestDistributionTiers {
timestamp: number
tiers: KaspaRestDistributionTier[]
}KaspaRestOutpoint
〜で使用: KaspaRestUtxoResponse.
interface KaspaRestOutpoint {
transactionId?: string
index?: number
}KaspaRestScriptPublicKey
〜で使用: KaspaRestUtxoModel.
interface KaspaRestScriptPublicKey {
version?: number
script?: string
}KaspaRestUtxoModel
〜で使用: KaspaRestUtxoResponse.
interface KaspaRestUtxoModel {
amount?: string
scriptPublicKey: KaspaRestScriptPublicKey
blockDaaScore?: string
isCoinbase?: boolean
}KaspaRestUtxoCountResponse
〜の戻り値: useKaspaRest().getUtxoCountByAddress().
interface KaspaRestUtxoCountResponse {
count: number
}KaspaRestBalancesByAddressEntry
〜の戻り値: useKaspaRest().getBalancesByAddresses().
interface KaspaRestBalancesByAddressEntry {
address: string
balance: number
}KaspaRestBlockHeader
〜で使用: KaspaRestBlock と 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
〜で使用: KaspaRestBlockHeader.
interface KaspaRestParentHash {
parentHashes?: string[]
}KaspaRestVerboseData
〜で使用: KaspaRestBlock.
interface KaspaRestVerboseData {
hash?: string
difficulty?: number
selectedParentHash?: string
transactionIds?: string[]
blueScore?: string
childrenHashes?: string[]
mergeSetBluesHashes?: string[]
mergeSetRedsHashes?: string[]
isChainBlock?: boolean
}KaspaRestBlockTxInputPreviousOutpoint
〜で使用: KaspaRestBlockTxInput.
interface KaspaRestBlockTxInputPreviousOutpoint {
transactionId?: string
index?: number
}KaspaRestBlockTxInput
〜で使用: KaspaRestBlockTx.
interface KaspaRestBlockTxInput {
previousOutpoint?: KaspaRestBlockTxInputPreviousOutpoint
signatureScript?: string
sigOpCount?: number
sequence?: number
}KaspaRestBlockTxOutputScriptPublicKey
〜で使用: KaspaRestBlockTxOutput.
interface KaspaRestBlockTxOutputScriptPublicKey {
scriptPublicKey?: string
version?: number
}KaspaRestBlockTxOutputVerboseData
〜で使用: KaspaRestBlockTxOutput.
interface KaspaRestBlockTxOutputVerboseData {
scriptPublicKeyType?: string
scriptPublicKeyAddress?: string
}KaspaRestBlockTxOutput
〜で使用: KaspaRestBlockTx.
interface KaspaRestBlockTxOutput {
amount?: number
scriptPublicKey?: KaspaRestBlockTxOutputScriptPublicKey
verboseData?: KaspaRestBlockTxOutputVerboseData
}KaspaRestBlockTxVerboseData
〜で使用: KaspaRestBlockTx.
interface KaspaRestBlockTxVerboseData {
transactionId: string
hash?: string
computeMass?: number
blockHash?: string
blockTime?: number
}KaspaRestBlockTx
〜で使用: KaspaRestBlock.
interface KaspaRestBlockTx {
inputs?: KaspaRestBlockTxInput[]
outputs?: KaspaRestBlockTxOutput[]
subnetworkId?: string
payload?: string
verboseData: KaspaRestBlockTxVerboseData
lockTime?: number
gas?: number
mass?: number
version?: number
}KaspaRestBlock
〜の戻り値: useKaspaRest().getBlock().
interface KaspaRestBlock {
header: KaspaRestBlockHeader
transactions?: KaspaRestBlockTx[]
verboseData: KaspaRestVerboseData
extra?: Record<string, unknown>
}KaspaRestBlockResponse
〜の戻り値: useKaspaRest().getBlocks().
interface KaspaRestBlockResponse {
blockHashes?: string[]
blocks?: KaspaRestBlock[]
}KaspaRestBlueScoreResponse
〜の戻り値: useKaspaRest().getVirtualSelectedParentBlueScore().
interface KaspaRestBlueScoreResponse {
blueScore: number
}KaspaRestBlockdagResponse
〜の戻り値: useKaspaRest().getBlockDag() と getNetwork().
interface KaspaRestBlockdagResponse {
networkName: string
blockCount: string
headerCount: string
tipHashes: string[]
difficulty: number
pastMedianTime: string
virtualParentHashes: string[]
pruningPointHash: string
virtualDaaScore: string
sink: string
}KaspaRestCoinSupplyResponse
〜の戻り値: useKaspaRest().getCoinSupply().
interface KaspaRestCoinSupplyResponse {
circulatingSupply: string
maxSupply: string
}KaspaRestBlockRewardResponse
〜の戻り値: useKaspaRest().getBlockReward().
interface KaspaRestBlockRewardResponse {
blockreward: number
}KaspaRestHalvingResponse
〜の戻り値: useKaspaRest().getHalving().
interface KaspaRestHalvingResponse {
nextHalvingTimestamp: number
nextHalvingDate: string
nextHalvingAmount: number
}KaspaRestHashrateResponse
〜の戻り値: useKaspaRest().getHashrate().
interface KaspaRestHashrateResponse {
hashrate: number
}KaspaRestMaxHashrateResponse
〜の戻り値: useKaspaRest().getMaxHashrate().
interface KaspaRestMaxHashrateResponse {
hashrate?: number
blockheader: KaspaRestBlockHeader
}KaspaRestHashrateHistoryResponse
〜の戻り値: useKaspaRest().getHashrateHistory() と getHashrateHistoryFor().
interface KaspaRestHashrateHistoryResponse {
daaScore: number
blueScore: number
timestamp: number
date_time: string
bits?: number
difficulty: number
hashrate_kh: number
}KaspaRestDBCheckStatus
〜で使用: KaspaRestHealthResponse.
interface KaspaRestDBCheckStatus {
isSynced?: boolean
blueScore?: number
blueScoreDiff?: number
acceptedTxBlockTime?: number
acceptedTxBlockTimeDiff?: number
}KaspaRestKaspadResponse
〜で使用: KaspaRestHealthResponse.
interface KaspaRestKaspadResponse {
kaspadHost: string
serverVersion?: string
isUtxoIndexed?: boolean
isSynced?: boolean
p2pId?: string
blueScore?: number
}KaspaRestHealthResponse
〜の戻り値: useKaspaRest().getHealth().
interface KaspaRestHealthResponse {
kaspadServers: KaspaRestKaspadResponse[]
database: KaspaRestDBCheckStatus
}KaspaRestKaspadInfoResponse
〜の戻り値: useKaspaRest().getKaspadInfo().
interface KaspaRestKaspadInfoResponse {
mempoolSize: string
serverVersion: string
isUtxoIndexed: boolean
isSynced: boolean
p2pIdHashed: string
}KaspaRestPriceResponse
〜で使用: 生の REST GET /info/price エンドポイントを request() 経由で使います。
interface KaspaRestPriceResponse {
price: number
}KaspaRestMarketCapResponse
〜の戻り値: レスポンスが JSON の場合の useKaspaRest().getMarketcap() です。
interface KaspaRestMarketCapResponse {
marketcap: number
}KaspaRestUtxoResponse
〜の戻り値: useKaspaRest().getUtxosByAddress() と getUtxosByAddresses() です。
interface KaspaRestUtxoResponse {
address?: string
outpoint: {
transactionId?: string
index?: number
}
utxoEntry: {
amount?: string
scriptPublicKey: {
version?: number
script?: string
}
blockDaaScore?: string
isCoinbase?: boolean
}
}KaspaRestBalanceResponse
〜の戻り値: useKaspaRest().getAddressBalance().
interface KaspaRestBalanceResponse {
address: string
balance: number
}KaspaRestAddressBalanceHistory
〜の戻り値: useKaspaRest().getAddressBalanceHistory().
interface KaspaRestAddressBalanceHistory {
timestamp: number
amount: number
}KaspaRestAddressName
〜の戻り値: useKaspaRest().getAddressName() と getAddressNames() です。
interface KaspaRestAddressName {
address: string
name: string
}KaspaRestTopAddresses
〜の戻り値: useKaspaRest().getTopAddresses().
interface KaspaRestTopAddresses {
timestamp: number
ranking: {
rank: number
address: string
amount: number
}[]
}KaspaRestTopAddress
〜で使用: KaspaRestTopAddresses.
interface KaspaRestTopAddress {
rank: number
address: string
amount: number
}KaspaRestTransactionCount
〜の戻り値: useKaspaRest().getAddressTransactionCount().
interface KaspaRestTransactionCount {
total: number
}KaspaRestTransactionCountResponse
〜の戻り値: 実験的な transaction count エンドポイントです。
interface KaspaRestTransactionCountResponse {
timestamp: number
dateTime: string
coinbase: number
regular: number
}KaspaRestVcBlock
〜の戻り値: useKaspaRest().getVirtualChain().
interface KaspaRestVcBlock {
hash: string
blue_score: number
daa_score?: number
timestamp?: number
transactions?: {
transaction_id: string
is_accepted?: boolean
}[]
}KaspaRestVcTxInput
〜で使用: 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
〜で使用: KaspaRestVcTx.
interface KaspaRestVcTxOutput {
script_public_key: string
script_public_key_address: string
amount: number
}KaspaRestVcTx
〜で使用: KaspaRestVcBlock.
interface KaspaRestVcTx {
transaction_id: string
is_accepted?: boolean
inputs?: KaspaRestVcTxInput[]
outputs?: KaspaRestVcTxOutput[]
}KaspaRestBalanceEntry
〜の戻り値: useKaspaRest().getBalancesByAddresses().
interface KaspaRestBalanceEntry {
address: string
balance: number
}UseKaspaRestReturn
〜の戻り値: 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>
汎用イベントエンベロープです。data の型はイベントの種類によって変わります。
interface RpcEvent<T = unknown> {
type: RpcEventType
data: T
timestamp: number // Unix ミリ秒
}AcceptedTransactionInfo
〜で使用: useTransactionListener().acceptedTransactions.
interface AcceptedTransactionInfo {
transactionId: string
acceptingBlockHash: string
senderAddresses: string[]
}TransactionListenerOptions
useTransactionListener() に渡すオプションです。
interface TransactionListenerOptions {
maxHistory?: number
autoSubscribe?: boolean
includeSenderAddresses?: boolean
}| フィールド | 型 | 既定値 | 説明 |
|---|---|---|---|
maxHistory | number | 100 | 保持する受理済みトランザクションの最大数 |
autoSubscribe | boolean | true | マウント時に購読を開始する |
includeSenderAddresses | boolean | false | 受理ブロックから送信元アドレスを解決する |
UseTransactionListenerReturn
〜の戻り値: 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[]>
}| フィールド | 型 | 説明 |
|---|---|---|
transactions | Readonly<Ref<string[]>> | 最近受理されたトランザクション ID |
acceptedTransactions | Readonly<Ref<AcceptedTransactionInfo[]>> | 送信元アドレス付きの受理済みトランザクション |
isListening | ComputedRef<boolean> | リスナーが購読中かどうか |
subscribe() | Promise<void> | virtual-chain-changed の監視を開始する |
unsubscribe() | Promise<void> | 監視を停止する |
clear() | void | ローカル履歴を消去する |
resolveSenderAddresses(transactionId) | Promise<string[]> | 追跡中のトランザクション 1 件の送信元アドレスを取得する |
PaymentOutput
トランザクション内の単一の受取人です。
interface PaymentOutput {
address: string // Kaspa アドレス
amount: bigint // in sompi
}TransactionSummary
useTransaction().estimate() と create() の戻り値です。
interface TransactionSummary {
fees: bigint // sompi 単位の総手数料
mass: bigint // グラム単位の総マス
transactions: number // トランザクション数 (>1 で compounding)
finalTransactionId?: string // `send()` 送信後に設定される
finalAmount?: bigint // 手数料差し引き後の最終出力額
}CreateTransactionSettings
useTransaction().estimate()、create()、send() への入力です。
interface CreateTransactionSettings {
entries: UtxoEntry[]
outputs?: PaymentOutput[]
changeAddress: string
priorityFee?: bigint
feeRate?: number
payload?: string
networkId?: string
}| フィールド | 必須 | 説明 |
|---|---|---|
entries | はい | UTXO 入力 — useUtxo().entries.value を渡します |
outputs | いいえ | 受取人。UTXO セルフ統合なら省略します。 |
changeAddress | はい | お釣りの返送先アドレス |
priorityFee | いいえ | sompi 単位の固定手数料 |
feeRate | いいえ | sompi/グラム単位の動的手数料 (priorityFee の代替) |
payload | いいえ | 16 進エンコードされたデータペイロード |
networkId | いいえ* | entries がプレーン配列のときに必要です |
PendingTx
useTransaction().create() が返す未署名 (または部分署名済み) のトランザクションです。
interface PendingTx {
sign(privateKeys: string[]): void
submit(): Promise<string>
serialize(): unknown
addresses(): string[]
}| メソッド | 説明 |
|---|---|
sign(privateKeys) | 1 つ以上の hex 秘密鍵で署名する |
submit() | ネットワークに送信し、トランザクション ID を返す |
serialize() | 検査や外部送信用のプレーンオブジェクトを取得する |
addresses() | 入力アドレス — 必要な署名鍵の選択に役立つ |
KeypairInfo
interface KeypairInfo {
privateKeyHex: string // 32-byte private key as hex
publicKeyHex: string // 圧縮公開鍵を hex で表現
address: string // ネットワーク固有の Kaspa アドレス
}MnemonicInfo
interface MnemonicInfo {
phrase: string // スペース区切りの BIP-39 ワード
wordCount: 12 | 24
}DerivedKey
HD ウォレット導出から得られる単一のキーです。
interface DerivedKey {
index: number // 導出チェーン内の位置 (0 から開始)
publicKeyHex: string
address: string
}SignMessageResult
interface SignMessageResult {
message: string
signature: string // hex エンコードされた署名
publicKeyHex: string
}WalletProvider
type WalletProvider = 'kasware' | 'kastle'WalletBalance
接続済みウォレットが報告する残高です。単位は 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
〜のオプション: useWallet().sendKaspa().
interface WalletSendOptions {
priorityFee?: bigint // sompi 単位の追加手数料
payload?: string // hex エンコードされたデータペイロード
}コンポーザブルの戻り値型
各 composable には対応する戻り値型インターフェースがあります:
| 型 | コンポーザブル |
|---|---|
UseKaspaReturn | useKaspa() |
UseRpcReturn | useRpc() |
UseUtxoReturn | useUtxo() |
UseTransactionReturn | useTransaction() |
UseCryptoReturn | useCrypto() |
UseNetworkReturn | useNetwork() |
UseWalletReturn | useWallet() |
UseVueKaspaReturn | useVueKaspa() |
エラークラス
すべてのエラークラスは KaspaError を継承し、vue-kaspa からエクスポートされます。使用パターンと例は Error Handling を参照してください。
KaspaError
すべての Vue Kaspa エラーの基底クラスです。
class KaspaError extends Error {
readonly cause?: unknown
}KaspaNotReadyError
WASM モジュールの初期化前に composable メソッドが呼び出されたときに投げられます。
class KaspaNotReadyError extends KaspaError {}KaspaRpcError
RPC メソッドの呼び出しに失敗したときに投げられます。
class KaspaRpcError extends KaspaError {
constructor(method: string, cause?: unknown)
}err.message は "RPC method \"<method>\" failed" です。元のエラーは err.cause にあります。
KaspaWalletError
ウォレット操作 (connect、sendKaspa、signMessage) に失敗したときに投げられます。
class KaspaWalletError extends KaspaError {
constructor(operation: string, cause?: unknown)
}err.message は "Wallet operation \"<operation>\" failed" です。
KaspaCryptoError
暗号処理に失敗したときに投げられます。
class KaspaCryptoError extends KaspaError {
constructor(operation: string, cause?: unknown)
}err.message は "Crypto operation \"<operation>\" failed" です。
