btcd/mining
Dave Collins c440584efc
Implement infrastructure for BIP0009.
This commit adds all of the infrastructure needed to support BIP0009
soft forks.

The following is an overview of the changes:

- Add new configuration options to the chaincfg package which allows the
  rule deployments to be defined per chain
- Implement code to calculate the threshold state as required by BIP0009
  - Use threshold state caches that are stored to the database in order
    to accelerate startup time
  - Remove caches that are invalid due to definition changes in the
    params including additions, deletions, and changes to existing
    entries
- Detect and warn when a new unknown rule is about to activate or has
  been activated in the block connection code
- Detect and warn when 50% of the last 100 blocks have unexpected
  versions.
- Remove the latest block version from wire since it no longer applies
- Add a version parameter to the wire.NewBlockHeader function since the
  default is no longer available
- Update the miner block template generation code to use the calculated
  block version based on the currently defined rule deployments and
  their threshold states as of the previous block
- Add tests for new error type
- Add tests for threshold state cache
2016-11-30 13:51:59 -06:00
..
cpuminer cpuminer: Refactor code to its own package. 2016-10-28 11:06:11 -05:00
log.go mining: Refactor template code into mining package. 2016-10-27 11:48:48 -05:00
mining_test.go mining: Refactor template code into mining package. 2016-10-27 11:48:48 -05:00
mining.go Implement infrastructure for BIP0009. 2016-11-30 13:51:59 -06:00
policy_test.go mining: Add basic priority calculation tests. 2016-10-27 13:13:37 -05:00
policy.go mining/mempool: Move priority code to mining pkg. 2016-10-26 12:01:49 -05:00
README.md mining: Create skeleton package. 2015-11-30 12:23:50 -06:00

mining

[Build Status] (https://travis-ci.org/btcsuite/btcd) ![ISC License] (http://img.shields.io/badge/license-ISC-blue.svg) [GoDoc] (http://godoc.org/github.com/btcsuite/btcd/mining)

Overview

This package is currently a work in progress.

Installation and Updating

$ go get -u github.com/btcsuite/btcd/mining

License

Package mining is licensed under the copyfree ISC License.