Transaction codec and BCP client to communicate with BNS blockchain


198492.5.0a year ago3 years agoMinified + gzip package size for @iov/bns in KB



npm version

This package is an implementation of the BlockchainConnection interface for the BNS blockchain (currently just as bcp-demo prototype). It should be able to adapt this code fairly easily to support any other weave based blockchain as well.

This provides a reference implementation of the full feature set of BlockchainConnection, so it is also a good read when starting support of another blockchain.

Simplest usage, to use auto-detecting tendermint client and standard bns transaction parser:

const connection = await BnsConnection.establish(

Supported weave (bnsd) versions

IOV-Core version Supported weave versions
2.2.5 1.0.4+
2.0.2 0.22.x, 0.24.x – 0.25.x, 1.0.0
1.2 0.22.x
1.1 0.21.x
1.0 0.21.x
0.17 0.21.x
0.16 0.19.x - 0.20.x
0.15 0.16.x
0.14 0.14.x
0.12 – 0.13 0.10.x - 0.11.x
0.9 – 0.11 0.4.x - 0.9.x
0.1 – 0.8 0.4.x - 0.8.x

API Documentation


The main entry point is the BnsConnection, which creates a Tendermint client (from iov-tendermint-rpc) and a codec to parse transactions. The BNS codec for reading and writing transactions (also useful for MultiChainSigner) is exported as top-level bnsCodec.


This package is part of the IOV-Core repository, licensed under the Apache License 2.0 (see NOTICE and LICENSE).

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.