haskoin-store

Storage and index for Bitcoin and Bitcoin Cash

http://github.com/haskoin/haskoin#readme

Version on this page:0.2.3
Stackage Nightly 2018-09-28:0.2.3
Latest on Hackage:1.5.0

See all snapshots haskoin-store appears in

LicenseRef-PublicDomain licensed by Jean-Pierre Rupp
Maintained by [email protected]
This version can be pinned in stack with:haskoin-store-0.2.3@sha256:7bfb90da726f94d330462800b09dc455225299438ef2a915b8eab8972d36a0e7,2407

Module documentation for 0.2.3

Haskoin Store

Full blockchain index & store featuring:

  • Address index.
  • Mempool.
  • Persistent storage using RocksDB.
  • RESTful endpoints for blockchain data.
  • Concurrent design.
  • No blocking on database access.
  • Guaranteed consistency within a request.
  • Atomic updates to prevent corruption.

Install

  • Get Stack.
  • Get Nix.
  • Clone this repository git clone https://github.com/haskoin/haskoin-store.
  • From the root of this repository run stack --nix build --copy-bins.
  • File will usually be installed in ~/.local/bin/haskoin-store.

API Documentation

Addresses & Balances

For every address Haskoin Store has a balance object that contains basic statistics about the address. These statistics are described below.

  • confirmed balance is that which is in the blockchain. Will always be positive or zero.
  • unconfirmed balance represent aggregate changes done by mempool transactions. Can be negative if the transactions currently in the mempool are expected to reduce the balance when all of them make it into the blockchain.
  • outputs is the count of outputs that send funds to this address. It is just a count and not a monetary value.
  • utxo is the count of outputs that send funds to this address that remain unspent, taking the mempool into account: if spent in the mempool it will not count as unspent.

Changes

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.2.3

Removed

  • Do not send transaction notifications if a block is being imported.

0.2.2

Added

  • Peer information endpoint.

Changed

  • Update haskoin-node.

0.2.1

Changed

  • Fix tests

0.2.0

Added

  • Documentation everywhere.
  • Ability to retrieve address transactions.

Changed

  • New versions of NQE and Haskoin Node upstream.
  • Improve and simplify API.
  • Multi-element endpoints return arrays of arrays.
  • Database snapshots for all queries are now mandatory.

Removed

  • Retrieving unspent and spent outputs for an address.
  • Redundant API endpoints for multiple elements.

0.1.3

Changed

  • Fix a bug with transaction notifications.
  • Improve handling orphan transactions.

0.1.2

Changed

  • Specify dependencies better.

0.1.1

Changed

  • Dependency secp256k1 is now secp256k1-haskell.

0.1.0

Added

  • New CHANGELOG.md file.
  • Bitcoin (BTC) and Bitcoin Cash (BCH) compatibility.
  • RocksDB database.
  • Mempool support.
  • HTTP streaming for events.
  • CashAddr support.
  • Bech32 support.
  • Rate limits.

Changed

  • Split out of former haskoin repository.
  • Use hpack and package.yaml.

Removed

  • Removed Stylish Haskell configuration file.
  • Remvoed haskoin-core and haskoin-wallet packages from this repository.