Skip to content

update comment on MinimumChainWork check #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 93 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
c1a5d5c
Split out bech32 separator char to header
l0rinc Aug 10, 2024
9b7023d
Fuzz HRP of bech32 as well
l0rinc Aug 10, 2024
4b58d55
test: move the implementation of StaticContentsSock to .cpp
vasild Dec 6, 2022
d9c8aac
depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
hebasto Nov 22, 2024
846a138
func test: Expand tx download preference tests
instagibbs Dec 6, 2024
f186414
test: put the generic parts from StaticContentsSock into a separate c…
vasild Sep 6, 2024
b448b01
test: add a mocked Sock that allows inspecting what has been Send() t…
vasild Dec 6, 2022
b2e9fdc
test: expect that files may disappear from /proc/PID/fd/
vasild Jan 7, 2025
ab1d3ec
net: Add optional length checking to CService::SetSockAddr
laanwj Oct 1, 2024
0364832
util: Add mockable steady_clock
laanwj Oct 2, 2024
caf9521
net: Use mockable steady clock in PCP implementation
laanwj Oct 2, 2024
fc700bb
test: Add tests for PCP and NATPMP implementations
laanwj Oct 2, 2024
0f716f2
qa: cover PROTOCOL_ERROR variant in PCP unit tests
darosior Jan 13, 2025
fa0232a
test: add validation for gettxout RPC response
alfonsoromanz Jun 18, 2024
723440c
test framework, wallet: rename get_scriptPubKey method to get_output_…
alfonsoromanz Jan 24, 2025
1973a9e
test: fixes p2p_ibd_txrelay wait time
sr-gi Jan 29, 2025
3f4b104
test: make sure we are on sync with a peer before checking if they ha…
sr-gi Jan 29, 2025
7e0db87
test: added additional coverage to waitforblock and waitforblockheigh…
kevkevinpal Feb 3, 2025
85b2603
tracing: add inbound connection tracepoint
0xB10C May 2, 2022
4d61d52
tracing: add outbound connection tracepoint
0xB10C May 2, 2022
68c1ef4
tracing: add inbound connection eviction tracepoint
0xB10C May 2, 2022
b2ad6ed
tracing: add misbehaving conn tracepoint
0xB10C May 2, 2022
caa5486
tracing: connection closed tracepoint
0xB10C Aug 12, 2022
b19b526
tracing: log_p2p_connections.bt example
0xB10C Aug 12, 2022
e3622a9
tracing: document that peer addrs can be >68 chars
0xB10C Nov 13, 2024
fa5a02b
ci: Use clang-20 for sanitizer tasks
Feb 4, 2025
2c7d90a
miner: bugfix: fix duplicate weight reservation in block assembler
ismaelsadeeq Jan 14, 2025
5bb3163
test: add `-blockmaxweight` startup option functional test
ismaelsadeeq Jan 14, 2025
c8acd40
init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
ismaelsadeeq Jan 9, 2025
777434a
doc: rpc: improve `getmininginfo` help text
ismaelsadeeq Feb 3, 2025
3eaa0a3
miner: init: add `-blockreservedweight` startup option
ismaelsadeeq Feb 3, 2025
386eecf
doc: add release notes
ismaelsadeeq Jan 14, 2025
2aa7be1
Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` …
fanquake Feb 5, 2025
33932d3
Merge bitcoin/bitcoin#31784: test: added additional coverage to waitf…
fanquake Feb 5, 2025
1334ca6
Merge bitcoin/bitcoin#31437: func test: Expand tx download preference…
fanquake Feb 5, 2025
b9c2418
Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC re…
fanquake Feb 5, 2025
407062f
depends: Avoid using the `-ffile-prefix-map` compiler option
hebasto Feb 5, 2025
a43f08c
Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
fanquake Feb 5, 2025
f1d7a6d
ci: Remove no longer needed '-Wno-error=documentation'
hebasto Jan 24, 2025
ae9eaa0
Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a pe…
glozow Feb 6, 2025
82ba505
Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
glozow Feb 6, 2025
2b51dd3
Update Transifex slug for 29.x
hebasto Feb 6, 2025
d6c229d
Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=…
fanquake Feb 6, 2025
864386a
cmake: Ensure generated sources are up to date for `translate` target
hebasto Feb 6, 2025
2f27c91
qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
hebasto Feb 6, 2025
2706c5b
test: test_inv_block, use mocktime instead of waiting
instagibbs Feb 6, 2025
f93d6cb
Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for…
hebasto Feb 6, 2025
59cd0f0
[txorphanage] account for weight of orphans
glozow Jan 27, 2025
672c69c
[refactor] change per-peer workset to info map within orphanage
glozow Jan 27, 2025
e5ea7da
[txorphanage] add per-peer weight accounting
glozow Jan 27, 2025
c289217
[txorphanage] track the total number of announcements
glozow Feb 5, 2025
982ce10
add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
glozow Jan 27, 2025
22dccea
[fuzz] txorphan byte accounting
glozow Jan 27, 2025
faca7ac
ci: Bump fuzz task timeout
Feb 6, 2025
2f98d1e
Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
fanquake Feb 7, 2025
81eb6cc
Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-…
fanquake Feb 7, 2025
ea687d2
doc: swap CPPFLAGS for APPEND_CPPFLAGS
fanquake Feb 7, 2025
f5b9a2f
build: use CLIENT_NAME in libbitcoinkernel.pc.in
fanquake Feb 7, 2025
fb0ada9
Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime inste…
glozow Feb 7, 2025
e107bf7
[fuzz] TxOrphanage::SanityCheck accounting
glozow Jan 30, 2025
bc3f59c
Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in…
fanquake Feb 10, 2025
329b60f
Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans…
fanquake Feb 10, 2025
76c0901
guix: remove test-security/symbol-check scripts
fanquake Jan 30, 2025
6a46be7
Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
fanquake Feb 10, 2025
6b165f5
Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase t…
glozow Feb 10, 2025
f8d3e0e
Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/writ…
ryanofsky Feb 10, 2025
2ffea09
build: disable bitcoin-node if daemon is not built
Sjors Feb 10, 2025
1d813e4
Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
fanquake Feb 10, 2025
8fe552f
test: add missing sync to p2p_tx_download.py
mzumsande Feb 10, 2025
ff3171f
Merge bitcoin/bitcoin#31614: test: expect that files may disappear fr…
achow101 Feb 10, 2025
79f02d5
Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of be…
achow101 Feb 11, 2025
2507ebd
Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_downloa…
fanquake Feb 11, 2025
8652893
Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is…
ryanofsky Feb 11, 2025
c652332
Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests f…
achow101 Feb 11, 2025
a44cced
Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check …
fanquake Feb 12, 2025
83d7aff
bench: add shell.nix
willcl-ark Feb 10, 2025
2463647
use released hyperfine v0.19.0
willcl-ark Feb 10, 2025
fc22228
bench: add uv + python deps
willcl-ark Feb 10, 2025
7dff0d4
bench: add benchmark ci workflows
willcl-ark Feb 10, 2025
8f779de
guix: build static
willcl-ark Feb 10, 2025
7a9a0ea
add guix debug info
willcl-ark Feb 10, 2025
40abc4e
add hyperfine debug info
willcl-ark Feb 10, 2025
51da996
doc: add benchcoin docs
willcl-ark Feb 10, 2025
b12f450
test 5 runs
willcl-ark Feb 11, 2025
2877b5a
schedule on isolated cores
willcl-ark Feb 12, 2025
e5526df
use round robin scheduling on isolated cores
willcl-ark Feb 12, 2025
6142821
use fifo scheduling for guix build
willcl-ark Feb 12, 2025
281203b
update comment on MinimumChainWork check
marcofleon Jan 15, 2025
39aed90
Remove checkpoints
marcofleon Jan 13, 2025
ed2cf29
[refactor] validation: split out future timestamp check
darosior Feb 5, 2025
66b64c6
[refactor]: move future timestamp check out of CtxCheckBlockHeader
darosior Feb 5, 2025
ea2aa53
validation: (re-)check all consensus rules when connecting blocks
darosior Feb 3, 2025
17b861f
qa: sanity check ConnectBlock now checks all rules
darosior Feb 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ task:
persistent_worker:
labels:
type: medium
timeout_in: 240m # larger timeout, due to the high CPU demand
env:
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

Expand Down
1 change: 1 addition & 0 deletions .github/README.md
121 changes: 121 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: Benchmark
on:
pull_request:
branches:
- master
jobs:
build-binaries:
runs-on: [self-hosted, linux, x64]
env:
NIX_PATH: nixpkgs=channel:nixos-unstable
BASE_SHA: ${{ github.event.pull_request.base.sha }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Fetch base commit
run: |
echo "CHECKOUT_COMMIT=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
git fetch --depth=1 origin ${{ github.event.pull_request.base.sha }}
- name: Setup ccache
run: |
mkdir -p /data/ccache
export CCACHE_DIR=/data/ccache
export CCACHE_MAXSIZE=50G
ccache -M 50G
ccache -s
- name: Build both binaries
env:
CCACHE_DIR: /data/ccache
run: |
mkdir -p ${{ runner.temp }}/binaries/base
mkdir -p ${{ runner.temp }}/binaries/head
nix-shell --command "just build-assumeutxo-binaries-guix $BASE_SHA $CHECKOUT_COMMIT"
cp binaries/base/bitcoind ${{ runner.temp }}/binaries/base/bitcoind
cp binaries/head/bitcoind ${{ runner.temp }}/binaries/head/bitcoind
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: bitcoind-binaries
path: ${{ runner.temp }}/binaries/
assumeutxo:
needs: build-binaries
strategy:
matrix:
include:
# - network: signet
# timeout: 20
# utxo_path: /var/lib/bitcoin/utxo-signet-160000.dat
# dbcache: 550
# - network: mainnet-default
# timeout: 600
# utxo_path: /var/lib/bitcoin/utxo-840000.dat
# dbcache: 550
- network: mainnet-large
timeout: 600
datadir_path: /data/pruned-840k
dbcache: 32000
runs-on: [self-hosted, linux, x64]
timeout-minutes: ${{ matrix.timeout }}
env:
NIX_PATH: nixpkgs=channel:nixos-unstable
ORIGINAL_DATADIR: ${{ matrix.datadir_path }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Download binaries
uses: actions/download-artifact@v4
with:
name: bitcoind-binaries
path: ${{ runner.temp }}/binaries
- name: Set binary permissions
run: |
chmod +x ${{ runner.temp }}/binaries/base/bitcoind
chmod +x ${{ runner.temp }}/binaries/head/bitcoind
- name: Fetch base commit
run: |
echo "CHECKOUT_COMMIT=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
git fetch --depth=1 origin ${{ github.event.pull_request.base.sha }}
- name: Run AssumeUTXO ${{ matrix.network }}
env:
TMP_DATADIR: "${{ runner.temp }}/base_datadir"
BINARIES_DIR: "${{ runner.temp }}/binaries"
run: |
env

# Patch binary shared object dependencies
# nix-shell --command "patch-binary $BINARIES_DIR/head/bitcoind"
# nix-shell --command "patch-binary $BINARIES_DIR/base/bitcoind"

# Run test
mkdir -p "$TMP_DATADIR"
nix-shell --command "just run-${{ matrix.network }}-ci $BASE_SHA $CHECKOUT_COMMIT $TMP_DATADIR $ORIGINAL_DATADIR ${{ runner.temp }}/results.json ${{ matrix.dbcache }} ${{ runner.temp }}/pngs $BINARIES_DIR"
- uses: actions/upload-artifact@v4
with:
name: result-${{ matrix.network }}
path: "${{ runner.temp }}/results.json"
- uses: actions/upload-artifact@v4
with:
name: pngs-${{ matrix.network }}
path: "${{ runner.temp }}/pngs/*.png"
- uses: actions/upload-artifact@v4
with:
name: flamegraph-${{ matrix.network }}
path: "**/*-flamegraph.svg"
- name: Write GitHub and runner context files
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
RUNNER_CONTEXT: ${{ toJSON(runner) }}
run: |
mkdir contexts
echo "$GITHUB_CONTEXT" | nix-shell -p jq --command "jq 'del(.token)' > contexts/github.json"
echo "$RUNNER_CONTEXT" > contexts/runner.json
- name: Upload context metadata as artifact
uses: actions/upload-artifact@v4
with:
name: run-metadata-${{ matrix.network }}
path: ./contexts/
Loading