@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

Readme

Keywords

Package Sidebar

Install

npm i @stacks/rx

Weekly Downloads

2

Version

0.0.7

License

MIT

Unpacked Size

28.4 kB

Total Files

38

Last publish

Collaborators

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