• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

btcsuite / btcd
56%
master: 55%

Build:
Build:
LAST BUILD BRANCH: p2a
DEFAULT BRANCH: master
Repo Added 08 Jul 2020 04:54PM UTC
Token 65UIOKCVtiKf79lUbGhy4oTQ2nKiGIHv2 regen
Build 1268 Last
Files 282
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH add-blockindex-parentskips
branch: add-blockindex-parentskips
CHANGE BRANCH
x
Reset
Sync Branches
  • add-blockindex-parentskips
  • #2106
  • 2020-10-06-wallet-rpcs
  • 2022-02-10-1587
  • 2022-04-30-decode-for-net
  • 2022-11-06-implement-getchaintips
  • 2023-05-16-run-gofmt
  • 2023-09-25-change-is-sync-candidate-behavior
  • 2023-10-12-add-integration-test-for-prune
  • 2023-12-update-pkt-dns-seed
  • 2024-01-03-add-last-flush-time-on-initconsistentstate
  • 2024-01-22-dont-update-mempool
  • 2024-02-15-dont-rely-on-height-fetching
  • 2024-02-15-no-utxocache-loading-on-reorgs
  • 2024-02-27-no-panic-for-subscription-callback-errors
  • 2024-03-05-fix-intermittent-addrmgr-bug
  • 2024-03-07-make-duplicate-entries-on-mapslice-impossible
  • 2024-04-01-parallel-ibd
  • 2024-04-02-add-is-ancestor
  • 2024-04-02-invalidate-block
  • 2024-04-23-add-darwin-arm
  • 2024-04-23-update-dnsseeds
  • 2024-04-30-add-reconsiderblock
  • 2024-05-01-fix-logs
  • 2024-05-05-add-rpccalls-for-invalidate-and-reconsiderblock
  • 2024-07-01-close-blockfiles
  • 2024-07-17-increase-flush-time
  • 2024-08-06-execution-trace-flag
  • 2024-08-fix-unmarshaljson
  • 2024-10-29-dont-accept-txs-when-were-not-current
  • 2024-11-29-fix-ibd-not-working
  • 2024-12-10-meet-peer-query-interface
  • 2024-12-26-add-checkpointed-blocks-query
  • 2024-12-26-add-connected-peers
  • 2024-12-26-add-peer-subscribers
  • 2024-12-26-refactor-handle-block-msg
  • 2024-12-30-add-prune-to-sample-btcd.conf
  • 2025-01-16-dont-ask-for-blocks-from-same-height-peers
  • 2025-02-17-exit-when-running-out-of-disk-space
  • 2025-07-remove-alert
  • 2025-09-16-new-parallel-block-downloads
  • 2181_eugene
  • 2183_eugene
  • 2372-fix-bip32-derivation-overflow-bug
  • DecodeNoLimitVersioned
  • FixCoverallCoverage
  • LICENSE-btcsuite
  • TestGetBestBlockHashAsync
  • a-little-taproot
  • add-connections-in-out-field-to-getnetworkinforesult
  • add-gemini-style-guide
  • add-gettxspendingprevout
  • add-json-support
  • add-memory-profiling
  • add-msgtx-txid
  • add-nextavailableport
  • add-pruning
  • add-pubkey-serialized-type
  • add-signrawtransactionwithwallet
  • add-tests-witness-limits
  • add-tokenizer
  • addBIP0322SignedMessageTag
  • addGeminiCodeAssist
  • add_gettxfee
  • addr-rw-lock
  • base58-fix
  • bchd-retract
  • bg
  • bip-340-signing
  • bip-8-prep
  • bip-musig2-psbt
  • bip125-inherited-replacement
  • bip324-modules
  • bip340
  • bip340-schnorr-verification
  • bitcoind-v30-error
  • block-count
  • bloom-update
  • btcctl-config-error
  • btcd-24
  • btcd-24-0-2-rc1
  • btcd-calcsighash-optimizations
  • btcd_addrv2
  • btcec-fix
  • btcec-no-chainhash
  • btcec-v2-1-0
  • btcec-v2-no-circular-dep
  • btcec-v2.2-branch
  • btcec/v2.3.5
  • btcutil
  • btcutil-move
  • btcutil-psbt-update-dec-2023
  • btcutil-tag-updates
  • bugfix/rpctest_ports_race
  • build-improvements
  • bulk
  • bump-btcutils-versions
  • bump-go-version
  • bumpWithnessItemPerInputMax
  • catch-shutdown
  • chainhash-v-1-1-0-btcutil
  • chainhash_json
  • chainhash_json_unmarshal
  • changes-0.22
  • check-signature
  • chore/update_psbt_deps
  • config-disable-stall-handler
  • converttopsbt
  • create-rawtransaction-replaceable
  • create-wallet-functional-opts
  • ctrl-block-error
  • dcr-ec
  • deepCopyPk
  • derive-addresses-rpcclient
  • doc-link
  • dockerbuild
  • docs-update-go-version-contrib-guidelines
  • docupdate
  • dont-serialize-tx-for-txhash
  • ebiiim-patch-1
  • ellswift
  • encrypt-decrypt
  • error-matching
  • exportCheckStandardnessFunc
  • exportMuSigSignOptions
  • exportNumFuncs
  • export_header_funcs
  • expose-newfutureerror
  • external-peer-testing
  • extreme-tests
  • fallback-to-GOPATH-bin-dir
  • feat/add-testnet4-support
  • feature/bump-go-version
  • feature/fix-ci
  • feature/pebble
  • feature/utxocache-swissmap
  • feeRate-BTCkvB
  • fix
  • fix-batch-mem-leak
  • fix-config-doc
  • fix-docs-rfc6979
  • fix-err-match
  • fix-err-str
  • fix-mempool-estimatefee-bug
  • fix-minimalif-comment
  • fix-non-root-hosts
  • fix-protocol
  • fix-psbtopts-feerate-type
  • fix-readme-min-version
  • fix-shutdown-itest
  • fix-test-peer-listeners
  • fix-typos
  • fix/batch-data-race
  • fix/dockerfile-go-version
  • fix/err
  • fix/link
  • fixInvalidRpc
  • fix_comment
  • flag-types
  • fundrawtx-bech32m
  • fuzz-FuzzParsePubKey
  • getaddressinfo
  • getblocktemplate-server-update
  • getnetworkhashps-float64
  • getnetworkinfo-warnings
  • getnewaddress-rpcclient-revert
  • getnodeaddresses
  • getwalletinfo
  • gh-1651
  • go-1-18
  • go-mod-pain-relief
  • go1.15
  • go11modules
  • gogc
  • gogc-maxprocs-config
  • guiand888-Docker-doc-update
  • hash-unmarshal
  • hashcache-flake
  • http-retries
  • ignore_unknown_messages
  • implement-pool
  • improve-gc-isunspendable
  • improved-der-signature-validation
  • indexinfo
  • integration-harness-fixes
  • isDust_export_08022021
  • itest-fixes
  • jakesyl-patch-1
  • jcv_irc
  • jcv_nomsi
  • jcv_typo
  • jcv_version
  • jsonrpcerr
  • label_and_account_apis_for_wallet
  • log_compress_zstd
  • marco/wtxidrelay
  • martin/externalip-by-file
  • master
  • memory-efficient-txhash
  • mempool/check-p2wsh-standard
  • mempool_dust_threshold_08162021
  • merkle-calc-fast
  • miniscript
  • musig2
  • musig2-1-0
  • musig2-benchmark-fix
  • musig2Adaptor
  • musig2_0.3.0
  • musig2_fix_early_nonce_gen
  • musig2_update
  • naveen/feat/fix-github-action-permissions
  • naveen/feat/upgrade-docker
  • nb/include-unsafe
  • nested-witness-sign
  • neutrino-opt
  • notls4all
  • op_cat
  • op_txhash
  • opt_SignCompact
  • optimize_buffer
  • over-2-hours
  • p2a
  • patch-1
  • patch-2
  • pkg-update-checkmarx-cve
  • pledge
  • post-taproot-module-updates
  • pow-no-retargeting
  • pr/845
  • priority-queue
  • psbt-empty-deriv-path
  • psbt-export
  • psbt-global-xpub
  • psbt-nil-pointer-bug
  • psbt-serialization-fix
  • psbt-size-check
  • public-sendcmd
  • receive-tests
  • refactor
  • refactor/make-help
  • refactor/obyte-great-than-zero
  • refactor/parsefloat
  • refs/tags/btcec/v2.0.0
  • refs/tags/btcec/v2.1.0
  • refs/tags/btcec/v2.1.2
  • refs/tags/btcec/v2.1.3
  • refs/tags/btcec/v2.2.0
  • refs/tags/btcec/v2.2.1
  • refs/tags/btcec/v2.2.2
  • refs/tags/btcec/v2.3.0
  • refs/tags/btcec/v2.3.1
  • refs/tags/btcec/v2.3.2
  • refs/tags/btcec/v2.3.3
  • refs/tags/btcec/v2.3.4
  • refs/tags/btcutil/psbt/v1.0.0
  • refs/tags/btcutil/psbt/v1.1.0
  • refs/tags/btcutil/psbt/v1.1.1
  • refs/tags/btcutil/psbt/v1.1.10
  • refs/tags/btcutil/psbt/v1.1.2
  • refs/tags/btcutil/psbt/v1.1.3
  • refs/tags/btcutil/psbt/v1.1.4
  • refs/tags/btcutil/psbt/v1.1.5
  • refs/tags/btcutil/psbt/v1.1.6
  • refs/tags/btcutil/psbt/v1.1.7
  • refs/tags/btcutil/psbt/v1.1.8
  • refs/tags/btcutil/psbt/v1.1.9
  • refs/tags/btcutil/v1.1.0
  • refs/tags/btcutil/v1.1.1
  • refs/tags/btcutil/v1.1.2
  • refs/tags/btcutil/v1.1.3
  • refs/tags/btcutil/v1.1.4
  • refs/tags/btcutil/v1.1.5
  • refs/tags/btcutil/v1.1.6
  • refs/tags/chaincfg/chainhash/v1.0.1
  • refs/tags/chaincfg/chainhash/v1.0.2
  • refs/tags/chaincfg/chainhash/v1.0.3
  • refs/tags/chaincfg/chainhash/v1.1.0
  • refs/tags/v0.22.0-beta
  • refs/tags/v0.22.1
  • refs/tags/v0.23.0
  • refs/tags/v0.23.1
  • refs/tags/v0.23.2
  • refs/tags/v0.23.3
  • refs/tags/v0.23.4
  • refs/tags/v0.24.0
  • refs/tags/v0.24.2
  • refs/tags/v0.24.2-beta.rc1
  • remove-bip9-stray-logs
  • remove-err-match
  • reorg
  • replace-imports
  • replaceioutil
  • revive-1294
  • rm_trailing_continue
  • roylee/remove-deprecated-rpcs
  • roylee/update-gbt-to-return-witness-script
  • rpc-address-align
  • rpc-getblockstats
  • rpc-gettxoutsetinfo
  • rpc-jsonerror-msg
  • rpcbulk
  • rpcclient-GetChainTxStatsAsync-tests
  • rpcclient-fix
  • rpcclient-signet
  • rpccliet-fix2
  • run-the-numbers
  • safe-addr-accessors
  • safe-ka-accessors
  • santa5
  • schnorr
  • schnorrSig-simplify-r-bytes
  • script-builder-alloc
  • script-callback
  • script-template
  • scriptpubkeyresult-address
  • searchrawtransactionsverbose-null-test
  • segwit-rpc
  • sendaddrv2
  • sig_hash_type
  • sighash-taproot-keyspend-bug-fix
  • sighash-typos
  • sign-mutate
  • signet
  • signet-deployment
  • signet-forward-port
  • silent-payments
  • size_on_disk
  • standardness-cleanup
  • statusbytes_08062024
  • submitpackage
  • taproot-dev-net-activation
  • taproot-impl
  • taproot-psbt
  • taptweak-mutation
  • testmempoolaccept
  • testnet4-bip9
  • timeout-https-client
  • tor_ipv6
  • tor_resolver_fix
  • trailing-zeroes
  • tx-not-found-error-bug
  • tx-version-type
  • txid_string_check
  • txscript_alloc_cb_change
  • txscript_zero_alloc_optimization_refactor
  • txwithkey
  • unix
  • unmarshal-networkhashps
  • update-btcecv2-no-dep
  • update-btcutil
  • update-changes
  • update-checkpoints
  • update-ci
  • update-getmempoolentry-cmd
  • update-goleveldb
  • update-goleveldb-0
  • update-gomod-btcec
  • update-guides
  • update-isMainChain-according-to-orphan
  • uptime-fix
  • use-fqdn
  • utxocache-original
  • utxoview-use-slices
  • v-0-24-2
  • v-0-25-0-rc1
  • v0-23-2-branch
  • v0-23-3-branch
  • v0.22
  • v0.25.0-beta.rc1
  • v0_22_use_chainhash_module
  • v2-module-fix
  • v2-transport-module
  • v2_transport
  • v2transport/v0.0.1-alpha
  • v2transport/v1.0.0
  • v2transport/v1.0.1
  • v3-tx-standard
  • version-bump-23
  • version-bump-23-1
  • version_0_23_0
  • vinayakb/fix_empty_tx_in_GetBlockVerboseTx
  • wire-opts
  • wire-signet
  • wire/outpoint-parse-string
  • witness-commitment-rpctest
  • witness-wire-hot-fix

17 Nov 2023 07:55AM UTC coverage: 56.09% (-0.2%) from 56.24%
6901316365

Pull #1688

github

kcalvinalvin
blockchain: better Ancestor with skiplists

On startup, Ancestor call was taking a lot of time when the node was
loading the blockindex onto memory. This change speeds up the Ancestor
function significantly and speeds up the node during startup.

On testnet3 at blockheight ~2,500,000, the startup was around 30seconds
on current main and was 5 seconds with this change. Below is a benchstat
result showing the significant speedup.

goos: darwin
goarch: arm64
pkg: github.com/utreexo/utreexod/blockchain
           │     old.txt      │               new.txt                │
           │      sec/op      │    sec/op     vs base                │
Ancestor-8   120819.301µ ± 5%   7.013µ ± 19%  -99.99% (p=0.000 n=10)

           │  old.txt   │            new.txt             │
           │    B/op    │    B/op     vs base            │
Ancestor-8   0.000 ± 0%   0.000 ± 0%  ~ (p=1.000 n=10) ¹
¹ all samples are equal

           │  old.txt   │            new.txt             │
           │ allocs/op  │ allocs/op   vs base            │
Ancestor-8   0.000 ± 0%   0.000 ± 0%  ~ (p=1.000 n=10) ¹
¹ all samples are equal
Pull Request #1688: blockchain: Add ancestor optimization to finding Ancestor

24 of 24 new or added lines in 1 file covered. (100.0%)

85 existing lines in 1 file now uncovered.

27975 of 49875 relevant lines covered (56.09%)

25202.92 hits per line

Relevant lines Covered
Build:
Build:
49875 RELEVANT LINES 27975 COVERED LINES
25202.92 HITS PER LINE
Source Files on add-blockindex-parentskips
  • Tree
  • List 229
  • Changed 42
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
6901316365 add-blockindex-parentskips blockchain: better Ancestor with skiplists On startup, Ancestor call was taking a lot of time when the node was loading the blockindex onto memory. This change speeds up the Ancestor function significantly and speeds up the node during startup. ... Pull #1688 17 Nov 2023 07:58AM UTC kcalvinalvin github
56.09
See All Builds (1020)
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc