Stacks Utilities
Getting started
npm install stacks-utils
# or
yarn add stacks-utils
Table of Contents
- Addresses
- Transactions
- Hardware Wallets
- Data Fetching
- Units
Addresses
Validate Stacks Address
import validateStacksAddress from "stacks-utils"; const isValid = ;
Stacks to Bitcoin
import stacksAddressToBtcAddress from "stacks-utils"; const btcAddress = ;
Bitcoin to Stacks
import btcAddressToStacksAddress from "stacks-utils"; const stacksAddress = ;
Transactions
Decode raw Bitcoin Transaction
import decodeRawTx from "stacks-utils"; const fetchFees = false; // if true, the BTC fees will be fetched and calculated const tx = await ; console;;
This will return an object as such:
const tx = sender // sender STX address senderBitcoinAddress // sender BTC address recipient // recipient STX address recipientBitcoinAddress // recipient BTC address opcode // $ operation // TOKEN_TRANSFER consensusHash // df1631913bbf485ce6a25f26bccfc8d3 tokenType // "STACKS" tokenAmount // BigInteger tokenAmountReadable // 0.000001 memo // Message fees // BTC tx fees in satoshis (if fetchFees = true);
Decode an array of transactions
This is mostly to be used in conjunction with fetchBtcAddressData
. This will take an array of BTC transactions (with a hex
key in each object) and decode the raw transaction and combine the two.
import decodeRawTxs from "stacks-utils"; const fetchFees = false; // if true, the BTC fees will be fetched and calculated const txs = ...; const transactions = await ; console
Get readable operation type
See: https://docs.blockstack.org/core/wire-format.html
import getOperationType from "stacks-utils"; const opcode = "$";const operation = ; // TOKEN_TRANSFER
Data Fetching
Fetch all data associated with a Stacks Address
import fetchStacksAddressData from "stacks-utils"; const data = await ;
Fetch Stacks Address data from the Blockstack Explorer API
import fetchStacksAddressDetails from "stacks-utils"; const data = await ;
Fetch all data associated with a BTC Address
import fetchBtcAddressData from "stacks-utils"; const data = await ;
Units
Microstacks to Stacks
import microToStacks from "stacks-utils"; const stacksAmount = ; // 0.000001
Stacks to Microstacks
import stacksToMicro from "stacks-utils"; const microStacksAmount = ; // 1