@blockstack/stacks-utils
Utilities for the Stacks blockchain.
Last updated 10 months ago by aulneau .
MIT · Original npm · Tarball · package.json
$ cnpm install @blockstack/stacks-utils 
SYNC missed versions from official npm registry.

Stacks Utilities

npm version npm version npm version npm license

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 = validateStacksAddress(stacksAddress);

Stacks to Bitcoin

import { stacksAddressToBtcAddress } from "stacks-utils";

const btcAddress = stacksAddressToBtcAddress(stacksAddress);

Bitcoin to Stacks

import { btcAddressToStacksAddress } from "stacks-utils";

const stacksAddress = btcAddressToStacksAddress(btcAddress);

Transactions

Decode raw Bitcoin Transaction

import { decodeRawTx } from "stacks-utils";

const fetchFees = false; // if true, the BTC fees will be fetched and calculated

async () => {
  const tx = await decodeRawTx(rawTx, fetchFees);
  console.log(tx);
};

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

(async () => {
    const txs = [...];
    const transactions = await decodeRawTx(txs, fetchFees);
    console.log(transactions)
})

Get readable operation type

See: https://docs.blockstack.org/core/wire-format.html

import { getOperationType } from "stacks-utils";

const opcode = "$";
const operation = getOperationType(opcode); // TOKEN_TRANSFER

Data Fetching

Fetch all data associated with a Stacks Address

import { fetchStacksAddressData } from "stacks-utils";

const data = await fetchStacksAddressData(stacksAddress);

Fetch Stacks Address data from the Blockstack Explorer API

import { fetchStacksAddressDetails } from "stacks-utils";

const data = await fetchStacksAddressDetails(stacksAddress);

Fetch all data associated with a BTC Address

import { fetchBtcAddressData } from "stacks-utils";

const data = await fetchBtcAddressData(btcAddress);

Units

Microstacks to Stacks

import { microToStacks } from "stacks-utils";

const stacksAmount = microToStacks(1); // 0.000001

Stacks to Microstacks

import { stacksToMicro } from "stacks-utils";

const microStacksAmount = stacksToMicro(0.000001); // 1

Current Tags

  • 0.1.5                                ...           latest (10 months ago)

1 Versions

  • 0.1.5                                ...           10 months ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (5)
Dev Dependencies (4)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |