@hackage haskell-opentimestamps0.5.5.1

Haskell implementation of OpenTimestamps

This is a Haskell library for working with OpenTimestamps. It's on Hackage here: haskell-opentimestamps. OpenTimestamps is a protocol for creating and verifying timestamps for digital files, which can be used to prove that a file existed at a certain point in time.

The library provides functionality for:

  • Stamping: Creating new timestamps for files by submitting their hashes to a network of calendar servers.
  • Information: Extracting information from timestamp files.
  • Pruning: Pruning existing timestamps.
  • Upgrading: Upgrade remote calendar timestamps to be locally verifiable.
  • Verification: Verifying the integrity and validity of existing timestamps.

The project has a number of dependencies, including cryptonite for cryptographic operations, http-client for making requests to calendar servers and haskoin-code and bitcoin-rpc to make RPC-calls to a locally running 'blocksonly' pruned Bitcoin node, which is required for Verification.

Also you will need to have a libsecp256k1 package (Debian: libsecp256k1-dev) installed on your Linux distribution (beware: it needs to be < 0.7.x because of deprecated functions in 0.7.x).

Notes on tests:

  • At least one of the tests requires a running local bitcoin node (pruned node is fine).

There is also a client program that uses this library: It's on Hackage here: haskell-opentimestamps-client.