@bitgo/utxo-lib
Version:
Client-side Bitcoin JavaScript library
77 lines (55 loc) • 3.22 kB
Markdown
> **⚠️ Deprecated.** `@bitgo/utxo-lib` is deprecated and no longer under active
> development. Its successor is [`@bitgo/wasm-utxo`][wasm-utxo] (in the
> [BitGoWASM][bitgowasm] repository), which provides WebAssembly bindings for
> `rust-bitcoin` and `rust-miniscript` and is now the primary UTXO library
> across the BitGo Wallet Platform.
>
> New code should depend on `@bitgo/wasm-utxo`. Existing address generation,
> PSBT signing, transaction building, recovery, and BIP-322 flows have already
> been migrated off `@bitgo/utxo-lib` in `abstract-utxo`. Do not build new
> integrations against this package.
>
> [wasm-utxo]: https://github.com/BitGo/BitGoWASM/tree/main/packages/wasm-utxo
> [bitgowasm]: https://github.com/BitGo/BitGoWASM
# BitGo UTXO library
This library is a wrapper around [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) adding altcoin support.
## Features
- Multicoin support: Configurable behaviour based on [network](https://github.com/BitGo/bitgo-utxo-lib/blob/master/src/networks.js) objects.
- Backed by [BitGo](https://www.bitgo.com/info/)
## Installation
```bash
# using npm
npm install @bitgo/utxo-lib
# using yarn
yarn add @bitgo/utxo-lib
```
## Setup
JavaScript (ESM)
```javascript
import * as utxolib from '@bitgo/utxo-lib';
```
NodeJS (CJS)
```javascript
const utxolib = require('@bitgo/utxo-lib');
```
## Usage
Support for parsing and building altcoin transactions is provided by the following methods
```typescript
utxolib.bitgo.createTransactionFromBuffer(buffer, network): UtxoTransaction
// (similarly `createTransactionFromHex(string, network)`)
utxolib.bitgo.createTransactionBuilderForNetwork(network): UtxoTransactionBuilder
utxolib.bitgo.createTransactionBuilderFromTransaction(tx): UtxoTransactionBuilder
```
The `UtxoTransaction(Builder)` classes have the same interface as the `Transaction` type in `bitcoinjs-lib` .
## Supported coins
| Network | Mainnet | Testnet |
| --------------------------- | ------------------------------ | ------------------------------------- |
| Bitcoin | `utxolib.networks.bitcoin` | `utxolib.networks.testnet` |
| Bitcoin Cash | `utxolib.networks.bitcoincash` | `utxolib.networks.bitcoincashTestnet` |
| Bitcoin Gold | `utxolib.networks.bitcoingold` | `utxolib.networks.bitcoingoldTestnet` |
| Bitcoin SV (Satoshi Vision) | `utxolib.networks.bitcoinsv` | `utxolib.networks.bitcoinsvTestnet` |
| Dash | `utxolib.networks.dash` | `utxolib.networks.dash` |
| eCash | `utxolib.networks.ecash` | `utxolib.networks.ecashTestnet` |
| Litecoin | `utxolib.networks.litecoin` | `utxolib.networks.litecoinTest` |
| Zcash | `utxolib.networks.zcash` | `utxolib.networks.zcashTest` |
> [Bitcoin SV](https://blog.bitgo.com/bsv-deprecation-6b3fff4df34c) no longer supports sending funds to BitGo wallets. Existing customers with Bitcoin SV in BitGo wallets will still be able to access and sweep funds to an external Bitcoin SV wallet.