An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 5.5% on proxy.golang.org
Top 1.6% dependent packages on proxy.golang.org

proxy.golang.org : github.com/p9c/chain

Package blockchain implements bitcoin block handling and chain selection rules. The bitcoin block handling and chain selection rules are an integral, and quite likely the most important, part of bitcoin. Unfortunately, at the time of this writing, these rules are also largely undocumented and had to be ascertained from the bitcoind source code. At its core, bitcoin is a distributed consensus of which blocks are valid and which ones will comprise the main block chain (public ledger) that ultimately determines accepted transactions, so it is extremely important that fully validating nodes agree on all rules. At a high level, this package provides support for inserting new blocks into the block chain according to the aforementioned rules. It includes functionality such as rejecting duplicate blocks, ensuring blocks and transactions follow all rules, orphan handling, and best chain selection along with reorganization. Since this package does not deal with other bitcoin specifics such as network communication or wallets, it provides a notification system which gives the caller a high level of flexibility in how they want to react to certain events such as orphan blocks which need their parents requested and newly connected main chain blocks which might result in wallet updates. Before a block is allowed into the block chain, it must go through an intensive series of validation rules. The following list serves as a general outline of those rules to provide some intuition into what is going on under the hood, but is by no means exhaustive: Errors; Errors returned by this package are either the raw errors provided by underlying calls or of type blockchain.RuleError. This allows the caller to differentiate between unexpected errors, such as database errors, versus errors due to rule violations through type assertions. In addition, callers can programmatically determine the specific rule violation by examining the ErrorCode field of the type asserted blockchain.RuleError. This package includes spec changes outlined by the following BIPs:

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/p9c/chain
License: Unlicense
Latest release: about 5 years ago
First release: about 5 years ago
Namespace: github.com/p9c
Dependent packages: 9
Stars: 0 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 21 days ago

Top 5.7% on proxy.golang.org
github.com/p9c/rpc v0.0.25
rpc stuff for the parallelcoin pod
25 versions - Latest release: about 5 years ago - 5 dependent packages - 0 stars on GitHub
Top 6.1% on proxy.golang.org
github.com/p9c/kopach v0.0.18
Miner for Parallelcoin
18 versions - Latest release: about 5 years ago - 3 dependent packages - 1 stars on GitHub
Top 5.7% on proxy.golang.org
github.com/p9c/wallet v0.0.24
Copyright (c) 2013-2017 The btcsuite developers Copyright (c) 2015-2016 The btcsuite developers ...
23 versions - Latest release: about 5 years ago - 5 dependent packages - 0 stars on GitHub
Top 5.5% on proxy.golang.org
github.com/p9c/util v0.0.24
Package util provides bitcoin-specific convenience functions and types. A Block defines a bitcoi...
24 versions - Latest release: about 5 years ago - 9 dependent packages - 0 stars on GitHub
Top 5.9% on proxy.golang.org
github.com/p9c/simplebuffer v0.0.15
Super simple interface based binary codec for RPC/IPC/DB
15 versions - Latest release: about 5 years ago - 4 dependent packages - 0 stars on GitHub
Top 5.9% on proxy.golang.org
github.com/p9c/peer v0.0.19
Package peer provides a common base for creating and managing Bitcoin network peers. This packag...
19 versions - Latest release: about 5 years ago - 4 dependent packages - 0 stars on GitHub
Past Dependents
Include Past Dependents

Check this option to include packages that no longer depend on this package in their latest version but previously did.