@stacks/rx
v0.0.7
Published
Reactive client library for the Stacks blockchain
Downloads
4
Readme
@stacks/rx
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(),
})