@stacks/rx
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

@stacks/rx

Build and test status

Reactive Extensions client for the Stacks Blockchain 🚀

Getting Started

yarn add @stacks/rx rxjs
import { RxStacks, HIRO_API_URL } from '@stacks/rx';

const client = new RxStacks({ url: HIRO_API_URL });

client.blocks$.subscribe(block => console.log('New block: ', block.height));

Demo App

git clone https://github.com/blockstack/rx
cd demo/demo-app
yarn && yarn start

Open http://localhost:3000 to view it in your browser.

Tutorial

Broadcasting a transaction

Tutorial

Using @stacks/rx to follow a transaction's lifecycle

const { broadcastTx } = new RxStacks({ url });

broadcastTx(transaction)
  .pipe(
    concatMap(txid => {
      notifyBroadcastSuccess(tx);
      return mempoolTxs$.pipe(filterByTxid(txid));
    }),
    concatMap(memTx => {
      notifyTxInMempool(mempoolTx);
      return txs$.pipe(filterByTxid(txid));
    })
  )
  .subscribe(tx => notifyTransactionConfirm(tx));
const txid = await broadcastTx(transaction)({
  onBroadcastSuccess(),
  onBroadcastError(),
  onMempoolInclusion(),
  onTransactionConfirmedInBlock(),
})

Resources

/@stacks/rx/

    Package Sidebar

    Install

    npm i @stacks/rx

    Weekly Downloads

    8

    Version

    0.0.7

    License

    MIT

    Unpacked Size

    28.4 kB

    Total Files

    38

    Last publish

    Collaborators

    • stacks-foundation
    • ablankstein
    • kyranjamie
    • zone117x
    • blockstack-devops