dcrd/blockchain
Dave Collins 9f8114e53d
blockchain: Move package to internal.
The moves the blockchain package from the blockchain module to an
internal package of the root module meaning that it is no longer a part
of the exported blockchain module.  Nearly all of the logic it provides
is really for the internal implementation of dcrd itself and thus having
it exported module significantly increases the maintenance burden.

Note that as of this change the blockchain module still exists and
provides the chaingen and fullblocktests packages both or which are
useful and used by external consumers.

This is part of a continuing overall effort to reduce the total number
of exported packages and modules and eventually get to the point it will
be possible to follow semver for the root module.

Overview of the major changes:

- Move all go files from blockchain -> internal/blockchain
- Move testdata from blockchain -> internal/blockchain
- Remove doc.go in favor of the README.md since godoc now displays it
- Move README.md from blockchain -> internal/blockchain and update to
  match the new reality
- Add a new README.md in the exported blockchain module that documents
  it contains the remaining exported packages
- Update all import paths in the repository accordingly
- Run go mod tidy on all modules
2022-05-30 15:32:41 -05:00
..
chaingen docs: Update chaingen readme module path. 2022-05-30 15:32:39 -05:00
fullblocktests fullblocktests: Decouple from blockchain. 2022-05-30 11:26:40 -05:00
stake blockchain: Use standalone check tx sanity. 2022-05-27 12:56:04 -05:00
standalone standalone: Add transaction sanity check. 2022-05-27 12:39:06 -05:00
go.mod blockchain: Move package to internal. 2022-05-30 15:32:41 -05:00
go.sum blockchain: Move package to internal. 2022-05-30 15:32:41 -05:00
README.md blockchain: Move package to internal. 2022-05-30 15:32:41 -05:00

blockchain

Build Status ISC License Doc

The blockchain module provides a couple of packages useful for testing:

  • chaingen - Provides facilities for generating a full chain of blocks
  • fullblocktests - Provides a set of full block tests to be used for testing the consensus validation rules

Sub Modules

Note that the following separate sub modules that are not a part of the this module are also available:

  • standalone - Provides standalone functions useful for working with the Decred blockchain consensus rules.
  • stake - Contains code for all of dcrd's stake transaction chain handling and other portions related to the Proof-of-Stake (PoS) system.

Installation and Updating

This is the github.com/decred/dcrd/blockchain/v4 module. Use the standard go tooling for working with modules to incorporate it.

License

Module blockchain is licensed under the copyfree ISC License.