@xchainjs/xchain-utxo-providers
v1.0.7
Published
A specification for a generalised interface for api providers, to be used by XChainJS implementations. The providers should not have any functionality to generate a key, instead, the `xchain-crypto` library should be used to ensure cross-chain compatible
Downloads
939
Maintainers
Keywords
Readme
XChainJS API UTXO providers Interface
A specification for a generalised interface for api providers, to be used by XChainJS implementations. The providers should not have any functionality to generate a key, instead, the xchain-crypto
library should be used to ensure cross-chain compatible keystores are handled. The providers is only ever passed a master BIP39 phrase, from which a temporary key and address is decoded.
Documentation
xchain providers
Overview of xchain-utxo-providers
Interface of xchain-utxo-providers
Design
The UtxoOnlineDataProvider has the following signature:
import { Address, Asset } from '@xchainjs/xchain-util'
import { ExplorerProvider } from './explorer-provider'
import { Balance, Network, Tx, TxHash, TxHistoryParams, TxsPage } from './types'
export type Witness = {
value: number
script: Buffer
}
export type UTXO = {
hash: string
index: number
value: number
witnessUtxo: Witness
txHex?: string
}
export interface OnlineDataProvider {
getBalance(address: Address, assets?: Asset[]): Promise<Balance[]>
getTransactions(params: TxHistoryParams): Promise<TxsPage>
getTransactionData(txId: string, assetAddress?: Address): Promise<Tx>
}
export interface UtxoOnlineDataProvider extends OnlineDataProvider {
getConfirmedUnspentTxs(address: Address): Promise<UTXO[]>
getUnspentTxs(address: Address): Promise<UTXO[]>
broadcastTx(txHex: string): Promise<TxHash>
}
Implementations
sochain v3
Website: https://sochain.com/api/
Status: Complete
FreeTier: No
Chains supported: BTC,BTC-Testnet,LTC,LTC-Testnet,DOGE,DOGE-Testnet
blockcypher
Website: https://www.blockcypher.com/
Status: Complete
FreeTier: Yes, rate limited 3 reqs/sec
Chains supported: BTC,BTC-Testnet,LTC,DOGE
haskoin
Website: https://www.haskoin.com/
Status: Complete
FreeTier: Yes, rate limit unknown
Chains supported: BTC,BTC-Testnet,BCH,BCH-Testnet