mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-22 16:14:50 +01:00
Compare commits
163 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
027a60d218 | ||
|
|
65dc198d2c | ||
|
|
89fe999cda | ||
|
|
0034dcfba9 | ||
|
|
eb1574af0c | ||
|
|
f9f1ca5445 | ||
|
|
9dd7efc8c3 | ||
|
|
bbdab3ef7b | ||
|
|
da30ca0efa | ||
|
|
a0ae3fc8a7 | ||
|
|
1c1970fb45 | ||
|
|
3a7e093f94 | ||
|
|
567c3ee3cb | ||
|
|
6b5396c4b1 | ||
|
|
03da7aff99 | ||
|
|
4e3cfa660d | ||
|
|
c5196bc9c4 | ||
|
|
0022e25333 | ||
|
|
206f5902db | ||
|
|
dfdd407c42 | ||
|
|
11538160b3 | ||
|
|
4ed7a51642 | ||
|
|
acfa83d9d0 | ||
|
|
81751341e9 | ||
|
|
7c3820ff63 | ||
|
|
dfe4e19f66 | ||
|
|
273ffda2c8 | ||
|
|
9cde68fa98 | ||
|
|
25f975b8df | ||
|
|
24c793d06c | ||
|
|
0b6b096421 | ||
|
|
a0992a842e | ||
|
|
41262cc4d5 | ||
|
|
4987c03531 | ||
|
|
837c5c7fd8 | ||
|
|
b9e637bd0e | ||
|
|
2b9738a083 | ||
|
|
4e8abca445 | ||
|
|
a08886d564 | ||
|
|
264418f80c | ||
|
|
a18b53f99e | ||
|
|
9437415024 | ||
|
|
3cd8612cd7 | ||
|
|
565af03c37 | ||
|
|
4c2d285b70 | ||
|
|
06eb42d83c | ||
|
|
735ffad864 | ||
|
|
4bf77955ed | ||
|
|
951b349af1 | ||
|
|
c6fe6971bf | ||
|
|
380b5aded2 | ||
|
|
8063d55446 | ||
|
|
f25dc84b28 | ||
|
|
411e15194b | ||
|
|
5e327e6703 | ||
|
|
79e1a3c9c6 | ||
|
|
313023369b | ||
|
|
0a4671d5eb | ||
|
|
204b965915 | ||
|
|
ef380a454c | ||
|
|
5300295083 | ||
|
|
730886b92b | ||
|
|
f798c317a0 | ||
|
|
bc2147c884 | ||
|
|
58b1a65ab0 | ||
|
|
f85d41c224 | ||
|
|
84c0c0e64b | ||
|
|
83ee49b1dc | ||
|
|
e5a7575a6d | ||
|
|
59a83fb8d1 | ||
|
|
9f3690b978 | ||
|
|
8a4a938db5 | ||
|
|
3a57bfaaf9 | ||
|
|
f82015ccfc | ||
|
|
222fbfcc6a | ||
|
|
d360a6ef56 | ||
|
|
ef2a013e31 | ||
|
|
4b656e2023 | ||
|
|
1c0e19b93a | ||
|
|
eafea2393d | ||
|
|
a3c1939d6e | ||
|
|
a990c1002b | ||
|
|
5987c1b6ab | ||
|
|
e37a70bf71 | ||
|
|
983b268768 | ||
|
|
0922f6bbc3 | ||
|
|
5697605414 | ||
|
|
4c7ed36c96 | ||
|
|
3e23b47a6f | ||
|
|
616baf3c27 | ||
|
|
ef6111bd18 | ||
|
|
8246c6a65f | ||
|
|
a18085a18b | ||
|
|
7264459c0d | ||
|
|
27c533052c | ||
|
|
1b51d750ad | ||
|
|
aea8a394b1 | ||
|
|
23e76ef520 | ||
|
|
876a7b2db5 | ||
|
|
78688c8413 | ||
|
|
c899334e36 | ||
|
|
247ee59f55 | ||
|
|
4a1143b083 | ||
|
|
646fa1d028 | ||
|
|
17b31fc802 | ||
|
|
e34b6fbcad | ||
|
|
142153ee42 | ||
|
|
589b56192f | ||
|
|
a0d1f69b55 | ||
|
|
6c0f26d3bd | ||
|
|
e685b4eca2 | ||
|
|
25aa15ee7f | ||
|
|
cf034172bf | ||
|
|
c966158426 | ||
|
|
6c4e3de2ac | ||
|
|
edd4073d70 | ||
|
|
cc2fcdfc5e | ||
|
|
caec3cc41b | ||
|
|
fabf4ff237 | ||
|
|
f9d2c67a0c | ||
|
|
6ed087dede | ||
|
|
2f6c802b54 | ||
|
|
f4d9546425 | ||
|
|
5aa4956cd3 | ||
|
|
3665310808 | ||
|
|
4ed5c34abb | ||
|
|
3dbd2b3d17 | ||
|
|
64552c83b2 | ||
|
|
85f3e1de68 | ||
|
|
ca70d5cb25 | ||
|
|
3fad438b83 | ||
|
|
fc60337733 | ||
|
|
f490f5562d | ||
|
|
87e53781f7 | ||
|
|
56ed476a29 | ||
|
|
977db54233 | ||
|
|
190e718e83 | ||
|
|
50108104d7 | ||
|
|
1344d3bd0f | ||
|
|
f80ab9a5d8 | ||
|
|
7c05ef5673 | ||
|
|
c0756b758f | ||
|
|
477345207b | ||
|
|
7bc7af9951 | ||
|
|
288163ea0f | ||
|
|
a3060483fa | ||
|
|
d6db87165c | ||
|
|
74df31cb0b | ||
|
|
8082f88d1a | ||
|
|
472d582bfe | ||
|
|
a4c30bd00a | ||
|
|
4e438d326e | ||
|
|
7ff0b02161 | ||
|
|
5ebcb59fdb | ||
|
|
458655bca8 | ||
|
|
15ecae31a8 | ||
|
|
80c5d57bd1 | ||
|
|
e9e6825b8c | ||
|
|
47e2fa86dc | ||
|
|
21f423939e | ||
|
|
86a3ce6209 | ||
|
|
95c21b1fdd | ||
|
|
153bd443ec |
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -194,10 +194,12 @@ jobs:
|
||||
Write-Host "PowerShell version $($PSVersionTable.PSVersion.ToString())"
|
||||
|
||||
- name: Using vcpkg with MSBuild
|
||||
shell: bash
|
||||
run: |
|
||||
Set-Location "$env:VCPKG_INSTALLATION_ROOT"
|
||||
Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
|
||||
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
|
||||
echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows.cmake"
|
||||
echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows-static.cmake"
|
||||
# Workaround for libevent, which requires CMake 3.1 but is incompatible with CMake >= 4.0.
|
||||
sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake"
|
||||
|
||||
- name: vcpkg tools cache
|
||||
uses: actions/cache@v4
|
||||
|
||||
@@ -19,15 +19,19 @@ if(POLICY CMP0171)
|
||||
cmake_policy(SET CMP0171 NEW)
|
||||
endif()
|
||||
|
||||
# When adjusting CMake flag variables, we must not override those explicitly
|
||||
# set by the user. These are a subset of the CACHE_VARIABLES property.
|
||||
get_directory_property(precious_variables CACHE_VARIABLES)
|
||||
|
||||
#=============================
|
||||
# Project / Package metadata
|
||||
#=============================
|
||||
set(CLIENT_NAME "Bitcoin Core")
|
||||
set(CLIENT_VERSION_MAJOR 28)
|
||||
set(CLIENT_VERSION_MINOR 99)
|
||||
set(CLIENT_VERSION_MAJOR 29)
|
||||
set(CLIENT_VERSION_MINOR 1)
|
||||
set(CLIENT_VERSION_BUILD 0)
|
||||
set(CLIENT_VERSION_RC 0)
|
||||
set(CLIENT_VERSION_IS_RELEASE "false")
|
||||
set(CLIENT_VERSION_RC 2)
|
||||
set(CLIENT_VERSION_IS_RELEASE "true")
|
||||
set(COPYRIGHT_YEAR "2025")
|
||||
|
||||
# During the enabling of the CXX and CXXOBJ languages, we modify
|
||||
@@ -153,7 +157,7 @@ if(WITH_QRENCODE)
|
||||
set(USE_QRCODE TRUE)
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(WITH_DBUS "Enable DBus support." ON "CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND BUILD_GUI" OFF)
|
||||
cmake_dependent_option(WITH_DBUS "Enable DBus support." ON "NOT CMAKE_SYSTEM_NAME MATCHES \"(Windows|Darwin)\" AND BUILD_GUI" OFF)
|
||||
|
||||
option(WITH_MULTIPROCESS "Build multiprocess bitcoin-node and bitcoin-gui executables in addition to monolithic bitcoind and bitcoin-qt executables. Requires libmultiprocess library. Experimental." OFF)
|
||||
if(WITH_MULTIPROCESS)
|
||||
@@ -376,6 +380,7 @@ if(SANITIZERS)
|
||||
int main() { return 0; }
|
||||
"
|
||||
RESULT_VAR linker_supports_sanitizers
|
||||
NO_CACHE_IF_FAILED
|
||||
)
|
||||
if(NOT linker_supports_sanitizers)
|
||||
message(FATAL_ERROR "Linker did not accept requested flags, you are missing required libraries.")
|
||||
@@ -659,7 +664,7 @@ message(" external signer ..................... ${ENABLE_EXTERNAL_SIGNER}")
|
||||
message(" ZeroMQ .............................. ${WITH_ZMQ}")
|
||||
message(" USDT tracing ........................ ${WITH_USDT}")
|
||||
message(" QR code (GUI) ....................... ${WITH_QRENCODE}")
|
||||
message(" DBus (GUI, Linux only) .............. ${WITH_DBUS}")
|
||||
message(" DBus (GUI) .......................... ${WITH_DBUS}")
|
||||
message("Tests:")
|
||||
message(" test_bitcoin ........................ ${BUILD_TESTS}")
|
||||
message(" test_bitcoin-qt ..................... ${BUILD_GUI_TESTS}")
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"cmakeMinimumRequired": {"major": 3, "minor": 21, "patch": 0},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "vs2022",
|
||||
|
||||
@@ -70,7 +70,7 @@ Translations
|
||||
------------
|
||||
|
||||
Changes to translations as well as new translations can be submitted to
|
||||
[Bitcoin Core's Transifex page](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
[Bitcoin Core's Transifex page](https://explore.transifex.com/bitcoin/bitcoin/).
|
||||
|
||||
Translations are periodically pulled from Transifex and merged into the git repository. See the
|
||||
[translation process](doc/translation_process.md) for details on how this works.
|
||||
|
||||
@@ -17,6 +17,18 @@ function(add_boost_if_needed)
|
||||
directory and other added INTERFACE properties.
|
||||
]=]
|
||||
|
||||
if(CMAKE_HOST_APPLE)
|
||||
find_program(HOMEBREW_EXECUTABLE brew)
|
||||
if(HOMEBREW_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND ${HOMEBREW_EXECUTABLE} --prefix boost
|
||||
OUTPUT_VARIABLE Boost_ROOT
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# We cannot rely on find_package(Boost ...) to work properly without
|
||||
# Boost_NO_BOOST_CMAKE set until we require a more recent Boost because
|
||||
# upstream did not ship proper CMake files until 1.82.0.
|
||||
|
||||
@@ -21,16 +21,16 @@ endif()
|
||||
|
||||
find_path(QRencode_INCLUDE_DIR
|
||||
NAMES qrencode.h
|
||||
PATHS ${PC_QRencode_INCLUDE_DIRS}
|
||||
HINTS ${PC_QRencode_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_library(QRencode_LIBRARY_RELEASE
|
||||
NAMES qrencode
|
||||
PATHS ${PC_QRencode_LIBRARY_DIRS}
|
||||
HINTS ${PC_QRencode_LIBRARY_DIRS}
|
||||
)
|
||||
find_library(QRencode_LIBRARY_DEBUG
|
||||
NAMES qrencoded qrencode
|
||||
PATHS ${PC_QRencode_LIBRARY_DIRS}
|
||||
HINTS ${PC_QRencode_LIBRARY_DIRS}
|
||||
)
|
||||
include(SelectLibraryConfigurations)
|
||||
select_library_configurations(QRencode)
|
||||
|
||||
@@ -83,6 +83,7 @@ function(add_macos_deploy_target)
|
||||
COMMAND ${CMAKE_COMMAND} --install ${PROJECT_BINARY_DIR} --config $<CONFIG> --component bitcoin-qt --prefix ${macos_app}/Contents/MacOS --strip
|
||||
COMMAND ${CMAKE_COMMAND} -E rename ${macos_app}/Contents/MacOS/bin/$<TARGET_FILE_NAME:bitcoin-qt> ${macos_app}/Contents/MacOS/Bitcoin-Qt
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/bin
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf ${macos_app}/Contents/MacOS/share
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
|
||||
@@ -105,14 +105,13 @@ function(remove_cxx_flag_from_all_configs flag)
|
||||
endfunction()
|
||||
|
||||
function(replace_cxx_flag_in_config config old_flag new_flag)
|
||||
string(TOUPPER "${config}" config_uppercase)
|
||||
string(REGEX REPLACE "(^| )${old_flag}( |$)" "\\1${new_flag}\\2" new_flags "${CMAKE_CXX_FLAGS_${config_uppercase}}")
|
||||
set(CMAKE_CXX_FLAGS_${config_uppercase} "${new_flags}" PARENT_SCOPE)
|
||||
set(CMAKE_CXX_FLAGS_${config_uppercase} "${new_flags}"
|
||||
CACHE STRING
|
||||
"Flags used by the CXX compiler during ${config_uppercase} builds."
|
||||
FORCE
|
||||
)
|
||||
string(TOUPPER "CMAKE_CXX_FLAGS_${config}" var_name)
|
||||
if("${var_name}" IN_LIST precious_variables)
|
||||
return()
|
||||
endif()
|
||||
string(REGEX REPLACE "(^| )${old_flag}( |$)" "\\1${new_flag}\\2" ${var_name} "${${var_name}}")
|
||||
set(${var_name} "${${var_name}}" PARENT_SCOPE)
|
||||
set_property(CACHE ${var_name} PROPERTY VALUE "${${var_name}}")
|
||||
endfunction()
|
||||
|
||||
set_default_config(RelWithDebInfo)
|
||||
|
||||
@@ -20,7 +20,7 @@ In configuration output, this function prints a string by the following pattern:
|
||||
function(try_append_linker_flag flag)
|
||||
cmake_parse_arguments(PARSE_ARGV 1
|
||||
TALF # prefix
|
||||
"" # options
|
||||
"NO_CACHE_IF_FAILED" # options
|
||||
"TARGET;VAR;SOURCE;RESULT_VAR" # one_value_keywords
|
||||
"IF_CHECK_PASSED" # multi_value_keywords
|
||||
)
|
||||
@@ -68,6 +68,10 @@ function(try_append_linker_flag flag)
|
||||
if(DEFINED TALF_RESULT_VAR)
|
||||
set(${TALF_RESULT_VAR} "${${result}}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
if(NOT ${result} AND TALF_NO_CACHE_IF_FAILED)
|
||||
unset(${result} CACHE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if(MSVC)
|
||||
|
||||
@@ -50,7 +50,8 @@ EOF
|
||||
# adding newlines is a bit funky to ensure portability for BSD
|
||||
# see here for more details: https://stackoverflow.com/a/24575385
|
||||
${BITCOIND} --help \
|
||||
| sed '1,/Print this help message and exit/d' \
|
||||
| sed '1,/Options:/d' \
|
||||
| sed -E '/^[[:space:]]{2}-help/,/^[[:space:]]*$/d' \
|
||||
| sed -E 's/^[[:space:]]{2}\-/#/' \
|
||||
| sed -E 's/^[[:space:]]{7}/# /' \
|
||||
| sed -E '/[=[:space:]]/!s/#.*$/&=1/' \
|
||||
|
||||
@@ -319,7 +319,7 @@ Source: https://logs.guix.gnu.org/guix/2020-11-12.log#232527
|
||||
Start by cloning Guix:
|
||||
|
||||
```
|
||||
git clone https://git.savannah.gnu.org/git/guix.git
|
||||
git clone https://codeberg.org/guix/guix.git
|
||||
cd guix
|
||||
```
|
||||
|
||||
@@ -607,7 +607,7 @@ checklist.
|
||||
```
|
||||
Generation 38 Feb 22 2021 16:39:31 (current)
|
||||
guix f350df4
|
||||
repository URL: https://git.savannah.gnu.org/git/guix.git
|
||||
repository URL: https://codeberg.org/guix/guix.git
|
||||
branch: version-1.2.0
|
||||
commit: f350df405fbcd5b9e27e6b6aa500da7f101f41e7
|
||||
```
|
||||
@@ -760,8 +760,8 @@ Please see the following links for more details:
|
||||
|
||||
- An upstream coreutils bug has been filed: [debbugs#47940](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47940)
|
||||
- A Guix bug detailing the underlying problem has been filed: [guix-issues#47935](https://issues.guix.gnu.org/47935), [guix-issues#49985](https://issues.guix.gnu.org/49985#5)
|
||||
- A commit to skip this test in Guix has been merged into the core-updates branch:
|
||||
[savannah/guix@6ba1058](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=6ba1058df0c4ce5611c2367531ae5c3cdc729ab4)
|
||||
- A commit to skip this test is included since Guix 1.4.0:
|
||||
[codeberg/guix@6ba1058](https://codeberg.org/guix/guix/commit/6ba1058df0c4ce5611c2367531ae5c3cdc729ab4)
|
||||
|
||||
|
||||
[install-script]: #options-1-and-2-using-the-official-shell-installer-script-or-binary-tarball
|
||||
|
||||
@@ -69,6 +69,12 @@ fi
|
||||
|
||||
mkdir -p "$VERSION_BASE"
|
||||
|
||||
################
|
||||
# SOURCE_DATE_EPOCH should not unintentionally be set
|
||||
################
|
||||
|
||||
check_source_date_epoch
|
||||
|
||||
################
|
||||
# Build directories should not exist
|
||||
################
|
||||
|
||||
@@ -67,6 +67,12 @@ EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
################
|
||||
# SOURCE_DATE_EPOCH should not unintentionally be set
|
||||
################
|
||||
|
||||
check_source_date_epoch
|
||||
|
||||
################
|
||||
# The codesignature git worktree should not be dirty
|
||||
################
|
||||
|
||||
@@ -21,6 +21,26 @@ check_tools() {
|
||||
done
|
||||
}
|
||||
|
||||
################
|
||||
# SOURCE_DATE_EPOCH should not unintentionally be set
|
||||
################
|
||||
|
||||
check_source_date_epoch() {
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ] && [ -z "$FORCE_SOURCE_DATE_EPOCH" ]; then
|
||||
cat << EOF
|
||||
ERR: Environment variable SOURCE_DATE_EPOCH is set which may break reproducibility.
|
||||
|
||||
Aborting...
|
||||
|
||||
Hint: You may want to:
|
||||
1. Unset this variable: \`unset SOURCE_DATE_EPOCH\` before rebuilding
|
||||
2. Set the 'FORCE_SOURCE_DATE_EPOCH' environment variable if you insist on
|
||||
using your own epoch
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_tools cat env readlink dirname basename git
|
||||
|
||||
################
|
||||
@@ -50,7 +70,7 @@ fi
|
||||
# across time.
|
||||
time-machine() {
|
||||
# shellcheck disable=SC2086
|
||||
guix time-machine --url=https://git.savannah.gnu.org/git/guix.git \
|
||||
guix time-machine --url=https://codeberg.org/guix/guix.git \
|
||||
--commit=53396a22afc04536ddf75d8f82ad2eafa5082725 \
|
||||
--cores="$JOBS" \
|
||||
--keep-failed \
|
||||
|
||||
@@ -66,7 +66,7 @@ BPF_PERF_OUTPUT(replaced_events);
|
||||
int trace_added(struct pt_regs *ctx) {
|
||||
struct added_event added = {};
|
||||
void *phash = NULL;
|
||||
bpf_usdt_readarg(1, ctx, phash);
|
||||
bpf_usdt_readarg(1, ctx, &phash);
|
||||
bpf_probe_read_user(&added.hash, sizeof(added.hash), phash);
|
||||
bpf_usdt_readarg(2, ctx, &added.vsize);
|
||||
bpf_usdt_readarg(3, ctx, &added.fee);
|
||||
@@ -78,9 +78,9 @@ int trace_added(struct pt_regs *ctx) {
|
||||
int trace_removed(struct pt_regs *ctx) {
|
||||
struct removed_event removed = {};
|
||||
void *phash = NULL, *preason = NULL;
|
||||
bpf_usdt_readarg(1, ctx, phash);
|
||||
bpf_usdt_readarg(1, ctx, &phash);
|
||||
bpf_probe_read_user(&removed.hash, sizeof(removed.hash), phash);
|
||||
bpf_usdt_readarg(1, ctx, preason);
|
||||
bpf_usdt_readarg(2, ctx, &preason);
|
||||
bpf_probe_read_user_str(&removed.reason, sizeof(removed.reason), preason);
|
||||
bpf_usdt_readarg(3, ctx, &removed.vsize);
|
||||
bpf_usdt_readarg(4, ctx, &removed.fee);
|
||||
@@ -93,9 +93,9 @@ int trace_removed(struct pt_regs *ctx) {
|
||||
int trace_rejected(struct pt_regs *ctx) {
|
||||
struct rejected_event rejected = {};
|
||||
void *phash = NULL, *preason = NULL;
|
||||
bpf_usdt_readarg(1, ctx, phash);
|
||||
bpf_usdt_readarg(1, ctx, &phash);
|
||||
bpf_probe_read_user(&rejected.hash, sizeof(rejected.hash), phash);
|
||||
bpf_usdt_readarg(1, ctx, preason);
|
||||
bpf_usdt_readarg(2, ctx, &preason);
|
||||
bpf_probe_read_user_str(&rejected.reason, sizeof(rejected.reason), preason);
|
||||
rejected_events.perf_submit(ctx, &rejected, sizeof(rejected));
|
||||
return 0;
|
||||
@@ -104,12 +104,12 @@ int trace_rejected(struct pt_regs *ctx) {
|
||||
int trace_replaced(struct pt_regs *ctx) {
|
||||
struct replaced_event replaced = {};
|
||||
void *phash_replaced = NULL, *phash_replacement = NULL;
|
||||
bpf_usdt_readarg(1, ctx, phash_replaced);
|
||||
bpf_usdt_readarg(1, ctx, &phash_replaced);
|
||||
bpf_probe_read_user(&replaced.replaced_hash, sizeof(replaced.replaced_hash), phash_replaced);
|
||||
bpf_usdt_readarg(2, ctx, &replaced.replaced_vsize);
|
||||
bpf_usdt_readarg(3, ctx, &replaced.replaced_fee);
|
||||
bpf_usdt_readarg(4, ctx, &replaced.replaced_entry_time);
|
||||
bpf_usdt_readarg(5, ctx, phash_replacement);
|
||||
bpf_usdt_readarg(5, ctx, &phash_replacement);
|
||||
bpf_probe_read_user(&replaced.replacement_hash, sizeof(replaced.replacement_hash), phash_replacement);
|
||||
bpf_usdt_readarg(6, ctx, &replaced.replacement_vsize);
|
||||
bpf_usdt_readarg(7, ctx, &replaced.replacement_fee);
|
||||
|
||||
@@ -54,7 +54,7 @@ int trace_inbound_message(struct pt_regs *ctx) {
|
||||
bpf_probe_read_user_str(&msg.peer_addr, sizeof(msg.peer_addr), paddr);
|
||||
bpf_usdt_readarg(3, ctx, &pconn_type);
|
||||
bpf_probe_read_user_str(&msg.peer_conn_type, sizeof(msg.peer_conn_type), pconn_type);
|
||||
bpf_usdt_readarg(4, ctx, &pconn_type);
|
||||
bpf_usdt_readarg(4, ctx, &pmsg_type);
|
||||
bpf_probe_read_user_str(&msg.msg_type, sizeof(msg.msg_type), pmsg_type);
|
||||
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
||||
|
||||
@@ -71,7 +71,7 @@ int trace_outbound_message(struct pt_regs *ctx) {
|
||||
bpf_probe_read_user_str(&msg.peer_addr, sizeof(msg.peer_addr), paddr);
|
||||
bpf_usdt_readarg(3, ctx, &pconn_type);
|
||||
bpf_probe_read_user_str(&msg.peer_conn_type, sizeof(msg.peer_conn_type), pconn_type);
|
||||
bpf_usdt_readarg(4, ctx, &pconn_type);
|
||||
bpf_usdt_readarg(4, ctx, &pmsg_type);
|
||||
bpf_probe_read_user_str(&msg.msg_type, sizeof(msg.msg_type), pmsg_type);
|
||||
bpf_usdt_readarg(5, ctx, &msg.msg_size);
|
||||
|
||||
|
||||
@@ -206,6 +206,7 @@ endif
|
||||
$(host_prefix)/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_$(final_build_id)
|
||||
@mkdir -p $(@D)
|
||||
sed -e 's|@depends_crosscompiling@|$(crosscompiling)|' \
|
||||
-e 's|@host@|$(host)|' \
|
||||
-e 's|@host_system_name@|$($(host_os)_cmake_system_name)|' \
|
||||
-e 's|@host_system_version@|$($(host_os)_cmake_system_version)|' \
|
||||
-e 's|@host_arch@|$(host_arch)|' \
|
||||
|
||||
@@ -90,15 +90,15 @@ For linux S390X cross compilation:
|
||||
|
||||
### Install the required dependencies: FreeBSD
|
||||
|
||||
pkg install bash
|
||||
pkg install bash cmake curl gmake
|
||||
|
||||
### Install the required dependencies: NetBSD
|
||||
|
||||
pkgin install bash gmake
|
||||
pkgin install bash cmake curl gmake perl
|
||||
|
||||
### Install the required dependencies: OpenBSD
|
||||
|
||||
pkg_add bash gmake gtar
|
||||
pkg_add bash cmake curl gmake gtar
|
||||
|
||||
### Dependency Options
|
||||
|
||||
|
||||
@@ -3,3 +3,7 @@ build_freebsd_CXX=clang++
|
||||
|
||||
build_freebsd_SHA256SUM = sha256sum
|
||||
build_freebsd_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
|
||||
|
||||
# freebsd host on freebsd builder: override freebsd host preferences.
|
||||
freebsd_CC = clang
|
||||
freebsd_CXX = clang++
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
build_openbsd_CC = clang
|
||||
build_openbsd_CXX = clang++
|
||||
|
||||
build_openbsd_SHA256SUM = sha256
|
||||
build_openbsd_SHA256SUM = sha256 -r
|
||||
build_openbsd_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
|
||||
|
||||
build_openbsd_TAR = gtar
|
||||
# openBSD touch doesn't understand -h
|
||||
build_openbsd_TOUCH = touch -m -t 200001011200
|
||||
|
||||
# openbsd host on openbsd builder: override openbsd host preferences.
|
||||
openbsd_CC = clang
|
||||
openbsd_CXX = clang++
|
||||
|
||||
@@ -187,6 +187,7 @@ $(1)_cmake=env CC="$$($(1)_cc)" \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib/ \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
-DCMAKE_VERBOSE_MAKEFILE:BOOL=$(V) \
|
||||
-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY:BOOL=TRUE \
|
||||
$$($(1)_config_opts)
|
||||
ifeq ($($(1)_type),build)
|
||||
$(1)_cmake += -DCMAKE_INSTALL_RPATH:PATH="$$($($(1)_type)_prefix)/lib"
|
||||
|
||||
@@ -5,7 +5,7 @@ $(package)_download_file=$(native_$(package)_download_file)
|
||||
$(package)_file_name=$(native_$(package)_file_name)
|
||||
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
|
||||
|
||||
define $(package)_set_vars :=
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DBUILD_TESTING=OFF
|
||||
$(package)_config_opts += -DWITH_OPENSSL=OFF
|
||||
$(package)_config_opts += -DWITH_ZLIB=OFF
|
||||
|
||||
@@ -4,6 +4,7 @@ $(package)_download_path=https://download.savannah.gnu.org/releases/$(package)
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7
|
||||
$(package)_build_subdir=build
|
||||
$(package)_patches += cmake_minimum.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DCMAKE_BUILD_TYPE=None -DBUILD_SHARED_LIBS=TRUE
|
||||
@@ -12,6 +13,10 @@ define $(package)_set_vars
|
||||
$(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/cmake_minimum.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) -S .. -B .
|
||||
endef
|
||||
|
||||
@@ -5,6 +5,7 @@ $(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
||||
$(package)_patches=cmake_fixups.patch
|
||||
$(package)_patches += netbsd_fixup.patch
|
||||
$(package)_patches += winver_fixup.patch
|
||||
$(package)_build_subdir=build
|
||||
|
||||
# When building for Windows, we set _WIN32_WINNT to target the same Windows
|
||||
@@ -25,7 +26,8 @@ endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/netbsd_fixup.patch
|
||||
patch -p1 < $($(package)_patch_dir)/netbsd_fixup.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/winver_fixup.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
||||
@@ -8,7 +8,7 @@ ifneq ($(host),$(build))
|
||||
$(package)_dependencies += native_capnp
|
||||
endif
|
||||
|
||||
define $(package)_set_vars :=
|
||||
define $(package)_set_vars
|
||||
ifneq ($(host),$(build))
|
||||
$(package)_config_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp"
|
||||
$(package)_config_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package=native_capnp
|
||||
$(package)_version=1.1.0
|
||||
$(package)_version=1.2.0
|
||||
$(package)_download_path=https://capnproto.org/
|
||||
$(package)_download_file=capnproto-c++-$($(package)_version).tar.gz
|
||||
$(package)_file_name=capnproto-cxx-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=07167580e563f5e821e3b2af1c238c16ec7181612650c5901330fa9a0da50939
|
||||
$(package)_sha256_hash=ed00e44ecbbda5186bc78a41ba64a8dc4a861b5f8d4e822959b0144ae6fd42ef
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DBUILD_TESTING=OFF
|
||||
|
||||
@@ -21,6 +21,8 @@ define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
# mkdir detection is broken on Alpine. Set MKDIRPROG to ensure we always
|
||||
# use "mkdir -p", and avoid parallelism issues during install.
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
$(MAKE) MKDIRPROG="mkdir -p" DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
13
depends/patches/freetype/cmake_minimum.patch
Normal file
13
depends/patches/freetype/cmake_minimum.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
build: set minimum required CMake to 3.12
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -97,7 +97,7 @@
|
||||
# FreeType explicitly marks the API to be exported and relies on the compiler
|
||||
# to hide all other symbols. CMake supports a C_VISBILITY_PRESET property
|
||||
# starting with 2.8.12.
|
||||
-cmake_minimum_required(VERSION 2.8.12)
|
||||
+cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
|
||||
# Allow symbol visibility settings also on static libraries. CMake < 3.3
|
||||
122
depends/patches/libevent/winver_fixup.patch
Normal file
122
depends/patches/libevent/winver_fixup.patch
Normal file
@@ -0,0 +1,122 @@
|
||||
Cherry-picked from a14ff91254f40cf36e0fee199e26fb11260fab49.
|
||||
|
||||
move _WIN32_WINNT defintions before first #include
|
||||
|
||||
_WIN32_WINNT and WIN32_LEAN_AND_MEAN need to be defined
|
||||
before the windows.h is included for the first time.
|
||||
Avoid the confusion of indirect #include by defining
|
||||
before any.
|
||||
|
||||
diff --git a/event_iocp.c b/event_iocp.c
|
||||
index 6b2a2e15..4955e426 100644
|
||||
--- a/event_iocp.c
|
||||
+++ b/event_iocp.c
|
||||
@@ -23,12 +23,14 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
-#include "evconfig-private.h"
|
||||
|
||||
#ifndef _WIN32_WINNT
|
||||
/* Minimum required for InitializeCriticalSectionAndSpinCount */
|
||||
#define _WIN32_WINNT 0x0403
|
||||
#endif
|
||||
+
|
||||
+#include "evconfig-private.h"
|
||||
+
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <process.h>
|
||||
diff --git a/evthread_win32.c b/evthread_win32.c
|
||||
index 2ec80560..8647f72b 100644
|
||||
--- a/evthread_win32.c
|
||||
+++ b/evthread_win32.c
|
||||
@@ -23,18 +23,21 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
-#include "event2/event-config.h"
|
||||
-#include "evconfig-private.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifndef _WIN32_WINNT
|
||||
/* Minimum required for InitializeCriticalSectionAndSpinCount */
|
||||
#define _WIN32_WINNT 0x0403
|
||||
#endif
|
||||
-#include <winsock2.h>
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
+#endif
|
||||
+
|
||||
+#include "event2/event-config.h"
|
||||
+#include "evconfig-private.h"
|
||||
+
|
||||
+#ifdef _WIN32
|
||||
+#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
-#undef WIN32_LEAN_AND_MEAN
|
||||
#include <sys/locking.h>
|
||||
#endif
|
||||
|
||||
diff --git a/evutil.c b/evutil.c
|
||||
index 9817f086..8537ffe8 100644
|
||||
--- a/evutil.c
|
||||
+++ b/evutil.c
|
||||
@@ -24,6 +24,14 @@
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
+#ifdef _WIN32
|
||||
+#ifndef _WIN32_WINNT
|
||||
+/* For structs needed by GetAdaptersAddresses */
|
||||
+#define _WIN32_WINNT 0x0501
|
||||
+#endif
|
||||
+#define WIN32_LEAN_AND_MEAN
|
||||
+#endif
|
||||
+
|
||||
#include "event2/event-config.h"
|
||||
#include "evconfig-private.h"
|
||||
|
||||
@@ -31,15 +39,10 @@
|
||||
#include <winsock2.h>
|
||||
#include <winerror.h>
|
||||
#include <ws2tcpip.h>
|
||||
-#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
-#undef WIN32_LEAN_AND_MEAN
|
||||
#include <io.h>
|
||||
#include <tchar.h>
|
||||
#include <process.h>
|
||||
-#undef _WIN32_WINNT
|
||||
-/* For structs needed by GetAdaptersAddresses */
|
||||
-#define _WIN32_WINNT 0x0501
|
||||
#include <iphlpapi.h>
|
||||
#include <netioapi.h>
|
||||
#endif
|
||||
diff --git a/listener.c b/listener.c
|
||||
index f5c00c9c..d1080e76 100644
|
||||
--- a/listener.c
|
||||
+++ b/listener.c
|
||||
@@ -24,16 +24,19 @@
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
+#ifdef _WIN32
|
||||
+#ifndef _WIN32_WINNT
|
||||
+/* Minimum required for InitializeCriticalSectionAndSpinCount */
|
||||
+#define _WIN32_WINNT 0x0403
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#include "event2/event-config.h"
|
||||
#include "evconfig-private.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
-#ifndef _WIN32_WINNT
|
||||
-/* Minimum required for InitializeCriticalSectionAndSpinCount */
|
||||
-#define _WIN32_WINNT 0x0403
|
||||
-#endif
|
||||
#include <winsock2.h>
|
||||
#include <winerror.h>
|
||||
#include <ws2tcpip.h>
|
||||
@@ -13,6 +13,10 @@ if(@depends_crosscompiling@)
|
||||
set(CMAKE_SYSTEM_NAME @host_system_name@)
|
||||
set(CMAKE_SYSTEM_VERSION @host_system_version@)
|
||||
set(CMAKE_SYSTEM_PROCESSOR @host_arch@)
|
||||
|
||||
set(CMAKE_C_COMPILER_TARGET @host@)
|
||||
set(CMAKE_CXX_COMPILER_TARGET @host@)
|
||||
set(CMAKE_OBJCXX_COMPILER_TARGET @host@)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_C_FLAGS_INIT)
|
||||
@@ -88,6 +92,22 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
set(QT_TRANSLATIONS_DIR "${CMAKE_CURRENT_LIST_DIR}/translations")
|
||||
|
||||
# The following is only necessary when using cmake from Nix or NixOS, because
|
||||
# Nix patches cmake to remove the root directory `/` from
|
||||
# CMAKE_SYSTEM_PREFIX_PATH. Adding it back is harmless on other platforms and
|
||||
# necessary on Nix because without it cmake find_path, find_package, etc
|
||||
# functions do not know where to look in CMAKE_FIND_ROOT_PATH for dependencies
|
||||
# (https://github.com/bitcoin/bitcoin/issues/32428).
|
||||
#
|
||||
# TODO: longer term, it may be possible to use a dependency provider, which
|
||||
# would bring the find_package calls completely under our control, making this
|
||||
# patch unnecessary.
|
||||
#
|
||||
# Make sure we only append once, as this file may be called repeatedly.
|
||||
if(NOT "/" IN_LIST CMAKE_PREFIX_PATH)
|
||||
list(APPEND CMAKE_PREFIX_PATH "/")
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
|
||||
# The find_package(Qt ...) function internally uses find_library()
|
||||
# calls for all dependencies to ensure their availability.
|
||||
|
||||
@@ -58,7 +58,8 @@ BIPs that are implemented by Bitcoin Core:
|
||||
Validation rules for Taproot (including Schnorr signatures and Tapscript
|
||||
leaves) are implemented as of **v0.21.0** ([PR 19953](https://github.com/bitcoin/bitcoin/pull/19953)),
|
||||
with mainnet activation as of **v0.21.1** ([PR 21377](https://github.com/bitcoin/bitcoin/pull/21377),
|
||||
[PR 21686](https://github.com/bitcoin/bitcoin/pull/21686)).
|
||||
[PR 21686](https://github.com/bitcoin/bitcoin/pull/21686)),
|
||||
always active as of **v24.0** ([PR 23536](https://github.com/bitcoin/bitcoin/pull/23536)).
|
||||
* [`BIP 350`](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki): Addresses for native v1+ segregated Witness outputs use Bech32m instead of Bech32 as of **v22.0** ([PR 20861](https://github.com/bitcoin/bitcoin/pull/20861)).
|
||||
* [`BIP 371`](https://github.com/bitcoin/bips/blob/master/bip-0371.mediawiki): Taproot fields for PSBT as of **v24.0** ([PR 22558](https://github.com/bitcoin/bitcoin/pull/22558)).
|
||||
* [`BIP 379`](https://github.com/bitcoin/bips/blob/master/bip-0379.md): Miniscript was partially implemented in **v24.0** ([PR 24148](https://github.com/bitcoin/bitcoin/pull/24148)), and fully implemented as of **v26.0** ([PR 27255](https://github.com/bitcoin/bitcoin/pull/27255)).
|
||||
|
||||
@@ -129,6 +129,6 @@ cmake -B build -DENABLE_WALLET=OFF
|
||||
### 2. Compile
|
||||
|
||||
```bash
|
||||
cmake --build build # Use "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build # Append "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
```
|
||||
|
||||
@@ -118,6 +118,6 @@ Run `cmake -B build -LH` to see the full list of available options.
|
||||
Build and run the tests:
|
||||
|
||||
```bash
|
||||
cmake --build build # Use "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build # Append "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
```
|
||||
|
||||
@@ -118,8 +118,8 @@ cmake -B build -DBerkeleyDB_INCLUDE_DIR:PATH="${BDB_PREFIX}/include" -DWITH_BDB=
|
||||
### 2. Compile
|
||||
|
||||
```bash
|
||||
cmake --build build # Use "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build # Append "-j N" for N parallel jobs.
|
||||
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
```
|
||||
|
||||
## Resource limits
|
||||
|
||||
@@ -187,8 +187,8 @@ After configuration, you are ready to compile.
|
||||
Run the following in your terminal to compile Bitcoin Core:
|
||||
|
||||
``` bash
|
||||
cmake --build build # Use "-j N" here for N parallel jobs.
|
||||
ctest --test-dir build # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build # Append "-j N" here for N parallel jobs.
|
||||
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
```
|
||||
|
||||
### 3. Deploy (optional)
|
||||
|
||||
@@ -9,8 +9,12 @@ To Build
|
||||
|
||||
```bash
|
||||
cmake -B build
|
||||
cmake --build build # use "-j N" for N parallel jobs
|
||||
cmake --install build # optional
|
||||
```
|
||||
Run `cmake -B build -LH` to see the full list of available options.
|
||||
|
||||
```bash
|
||||
cmake --build build # Append "-j N" for N parallel jobs
|
||||
cmake --install build # Optional
|
||||
```
|
||||
|
||||
See below for instructions on how to [install the dependencies on popular Linux
|
||||
@@ -60,7 +64,7 @@ executables, which are based on BerkeleyDB 4.8. Otherwise, you can build Berkele
|
||||
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
||||
|
||||
ZMQ dependencies (provides ZMQ API):
|
||||
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
|
||||
|
||||
sudo apt-get install libzmq3-dev
|
||||
|
||||
@@ -108,7 +112,7 @@ are based on Berkeley DB 4.8. Otherwise, you can build Berkeley DB [yourself](#b
|
||||
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
|
||||
|
||||
ZMQ dependencies (provides ZMQ API):
|
||||
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
|
||||
|
||||
sudo dnf install zeromq-devel
|
||||
|
||||
@@ -171,13 +175,6 @@ In this case there is no dependency on SQLite or Berkeley DB.
|
||||
|
||||
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
|
||||
|
||||
Additional Configure Flags
|
||||
--------------------------
|
||||
A list of additional configure flags can be displayed with:
|
||||
|
||||
cmake -B build -LH
|
||||
|
||||
|
||||
Setup and Build Example: Arch Linux
|
||||
-----------------------------------
|
||||
This example lists the steps necessary to setup and build a command line only distribution of the latest changes on Arch Linux:
|
||||
|
||||
@@ -54,33 +54,43 @@ In the following instructions, the "Debug" configuration can be specified instea
|
||||
|
||||
```
|
||||
cmake -B build --preset vs2022-static # It might take a while if the vcpkg binary cache is unpopulated or invalidated.
|
||||
cmake --build build --config Release # Use "-j N" for N parallel jobs.
|
||||
ctest --test-dir build --build-config Release # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build --config Release # Append "-j N" for N parallel jobs.
|
||||
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --install build --config Release # Optional.
|
||||
```
|
||||
|
||||
If building with `BUILD_GUI=ON`, vcpkg installation during the build
|
||||
configuration step might fail because of extremely long paths required during
|
||||
vcpkg installation if your vcpkg instance is installed in the default Visual
|
||||
Studio directory. This can be avoided without modifying your vcpkg root
|
||||
directory by changing vcpkg's intermediate build directory with the
|
||||
`--x-buildtrees-root` argument to something shorter, for example:
|
||||
|
||||
```powershell
|
||||
cmake -B build --preset vs2022-static -DVCPKG_INSTALL_OPTIONS="--x-buildtrees-root=C:\vcpkg"
|
||||
```
|
||||
|
||||
### 5. Building with Dynamic Linking without GUI
|
||||
|
||||
```
|
||||
cmake -B build --preset vs2022 -DBUILD_GUI=OFF # It might take a while if the vcpkg binary cache is unpopulated or invalidated.
|
||||
cmake --build build --config Release # Use "-j N" for N parallel jobs.
|
||||
ctest --test-dir build --build-config Release # Use "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
cmake --build build --config Release # Append "-j N" for N parallel jobs.
|
||||
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
|
||||
```
|
||||
|
||||
### 6. vcpkg-specific Issues and Workarounds
|
||||
|
||||
vcpkg installation during the configuration step might fail for various reasons unrelated to Bitcoin Core.
|
||||
|
||||
If the failure is due to a "Buildtrees path … is too long" error, which is often encountered when building
|
||||
with `BUILD_GUI=ON` and using the default vcpkg installation provided by Visual Studio, you can
|
||||
specify a shorter path to store intermediate build files by using
|
||||
the [`--x-buildtrees-root`](https://learn.microsoft.com/en-us/vcpkg/commands/common-options#buildtrees-root) option:
|
||||
|
||||
```powershell
|
||||
cmake -B build --preset vs2022-static -DVCPKG_INSTALL_OPTIONS="--x-buildtrees-root=C:\vcpkg"
|
||||
```
|
||||
|
||||
If vcpkg installation fails with the message "Paths with embedded space may be handled incorrectly", which
|
||||
can occur if your local Bitcoin Core repository path contains spaces, you can override the vcpkg install directory
|
||||
by setting the [`VCPKG_INSTALLED_DIR`](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/users/buildsystems/cmake-integration.md#vcpkg_installed_dir) variable:
|
||||
|
||||
```powershell
|
||||
cmake -B build --preset vs2022-static -DVCPKG_INSTALLED_DIR="C:\path_without_spaces"
|
||||
```
|
||||
|
||||
## Performance Notes
|
||||
|
||||
### 6. vcpkg Manifest Default Features
|
||||
### 7. vcpkg Manifest Default Features
|
||||
|
||||
One can skip vcpkg manifest default features to speedup the configuration step.
|
||||
For example, the following invocation will skip all features except for "wallet" and "tests" and their dependencies:
|
||||
@@ -90,6 +100,6 @@ cmake -B build --preset vs2022 -DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_M
|
||||
|
||||
Available features are listed in the [`vcpkg.json`](/vcpkg.json) file.
|
||||
|
||||
### 7. Antivirus Software
|
||||
### 8. Antivirus Software
|
||||
|
||||
To improve the build process performance, one might add the Bitcoin repository directory to the Microsoft Defender Antivirus exclusions.
|
||||
|
||||
@@ -47,9 +47,9 @@ This means you cannot use a directory that is located directly on the host Windo
|
||||
|
||||
Build using:
|
||||
|
||||
gmake -C depends HOST=x86_64-w64-mingw32 # Use "-j N" for N parallel jobs.
|
||||
gmake -C depends HOST=x86_64-w64-mingw32 # Append "-j N" for N parallel jobs.
|
||||
cmake -B build --toolchain depends/x86_64-w64-mingw32/toolchain.cmake
|
||||
cmake --build build # Use "-j N" for N parallel jobs.
|
||||
cmake --build build # Append "-j N" for N parallel jobs.
|
||||
|
||||
## Depends system
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ One can use `--preset=libfuzzer-nosan` to do the same without common sanitizers
|
||||
See [further](#run-without-sanitizers-for-increased-throughput) for more information.
|
||||
|
||||
There is also a runner script to execute all fuzz targets. Refer to
|
||||
`./test/fuzz/test_runner.py --help` for more details.
|
||||
`./build_fuzz/test/fuzz/test_runner.py --help` for more details.
|
||||
|
||||
## Overview of Bitcoin Core fuzzing
|
||||
|
||||
|
||||
@@ -1,5 +1,201 @@
|
||||
.TH BITCOIN-CLI "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-CLI "1" "August 2025" "bitcoin-cli v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli
|
||||
bitcoin-cli \- manual page for bitcoin-cli v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR]
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,-named <command> \/\fR[\fI\,name=value\/\fR]...
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help\/\fR
|
||||
.br
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help <command>\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v29.1.0rc2
|
||||
.PP
|
||||
The bitcoin\-cli utility provides a command line interface to interact with a Bitcoin Core RPC server.
|
||||
.PP
|
||||
It can be used to query network information, manage wallets, create or broadcast transactions, and control the Bitcoin Core server.
|
||||
.PP
|
||||
Use the "help" command to list all commands. Use "help <command>" to show help for that command.
|
||||
The \fB\-named\fR option allows you to specify parameters using the key=value format, eliminating the need to pass unused positional parameters.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-color=\fR<when>
|
||||
.IP
|
||||
Color setting for CLI output (default: auto). Valid values: always, auto
|
||||
(add color codes when standard output is connected to a terminal
|
||||
and OS is not WIN32), never. Only applies to the output of
|
||||
\fB\-getinfo\fR.
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify configuration file. Relative paths will be prefixed by datadir
|
||||
location. (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-named\fR
|
||||
.IP
|
||||
Pass named instead of positional arguments (default: false)
|
||||
.HP
|
||||
\fB\-rpcclienttimeout=\fR<n>
|
||||
.IP
|
||||
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
|
||||
900)
|
||||
.HP
|
||||
\fB\-rpcconnect=\fR<ip>
|
||||
.IP
|
||||
Send commands to node running on <ip> (default: 127.0.0.1)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, testnet4:
|
||||
48332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwait\fR
|
||||
.IP
|
||||
Wait for RPC server to start
|
||||
.HP
|
||||
\fB\-rpcwaittimeout=\fR<n>
|
||||
.IP
|
||||
Timeout in seconds to wait for the RPC server to start, or 0 for no
|
||||
timeout. (default: 0)
|
||||
.HP
|
||||
\fB\-rpcwallet=\fR<walletname>
|
||||
.IP
|
||||
Send RPC for non\-default wallet on RPC server (needs to exactly match
|
||||
corresponding \fB\-wallet\fR option passed to bitcoind). This changes
|
||||
the RPC endpoint used, e.g.
|
||||
http://127.0.0.1:8332/wallet/<walletname>
|
||||
.HP
|
||||
\fB\-stdin\fR
|
||||
.IP
|
||||
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
|
||||
(recommended for sensitive information such as passphrases). When
|
||||
combined with \fB\-stdinrpcpass\fR, the first line from standard input
|
||||
is used for the RPC password.
|
||||
.HP
|
||||
\fB\-stdinrpcpass\fR
|
||||
.IP
|
||||
Read RPC password from standard input as a single line. When combined
|
||||
with \fB\-stdin\fR, the first line from standard input is used for the
|
||||
RPC password. When combined with \fB\-stdinwalletpassphrase\fR,
|
||||
\fB\-stdinrpcpass\fR consumes the first line, and \fB\-stdinwalletpassphrase\fR
|
||||
consumes the second.
|
||||
.HP
|
||||
\fB\-stdinwalletpassphrase\fR
|
||||
.IP
|
||||
Read wallet passphrase from standard input as a single line. When
|
||||
combined with \fB\-stdin\fR, the first line from standard input is used
|
||||
for the wallet passphrase.
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
CLI Commands:
|
||||
.HP
|
||||
\fB\-addrinfo\fR
|
||||
.IP
|
||||
Get the number of addresses known to the node, per network and total,
|
||||
after filtering for quality and recency. The total number of
|
||||
addresses known to the node may be higher.
|
||||
.HP
|
||||
\fB\-generate\fR
|
||||
.IP
|
||||
Generate blocks, equivalent to RPC getnewaddress followed by RPC
|
||||
generatetoaddress. Optional positional integer arguments are
|
||||
number of blocks to generate (default: 1) and maximum iterations
|
||||
to try (default: 1000000), equivalent to RPC generatetoaddress
|
||||
nblocks and maxtries arguments. Example: bitcoin\-cli \fB\-generate\fR 4
|
||||
1000
|
||||
.HP
|
||||
\fB\-getinfo\fR
|
||||
.IP
|
||||
Get general information from the remote server. Note that unlike
|
||||
server\-side RPC calls, the output of \fB\-getinfo\fR is the result of
|
||||
multiple non\-atomic requests. Some entries in the output may
|
||||
represent results from different states (e.g. wallet balance may
|
||||
be as of a different block from the chain state reported)
|
||||
.HP
|
||||
\fB\-netinfo\fR
|
||||
.IP
|
||||
Get network peer connection information from the remote server. An
|
||||
optional argument from 0 to 4 can be passed for different peers
|
||||
listings (default: 0). If a non\-zero value is passed, an
|
||||
additional "outonly" (or "o") argument can be passed to see
|
||||
outbound peers only. Pass "help" (or "h") for detailed help
|
||||
documentation.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -1,5 +1,852 @@
|
||||
.TH BITCOIN-QT "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-QT "1" "August 2025" "bitcoin-qt v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt
|
||||
bitcoin-qt \- manual page for bitcoin-qt v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-qt
|
||||
[\fI\,options\/\fR] [\fI\,URI\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v29.1.0rc2
|
||||
.PP
|
||||
The bitcoin\-qt application provides a graphical interface for interacting with Bitcoin Core.
|
||||
.PP
|
||||
It combines the core functionalities of bitcoind with a user\-friendly interface for wallet management, transaction history, and network statistics.
|
||||
.PP
|
||||
It is suitable for users who prefer a graphical over a command\-line interface.
|
||||
.PP
|
||||
You can optionally specify a payment [URI], in e.g. the BIP21 URI format.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-alertnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when an alert is raised (%s in cmd is replaced by
|
||||
message)
|
||||
.HP
|
||||
\fB\-allowignoredconf\fR
|
||||
.IP
|
||||
For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
datadir as a warning, not an error.
|
||||
.HP
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
If this block is in the chain assume that it and its ancestors are valid
|
||||
and potentially skip their script verification (0 to verify all,
|
||||
default:
|
||||
00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77,
|
||||
testnet3:
|
||||
00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57,
|
||||
testnet4:
|
||||
0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3,
|
||||
signet:
|
||||
000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Disables automatic
|
||||
broadcast and rebroadcast of transactions, unless the source peer
|
||||
has the 'forcerelay' permission. RPC transactions are not
|
||||
affected. (default: 0)
|
||||
.HP
|
||||
\fB\-blocksxor\fR
|
||||
.IP
|
||||
Whether an XOR\-key applies to blocksdir *.dat files. The created XOR\-key
|
||||
will be zeros for an existing blocksdir or when `\-blocksxor=0` is
|
||||
set, and random for a freshly initialized blocksdir. (default: 1)
|
||||
.HP
|
||||
\fB\-coinstatsindex\fR
|
||||
.IP
|
||||
Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify path to read\-only configuration file. Relative paths will be
|
||||
prefixed by datadir location (only useable from command line, not
|
||||
configuration file) (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
Run in the background as a daemon and accept commands (default: 0)
|
||||
.HP
|
||||
\fB\-daemonwait\fR
|
||||
.IP
|
||||
Wait for initialization to be finished before exiting. This implies
|
||||
\fB\-daemon\fR (default: 0)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Maximum database cache size <n> MiB (minimum 4, default: 450). Make sure
|
||||
you have enough RAM. In addition, unused memory allocated to the
|
||||
mempool is shared with this cache (see \fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file (default: debug.log). Relative paths
|
||||
will be prefixed by a net\-specific datadir location. Pass
|
||||
\fB\-nodebuglogfile\fR to disable writing the log to a file.
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-includeconf=\fR<file>
|
||||
.IP
|
||||
Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
(only useable from configuration file, not command line)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
.HP
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
336)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
.IP
|
||||
Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
.HP
|
||||
\fB\-persistmempoolv1\fR
|
||||
.IP
|
||||
Whether a mempool.dat file created by \fB\-persistmempool\fR or the savemempool
|
||||
RPC will be written in the legacy format (version 1) or the
|
||||
current format (version 2). This temporary option will be removed
|
||||
in the future. (default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
.IP
|
||||
Specify pid file. Relative paths will be prefixed by a net\-specific
|
||||
datadir location. (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
Reduce storage requirements by enabling pruning (deleting) of old
|
||||
blocks. This allows the pruneblockchain RPC to be called to
|
||||
delete specific blocks and enables automatic pruning of old
|
||||
blocks if a target size in MiB is provided. This mode is
|
||||
incompatible with \fB\-txindex\fR. Warning: Reverting this setting
|
||||
requires re\-downloading the entire blockchain. (default: 0 =
|
||||
disable pruning blocks, 1 = allow manual pruning via RPC, >=550 =
|
||||
automatically prune block files to stay under the specified
|
||||
target size in MiB)
|
||||
.HP
|
||||
\fB\-reindex\fR
|
||||
.IP
|
||||
If enabled, wipe chain state and block index, and rebuild them from
|
||||
blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
its chainstate will be wiped as well. The snapshot can then be
|
||||
reloaded via RPC.
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. File is written at runtime and not meant to be
|
||||
edited by users (use bitcoin.conf instead for custom settings).
|
||||
Relative paths will be prefixed by datadir location. (default:
|
||||
settings.json)
|
||||
.HP
|
||||
\fB\-shutdownnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command immediately before beginning shutdown. The need for
|
||||
shutdown may be urgent, so be careful not to delay it long (if
|
||||
the command doesn't require interaction with the server, consider
|
||||
having it fork into the background).
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-txindex\fR
|
||||
.IP
|
||||
Maintain a full transaction index, used by the getrawtransaction rpc
|
||||
call (default: 0)
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
Add a node to connect to and attempt to keep the connection open (see
|
||||
the addnode RPC help for more info). This option can be specified
|
||||
multiple times to add multiple nodes; connections are limited to
|
||||
8 at a time and are counted separately from the \fB\-maxconnections\fR
|
||||
limit.
|
||||
.HP
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
Bind to given address and always listen on it (default: 0.0.0.0). Use
|
||||
[host]:port notation for IPv6. Append =onion to tag any incoming
|
||||
connections to that address and port as incoming Tor connections
|
||||
(default: 127.0.0.1:8334=onion, testnet3: 127.0.0.1:18334=onion,
|
||||
testnet4: 127.0.0.1:48334=onion, signet: 127.0.0.1:38334=onion,
|
||||
regtest: 127.0.0.1:18445=onion)
|
||||
.HP
|
||||
\fB\-cjdnsreachable\fR
|
||||
.IP
|
||||
If set, then this host is configured for CJDNS (connecting to fc00::/8
|
||||
addresses would lead us to the CJDNS network, see doc/cjdns.md)
|
||||
(default: 0)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node; \fB\-noconnect\fR disables automatic
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR). This option can be specified multiple times to connect
|
||||
to multiple nodes.
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
|
||||
or \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-dns\fR
|
||||
.IP
|
||||
Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
|
||||
.HP
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR used or \fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
Specify your own public address
|
||||
.HP
|
||||
\fB\-fixedseeds\fR
|
||||
.IP
|
||||
Allow fixed seeds if DNS seeds don't provide peers (default: 1)
|
||||
.HP
|
||||
\fB\-forcednsseed\fR
|
||||
.IP
|
||||
Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-i2pacceptincoming\fR
|
||||
.IP
|
||||
Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
\fB\-i2psam\fR is not set. Listening for inbound I2P connections is done
|
||||
through the SAM proxy, not by binding to a local address and
|
||||
port.
|
||||
.HP
|
||||
\fB\-i2psam=\fR<ip:port>
|
||||
.IP
|
||||
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
none)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR, \fB\-connect\fR or
|
||||
\fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
Maintain at most <n> automatic connections to peers (default: 125). This
|
||||
limit does not apply to connections manually added via \fB\-addnode\fR
|
||||
or the addnode RPC, which have a separate limit of 8.
|
||||
.HP
|
||||
\fB\-maxreceivebuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
.HP
|
||||
\fB\-maxsendbuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
(default: 1000)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
Tries to keep outbound traffic under the given target per 24h. Limit
|
||||
does not apply to peers with 'download' permission or blocks
|
||||
created within past week. 0 = no limit (default: 0M). Optional
|
||||
suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000
|
||||
base while uppercase is 1024 base
|
||||
.HP
|
||||
\fB\-natpmp\fR
|
||||
.IP
|
||||
Use PCP or NAT\-PMP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port|path>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR). May be a local file path
|
||||
prefixed with 'unix:'.
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
.IP
|
||||
Make automatic outbound connections only to network <net> (ipv4, ipv6,
|
||||
onion, i2p, cjdns). Inbound and manual connections are not
|
||||
affected by this option. It can be specified multiple times to
|
||||
allow multiple networks.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
0)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port> (default: 8333, testnet3: 18333,
|
||||
testnet4: 48333, signet: 38333, regtest: 18444). Not relevant for
|
||||
I2P (see doc/i2p.md). If set to a value x, the default onion
|
||||
listening port will be set to x+1.
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port|path>
|
||||
.IP
|
||||
Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default:
|
||||
disabled). May be a local file path prefixed with 'unix:' if the
|
||||
proxy supports it.
|
||||
.HP
|
||||
\fB\-proxyrandomize\fR
|
||||
.IP
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect. This
|
||||
option can be specified multiple times to connect to multiple
|
||||
nodes. During startup, seednodes will be tried before dnsseeds.
|
||||
.HP
|
||||
\fB\-timeout=\fR<n>
|
||||
.IP
|
||||
Specify socket connection timeout in milliseconds. If an initial attempt
|
||||
to connect is unsuccessful after this amount of time, drop it
|
||||
(minimum: 1, default: 5000)
|
||||
.HP
|
||||
\fB\-torcontrol=\fR<ip>:<port>
|
||||
.IP
|
||||
Tor control host and port to use if onion listening enabled (default:
|
||||
127.0.0.1:9051). If no port is specified, the default port of
|
||||
9051 will be used.
|
||||
.HP
|
||||
\fB\-torpassword=\fR<pass>
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-v2transport\fR
|
||||
.IP
|
||||
Support v2 transport (default: 1)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to the given address and add permission flags to the peers
|
||||
connecting to it. Use [host]:port notation for IPv6. Allowed
|
||||
permissions: bloomfilter (allow requesting BIP37 filtered blocks
|
||||
and transactions), noban (do not ban for misbehavior; implies
|
||||
download), forcerelay (relay transactions that are already in the
|
||||
mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
|
||||
and unlimited transaction announcements), mempool (allow
|
||||
requesting BIP35 mempool contents), download (allow getheaders
|
||||
during IBD, no disconnect after maxuploadtarget limit), addr
|
||||
(responses to GETADDR avoid hitting the cache and contain random
|
||||
records with the most up\-to\-date info). Specify multiple
|
||||
permissions separated by commas (default:
|
||||
download,noban,mempool,relay). Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Add permission flags to the peers using the given IP address (e.g.
|
||||
1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses the same
|
||||
permissions as \fB\-whitebind\fR. Additional flags "in" and "out"
|
||||
control whether permissions apply to incoming connections and/or
|
||||
manual (default: incoming only). Can be specified multiple times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m", default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
Group outputs by address, selecting many (possibly all) or none, instead
|
||||
of selecting on a per\-output basis. Privacy is improved as
|
||||
addresses are mostly swept with fewer transactions and outputs
|
||||
are aggregated in clean change addresses. It may result in higher
|
||||
fees due to less optimal coin selection caused by this added
|
||||
limitation and possibly a larger\-than\-necessary number of inputs
|
||||
being used. Always enabled for wallets with "avoid_reuse"
|
||||
enabled, otherwise default: 0.
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m"). Default is "legacy" when \fB\-addresstype\fR=\fI\,legacy\/\fR, else it
|
||||
is an implementation detail.
|
||||
.HP
|
||||
\fB\-consolidatefeerate=\fR<amt>
|
||||
.IP
|
||||
The maximum feerate (in BTC/kvB) at which transaction building may use
|
||||
more inputs than strictly necessary so that the wallet's UTXO
|
||||
pool can be reduced (default: 0.0001).
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
.HP
|
||||
\fB\-discardfee=\fR<amt>
|
||||
.IP
|
||||
The fee rate (in BTC/kvB) that indicates your tolerance for discarding
|
||||
change by adding it to the fee (default: 0.0001). Note: An output
|
||||
is discarded if it is dust at this rate, but we will always
|
||||
discard up to the dust relay fee and a discard fee above that is
|
||||
limited by the fee estimate for the longest target
|
||||
.HP
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kvB) that will be used when fee estimation has
|
||||
insufficient data. 0 to entirely disable the fallbackfee feature.
|
||||
(default: 0.00)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
|
||||
increase the risk of losing funds when restoring from an old
|
||||
backup, if none of the addresses in the original keypool have
|
||||
been used.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-paytxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
.HP
|
||||
\fB\-signer=\fR<cmd>
|
||||
.IP
|
||||
External signing tool, see doc/external\-signer.md
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
.HP
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
Specify wallet path to load at startup. Can be used multiple times to
|
||||
load multiple wallets. Path is to a directory containing wallet
|
||||
data and log files. If the path is not absolute, it is
|
||||
interpreted relative to <walletdir>. This only loads existing
|
||||
wallets and does not create new ones. For backwards compatibility
|
||||
this also accepts names of existing top\-level data files in
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID, %w is replaced by wallet name, %b is replaced by the
|
||||
hash of the block including the transaction (set to 'unconfirmed'
|
||||
if the transaction is not included) and %h is replaced by the
|
||||
block height (\fB\-1\fR if not included). %w is not currently
|
||||
implemented on windows. On systems where %w is supported, it
|
||||
should NOT be quoted because this would break shell escaping used
|
||||
to invoke the command.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 1)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
\fB\-zmqpubhashblock=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debug and trace logging (default: \fB\-nodebug\fR, supplying <category>
|
||||
is optional). If <category> is not supplied or if <category> is 1
|
||||
or "all", output all debug logging. If <category> is 0 or "none",
|
||||
any other categories are ignored. Other valid values for
|
||||
<category> are: addrman, bench, blockstorage, cmpctblock, coindb,
|
||||
estimatefee, http, i2p, ipc, leveldb, libevent, mempool,
|
||||
mempoolrej, net, proxy, prune, qt, rand, reindex, rpc, scan,
|
||||
selectcoins, tor, txpackages, txreconciliation, validation,
|
||||
walletdb, zmq. This option can be specified multiple times to
|
||||
output multiple categories.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
Exclude debug and trace logging for a category. Can be used in
|
||||
conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for
|
||||
all categories except the specified category. This option can be
|
||||
specified multiple times to exclude multiple categories. This
|
||||
takes priority over "\-debug"
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
Print help message with debugging options and exit
|
||||
.HP
|
||||
\fB\-logips\fR
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-loglevelalways\fR
|
||||
.IP
|
||||
Always prepend a category and level (default: 0)
|
||||
.HP
|
||||
\fB\-logsourcelocations\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating source location
|
||||
(source file, line number and function name) (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable
|
||||
logging to file, set \fB\-nodebuglogfile\fR)
|
||||
.HP
|
||||
\fB\-shrinkdebugfile\fR
|
||||
.IP
|
||||
Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
|
||||
.HP
|
||||
\fB\-uacomment=\fR<cmt>
|
||||
.IP
|
||||
Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
\fB\-bytespersigop\fR
|
||||
.IP
|
||||
Equivalent bytes per sigop in transactions for relay and mining
|
||||
(default: 20)
|
||||
.HP
|
||||
\fB\-datacarrier\fR
|
||||
.IP
|
||||
Relay and mine data carrier transactions (default: 1)
|
||||
.HP
|
||||
\fB\-datacarriersize\fR
|
||||
.IP
|
||||
Relay and mine transactions whose data\-carrying raw scriptPubKey is of
|
||||
this size or less (default: 83)
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kvB) smaller than this are considered zero fee for
|
||||
relaying, mining and transaction creation (default: 0.000001)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
Relay transactions creating non\-P2SH multisig outputs (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Add 'forcerelay' permission to whitelisted peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Add 'relay' permission to whitelisted peers with default permissions.
|
||||
This will accept relayed transactions even when not relaying
|
||||
transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
\fB\-blockmaxweight=\fR<n>
|
||||
.IP
|
||||
Set maximum BIP141 block weight (default: 4000000)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
block creation. (default: 0.00000001)
|
||||
.HP
|
||||
\fB\-blockreservedweight=\fR<n>
|
||||
.IP
|
||||
Reserve space for the fixed\-size block header plus the largest coinbase
|
||||
transaction the mining software may add to the block. (default:
|
||||
8000).
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
\fB\-rest\fR
|
||||
.IP
|
||||
Accept public REST requests (default: 0)
|
||||
.HP
|
||||
\fB\-rpcallowip=\fR<ip>
|
||||
.IP
|
||||
Allow JSON\-RPC connections from specified source. Valid values for <ip>
|
||||
are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
specified multiple times
|
||||
.HP
|
||||
\fB\-rpcauth=\fR<userpw>
|
||||
.IP
|
||||
Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The
|
||||
field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcauth. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcbind=\fR<addr>[:port]
|
||||
.IP
|
||||
Bind to given address to listen for JSON\-RPC connections. Do not expose
|
||||
the RPC server to untrusted networks such as the public internet!
|
||||
This option is ignored unless \fB\-rpcallowip\fR is also passed. Port is
|
||||
optional and overrides \fB\-rpcport\fR. Use [host]:port notation for
|
||||
IPv6. This option can be specified multiple times (default:
|
||||
127.0.0.1 and ::1 i.e., localhost)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpccookieperms=\fR<readable\-by>
|
||||
.IP
|
||||
Set permissions on the RPC auth cookie file so that it is readable by
|
||||
[owner|group|all] (default: owner [via umask 0077])
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet3:
|
||||
18332, testnet4: 48332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcthreads=\fR<n>
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 16)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
|
||||
if all rpc users are subject to empty\-unless\-otherwise\-specified
|
||||
whitelists. If rpcwhitelistdefault is set to 1 and no
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
.PP
|
||||
UI Options:
|
||||
.HP
|
||||
\fB\-choosedatadir\fR
|
||||
.IP
|
||||
Choose data directory on startup (default: 0)
|
||||
.HP
|
||||
\fB\-lang=\fR<lang>
|
||||
.IP
|
||||
Set language, for example "de_DE" (default: system locale)
|
||||
.HP
|
||||
\fB\-min\fR
|
||||
.IP
|
||||
Start minimized
|
||||
.HP
|
||||
\fB\-resetguisettings\fR
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.HP
|
||||
\fB\-splash\fR
|
||||
.IP
|
||||
Show splash screen on startup (default: 1)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -1,5 +1,159 @@
|
||||
.TH BITCOIN-TX "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-TX "1" "August 2025" "bitcoin-tx v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx
|
||||
bitcoin-tx \- manual page for bitcoin-tx v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR]
|
||||
.br
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v29.1.0rc2
|
||||
.PP
|
||||
The bitcoin\-tx tool is used for creating and modifying bitcoin transactions.
|
||||
.PP
|
||||
bitcoin\-tx can be used with "<hex\-tx> [commands]" to update a hex\-encoded bitcoin transaction, or with "\-create [commands]" to create a hex\-encoded bitcoin transaction.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-create\fR
|
||||
.IP
|
||||
Create new, empty TX.
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-json\fR
|
||||
.IP
|
||||
Select JSON output
|
||||
.HP
|
||||
\fB\-txid\fR
|
||||
.IP
|
||||
Output only the hex\-encoded transaction id of the resultant transaction.
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
delin=N
|
||||
.IP
|
||||
Delete input N from TX
|
||||
.IP
|
||||
delout=N
|
||||
.IP
|
||||
Delete output N from TX
|
||||
.IP
|
||||
in=TXID:VOUT(:SEQUENCE_NUMBER)
|
||||
.IP
|
||||
Add input to TX
|
||||
.IP
|
||||
locktime=N
|
||||
.IP
|
||||
Set TX lock time to N
|
||||
.IP
|
||||
nversion=N
|
||||
.IP
|
||||
Set TX version to N
|
||||
.IP
|
||||
outaddr=VALUE:ADDRESS
|
||||
.IP
|
||||
Add address\-based output to TX
|
||||
.IP
|
||||
outdata=[VALUE:]DATA
|
||||
.IP
|
||||
Add data\-based output to TX
|
||||
.IP
|
||||
outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
|
||||
.IP
|
||||
Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
|
||||
Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outpubkey=VALUE:PUBKEY[:FLAGS]
|
||||
.IP
|
||||
Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outscript=VALUE:SCRIPT[:FLAGS]
|
||||
.IP
|
||||
Add raw script output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
replaceable(=N)
|
||||
.IP
|
||||
Sets Replace\-By\-Fee (RBF) opt\-in sequence number for input N. If N is
|
||||
not provided, the command attempts to opt\-in all available inputs
|
||||
for RBF. If the transaction has no inputs, this option is
|
||||
ignored.
|
||||
.IP
|
||||
sign=SIGHASH\-FLAGS
|
||||
.IP
|
||||
Add zero or more signatures to transaction. This command requires JSON
|
||||
registers:prevtxs=JSON object, privatekeys=JSON object. See
|
||||
signrawtransactionwithkey docs for format of sighash flags, JSON
|
||||
objects.
|
||||
.PP
|
||||
Register Commands:
|
||||
.IP
|
||||
load=NAME:FILENAME
|
||||
.IP
|
||||
Load JSON file FILENAME into register NAME
|
||||
.IP
|
||||
set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -1,5 +1,78 @@
|
||||
.TH BITCOIN-UTIL "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-UTIL "1" "August 2025" "bitcoin-util v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-util \- manual page for bitcoin-util
|
||||
bitcoin-util \- manual page for bitcoin-util v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-util
|
||||
[\fI\,options\/\fR] [\fI\,command\/\fR]
|
||||
.br
|
||||
.B bitcoin-util
|
||||
[\fI\,options\/\fR] \fI\,grind <hex-block-header>\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-util utility version v29.1.0rc2
|
||||
.PP
|
||||
The bitcoin\-util tool provides bitcoin related functionality that does not rely on the ability to access a running node. Available [commands] are listed below.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
grind
|
||||
.IP
|
||||
Perform proof of work on hex header string
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -1,5 +1,136 @@
|
||||
.TH BITCOIN-WALLET "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIN-WALLET "1" "August 2025" "bitcoin-wallet v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-wallet
|
||||
[\fI\,options\/\fR] \fI\,<command>\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-wallet utility version v29.1.0rc2
|
||||
.PP
|
||||
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
.PP
|
||||
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
.PP
|
||||
To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and (test)chain selection arguments.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-descriptors\fR
|
||||
.IP
|
||||
Create descriptors wallet. Only for 'create'
|
||||
.HP
|
||||
\fB\-dumpfile=\fR<file name>
|
||||
.IP
|
||||
When used with 'dump', writes out the records to this file. When used
|
||||
with 'createfromdump', loads the records into a new wallet.
|
||||
.HP
|
||||
\fB\-format=\fR<format>
|
||||
.IP
|
||||
The format of the wallet file to create. Either "bdb" or "sqlite". Only
|
||||
used with 'createfromdump'
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-legacy\fR
|
||||
.IP
|
||||
Create legacy wallet. Only for 'create'
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.HP
|
||||
\fB\-wallet=\fR<wallet\-name>
|
||||
.IP
|
||||
Specify wallet name
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debugging information (default: 0).
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-debug\fR is true, 0
|
||||
otherwise).
|
||||
.HP
|
||||
\fB\-withinternalbdb\fR
|
||||
.IP
|
||||
Use the internal Berkeley DB parser when dumping a Berkeley DB wallet
|
||||
file (default: false)
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
create
|
||||
.IP
|
||||
Create new wallet file
|
||||
.IP
|
||||
createfromdump
|
||||
.IP
|
||||
Create new wallet file from dumped records
|
||||
.IP
|
||||
dump
|
||||
.IP
|
||||
Print out all of the wallet key\-value records
|
||||
.IP
|
||||
info
|
||||
.IP
|
||||
Get wallet info
|
||||
.IP
|
||||
salvage
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet. Warning:
|
||||
\&'salvage' is experimental.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -1,5 +1,830 @@
|
||||
.TH BITCOIND "1"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
|
||||
.TH BITCOIND "1" "August 2025" "bitcoind v29.1.0rc2" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind
|
||||
bitcoind \- manual page for bitcoind v29.1.0rc2
|
||||
.SH SYNOPSIS
|
||||
.B bitcoind
|
||||
[\fI\,options\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core daemon version v29.1.0rc2
|
||||
.PP
|
||||
The Bitcoin Core daemon (bitcoind) is a headless program that connects to the Bitcoin network to validate and relay transactions and blocks, as well as relaying addresses.
|
||||
.PP
|
||||
It provides the backbone of the Bitcoin network and its RPC, REST and ZMQ services can provide various transaction, block and address\-related services.
|
||||
.PP
|
||||
There is an optional wallet component which provides transaction services.
|
||||
.PP
|
||||
It can be used in a headless environment or as part of a server setup.
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\fB\-alertnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when an alert is raised (%s in cmd is replaced by
|
||||
message)
|
||||
.HP
|
||||
\fB\-allowignoredconf\fR
|
||||
.IP
|
||||
For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
datadir as a warning, not an error.
|
||||
.HP
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
If this block is in the chain assume that it and its ancestors are valid
|
||||
and potentially skip their script verification (0 to verify all,
|
||||
default:
|
||||
00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77,
|
||||
testnet3:
|
||||
00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57,
|
||||
testnet4:
|
||||
0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3,
|
||||
signet:
|
||||
000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Disables automatic
|
||||
broadcast and rebroadcast of transactions, unless the source peer
|
||||
has the 'forcerelay' permission. RPC transactions are not
|
||||
affected. (default: 0)
|
||||
.HP
|
||||
\fB\-blocksxor\fR
|
||||
.IP
|
||||
Whether an XOR\-key applies to blocksdir *.dat files. The created XOR\-key
|
||||
will be zeros for an existing blocksdir or when `\-blocksxor=0` is
|
||||
set, and random for a freshly initialized blocksdir. (default: 1)
|
||||
.HP
|
||||
\fB\-coinstatsindex\fR
|
||||
.IP
|
||||
Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify path to read\-only configuration file. Relative paths will be
|
||||
prefixed by datadir location (only useable from command line, not
|
||||
configuration file) (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
Run in the background as a daemon and accept commands (default: 0)
|
||||
.HP
|
||||
\fB\-daemonwait\fR
|
||||
.IP
|
||||
Wait for initialization to be finished before exiting. This implies
|
||||
\fB\-daemon\fR (default: 0)
|
||||
.HP
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Maximum database cache size <n> MiB (minimum 4, default: 450). Make sure
|
||||
you have enough RAM. In addition, unused memory allocated to the
|
||||
mempool is shared with this cache (see \fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file (default: debug.log). Relative paths
|
||||
will be prefixed by a net\-specific datadir location. Pass
|
||||
\fB\-nodebuglogfile\fR to disable writing the log to a file.
|
||||
.HP
|
||||
\fB\-help\fR
|
||||
.IP
|
||||
Print this help message and exit (also \fB\-h\fR or \-?)
|
||||
.HP
|
||||
\fB\-includeconf=\fR<file>
|
||||
.IP
|
||||
Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
(only useable from configuration file, not command line)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
.HP
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
336)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
.IP
|
||||
Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
.HP
|
||||
\fB\-persistmempoolv1\fR
|
||||
.IP
|
||||
Whether a mempool.dat file created by \fB\-persistmempool\fR or the savemempool
|
||||
RPC will be written in the legacy format (version 1) or the
|
||||
current format (version 2). This temporary option will be removed
|
||||
in the future. (default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
.IP
|
||||
Specify pid file. Relative paths will be prefixed by a net\-specific
|
||||
datadir location. (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
Reduce storage requirements by enabling pruning (deleting) of old
|
||||
blocks. This allows the pruneblockchain RPC to be called to
|
||||
delete specific blocks and enables automatic pruning of old
|
||||
blocks if a target size in MiB is provided. This mode is
|
||||
incompatible with \fB\-txindex\fR. Warning: Reverting this setting
|
||||
requires re\-downloading the entire blockchain. (default: 0 =
|
||||
disable pruning blocks, 1 = allow manual pruning via RPC, >=550 =
|
||||
automatically prune block files to stay under the specified
|
||||
target size in MiB)
|
||||
.HP
|
||||
\fB\-reindex\fR
|
||||
.IP
|
||||
If enabled, wipe chain state and block index, and rebuild them from
|
||||
blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
its chainstate will be wiped as well. The snapshot can then be
|
||||
reloaded via RPC.
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. File is written at runtime and not meant to be
|
||||
edited by users (use bitcoin.conf instead for custom settings).
|
||||
Relative paths will be prefixed by datadir location. (default:
|
||||
settings.json)
|
||||
.HP
|
||||
\fB\-shutdownnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command immediately before beginning shutdown. The need for
|
||||
shutdown may be urgent, so be careful not to delay it long (if
|
||||
the command doesn't require interaction with the server, consider
|
||||
having it fork into the background).
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-txindex\fR
|
||||
.IP
|
||||
Maintain a full transaction index, used by the getrawtransaction rpc
|
||||
call (default: 0)
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
Add a node to connect to and attempt to keep the connection open (see
|
||||
the addnode RPC help for more info). This option can be specified
|
||||
multiple times to add multiple nodes; connections are limited to
|
||||
8 at a time and are counted separately from the \fB\-maxconnections\fR
|
||||
limit.
|
||||
.HP
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
Bind to given address and always listen on it (default: 0.0.0.0). Use
|
||||
[host]:port notation for IPv6. Append =onion to tag any incoming
|
||||
connections to that address and port as incoming Tor connections
|
||||
(default: 127.0.0.1:8334=onion, testnet3: 127.0.0.1:18334=onion,
|
||||
testnet4: 127.0.0.1:48334=onion, signet: 127.0.0.1:38334=onion,
|
||||
regtest: 127.0.0.1:18445=onion)
|
||||
.HP
|
||||
\fB\-cjdnsreachable\fR
|
||||
.IP
|
||||
If set, then this host is configured for CJDNS (connecting to fc00::/8
|
||||
addresses would lead us to the CJDNS network, see doc/cjdns.md)
|
||||
(default: 0)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node; \fB\-noconnect\fR disables automatic
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR). This option can be specified multiple times to connect
|
||||
to multiple nodes.
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR
|
||||
or \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-dns\fR
|
||||
.IP
|
||||
Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1)
|
||||
.HP
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR used or \fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
Specify your own public address
|
||||
.HP
|
||||
\fB\-fixedseeds\fR
|
||||
.IP
|
||||
Allow fixed seeds if DNS seeds don't provide peers (default: 1)
|
||||
.HP
|
||||
\fB\-forcednsseed\fR
|
||||
.IP
|
||||
Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-i2pacceptincoming\fR
|
||||
.IP
|
||||
Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
\fB\-i2psam\fR is not set. Listening for inbound I2P connections is done
|
||||
through the SAM proxy, not by binding to a local address and
|
||||
port.
|
||||
.HP
|
||||
\fB\-i2psam=\fR<ip:port>
|
||||
.IP
|
||||
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
none)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR, \fB\-connect\fR or
|
||||
\fB\-maxconnections\fR=\fI\,0\/\fR)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
Maintain at most <n> automatic connections to peers (default: 125). This
|
||||
limit does not apply to connections manually added via \fB\-addnode\fR
|
||||
or the addnode RPC, which have a separate limit of 8.
|
||||
.HP
|
||||
\fB\-maxreceivebuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
.HP
|
||||
\fB\-maxsendbuffer=\fR<n>
|
||||
.IP
|
||||
Maximum per\-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
(default: 1000)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
Tries to keep outbound traffic under the given target per 24h. Limit
|
||||
does not apply to peers with 'download' permission or blocks
|
||||
created within past week. 0 = no limit (default: 0M). Optional
|
||||
suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000
|
||||
base while uppercase is 1024 base
|
||||
.HP
|
||||
\fB\-natpmp\fR
|
||||
.IP
|
||||
Use PCP or NAT\-PMP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port|path>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR). May be a local file path
|
||||
prefixed with 'unix:'.
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
.IP
|
||||
Make automatic outbound connections only to network <net> (ipv4, ipv6,
|
||||
onion, i2p, cjdns). Inbound and manual connections are not
|
||||
affected by this option. It can be specified multiple times to
|
||||
allow multiple networks.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
0)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port> (default: 8333, testnet3: 18333,
|
||||
testnet4: 48333, signet: 38333, regtest: 18444). Not relevant for
|
||||
I2P (see doc/i2p.md). If set to a value x, the default onion
|
||||
listening port will be set to x+1.
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port|path>
|
||||
.IP
|
||||
Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default:
|
||||
disabled). May be a local file path prefixed with 'unix:' if the
|
||||
proxy supports it.
|
||||
.HP
|
||||
\fB\-proxyrandomize\fR
|
||||
.IP
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect. This
|
||||
option can be specified multiple times to connect to multiple
|
||||
nodes. During startup, seednodes will be tried before dnsseeds.
|
||||
.HP
|
||||
\fB\-timeout=\fR<n>
|
||||
.IP
|
||||
Specify socket connection timeout in milliseconds. If an initial attempt
|
||||
to connect is unsuccessful after this amount of time, drop it
|
||||
(minimum: 1, default: 5000)
|
||||
.HP
|
||||
\fB\-torcontrol=\fR<ip>:<port>
|
||||
.IP
|
||||
Tor control host and port to use if onion listening enabled (default:
|
||||
127.0.0.1:9051). If no port is specified, the default port of
|
||||
9051 will be used.
|
||||
.HP
|
||||
\fB\-torpassword=\fR<pass>
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-v2transport\fR
|
||||
.IP
|
||||
Support v2 transport (default: 1)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to the given address and add permission flags to the peers
|
||||
connecting to it. Use [host]:port notation for IPv6. Allowed
|
||||
permissions: bloomfilter (allow requesting BIP37 filtered blocks
|
||||
and transactions), noban (do not ban for misbehavior; implies
|
||||
download), forcerelay (relay transactions that are already in the
|
||||
mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
|
||||
and unlimited transaction announcements), mempool (allow
|
||||
requesting BIP35 mempool contents), download (allow getheaders
|
||||
during IBD, no disconnect after maxuploadtarget limit), addr
|
||||
(responses to GETADDR avoid hitting the cache and contain random
|
||||
records with the most up\-to\-date info). Specify multiple
|
||||
permissions separated by commas (default:
|
||||
download,noban,mempool,relay). Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Add permission flags to the peers using the given IP address (e.g.
|
||||
1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses the same
|
||||
permissions as \fB\-whitebind\fR. Additional flags "in" and "out"
|
||||
control whether permissions apply to incoming connections and/or
|
||||
manual (default: incoming only). Can be specified multiple times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m", default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
Group outputs by address, selecting many (possibly all) or none, instead
|
||||
of selecting on a per\-output basis. Privacy is improved as
|
||||
addresses are mostly swept with fewer transactions and outputs
|
||||
are aggregated in clean change addresses. It may result in higher
|
||||
fees due to less optimal coin selection caused by this added
|
||||
limitation and possibly a larger\-than\-necessary number of inputs
|
||||
being used. Always enabled for wallets with "avoid_reuse"
|
||||
enabled, otherwise default: 0.
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", "bech32", or
|
||||
"bech32m"). Default is "legacy" when \fB\-addresstype\fR=\fI\,legacy\/\fR, else it
|
||||
is an implementation detail.
|
||||
.HP
|
||||
\fB\-consolidatefeerate=\fR<amt>
|
||||
.IP
|
||||
The maximum feerate (in BTC/kvB) at which transaction building may use
|
||||
more inputs than strictly necessary so that the wallet's UTXO
|
||||
pool can be reduced (default: 0.0001).
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
.HP
|
||||
\fB\-discardfee=\fR<amt>
|
||||
.IP
|
||||
The fee rate (in BTC/kvB) that indicates your tolerance for discarding
|
||||
change by adding it to the fee (default: 0.0001). Note: An output
|
||||
is discarded if it is dust at this rate, but we will always
|
||||
discard up to the dust relay fee and a discard fee above that is
|
||||
limited by the fee estimate for the longest target
|
||||
.HP
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kvB) that will be used when fee estimation has
|
||||
insufficient data. 0 to entirely disable the fallbackfee feature.
|
||||
(default: 0.00)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
|
||||
increase the risk of losing funds when restoring from an old
|
||||
backup, if none of the addresses in the original keypool have
|
||||
been used.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-paytxfee=\fR<amt>
|
||||
.IP
|
||||
Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
.HP
|
||||
\fB\-signer=\fR<cmd>
|
||||
.IP
|
||||
External signing tool, see doc/external\-signer.md
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
.HP
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
Specify wallet path to load at startup. Can be used multiple times to
|
||||
load multiple wallets. Path is to a directory containing wallet
|
||||
data and log files. If the path is not absolute, it is
|
||||
interpreted relative to <walletdir>. This only loads existing
|
||||
wallets and does not create new ones. For backwards compatibility
|
||||
this also accepts names of existing top\-level data files in
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID, %w is replaced by wallet name, %b is replaced by the
|
||||
hash of the block including the transaction (set to 'unconfirmed'
|
||||
if the transaction is not included) and %h is replaced by the
|
||||
block height (\fB\-1\fR if not included). %w is not currently
|
||||
implemented on windows. On systems where %w is supported, it
|
||||
should NOT be quoted because this would break shell escaping used
|
||||
to invoke the command.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 1)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
\fB\-zmqpubhashblock=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
\fB\-debug=\fR<category>
|
||||
.IP
|
||||
Output debug and trace logging (default: \fB\-nodebug\fR, supplying <category>
|
||||
is optional). If <category> is not supplied or if <category> is 1
|
||||
or "all", output all debug logging. If <category> is 0 or "none",
|
||||
any other categories are ignored. Other valid values for
|
||||
<category> are: addrman, bench, blockstorage, cmpctblock, coindb,
|
||||
estimatefee, http, i2p, ipc, leveldb, libevent, mempool,
|
||||
mempoolrej, net, proxy, prune, qt, rand, reindex, rpc, scan,
|
||||
selectcoins, tor, txpackages, txreconciliation, validation,
|
||||
walletdb, zmq. This option can be specified multiple times to
|
||||
output multiple categories.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
Exclude debug and trace logging for a category. Can be used in
|
||||
conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for
|
||||
all categories except the specified category. This option can be
|
||||
specified multiple times to exclude multiple categories. This
|
||||
takes priority over "\-debug"
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
Print help message with debugging options and exit
|
||||
.HP
|
||||
\fB\-logips\fR
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-loglevelalways\fR
|
||||
.IP
|
||||
Always prepend a category and level (default: 0)
|
||||
.HP
|
||||
\fB\-logsourcelocations\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating source location
|
||||
(source file, line number and function name) (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable
|
||||
logging to file, set \fB\-nodebuglogfile\fR)
|
||||
.HP
|
||||
\fB\-shrinkdebugfile\fR
|
||||
.IP
|
||||
Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR)
|
||||
.HP
|
||||
\fB\-uacomment=\fR<cmt>
|
||||
.IP
|
||||
Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
testnet4, signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the testnet3 chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR. Support for testnet3
|
||||
is deprecated and will be removed in an upcoming release.
|
||||
Consider moving to testnet4 now by using \fB\-testnet4\fR.
|
||||
.HP
|
||||
\fB\-testnet4\fR
|
||||
.IP
|
||||
Use the testnet4 chain. Equivalent to \fB\-chain\fR=\fI\,testnet4\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
\fB\-bytespersigop\fR
|
||||
.IP
|
||||
Equivalent bytes per sigop in transactions for relay and mining
|
||||
(default: 20)
|
||||
.HP
|
||||
\fB\-datacarrier\fR
|
||||
.IP
|
||||
Relay and mine data carrier transactions (default: 1)
|
||||
.HP
|
||||
\fB\-datacarriersize\fR
|
||||
.IP
|
||||
Relay and mine transactions whose data\-carrying raw scriptPubKey is of
|
||||
this size or less (default: 83)
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kvB) smaller than this are considered zero fee for
|
||||
relaying, mining and transaction creation (default: 0.000001)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
Relay transactions creating non\-P2SH multisig outputs (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Add 'forcerelay' permission to whitelisted peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Add 'relay' permission to whitelisted peers with default permissions.
|
||||
This will accept relayed transactions even when not relaying
|
||||
transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
\fB\-blockmaxweight=\fR<n>
|
||||
.IP
|
||||
Set maximum BIP141 block weight (default: 4000000)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
block creation. (default: 0.00000001)
|
||||
.HP
|
||||
\fB\-blockreservedweight=\fR<n>
|
||||
.IP
|
||||
Reserve space for the fixed\-size block header plus the largest coinbase
|
||||
transaction the mining software may add to the block. (default:
|
||||
8000).
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
\fB\-rest\fR
|
||||
.IP
|
||||
Accept public REST requests (default: 0)
|
||||
.HP
|
||||
\fB\-rpcallowip=\fR<ip>
|
||||
.IP
|
||||
Allow JSON\-RPC connections from specified source. Valid values for <ip>
|
||||
are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
specified multiple times
|
||||
.HP
|
||||
\fB\-rpcauth=\fR<userpw>
|
||||
.IP
|
||||
Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The
|
||||
field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcauth. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcbind=\fR<addr>[:port]
|
||||
.IP
|
||||
Bind to given address to listen for JSON\-RPC connections. Do not expose
|
||||
the RPC server to untrusted networks such as the public internet!
|
||||
This option is ignored unless \fB\-rpcallowip\fR is also passed. Port is
|
||||
optional and overrides \fB\-rpcport\fR. Use [host]:port notation for
|
||||
IPv6. This option can be specified multiple times (default:
|
||||
127.0.0.1 and ::1 i.e., localhost)
|
||||
.HP
|
||||
\fB\-rpccookiefile=\fR<loc>
|
||||
.IP
|
||||
Location of the auth cookie. Relative paths will be prefixed by a
|
||||
net\-specific datadir location. (default: data dir)
|
||||
.HP
|
||||
\fB\-rpccookieperms=\fR<readable\-by>
|
||||
.IP
|
||||
Set permissions on the RPC auth cookie file so that it is readable by
|
||||
[owner|group|all] (default: owner [via umask 0077])
|
||||
.HP
|
||||
\fB\-rpcpassword=\fR<pw>
|
||||
.IP
|
||||
Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet3:
|
||||
18332, testnet4: 48332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcthreads=\fR<n>
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 16)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
|
||||
if all rpc users are subject to empty\-unless\-otherwise\-specified
|
||||
whitelists. If rpcwhitelistdefault is set to 1 and no
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2025 The Bitcoin Core developers
|
||||
|
||||
This is a placeholder file. Please follow the instructions in \fIcontrib/devtools/README.md\fR to generate the manual pages after a release.
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
.SH "SEE ALSO"
|
||||
bitcoind(1), bitcoin-cli(1), bitcoin-tx(1), bitcoin-wallet(1), bitcoin-util(1), bitcoin-qt(1)
|
||||
|
||||
@@ -87,10 +87,14 @@ incoming connections.
|
||||
1720: h323hostcall
|
||||
1723: pptp
|
||||
2049: nfs
|
||||
3306: MySQL
|
||||
3389: RDP / Windows Remote Desktop
|
||||
3659: apple-sasl / PasswordServer
|
||||
4045: lockd
|
||||
5060: sip
|
||||
5061: sips
|
||||
5432: PostgreSQL
|
||||
5900: VNC
|
||||
6000: X11
|
||||
6566: sane-port
|
||||
6665: Alternate IRC
|
||||
@@ -100,6 +104,7 @@ incoming connections.
|
||||
6669: Alternate IRC
|
||||
6697: IRC + TLS
|
||||
10080: Amanda
|
||||
27017: MongoDB
|
||||
|
||||
For further information see:
|
||||
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
*The release notes draft is a temporary file that can be added to by anyone. See
|
||||
[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
|
||||
for the process.*
|
||||
|
||||
*version* Release Notes Draft
|
||||
===============================
|
||||
|
||||
Bitcoin Core version *version* is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-*version*/>
|
||||
|
||||
This release includes new features, various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
shut down (which might take a few minutes in some cases), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
|
||||
possible, but it might take some time if the data directory needs to be migrated. Old
|
||||
wallet versions of Bitcoin Core are generally supported.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is supported and tested on operating systems using the
|
||||
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||
unsupported systems.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
|
||||
Changes to wallet related RPCs can be found in the Wallet section below.
|
||||
|
||||
New RPCs
|
||||
--------
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
Updated settings
|
||||
----------------
|
||||
|
||||
|
||||
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
|
||||
|
||||
New settings
|
||||
------------
|
||||
|
||||
Tools and Utilities
|
||||
-------------------
|
||||
|
||||
Wallet
|
||||
------
|
||||
|
||||
GUI changes
|
||||
-----------
|
||||
|
||||
Low-level changes
|
||||
=================
|
||||
|
||||
RPC
|
||||
---
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
*version* change log
|
||||
====================
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
222
doc/release-notes.md
Normal file
222
doc/release-notes.md
Normal file
@@ -0,0 +1,222 @@
|
||||
Bitcoin Core version 29.1rc2 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-29.1/test.rc2/>
|
||||
|
||||
This release includes various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
shut down (which might take a few minutes in some cases), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
|
||||
possible, but it might take some time if the data directory needs to be migrated. Old
|
||||
wallet versions of Bitcoin Core are generally supported.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is supported and tested on operating systems using the
|
||||
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||
unsupported systems.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
### Mempool Policy
|
||||
|
||||
- The maximum number of potentially executed legacy signature operations in a
|
||||
single standard transaction is now limited to 2500. Signature operations in all
|
||||
previous output scripts, in all input scripts, as well as all P2SH redeem
|
||||
scripts (if there are any) are counted toward the limit. The new limit is
|
||||
assumed to not affect any known typically formed standard transactions. The
|
||||
change was done to prepare for a possible BIP54 deployment in the future.
|
||||
|
||||
- #32521 policy: make pathological transactions packed with legacy sigops non-standard
|
||||
|
||||
- The minimum block feerate (`-blockmintxfee`) has been changed to 1 satoshi per kvB. It can still be changed using the
|
||||
configuration option.
|
||||
|
||||
- The default minimum relay feerate (`-minrelaytxfee`) and incremental relay feerate (`-incrementalrelayfee`) have been
|
||||
changed to 100 satoshis per kvB. They can still be changed using their respective configuration options, but it is
|
||||
recommended to change both together if you decide to do so.
|
||||
- Other minimum feerates (e.g. the dust feerate, the minimum returned by the fee estimator, and all feerates used by
|
||||
the wallet) remain unchanged. The mempool minimum feerate still changes in response to high volume.
|
||||
- Note that unless these lower defaults are widely adopted across the network, transactions created with lower fee
|
||||
rates are not guaranteed to propagate or confirm. The wallet feerates remain unchanged; `-mintxfee` must be changed
|
||||
before attempting to create transactions with lower feerates using the wallet.
|
||||
|
||||
- #33106 policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee
|
||||
|
||||
### Logging
|
||||
|
||||
Unconditional logging to disk is now rate limited by giving each source location
|
||||
a quota of 1MiB per hour. Unconditional logging is any logging with a log level
|
||||
higher than debug, that is `info`, `warning`, and `error`. All logs will be
|
||||
prefixed with `[*]` if there is at least one source location that is currently
|
||||
being suppressed. (#32604)
|
||||
|
||||
When `-logsourcelocations` is enabled, the log output now contains the entire
|
||||
function signature instead of just the function name. (#32604)
|
||||
|
||||
### RPC
|
||||
|
||||
- The `dumptxoutset` RPC now requires a `type` parameter to be specified. To maintain pre
|
||||
v29.0 behavior, use the `latest` parameter. Documenting this change was missed in the v29.0
|
||||
release notes. (#30808)
|
||||
|
||||
### Updated Settings
|
||||
|
||||
- The `-maxmempool` and `-dbcache` startup parameters are now capped on
|
||||
32-bit systems to 500MB and 1GiB respectively.
|
||||
|
||||
- #32530 node: cap -maxmempool and -dbcache values for 32-bit
|
||||
|
||||
### Wallet
|
||||
|
||||
- #31757 wallet: fix crash on double block disconnection
|
||||
- #32553 wallet: Fix logging of wallet version
|
||||
|
||||
### P2P
|
||||
|
||||
- #32826 p2p: add more bad ports
|
||||
|
||||
### Test
|
||||
|
||||
- #32069 test: fix intermittent failure in wallet_reorgsrestore.py
|
||||
- #32286 test: Handle empty string returned by CLI as None in RPC tests
|
||||
- #32312 test: Fix feature_pruning test after nTime typo fix
|
||||
- #32336 test: Suppress upstream -Wduplicate-decl-specifier in bpfcc
|
||||
- #32463 test: fix an incorrect feature_fee_estimation.py subtest
|
||||
- #32483 test: fix two intermittent failures in wallet_basic.py
|
||||
- #32630 test: fix sync function in rpc_psbt.py
|
||||
- #32765 test: Fix list index out of range error in feature_bip68_sequence.py
|
||||
- #32742 test: fix catchup loop in outbound eviction functional test
|
||||
- #32823 test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
|
||||
- #32833 test: Add msgtype to msg_generic slots
|
||||
- #32841 feature_taproot: sample tx version border values more
|
||||
- #32850 test: check P2SH sigop count for coinbase tx
|
||||
- #32859 test: correctly detect nonstd TRUC tx vsize in feature_taproot
|
||||
- #33001 test: Do not pass tests on unhandled exceptions
|
||||
|
||||
### Util
|
||||
|
||||
- #32248 Remove support for RNDR/RNDRRS for aarch64
|
||||
|
||||
### Build
|
||||
|
||||
- #32356 cmake: Respect user-provided configuration-specific flags
|
||||
- #32437 crypto: disable ASan for sha256_sse4 with Clang
|
||||
- #32469 cmake: Allow WITH_DBUS on all Unix-like systems
|
||||
- #32439 guix: accomodate migration to codeberg
|
||||
- #32551 cmake: Add missed SSE41_CXXFLAGS
|
||||
- #32568 depends: use "mkdir -p" when installing xproto
|
||||
- #32678 guix: warn and abort when SOURCE_DATE_EPOCH is set
|
||||
- #32690 depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
|
||||
- #32716 depends: Override host compilers for FreeBSD and OpenBSD
|
||||
- #32760 depends: capnp 1.2.0
|
||||
- #32798 build: add root dir to CMAKE_PREFIX_PATH in toolchain
|
||||
- #32805 cmake: Use HINTS instead of PATHS in find_* commands
|
||||
- #32814 cmake: Explicitly specify Boost_ROOT for Homebrew's package
|
||||
- #32837 depends: fix libevent _WIN32_WINNT usage
|
||||
- #32943 depends: Force CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE
|
||||
- #32954 cmake: Drop no longer necessary "cmakeMinimumRequired" object
|
||||
- #33073 guix: warn SOURCE_DATE_EPOCH set in guix-codesign
|
||||
|
||||
### Gui
|
||||
|
||||
- #864 Crash fix, disconnect numBlocksChanged() signal during shutdown
|
||||
- #868 Replace stray tfm::format to cerr with qWarning
|
||||
|
||||
### Doc
|
||||
|
||||
- #32333 doc: Add missing top-level description to pruneblockchain RPC
|
||||
- #32353 doc: Fix fuzz test_runner.py path
|
||||
- #32389 doc: Fix test_bitcoin path
|
||||
- #32607 rpc: Note in fundrawtransaction doc, fee rate is for package
|
||||
- #32679 doc: update tor docs to use bitcoind binary from path
|
||||
- #32693 depends: fix cmake compatibility error for freetype
|
||||
- #32696 doc: make -DWITH_ZMQ=ON explicit on build-unix.md
|
||||
- #32708 rpc, doc: update listdescriptors RCP help
|
||||
- #32711 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
|
||||
- #32719 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
|
||||
- #32776 doc: taproot became always active in v24.0
|
||||
- #32777 doc: fix Transifex 404s
|
||||
- #32846 doc: clarify that the "-j N" goes after the "--build build" part
|
||||
- #32858 doc: Add workaround for vcpkg issue with paths with embedded spaces
|
||||
- #33070 doc/zmq: fix unix socket path example
|
||||
- #33088 doc: move cmake -B build -LH up in Unix build docs
|
||||
- #33133 rpc: fix getpeerinfo ping duration unit docs
|
||||
- #33119 rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix
|
||||
|
||||
### CI
|
||||
|
||||
- #32184 ci: Add workaround for vcpkg's libevent package
|
||||
|
||||
### Misc
|
||||
|
||||
- #32187 refactor: Remove spurious virtual from final ~CZMQNotificationInterface
|
||||
- #32454 tracing: fix invalid argument in mempool_monitor
|
||||
- #32771 contrib: tracing: Fix read of pmsg_type in p2p_monitor.py
|
||||
- #33086 contrib: [tracing] fix pointer argument handling in mempool_monitor.py
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- 0xB10C
|
||||
- achow101
|
||||
- Antoine Poinsot
|
||||
- benthecarman
|
||||
- bigspider
|
||||
- Brandon Odiwuor
|
||||
- brunoerg
|
||||
- Bufo
|
||||
- Christewart
|
||||
- Crypt-iQ
|
||||
- davidgumberg
|
||||
- deadmanoz
|
||||
- dergoegge
|
||||
- enirox001
|
||||
- fanquake
|
||||
- furszy
|
||||
- glozow
|
||||
- instagibbs
|
||||
- Hennadii Stepanov
|
||||
- hodlinator
|
||||
- ismaelsadeeq
|
||||
- jb55
|
||||
- jlopp
|
||||
- josibake
|
||||
- laanwj
|
||||
- luisschwab
|
||||
- MarcoFalke
|
||||
- Martin Zumsande
|
||||
- monlovesmango
|
||||
- nervana21
|
||||
- pablomartin4btc
|
||||
- rkrux
|
||||
- romanz
|
||||
- ryanofsky
|
||||
- Sjors
|
||||
- theStack
|
||||
- willcl-ark
|
||||
- zaidmstrr
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://explore.transifex.com/bitcoin/bitcoin/).
|
||||
@@ -57,10 +57,10 @@ Release Process
|
||||
- Clear the release notes and move them to the wiki (see "Write the release notes" below).
|
||||
- Translations on Transifex:
|
||||
- Pull translations from Transifex into the master branch.
|
||||
- Create [a new resource](https://www.transifex.com/bitcoin/bitcoin/content/) named after the major version with the slug `qt-translation-<RRR>x`, where `RRR` is the major branch number padded with zeros. Use `src/qt/locale/bitcoin_en.xlf` to create it.
|
||||
- Create [a new resource](https://app.transifex.com/bitcoin/bitcoin/content/) named after the major version with the slug `qt-translation-<RRR>x`, where `RRR` is the major branch number padded with zeros. Use `src/qt/locale/bitcoin_en.xlf` to create it.
|
||||
- In the project workflow settings, ensure that [Translation Memory Fill-up](https://help.transifex.com/en/articles/6224817-setting-up-translation-memory-fill-up) is enabled and that [Translation Memory Context Matching](https://help.transifex.com/en/articles/6224753-translation-memory-with-context) is disabled.
|
||||
- Update the Transifex slug in [`.tx/config`](/.tx/config) to the slug of the resource created in the first step. This identifies which resource the translations will be synchronized from.
|
||||
- Make an announcement that translators can start translating for the new version. You can use one of the [previous announcements](https://www.transifex.com/bitcoin/communication/) as a template.
|
||||
- Make an announcement that translators can start translating for the new version. You can use one of the [previous announcements](https://app.transifex.com/bitcoin/communication/) as a template.
|
||||
- Change the auto-update URL for the resource to `master`, e.g. `https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/qt/locale/bitcoin_en.xlf`. (Do this only after the previous steps, to prevent an auto-update from interfering.)
|
||||
|
||||
#### After branch-off (on the major release branch)
|
||||
|
||||
10
doc/tor.md
10
doc/tor.md
@@ -62,7 +62,7 @@ outgoing connections, but more is possible.
|
||||
|
||||
In a typical situation, this suffices to run behind a Tor proxy:
|
||||
|
||||
./bitcoind -proxy=127.0.0.1:9050
|
||||
bitcoind -proxy=127.0.0.1:9050
|
||||
|
||||
## 2. Automatically create a Bitcoin Core onion service
|
||||
|
||||
@@ -187,25 +187,25 @@ should be equal to binding address and port for inbound Tor connections (127.0.0
|
||||
|
||||
In a typical situation, where you're only reachable via Tor, this should suffice:
|
||||
|
||||
./bitcoind -proxy=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -listen
|
||||
bitcoind -proxy=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -listen
|
||||
|
||||
(obviously, replace the .onion address with your own). It should be noted that you still
|
||||
listen on all devices and another node could establish a clearnet connection, when knowing
|
||||
your address. To mitigate this, additionally bind the address of your Tor proxy:
|
||||
|
||||
./bitcoind ... -bind=127.0.0.1:8334=onion
|
||||
bitcoind ... -bind=127.0.0.1:8334=onion
|
||||
|
||||
If you don't care too much about hiding your node, and want to be reachable on IPv4
|
||||
as well, use `discover` instead:
|
||||
|
||||
./bitcoind ... -discover
|
||||
bitcoind ... -discover
|
||||
|
||||
and open port 8333 on your firewall (or use port mapping, i.e., `-natpmp`).
|
||||
|
||||
If you only want to use Tor to reach .onion addresses, but not use it as a proxy
|
||||
for normal IPv4/IPv6 communication, use:
|
||||
|
||||
./bitcoind -onion=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -discover
|
||||
bitcoind -onion=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -discover
|
||||
|
||||
## 4. Privacy recommendations
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ git commit
|
||||
### Creating a Transifex account
|
||||
Visit the [Transifex Signup](https://www.transifex.com/signup/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool.
|
||||
|
||||
You can find the Bitcoin translation project at [https://www.transifex.com/bitcoin/bitcoin/](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
You can find the Bitcoin translation project at [https://explore.transifex.com/bitcoin/bitcoin/](https://explore.transifex.com/bitcoin/bitcoin/).
|
||||
|
||||
### Installing the Transifex client command-line tool
|
||||
The client is used to fetch updated translations. Please check installation instructions and any other details at https://developers.transifex.com/docs/cli.
|
||||
|
||||
@@ -84,7 +84,7 @@ For instance:
|
||||
$ bitcoind -zmqpubhashtx=tcp://127.0.0.1:28332 \
|
||||
-zmqpubhashtx=tcp://192.168.1.2:28332 \
|
||||
-zmqpubhashblock="tcp://[::1]:28333" \
|
||||
-zmqpubrawtx=ipc:///tmp/bitcoind.tx.raw \
|
||||
-zmqpubrawtx=unix:/tmp/bitcoind.tx.raw \
|
||||
-zmqpubhashtxhwm=10000
|
||||
|
||||
Each PUB notification has a topic and body, where the header
|
||||
|
||||
@@ -1 +1,706 @@
|
||||
# This is a placeholder file. Please follow the instructions in `contrib/devtools/README.md` to generate a bitcoin.conf file.
|
||||
##
|
||||
## bitcoin.conf configuration file.
|
||||
## Generated by contrib/devtools/gen-bitcoin-conf.sh.
|
||||
##
|
||||
## Lines beginning with # are comments.
|
||||
## All possible configuration options are provided. To use, copy this file
|
||||
## to your data directory (default or specified by -datadir), uncomment
|
||||
## options you would like to change, and save the file.
|
||||
##
|
||||
|
||||
|
||||
### Options
|
||||
|
||||
|
||||
# Execute command when an alert is raised (%s in cmd is replaced by
|
||||
# message)
|
||||
#alertnotify=<cmd>
|
||||
|
||||
# For backwards compatibility, treat an unused bitcoin.conf file in the
|
||||
# datadir as a warning, not an error.
|
||||
#allowignoredconf=1
|
||||
|
||||
# If this block is in the chain assume that it and its ancestors are valid
|
||||
# and potentially skip their script verification (0 to verify all,
|
||||
# default:
|
||||
# 00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77,
|
||||
# testnet3:
|
||||
# 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57,
|
||||
# testnet4:
|
||||
# 0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3,
|
||||
# signet:
|
||||
# 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a)
|
||||
#assumevalid=<hex>
|
||||
|
||||
# Maintain an index of compact filters by block (default: 0, values:
|
||||
# basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
# all known types are enabled.
|
||||
#blockfilterindex=<type>
|
||||
|
||||
# Execute command when the best block changes (%s in cmd is replaced by
|
||||
# block hash)
|
||||
#blocknotify=<cmd>
|
||||
|
||||
# Extra transactions to keep in memory for compact block reconstructions
|
||||
# (default: 100)
|
||||
#blockreconstructionextratxn=<n>
|
||||
|
||||
# Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
# <datadir>)
|
||||
#blocksdir=<dir>
|
||||
|
||||
# Whether to reject transactions from network peers. Disables automatic
|
||||
# broadcast and rebroadcast of transactions, unless the source peer
|
||||
# has the 'forcerelay' permission. RPC transactions are not
|
||||
# affected. (default: 0)
|
||||
#blocksonly=1
|
||||
|
||||
# Whether an XOR-key applies to blocksdir *.dat files. The created XOR-key
|
||||
# will be zeros for an existing blocksdir or when `-blocksxor=0` is
|
||||
# set, and random for a freshly initialized blocksdir. (default: 1)
|
||||
#blocksxor=1
|
||||
|
||||
# Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0)
|
||||
#coinstatsindex=1
|
||||
|
||||
# Specify path to read-only configuration file. Relative paths will be
|
||||
# prefixed by datadir location (only useable from command line, not
|
||||
# configuration file) (default: bitcoin.conf)
|
||||
#conf=<file>
|
||||
|
||||
# Run in the background as a daemon and accept commands (default: 0)
|
||||
#daemon=1
|
||||
|
||||
# Wait for initialization to be finished before exiting. This implies
|
||||
# -daemon (default: 0)
|
||||
#daemonwait=1
|
||||
|
||||
# Specify data directory
|
||||
#datadir=<dir>
|
||||
|
||||
# Maximum database cache size <n> MiB (minimum 4, default: 450). Make sure
|
||||
# you have enough RAM. In addition, unused memory allocated to the
|
||||
# mempool is shared with this cache (see -maxmempool).
|
||||
#dbcache=<n>
|
||||
|
||||
# Specify location of debug log file (default: debug.log). Relative paths
|
||||
# will be prefixed by a net-specific datadir location. Pass
|
||||
# -nodebuglogfile to disable writing the log to a file.
|
||||
#debuglogfile=<file>
|
||||
|
||||
# Specify additional configuration file, relative to the -datadir path
|
||||
# (only useable from configuration file, not command line)
|
||||
#includeconf=<file>
|
||||
|
||||
# Imports blocks from external file on startup
|
||||
#loadblock=<file>
|
||||
|
||||
# Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
#maxmempool=<n>
|
||||
|
||||
# Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
#maxorphantx=<n>
|
||||
|
||||
# Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
# 336)
|
||||
#mempoolexpiry=<n>
|
||||
|
||||
# Set the number of script verification threads (0 = auto, up to 15, <0 =
|
||||
# leave that many cores free, default: 0)
|
||||
#par=<n>
|
||||
|
||||
# Whether to save the mempool on shutdown and load on restart (default: 1)
|
||||
#persistmempool=1
|
||||
|
||||
# Whether a mempool.dat file created by -persistmempool or the savemempool
|
||||
# RPC will be written in the legacy format (version 1) or the
|
||||
# current format (version 2). This temporary option will be removed
|
||||
# in the future. (default: 0)
|
||||
#persistmempoolv1=1
|
||||
|
||||
# Specify pid file. Relative paths will be prefixed by a net-specific
|
||||
# datadir location. (default: bitcoind.pid)
|
||||
#pid=<file>
|
||||
|
||||
# Reduce storage requirements by enabling pruning (deleting) of old
|
||||
# blocks. This allows the pruneblockchain RPC to be called to
|
||||
# delete specific blocks and enables automatic pruning of old
|
||||
# blocks if a target size in MiB is provided. This mode is
|
||||
# incompatible with -txindex. Warning: Reverting this setting
|
||||
# requires re-downloading the entire blockchain. (default: 0 =
|
||||
# disable pruning blocks, 1 = allow manual pruning via RPC, >=550 =
|
||||
# automatically prune block files to stay under the specified
|
||||
# target size in MiB)
|
||||
#prune=<n>
|
||||
|
||||
# If enabled, wipe chain state and block index, and rebuild them from
|
||||
# blk*.dat files on disk. Also wipe and rebuild other optional
|
||||
# indexes that are active. If an assumeutxo snapshot was loaded,
|
||||
# its chainstate will be wiped as well. The snapshot can then be
|
||||
# reloaded via RPC.
|
||||
#reindex=1
|
||||
|
||||
# If enabled, wipe chain state, and rebuild it from blk*.dat files on
|
||||
# disk. If an assumeutxo snapshot was loaded, its chainstate will
|
||||
# be wiped as well. The snapshot can then be reloaded via RPC.
|
||||
#reindex-chainstate=1
|
||||
|
||||
# Specify path to dynamic settings data file. Can be disabled with
|
||||
# -nosettings. File is written at runtime and not meant to be
|
||||
# edited by users (use bitcoin.conf instead for custom settings).
|
||||
# Relative paths will be prefixed by datadir location. (default:
|
||||
# settings.json)
|
||||
#settings=<file>
|
||||
|
||||
# Execute command immediately before beginning shutdown. The need for
|
||||
# shutdown may be urgent, so be careful not to delay it long (if
|
||||
# the command doesn't require interaction with the server, consider
|
||||
# having it fork into the background).
|
||||
#shutdownnotify=<cmd>
|
||||
|
||||
# Execute command on startup.
|
||||
#startupnotify=<cmd>
|
||||
|
||||
# Maintain a full transaction index, used by the getrawtransaction rpc
|
||||
# call (default: 0)
|
||||
#txindex=1
|
||||
|
||||
# Print version and exit
|
||||
#version=1
|
||||
|
||||
|
||||
### Connection options
|
||||
|
||||
|
||||
# Add a node to connect to and attempt to keep the connection open (see
|
||||
# the addnode RPC help for more info). This option can be specified
|
||||
# multiple times to add multiple nodes; connections are limited to
|
||||
# 8 at a time and are counted separately from the -maxconnections
|
||||
# limit.
|
||||
#addnode=<ip>
|
||||
|
||||
# Specify asn mapping used for bucketing of the peers (default:
|
||||
# ip_asn.map). Relative paths will be prefixed by the net-specific
|
||||
# datadir location.
|
||||
#asmap=<file>
|
||||
|
||||
# Default duration (in seconds) of manually configured bans (default:
|
||||
# 86400)
|
||||
#bantime=<n>
|
||||
|
||||
# Bind to given address and always listen on it (default: 0.0.0.0). Use
|
||||
# [host]:port notation for IPv6. Append =onion to tag any incoming
|
||||
# connections to that address and port as incoming Tor connections
|
||||
# (default: 127.0.0.1:8334=onion, testnet3: 127.0.0.1:18334=onion,
|
||||
# testnet4: 127.0.0.1:48334=onion, signet: 127.0.0.1:38334=onion,
|
||||
# regtest: 127.0.0.1:18445=onion)
|
||||
#bind=<addr>[:<port>][=onion]
|
||||
|
||||
# If set, then this host is configured for CJDNS (connecting to fc00::/8
|
||||
# addresses would lead us to the CJDNS network, see doc/cjdns.md)
|
||||
# (default: 0)
|
||||
#cjdnsreachable=1
|
||||
|
||||
# Connect only to the specified node; -noconnect disables automatic
|
||||
# connections (the rules for this peer are the same as for
|
||||
# -addnode). This option can be specified multiple times to connect
|
||||
# to multiple nodes.
|
||||
#connect=<ip>
|
||||
|
||||
# Discover own IP addresses (default: 1 when listening and no -externalip
|
||||
# or -proxy)
|
||||
#discover=1
|
||||
|
||||
# Allow DNS lookups for -addnode, -seednode and -connect (default: 1)
|
||||
#dns=1
|
||||
|
||||
# Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
# unless -connect used or -maxconnections=0)
|
||||
#dnsseed=1
|
||||
|
||||
# Specify your own public address
|
||||
#externalip=<ip>
|
||||
|
||||
# Allow fixed seeds if DNS seeds don't provide peers (default: 1)
|
||||
#fixedseeds=1
|
||||
|
||||
# Always query for peer addresses via DNS lookup (default: 0)
|
||||
#forcednsseed=1
|
||||
|
||||
# Whether to accept inbound I2P connections (default: 1). Ignored if
|
||||
# -i2psam is not set. Listening for inbound I2P connections is done
|
||||
# through the SAM proxy, not by binding to a local address and
|
||||
# port.
|
||||
#i2pacceptincoming=1
|
||||
|
||||
# I2P SAM proxy to reach I2P peers and accept I2P connections (default:
|
||||
# none)
|
||||
#i2psam=<ip:port>
|
||||
|
||||
# Accept connections from outside (default: 1 if no -proxy, -connect or
|
||||
# -maxconnections=0)
|
||||
#listen=1
|
||||
|
||||
# Automatically create Tor onion service (default: 1)
|
||||
#listenonion=1
|
||||
|
||||
# Maintain at most <n> automatic connections to peers (default: 125). This
|
||||
# limit does not apply to connections manually added via -addnode
|
||||
# or the addnode RPC, which have a separate limit of 8.
|
||||
#maxconnections=<n>
|
||||
|
||||
# Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)
|
||||
#maxreceivebuffer=<n>
|
||||
|
||||
# Maximum per-connection memory usage for the send buffer, <n>*1000 bytes
|
||||
# (default: 1000)
|
||||
#maxsendbuffer=<n>
|
||||
|
||||
# Tries to keep outbound traffic under the given target per 24h. Limit
|
||||
# does not apply to peers with 'download' permission or blocks
|
||||
# created within past week. 0 = no limit (default: 0M). Optional
|
||||
# suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000
|
||||
# base while uppercase is 1024 base
|
||||
#maxuploadtarget=<n>
|
||||
|
||||
# Use PCP or NAT-PMP to map the listening port (default: 0)
|
||||
#natpmp=1
|
||||
|
||||
# Enable all P2P network activity (default: 1). Can be changed by the
|
||||
# setnetworkactive RPC command
|
||||
#networkactive=1
|
||||
|
||||
# Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
# -noonion to disable (default: -proxy). May be a local file path
|
||||
# prefixed with 'unix:'.
|
||||
#onion=<ip:port|path>
|
||||
|
||||
# Make automatic outbound connections only to network <net> (ipv4, ipv6,
|
||||
# onion, i2p, cjdns). Inbound and manual connections are not
|
||||
# affected by this option. It can be specified multiple times to
|
||||
# allow multiple networks.
|
||||
#onlynet=<net>
|
||||
|
||||
# Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
#peerblockfilters=1
|
||||
|
||||
# Support filtering of blocks and transaction with bloom filters (default:
|
||||
# 0)
|
||||
#peerbloomfilters=1
|
||||
|
||||
# Listen for connections on <port> (default: 8333, testnet3: 18333,
|
||||
# testnet4: 48333, signet: 38333, regtest: 18444). Not relevant for
|
||||
# I2P (see doc/i2p.md). If set to a value x, the default onion
|
||||
# listening port will be set to x+1.
|
||||
#port=<port>
|
||||
|
||||
# Connect through SOCKS5 proxy, set -noproxy to disable (default:
|
||||
# disabled). May be a local file path prefixed with 'unix:' if the
|
||||
# proxy supports it.
|
||||
#proxy=<ip:port|path>
|
||||
|
||||
# Randomize credentials for every proxy connection. This enables Tor
|
||||
# stream isolation (default: 1)
|
||||
#proxyrandomize=1
|
||||
|
||||
# Connect to a node to retrieve peer addresses, and disconnect. This
|
||||
# option can be specified multiple times to connect to multiple
|
||||
# nodes. During startup, seednodes will be tried before dnsseeds.
|
||||
#seednode=<ip>
|
||||
|
||||
# Specify socket connection timeout in milliseconds. If an initial attempt
|
||||
# to connect is unsuccessful after this amount of time, drop it
|
||||
# (minimum: 1, default: 5000)
|
||||
#timeout=<n>
|
||||
|
||||
# Tor control host and port to use if onion listening enabled (default:
|
||||
# 127.0.0.1:9051). If no port is specified, the default port of
|
||||
# 9051 will be used.
|
||||
#torcontrol=<ip>:<port>
|
||||
|
||||
# Tor control port password (default: empty)
|
||||
#torpassword=<pass>
|
||||
|
||||
# Support v2 transport (default: 1)
|
||||
#v2transport=1
|
||||
|
||||
# Bind to the given address and add permission flags to the peers
|
||||
# connecting to it. Use [host]:port notation for IPv6. Allowed
|
||||
# permissions: bloomfilter (allow requesting BIP37 filtered blocks
|
||||
# and transactions), noban (do not ban for misbehavior; implies
|
||||
# download), forcerelay (relay transactions that are already in the
|
||||
# mempool; implies relay), relay (relay even in -blocksonly mode,
|
||||
# and unlimited transaction announcements), mempool (allow
|
||||
# requesting BIP35 mempool contents), download (allow getheaders
|
||||
# during IBD, no disconnect after maxuploadtarget limit), addr
|
||||
# (responses to GETADDR avoid hitting the cache and contain random
|
||||
# records with the most up-to-date info). Specify multiple
|
||||
# permissions separated by commas (default:
|
||||
# download,noban,mempool,relay). Can be specified multiple times.
|
||||
#whitebind=<[permissions@]addr>
|
||||
|
||||
# Add permission flags to the peers using the given IP address (e.g.
|
||||
# 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses the same
|
||||
# permissions as -whitebind. Additional flags "in" and "out"
|
||||
# control whether permissions apply to incoming connections and/or
|
||||
# manual (default: incoming only). Can be specified multiple times.
|
||||
#whitelist=<[permissions@]IP address or network>
|
||||
|
||||
|
||||
### Wallet options
|
||||
|
||||
|
||||
# What type of addresses to use ("legacy", "p2sh-segwit", "bech32", or
|
||||
# "bech32m", default: "bech32")
|
||||
#addresstype=1
|
||||
|
||||
# Group outputs by address, selecting many (possibly all) or none, instead
|
||||
# of selecting on a per-output basis. Privacy is improved as
|
||||
# addresses are mostly swept with fewer transactions and outputs
|
||||
# are aggregated in clean change addresses. It may result in higher
|
||||
# fees due to less optimal coin selection caused by this added
|
||||
# limitation and possibly a larger-than-necessary number of inputs
|
||||
# being used. Always enabled for wallets with "avoid_reuse"
|
||||
# enabled, otherwise default: 0.
|
||||
#avoidpartialspends=1
|
||||
|
||||
# What type of change to use ("legacy", "p2sh-segwit", "bech32", or
|
||||
# "bech32m"). Default is "legacy" when -addresstype=legacy, else it
|
||||
# is an implementation detail.
|
||||
#changetype=1
|
||||
|
||||
# The maximum feerate (in BTC/kvB) at which transaction building may use
|
||||
# more inputs than strictly necessary so that the wallet's UTXO
|
||||
# pool can be reduced (default: 0.0001).
|
||||
#consolidatefeerate=<amt>
|
||||
|
||||
# Do not load the wallet and disable wallet RPC calls
|
||||
#disablewallet=1
|
||||
|
||||
# The fee rate (in BTC/kvB) that indicates your tolerance for discarding
|
||||
# change by adding it to the fee (default: 0.0001). Note: An output
|
||||
# is discarded if it is dust at this rate, but we will always
|
||||
# discard up to the dust relay fee and a discard fee above that is
|
||||
# limited by the fee estimate for the longest target
|
||||
#discardfee=<amt>
|
||||
|
||||
# A fee rate (in BTC/kvB) that will be used when fee estimation has
|
||||
# insufficient data. 0 to entirely disable the fallbackfee feature.
|
||||
# (default: 0.00)
|
||||
#fallbackfee=<amt>
|
||||
|
||||
# Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
|
||||
# increase the risk of losing funds when restoring from an old
|
||||
# backup, if none of the addresses in the original keypool have
|
||||
# been used.
|
||||
#keypool=<n>
|
||||
|
||||
# Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
# allows the use of partial spend avoidance (default: 0.00)
|
||||
#maxapsfee=<n>
|
||||
|
||||
# Fee rates (in BTC/kvB) smaller than this are considered zero fee for
|
||||
# transaction creation (default: 0.00001)
|
||||
#mintxfee=<amt>
|
||||
|
||||
# Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00)
|
||||
#paytxfee=<amt>
|
||||
|
||||
# External signing tool, see doc/external-signer.md
|
||||
#signer=<cmd>
|
||||
|
||||
# Spend unconfirmed change when sending transactions (default: 1)
|
||||
#spendzeroconfchange=1
|
||||
|
||||
# If paytxfee is not set, include enough fee so transactions begin
|
||||
# confirmation on average within n blocks (default: 6)
|
||||
#txconfirmtarget=<n>
|
||||
|
||||
# Specify wallet path to load at startup. Can be used multiple times to
|
||||
# load multiple wallets. Path is to a directory containing wallet
|
||||
# data and log files. If the path is not absolute, it is
|
||||
# interpreted relative to <walletdir>. This only loads existing
|
||||
# wallets and does not create new ones. For backwards compatibility
|
||||
# this also accepts names of existing top-level data files in
|
||||
# <walletdir>.
|
||||
#wallet=<path>
|
||||
|
||||
# Make the wallet broadcast transactions (default: 1)
|
||||
#walletbroadcast=1
|
||||
|
||||
# Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
# exists, otherwise <datadir>)
|
||||
#walletdir=<dir>
|
||||
|
||||
# Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
# by TxID, %w is replaced by wallet name, %b is replaced by the
|
||||
# hash of the block including the transaction (set to 'unconfirmed'
|
||||
# if the transaction is not included) and %h is replaced by the
|
||||
# block height (-1 if not included). %w is not currently
|
||||
# implemented on windows. On systems where %w is supported, it
|
||||
# should NOT be quoted because this would break shell escaping used
|
||||
# to invoke the command.
|
||||
#walletnotify=<cmd>
|
||||
|
||||
# Send transactions with full-RBF opt-in enabled (RPC only, default: 1)
|
||||
#walletrbf=1
|
||||
|
||||
|
||||
### ZeroMQ notification options
|
||||
|
||||
|
||||
# Enable publish hash block in <address>
|
||||
#zmqpubhashblock=<address>
|
||||
|
||||
# Set publish hash block outbound message high water mark (default: 1000)
|
||||
#zmqpubhashblockhwm=<n>
|
||||
|
||||
# Enable publish hash transaction in <address>
|
||||
#zmqpubhashtx=<address>
|
||||
|
||||
# Set publish hash transaction outbound message high water mark (default:
|
||||
# 1000)
|
||||
#zmqpubhashtxhwm=<n>
|
||||
|
||||
# Enable publish raw block in <address>
|
||||
#zmqpubrawblock=<address>
|
||||
|
||||
# Set publish raw block outbound message high water mark (default: 1000)
|
||||
#zmqpubrawblockhwm=<n>
|
||||
|
||||
# Enable publish raw transaction in <address>
|
||||
#zmqpubrawtx=<address>
|
||||
|
||||
# Set publish raw transaction outbound message high water mark (default:
|
||||
# 1000)
|
||||
#zmqpubrawtxhwm=<n>
|
||||
|
||||
# Enable publish hash block and tx sequence in <address>
|
||||
#zmqpubsequence=<address>
|
||||
|
||||
# Set publish hash sequence message high water mark (default: 1000)
|
||||
#zmqpubsequencehwm=<n>
|
||||
|
||||
|
||||
### Debugging/Testing options
|
||||
|
||||
|
||||
# Output debug and trace logging (default: -nodebug, supplying <category>
|
||||
# is optional). If <category> is not supplied or if <category> is 1
|
||||
# or "all", output all debug logging. If <category> is 0 or "none",
|
||||
# any other categories are ignored. Other valid values for
|
||||
# <category> are: addrman, bench, blockstorage, cmpctblock, coindb,
|
||||
# estimatefee, http, i2p, ipc, leveldb, libevent, mempool,
|
||||
# mempoolrej, net, proxy, prune, qt, rand, reindex, rpc, scan,
|
||||
# selectcoins, tor, txpackages, txreconciliation, validation,
|
||||
# walletdb, zmq. This option can be specified multiple times to
|
||||
# output multiple categories.
|
||||
#debug=<category>
|
||||
|
||||
# Exclude debug and trace logging for a category. Can be used in
|
||||
# conjunction with -debug=1 to output debug and trace logging for
|
||||
# all categories except the specified category. This option can be
|
||||
# specified multiple times to exclude multiple categories. This
|
||||
# takes priority over "-debug"
|
||||
#debugexclude=<category>
|
||||
|
||||
# Include IP addresses in debug output (default: 0)
|
||||
#logips=1
|
||||
|
||||
# Always prepend a category and level (default: 0)
|
||||
#loglevelalways=1
|
||||
|
||||
# Prepend debug output with name of the originating source location
|
||||
# (source file, line number and function name) (default: 0)
|
||||
#logsourcelocations=1
|
||||
|
||||
# Prepend debug output with name of the originating thread (default: 0)
|
||||
#logthreadnames=1
|
||||
|
||||
# Prepend debug output with timestamp (default: 1)
|
||||
#logtimestamps=1
|
||||
|
||||
# Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
# setting this too low may abort large transactions (default: 0.10)
|
||||
#maxtxfee=<amt>
|
||||
|
||||
# Send trace/debug info to console (default: 1 when no -daemon. To disable
|
||||
# logging to file, set -nodebuglogfile)
|
||||
#printtoconsole=1
|
||||
|
||||
# Shrink debug.log file on client startup (default: 1 when no -debug)
|
||||
#shrinkdebugfile=1
|
||||
|
||||
# Append comment to the user agent string
|
||||
#uacomment=<cmt>
|
||||
|
||||
|
||||
### Chain selection options
|
||||
|
||||
|
||||
# Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
# testnet4, signet, regtest
|
||||
#chain=<chain>
|
||||
|
||||
# Use the signet chain. Equivalent to -chain=signet. Note that the network
|
||||
# is defined by the -signetchallenge parameter
|
||||
#signet=1
|
||||
|
||||
# Blocks must satisfy the given script to be considered valid (only for
|
||||
# signet networks; defaults to the global default signet test
|
||||
# network challenge)
|
||||
#signetchallenge=1
|
||||
|
||||
# Specify a seed node for the signet network, in the hostname[:port]
|
||||
# format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
# multiple seed nodes; defaults to the global default signet test
|
||||
# network seed node(s))
|
||||
#signetseednode=1
|
||||
|
||||
# Use the testnet3 chain. Equivalent to -chain=test. Support for testnet3
|
||||
# is deprecated and will be removed in an upcoming release.
|
||||
# Consider moving to testnet4 now by using -testnet4.
|
||||
#testnet=1
|
||||
|
||||
# Use the testnet4 chain. Equivalent to -chain=testnet4.
|
||||
#testnet4=1
|
||||
|
||||
|
||||
### Node relay options
|
||||
|
||||
|
||||
# Equivalent bytes per sigop in transactions for relay and mining
|
||||
# (default: 20)
|
||||
#bytespersigop=1
|
||||
|
||||
# Relay and mine data carrier transactions (default: 1)
|
||||
#datacarrier=1
|
||||
|
||||
# Relay and mine transactions whose data-carrying raw scriptPubKey is of
|
||||
# this size or less (default: 83)
|
||||
#datacarriersize=1
|
||||
|
||||
# Fees (in BTC/kvB) smaller than this are considered zero fee for
|
||||
# relaying, mining and transaction creation (default: 0.000001)
|
||||
#minrelaytxfee=<amt>
|
||||
|
||||
# Relay transactions creating non-P2SH multisig outputs (default: 1)
|
||||
#permitbaremultisig=1
|
||||
|
||||
# Add 'forcerelay' permission to whitelisted peers with default
|
||||
# permissions. This will relay transactions even if the
|
||||
# transactions were already in the mempool. (default: 0)
|
||||
#whitelistforcerelay=1
|
||||
|
||||
# Add 'relay' permission to whitelisted peers with default permissions.
|
||||
# This will accept relayed transactions even when not relaying
|
||||
# transactions (default: 1)
|
||||
#whitelistrelay=1
|
||||
|
||||
|
||||
### Block creation options
|
||||
|
||||
|
||||
# Set maximum BIP141 block weight (default: 4000000)
|
||||
#blockmaxweight=<n>
|
||||
|
||||
# Set lowest fee rate (in BTC/kvB) for transactions to be included in
|
||||
# block creation. (default: 0.00000001)
|
||||
#blockmintxfee=<amt>
|
||||
|
||||
# Reserve space for the fixed-size block header plus the largest coinbase
|
||||
# transaction the mining software may add to the block. (default:
|
||||
# 8000).
|
||||
#blockreservedweight=<n>
|
||||
|
||||
|
||||
### RPC server options
|
||||
|
||||
|
||||
# Accept public REST requests (default: 0)
|
||||
#rest=1
|
||||
|
||||
# Allow JSON-RPC connections from specified source. Valid values for <ip>
|
||||
# are a single IP (e.g. 1.2.3.4), a network/netmask (e.g.
|
||||
# 1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all
|
||||
# ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be
|
||||
# specified multiple times
|
||||
#rpcallowip=<ip>
|
||||
|
||||
# Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The
|
||||
# field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
# canonical python script is included in share/rpcauth. The client
|
||||
# then connects normally using the
|
||||
# rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
# option can be specified multiple times
|
||||
#rpcauth=<userpw>
|
||||
|
||||
# Bind to given address to listen for JSON-RPC connections. Do not expose
|
||||
# the RPC server to untrusted networks such as the public internet!
|
||||
# This option is ignored unless -rpcallowip is also passed. Port is
|
||||
# optional and overrides -rpcport. Use [host]:port notation for
|
||||
# IPv6. This option can be specified multiple times (default:
|
||||
# 127.0.0.1 and ::1 i.e., localhost)
|
||||
#rpcbind=<addr>[:port]
|
||||
|
||||
# Location of the auth cookie. Relative paths will be prefixed by a
|
||||
# net-specific datadir location. (default: data dir)
|
||||
#rpccookiefile=<loc>
|
||||
|
||||
# Set permissions on the RPC auth cookie file so that it is readable by
|
||||
# [owner|group|all] (default: owner [via umask 0077])
|
||||
#rpccookieperms=<readable-by>
|
||||
|
||||
# Password for JSON-RPC connections
|
||||
#rpcpassword=<pw>
|
||||
|
||||
# Listen for JSON-RPC connections on <port> (default: 8332, testnet3:
|
||||
# 18332, testnet4: 48332, signet: 38332, regtest: 18443)
|
||||
#rpcport=<port>
|
||||
|
||||
# Set the number of threads to service RPC calls (default: 16)
|
||||
#rpcthreads=<n>
|
||||
|
||||
# Username for JSON-RPC connections
|
||||
#rpcuser=<user>
|
||||
|
||||
# Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
# field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
# 2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
# they are set-intersected. See -rpcwhitelistdefault documentation
|
||||
# for information on default whitelist behavior.
|
||||
#rpcwhitelist=<whitelist>
|
||||
|
||||
# Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
# is set to 0, if any -rpcwhitelist is set, the rpc server acts as
|
||||
# if all rpc users are subject to empty-unless-otherwise-specified
|
||||
# whitelists. If rpcwhitelistdefault is set to 1 and no
|
||||
# -rpcwhitelist is set, rpc server acts as if all rpc users are
|
||||
# subject to empty whitelists.
|
||||
#rpcwhitelistdefault=1
|
||||
|
||||
# Accept command line and JSON-RPC commands
|
||||
#server=1
|
||||
|
||||
|
||||
# [Sections]
|
||||
# Most options will apply to all networks. To confine an option to a specific
|
||||
# network, add it under the relevant section below.
|
||||
#
|
||||
# Note: If not specified under a network section, the options addnode, connect,
|
||||
# port, bind, rpcport, rpcbind, and wallet will only apply to mainnet.
|
||||
|
||||
# Options for mainnet
|
||||
[main]
|
||||
|
||||
# Options for testnet3
|
||||
[test]
|
||||
|
||||
# Options for testnet4
|
||||
[testnet4]
|
||||
|
||||
# Options for signet
|
||||
[signet]
|
||||
|
||||
# Options for regtest
|
||||
[regtest]
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Bitcoin"
|
||||
VALUE "CompanyName", CLIENT_NAME " project"
|
||||
VALUE "FileDescription", "bitcoin-cli (JSON-RPC client for " CLIENT_NAME ")"
|
||||
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||
VALUE "InternalName", "bitcoin-cli"
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Bitcoin"
|
||||
VALUE "CompanyName", CLIENT_NAME " project"
|
||||
VALUE "FileDescription", "bitcoin-tx (CLI Bitcoin transaction editor utility)"
|
||||
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||
VALUE "InternalName", "bitcoin-tx"
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Bitcoin"
|
||||
VALUE "CompanyName", CLIENT_NAME " project"
|
||||
VALUE "FileDescription", "bitcoin-util (CLI Bitcoin utility)"
|
||||
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||
VALUE "InternalName", "bitcoin-util"
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Bitcoin"
|
||||
VALUE "CompanyName", CLIENT_NAME " project"
|
||||
VALUE "FileDescription", "bitcoin-wallet (CLI tool for " CLIENT_NAME " wallets)"
|
||||
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||
VALUE "InternalName", "bitcoin-wallet"
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Bitcoin"
|
||||
VALUE "CompanyName", CLIENT_NAME " project"
|
||||
VALUE "FileDescription", "bitcoind (Bitcoin node with a JSON-RPC server)"
|
||||
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||
VALUE "InternalName", "bitcoind"
|
||||
|
||||
@@ -47,7 +47,7 @@ if(HAVE_SSE41 AND HAVE_X86_SHANI)
|
||||
target_compile_definitions(bitcoin_crypto PRIVATE ENABLE_SSE41 ENABLE_X86_SHANI)
|
||||
target_sources(bitcoin_crypto PRIVATE sha256_x86_shani.cpp)
|
||||
set_property(SOURCE sha256_x86_shani.cpp PROPERTY
|
||||
COMPILE_OPTIONS ${X86_SHANI_CXXFLAGS}
|
||||
COMPILE_OPTIONS ${SSE41_CXXFLAGS} ${X86_SHANI_CXXFLAGS}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -13,13 +13,17 @@
|
||||
namespace sha256_sse4
|
||||
{
|
||||
void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks)
|
||||
#if defined(__clang__) && !defined(__OPTIMIZE__)
|
||||
#if defined(__clang__)
|
||||
/*
|
||||
clang is unable to compile this with -O0 and -fsanitize=address.
|
||||
See upstream bug: https://github.com/llvm/llvm-project/issues/92182
|
||||
See upstream bug: https://github.com/llvm/llvm-project/issues/92182.
|
||||
This also fails to compile with -O2, -fcf-protection & -fsanitize=address.
|
||||
See https://github.com/bitcoin/bitcoin/issues/31913.
|
||||
*/
|
||||
#if __has_feature(address_sanitizer)
|
||||
__attribute__((no_sanitize("address")))
|
||||
#endif
|
||||
#endif
|
||||
{
|
||||
static const uint32_t K256 alignas(16) [] = {
|
||||
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
|
||||
|
||||
@@ -1384,6 +1384,15 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
||||
}
|
||||
}, std::chrono::minutes{5});
|
||||
|
||||
if (args.GetBoolArg("-logratelimit", BCLog::DEFAULT_LOGRATELIMIT)) {
|
||||
LogInstance().SetRateLimiting(BCLog::LogRateLimiter::Create(
|
||||
[&scheduler](auto func, auto window) { scheduler.scheduleEvery(std::move(func), window); },
|
||||
BCLog::RATELIMIT_MAX_BYTES,
|
||||
BCLog::RATELIMIT_WINDOW));
|
||||
} else {
|
||||
LogInfo("Log rate limiting disabled");
|
||||
}
|
||||
|
||||
assert(!node.validation_signals);
|
||||
node.validation_signals = std::make_unique<ValidationSignals>(std::make_unique<SerialTaskRunner>(scheduler));
|
||||
auto& validation_signals = *node.validation_signals;
|
||||
|
||||
@@ -38,6 +38,7 @@ void AddLoggingArgs(ArgsManager& argsman)
|
||||
argsman.AddArg("-logsourcelocations", strprintf("Prepend debug output with name of the originating source location (source file, line number and function name) (default: %u)", DEFAULT_LOGSOURCELOCATIONS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-logtimemicros", strprintf("Add microsecond precision to debug timestamps (default: %u)", DEFAULT_LOGTIMEMICROS), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-loglevelalways", strprintf("Always prepend a category and level (default: %u)", DEFAULT_LOGLEVELALWAYS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-logratelimit", strprintf("Apply rate limiting to unconditional logging to mitigate disk-filling attacks (default: %u)", BCLog::DEFAULT_LOGRATELIMIT), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-printtoconsole", "Send trace/debug info to console (default: 1 when no -daemon. To disable logging to file, set -nodebuglogfile)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-shrinkdebugfile", "Shrink debug.log file on client startup (default: 1 when no -debug)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
}
|
||||
|
||||
126
src/logging.cpp
126
src/logging.cpp
@@ -12,8 +12,10 @@
|
||||
#include <util/time.h>
|
||||
|
||||
#include <array>
|
||||
#include <cstring>
|
||||
#include <map>
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
using util::Join;
|
||||
using util::RemovePrefixView;
|
||||
@@ -73,12 +75,12 @@ bool BCLog::Logger::StartLogging()
|
||||
// dump buffered messages from before we opened the log
|
||||
m_buffering = false;
|
||||
if (m_buffer_lines_discarded > 0) {
|
||||
LogPrintStr_(strprintf("Early logging buffer overflowed, %d log lines discarded.\n", m_buffer_lines_discarded), __func__, __FILE__, __LINE__, BCLog::ALL, Level::Info);
|
||||
LogPrintStr_(strprintf("Early logging buffer overflowed, %d log lines discarded.\n", m_buffer_lines_discarded), std::source_location::current(), BCLog::ALL, Level::Info, /*should_ratelimit=*/false);
|
||||
}
|
||||
while (!m_msgs_before_open.empty()) {
|
||||
const auto& buflog = m_msgs_before_open.front();
|
||||
std::string s{buflog.str};
|
||||
FormatLogStrInPlace(s, buflog.category, buflog.level, buflog.source_file, buflog.source_line, buflog.logging_function, buflog.threadname, buflog.now, buflog.mocktime);
|
||||
FormatLogStrInPlace(s, buflog.category, buflog.level, buflog.source_loc, buflog.threadname, buflog.now, buflog.mocktime);
|
||||
m_msgs_before_open.pop_front();
|
||||
|
||||
if (m_print_to_file) FileWriteStr(s, m_fileout);
|
||||
@@ -364,17 +366,50 @@ std::string BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level l
|
||||
|
||||
static size_t MemUsage(const BCLog::Logger::BufferedLog& buflog)
|
||||
{
|
||||
return buflog.str.size() + buflog.logging_function.size() + buflog.source_file.size() + buflog.threadname.size() + memusage::MallocUsage(sizeof(memusage::list_node<BCLog::Logger::BufferedLog>));
|
||||
return memusage::DynamicUsage(buflog.str) +
|
||||
memusage::DynamicUsage(buflog.threadname) +
|
||||
memusage::MallocUsage(sizeof(memusage::list_node<BCLog::Logger::BufferedLog>));
|
||||
}
|
||||
|
||||
void BCLog::Logger::FormatLogStrInPlace(std::string& str, BCLog::LogFlags category, BCLog::Level level, std::string_view source_file, int source_line, std::string_view logging_function, std::string_view threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const
|
||||
BCLog::LogRateLimiter::LogRateLimiter(uint64_t max_bytes, std::chrono::seconds reset_window)
|
||||
: m_max_bytes{max_bytes}, m_reset_window{reset_window} {}
|
||||
|
||||
std::shared_ptr<BCLog::LogRateLimiter> BCLog::LogRateLimiter::Create(
|
||||
SchedulerFunction&& scheduler_func, uint64_t max_bytes, std::chrono::seconds reset_window)
|
||||
{
|
||||
auto limiter{std::shared_ptr<LogRateLimiter>(new LogRateLimiter(max_bytes, reset_window))};
|
||||
std::weak_ptr<LogRateLimiter> weak_limiter{limiter};
|
||||
auto reset = [weak_limiter] {
|
||||
if (auto shared_limiter{weak_limiter.lock()}) shared_limiter->Reset();
|
||||
};
|
||||
scheduler_func(reset, limiter->m_reset_window);
|
||||
return limiter;
|
||||
}
|
||||
|
||||
BCLog::LogRateLimiter::Status BCLog::LogRateLimiter::Consume(
|
||||
const std::source_location& source_loc,
|
||||
const std::string& str)
|
||||
{
|
||||
StdLockGuard scoped_lock(m_mutex);
|
||||
auto& stats{m_source_locations.try_emplace(source_loc, m_max_bytes).first->second};
|
||||
Status status{stats.m_dropped_bytes > 0 ? Status::STILL_SUPPRESSED : Status::UNSUPPRESSED};
|
||||
|
||||
if (!stats.Consume(str.size()) && status == Status::UNSUPPRESSED) {
|
||||
status = Status::NEWLY_SUPPRESSED;
|
||||
m_suppression_active = true;
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void BCLog::Logger::FormatLogStrInPlace(std::string& str, BCLog::LogFlags category, BCLog::Level level, const std::source_location& source_loc, std::string_view threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const
|
||||
{
|
||||
if (!str.ends_with('\n')) str.push_back('\n');
|
||||
|
||||
str.insert(0, GetLogPrefix(category, level));
|
||||
|
||||
if (m_log_sourcelocations) {
|
||||
str.insert(0, strprintf("[%s:%d] [%s] ", RemovePrefixView(source_file, "./"), source_line, logging_function));
|
||||
str.insert(0, strprintf("[%s:%d] [%s] ", RemovePrefixView(source_loc.file_name(), "./"), source_loc.line(), source_loc.function_name()));
|
||||
}
|
||||
|
||||
if (m_log_threadnames) {
|
||||
@@ -384,28 +419,27 @@ void BCLog::Logger::FormatLogStrInPlace(std::string& str, BCLog::LogFlags catego
|
||||
str.insert(0, LogTimestampStr(now, mocktime));
|
||||
}
|
||||
|
||||
void BCLog::Logger::LogPrintStr(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level)
|
||||
void BCLog::Logger::LogPrintStr(std::string_view str, std::source_location&& source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
|
||||
{
|
||||
StdLockGuard scoped_lock(m_cs);
|
||||
return LogPrintStr_(str, logging_function, source_file, source_line, category, level);
|
||||
return LogPrintStr_(str, std::move(source_loc), category, level, should_ratelimit);
|
||||
}
|
||||
|
||||
void BCLog::Logger::LogPrintStr_(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level)
|
||||
// NOLINTNEXTLINE(misc-no-recursion)
|
||||
void BCLog::Logger::LogPrintStr_(std::string_view str, std::source_location&& source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
|
||||
{
|
||||
std::string str_prefixed = LogEscapeMessage(str);
|
||||
|
||||
if (m_buffering) {
|
||||
{
|
||||
BufferedLog buf{
|
||||
.now=SystemClock::now(),
|
||||
.mocktime=GetMockTime(),
|
||||
.str=str_prefixed,
|
||||
.logging_function=std::string(logging_function),
|
||||
.source_file=std::string(source_file),
|
||||
.threadname=util::ThreadGetInternalName(),
|
||||
.source_line=source_line,
|
||||
.category=category,
|
||||
.level=level,
|
||||
.now = SystemClock::now(),
|
||||
.mocktime = GetMockTime(),
|
||||
.str = str_prefixed,
|
||||
.threadname = util::ThreadGetInternalName(),
|
||||
.source_loc = std::move(source_loc),
|
||||
.category = category,
|
||||
.level = level,
|
||||
};
|
||||
m_cur_buffer_memusage += MemUsage(buf);
|
||||
m_msgs_before_open.push_back(std::move(buf));
|
||||
@@ -424,7 +458,31 @@ void BCLog::Logger::LogPrintStr_(std::string_view str, std::string_view logging_
|
||||
return;
|
||||
}
|
||||
|
||||
FormatLogStrInPlace(str_prefixed, category, level, source_file, source_line, logging_function, util::ThreadGetInternalName(), SystemClock::now(), GetMockTime());
|
||||
FormatLogStrInPlace(str_prefixed, category, level, source_loc, util::ThreadGetInternalName(), SystemClock::now(), GetMockTime());
|
||||
bool ratelimit{false};
|
||||
if (should_ratelimit && m_limiter) {
|
||||
auto status{m_limiter->Consume(source_loc, str_prefixed)};
|
||||
if (status == LogRateLimiter::Status::NEWLY_SUPPRESSED) {
|
||||
// NOLINTNEXTLINE(misc-no-recursion)
|
||||
LogPrintStr_(strprintf(
|
||||
"Excessive logging detected from %s:%d (%s): >%d bytes logged during "
|
||||
"the last time window of %is. Suppressing logging to disk from this "
|
||||
"source location until time window resets. Console logging "
|
||||
"unaffected. Last log entry.",
|
||||
source_loc.file_name(), source_loc.line(), source_loc.function_name(),
|
||||
m_limiter->m_max_bytes,
|
||||
Ticks<std::chrono::seconds>(m_limiter->m_reset_window)),
|
||||
std::source_location::current(), LogFlags::ALL, Level::Warning, /*should_ratelimit=*/false); // with should_ratelimit=false, this cannot lead to infinite recursion
|
||||
} else if (status == LogRateLimiter::Status::STILL_SUPPRESSED) {
|
||||
ratelimit = true;
|
||||
}
|
||||
}
|
||||
|
||||
// To avoid confusion caused by dropped log messages when debugging an issue,
|
||||
// we prefix log lines with "[*]" when there are any suppressed source locations.
|
||||
if (m_limiter && m_limiter->SuppressionsActive()) {
|
||||
str_prefixed.insert(0, "[*] ");
|
||||
}
|
||||
|
||||
if (m_print_to_console) {
|
||||
// print to console
|
||||
@@ -434,7 +492,7 @@ void BCLog::Logger::LogPrintStr_(std::string_view str, std::string_view logging_
|
||||
for (const auto& cb : m_print_callbacks) {
|
||||
cb(str_prefixed);
|
||||
}
|
||||
if (m_print_to_file) {
|
||||
if (m_print_to_file && !ratelimit) {
|
||||
assert(m_fileout != nullptr);
|
||||
|
||||
// reopen the log file, if requested
|
||||
@@ -492,6 +550,36 @@ void BCLog::Logger::ShrinkDebugFile()
|
||||
fclose(file);
|
||||
}
|
||||
|
||||
void BCLog::LogRateLimiter::Reset()
|
||||
{
|
||||
decltype(m_source_locations) source_locations;
|
||||
{
|
||||
StdLockGuard scoped_lock(m_mutex);
|
||||
source_locations.swap(m_source_locations);
|
||||
m_suppression_active = false;
|
||||
}
|
||||
for (const auto& [source_loc, stats] : source_locations) {
|
||||
if (stats.m_dropped_bytes == 0) continue;
|
||||
LogPrintLevel_(
|
||||
LogFlags::ALL, Level::Warning, /*should_ratelimit=*/false,
|
||||
"Restarting logging from %s:%d (%s): %d bytes were dropped during the last %ss.",
|
||||
source_loc.file_name(), source_loc.line(), source_loc.function_name(),
|
||||
stats.m_dropped_bytes, Ticks<std::chrono::seconds>(m_reset_window));
|
||||
}
|
||||
}
|
||||
|
||||
bool BCLog::LogRateLimiter::Stats::Consume(uint64_t bytes)
|
||||
{
|
||||
if (bytes > m_available_bytes) {
|
||||
m_dropped_bytes += bytes;
|
||||
m_available_bytes = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_available_bytes -= bytes;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BCLog::Logger::SetLogLevel(std::string_view level_str)
|
||||
{
|
||||
const auto level = GetLogLevel(level_str);
|
||||
|
||||
137
src/logging.h
137
src/logging.h
@@ -6,6 +6,7 @@
|
||||
#ifndef BITCOIN_LOGGING_H
|
||||
#define BITCOIN_LOGGING_H
|
||||
|
||||
#include <crypto/siphash.h>
|
||||
#include <threadsafety.h>
|
||||
#include <tinyformat.h>
|
||||
#include <util/fs.h>
|
||||
@@ -14,11 +15,15 @@
|
||||
|
||||
#include <atomic>
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <functional>
|
||||
#include <list>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <source_location>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
static const bool DEFAULT_LOGTIMEMICROS = false;
|
||||
@@ -31,6 +36,24 @@ extern const char * const DEFAULT_DEBUGLOGFILE;
|
||||
|
||||
extern bool fLogIPs;
|
||||
|
||||
struct SourceLocationEqual {
|
||||
bool operator()(const std::source_location& lhs, const std::source_location& rhs) const noexcept
|
||||
{
|
||||
return lhs.line() == rhs.line() && std::string_view(lhs.file_name()) == std::string_view(rhs.file_name());
|
||||
}
|
||||
};
|
||||
|
||||
struct SourceLocationHasher {
|
||||
size_t operator()(const std::source_location& s) const noexcept
|
||||
{
|
||||
// Use CSipHasher(0, 0) as a simple way to get uniform distribution.
|
||||
return size_t(CSipHasher(0, 0)
|
||||
.Write(s.line())
|
||||
.Write(MakeUCharSpan(std::string_view{s.file_name()}))
|
||||
.Finalize());
|
||||
}
|
||||
};
|
||||
|
||||
struct LogCategory {
|
||||
std::string category;
|
||||
bool active;
|
||||
@@ -82,6 +105,69 @@ namespace BCLog {
|
||||
};
|
||||
constexpr auto DEFAULT_LOG_LEVEL{Level::Debug};
|
||||
constexpr size_t DEFAULT_MAX_LOG_BUFFER{1'000'000}; // buffer up to 1MB of log data prior to StartLogging
|
||||
constexpr uint64_t RATELIMIT_MAX_BYTES{1024 * 1024}; // maximum number of bytes per source location that can be logged within the RATELIMIT_WINDOW
|
||||
constexpr auto RATELIMIT_WINDOW{1h}; // time window after which log ratelimit stats are reset
|
||||
constexpr bool DEFAULT_LOGRATELIMIT{true};
|
||||
|
||||
//! Fixed window rate limiter for logging.
|
||||
class LogRateLimiter
|
||||
{
|
||||
public:
|
||||
//! Keeps track of an individual source location and how many available bytes are left for logging from it.
|
||||
struct Stats {
|
||||
//! Remaining bytes
|
||||
uint64_t m_available_bytes;
|
||||
//! Number of bytes that were consumed but didn't fit in the available bytes.
|
||||
uint64_t m_dropped_bytes{0};
|
||||
|
||||
Stats(uint64_t max_bytes) : m_available_bytes{max_bytes} {}
|
||||
//! Updates internal accounting and returns true if enough available_bytes were remaining
|
||||
bool Consume(uint64_t bytes);
|
||||
};
|
||||
|
||||
private:
|
||||
mutable StdMutex m_mutex;
|
||||
|
||||
//! Stats for each source location that has attempted to log something.
|
||||
std::unordered_map<std::source_location, Stats, SourceLocationHasher, SourceLocationEqual> m_source_locations GUARDED_BY(m_mutex);
|
||||
//! Whether any log locations are suppressed. Cached view on m_source_locations for performance reasons.
|
||||
std::atomic<bool> m_suppression_active{false};
|
||||
LogRateLimiter(uint64_t max_bytes, std::chrono::seconds reset_window);
|
||||
|
||||
public:
|
||||
using SchedulerFunction = std::function<void(std::function<void()>, std::chrono::milliseconds)>;
|
||||
/**
|
||||
* @param scheduler_func Callable object used to schedule resetting the window. The first
|
||||
* parameter is the function to be executed, and the second is the
|
||||
* reset_window interval.
|
||||
* @param max_bytes Maximum number of bytes that can be logged for each source
|
||||
* location.
|
||||
* @param reset_window Time window after which the stats are reset.
|
||||
*/
|
||||
static std::shared_ptr<LogRateLimiter> Create(
|
||||
SchedulerFunction&& scheduler_func,
|
||||
uint64_t max_bytes,
|
||||
std::chrono::seconds reset_window);
|
||||
//! Maximum number of bytes logged per location per window.
|
||||
const uint64_t m_max_bytes;
|
||||
//! Interval after which the window is reset.
|
||||
const std::chrono::seconds m_reset_window;
|
||||
//! Suppression status of a source log location.
|
||||
enum class Status {
|
||||
UNSUPPRESSED, // string fits within the limit
|
||||
NEWLY_SUPPRESSED, // suppression has started since this string
|
||||
STILL_SUPPRESSED, // suppression is still ongoing
|
||||
};
|
||||
//! Consumes `source_loc`'s available bytes corresponding to the size of the (formatted)
|
||||
//! `str` and returns its status.
|
||||
[[nodiscard]] Status Consume(
|
||||
const std::source_location& source_loc,
|
||||
const std::string& str) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex);
|
||||
//! Resets all usage to zero. Called periodically by the scheduler.
|
||||
void Reset() EXCLUSIVE_LOCKS_REQUIRED(!m_mutex);
|
||||
//! Returns true if any log locations are currently being suppressed.
|
||||
bool SuppressionsActive() const { return m_suppression_active; }
|
||||
};
|
||||
|
||||
class Logger
|
||||
{
|
||||
@@ -89,8 +175,8 @@ namespace BCLog {
|
||||
struct BufferedLog {
|
||||
SystemClock::time_point now;
|
||||
std::chrono::seconds mocktime;
|
||||
std::string str, logging_function, source_file, threadname;
|
||||
int source_line;
|
||||
std::string str, threadname;
|
||||
std::source_location source_loc;
|
||||
LogFlags category;
|
||||
Level level;
|
||||
};
|
||||
@@ -105,6 +191,9 @@ namespace BCLog {
|
||||
size_t m_cur_buffer_memusage GUARDED_BY(m_cs){0};
|
||||
size_t m_buffer_lines_discarded GUARDED_BY(m_cs){0};
|
||||
|
||||
//! Manages the rate limiting of each log location.
|
||||
std::shared_ptr<LogRateLimiter> m_limiter GUARDED_BY(m_cs);
|
||||
|
||||
//! Category-specific log level. Overrides `m_log_level`.
|
||||
std::unordered_map<LogFlags, Level> m_category_log_levels GUARDED_BY(m_cs);
|
||||
|
||||
@@ -115,7 +204,7 @@ namespace BCLog {
|
||||
/** Log categories bitfield. */
|
||||
std::atomic<CategoryMask> m_categories{BCLog::NONE};
|
||||
|
||||
void FormatLogStrInPlace(std::string& str, LogFlags category, Level level, std::string_view source_file, int source_line, std::string_view logging_function, std::string_view threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const;
|
||||
void FormatLogStrInPlace(std::string& str, LogFlags category, Level level, const std::source_location& source_loc, std::string_view threadname, SystemClock::time_point now, std::chrono::seconds mocktime) const;
|
||||
|
||||
std::string LogTimestampStr(SystemClock::time_point now, std::chrono::seconds mocktime) const;
|
||||
|
||||
@@ -123,7 +212,7 @@ namespace BCLog {
|
||||
std::list<std::function<void(const std::string&)>> m_print_callbacks GUARDED_BY(m_cs) {};
|
||||
|
||||
/** Send a string to the log output (internal) */
|
||||
void LogPrintStr_(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level)
|
||||
void LogPrintStr_(std::string_view str, std::source_location&& source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
|
||||
EXCLUSIVE_LOCKS_REQUIRED(m_cs);
|
||||
|
||||
std::string GetLogPrefix(LogFlags category, Level level) const;
|
||||
@@ -142,7 +231,7 @@ namespace BCLog {
|
||||
std::atomic<bool> m_reopen_file{false};
|
||||
|
||||
/** Send a string to the log output */
|
||||
void LogPrintStr(std::string_view str, std::string_view logging_function, std::string_view source_file, int source_line, BCLog::LogFlags category, BCLog::Level level)
|
||||
void LogPrintStr(std::string_view str, std::source_location&& source_loc, BCLog::LogFlags category, BCLog::Level level, bool should_ratelimit)
|
||||
EXCLUSIVE_LOCKS_REQUIRED(!m_cs);
|
||||
|
||||
/** Returns whether logs will be written to any output */
|
||||
@@ -172,6 +261,12 @@ namespace BCLog {
|
||||
/** Only for testing */
|
||||
void DisconnectTestLogger() EXCLUSIVE_LOCKS_REQUIRED(!m_cs);
|
||||
|
||||
void SetRateLimiting(std::shared_ptr<LogRateLimiter> limiter) EXCLUSIVE_LOCKS_REQUIRED(!m_cs)
|
||||
{
|
||||
StdLockGuard scoped_lock(m_cs);
|
||||
m_limiter = std::move(limiter);
|
||||
}
|
||||
|
||||
/** Disable logging
|
||||
* This offers a slight speedup and slightly smaller memory usage
|
||||
* compared to leaving the logging system in its default state.
|
||||
@@ -239,7 +334,7 @@ static inline bool LogAcceptCategory(BCLog::LogFlags category, BCLog::Level leve
|
||||
bool GetLogCategory(BCLog::LogFlags& flag, std::string_view str);
|
||||
|
||||
template <typename... Args>
|
||||
inline void LogPrintFormatInternal(std::string_view logging_function, std::string_view source_file, const int source_line, const BCLog::LogFlags flag, const BCLog::Level level, util::ConstevalFormatString<sizeof...(Args)> fmt, const Args&... args)
|
||||
inline void LogPrintFormatInternal(std::source_location&& source_loc, BCLog::LogFlags flag, BCLog::Level level, bool should_ratelimit, util::ConstevalFormatString<sizeof...(Args)> fmt, const Args&... args)
|
||||
{
|
||||
if (LogInstance().Enabled()) {
|
||||
std::string log_msg;
|
||||
@@ -248,19 +343,19 @@ inline void LogPrintFormatInternal(std::string_view logging_function, std::strin
|
||||
} catch (tinyformat::format_error& fmterr) {
|
||||
log_msg = "Error \"" + std::string{fmterr.what()} + "\" while formatting log message: " + fmt.fmt;
|
||||
}
|
||||
LogInstance().LogPrintStr(log_msg, logging_function, source_file, source_line, flag, level);
|
||||
LogInstance().LogPrintStr(log_msg, std::move(source_loc), flag, level, should_ratelimit);
|
||||
}
|
||||
}
|
||||
|
||||
#define LogPrintLevel_(category, level, ...) LogPrintFormatInternal(__func__, __FILE__, __LINE__, category, level, __VA_ARGS__)
|
||||
#define LogPrintLevel_(category, level, should_ratelimit, ...) LogPrintFormatInternal(std::source_location::current(), category, level, should_ratelimit, __VA_ARGS__)
|
||||
|
||||
// Log unconditionally.
|
||||
// Log unconditionally. Uses basic rate limiting to mitigate disk filling attacks.
|
||||
// Be conservative when using functions that unconditionally log to debug.log!
|
||||
// It should not be the case that an inbound peer can fill up a user's storage
|
||||
// with debug.log entries.
|
||||
#define LogInfo(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Info, __VA_ARGS__)
|
||||
#define LogWarning(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Warning, __VA_ARGS__)
|
||||
#define LogError(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Error, __VA_ARGS__)
|
||||
#define LogInfo(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Info, /*should_ratelimit=*/true, __VA_ARGS__)
|
||||
#define LogWarning(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Warning, /*should_ratelimit=*/true, __VA_ARGS__)
|
||||
#define LogError(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Error, /*should_ratelimit=*/true, __VA_ARGS__)
|
||||
|
||||
// Deprecated unconditional logging.
|
||||
#define LogPrintf(...) LogInfo(__VA_ARGS__)
|
||||
@@ -268,12 +363,18 @@ inline void LogPrintFormatInternal(std::string_view logging_function, std::strin
|
||||
// Use a macro instead of a function for conditional logging to prevent
|
||||
// evaluating arguments when logging for the category is not enabled.
|
||||
|
||||
// Log conditionally, prefixing the output with the passed category name and severity level.
|
||||
#define LogPrintLevel(category, level, ...) \
|
||||
do { \
|
||||
if (LogAcceptCategory((category), (level))) { \
|
||||
LogPrintLevel_(category, level, __VA_ARGS__); \
|
||||
} \
|
||||
// Log by prefixing the output with the passed category name and severity level. This can either
|
||||
// log conditionally if the category is allowed or unconditionally if level >= BCLog::Level::Info
|
||||
// is passed. If this function logs unconditionally, logging to disk is rate-limited. This is
|
||||
// important so that callers don't need to worry about accidentally introducing a disk-fill
|
||||
// vulnerability if level >= Info is used. Additionally, users specifying -debug are assumed to be
|
||||
// developers or power users who are aware that -debug may cause excessive disk usage due to logging.
|
||||
#define LogPrintLevel(category, level, ...) \
|
||||
do { \
|
||||
if (LogAcceptCategory((category), (level))) { \
|
||||
bool rate_limit{level >= BCLog::Level::Info}; \
|
||||
LogPrintLevel_(category, level, rate_limit, __VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
// Log conditionally, prefixing the output with the passed category name.
|
||||
|
||||
@@ -861,10 +861,14 @@ bool IsBadPort(uint16_t port)
|
||||
case 1720: // h323hostcall
|
||||
case 1723: // pptp
|
||||
case 2049: // nfs
|
||||
case 3306: // MySQL
|
||||
case 3389: // RDP / Windows Remote Desktop
|
||||
case 3659: // apple-sasl / PasswordServer
|
||||
case 4045: // lockd
|
||||
case 5060: // sip
|
||||
case 5061: // sips
|
||||
case 5432: // PostgreSQL
|
||||
case 5900: // VNC
|
||||
case 6000: // X11
|
||||
case 6566: // sane-port
|
||||
case 6665: // Alternate IRC
|
||||
@@ -874,6 +878,7 @@ bool IsBadPort(uint16_t port)
|
||||
case 6669: // Alternate IRC
|
||||
case 6697: // IRC + TLS
|
||||
case 10080: // Amanda
|
||||
case 27017: // MongoDB
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
static constexpr size_t MAX_TX_INDEX_CACHE{1024_MiB};
|
||||
//! Max memory allocated to all block filter index caches combined in bytes.
|
||||
static constexpr size_t MAX_FILTER_INDEX_CACHE{1024_MiB};
|
||||
//! Maximum dbcache size on 32-bit systems.
|
||||
static constexpr size_t MAX_32BIT_DBCACHE{1024_MiB};
|
||||
|
||||
namespace node {
|
||||
CacheSizes CalculateCacheSizes(const ArgsManager& args, size_t n_indexes)
|
||||
@@ -28,7 +30,8 @@ CacheSizes CalculateCacheSizes(const ArgsManager& args, size_t n_indexes)
|
||||
if (std::optional<int64_t> db_cache = args.GetIntArg("-dbcache")) {
|
||||
if (*db_cache < 0) db_cache = 0;
|
||||
uint64_t db_cache_bytes = SaturatingLeftShift<uint64_t>(*db_cache, 20);
|
||||
total_cache = std::max<size_t>(MIN_DB_CACHE, std::min<uint64_t>(db_cache_bytes, std::numeric_limits<size_t>::max()));
|
||||
constexpr auto max_db_cache{sizeof(void*) == 4 ? MAX_32BIT_DBCACHE : std::numeric_limits<size_t>::max()};
|
||||
total_cache = std::max<size_t>(MIN_DB_CACHE, std::min<uint64_t>(db_cache_bytes, max_db_cache));
|
||||
}
|
||||
|
||||
IndexCacheSizes index_sizes;
|
||||
|
||||
@@ -25,6 +25,9 @@ using common::AmountErrMsg;
|
||||
using kernel::MemPoolLimits;
|
||||
using kernel::MemPoolOptions;
|
||||
|
||||
//! Maximum mempool size on 32-bit systems.
|
||||
static constexpr int MAX_32BIT_MEMPOOL_MB{500};
|
||||
|
||||
namespace {
|
||||
void ApplyArgsManOptions(const ArgsManager& argsman, MemPoolLimits& mempool_limits)
|
||||
{
|
||||
@@ -42,7 +45,13 @@ util::Result<void> ApplyArgsManOptions(const ArgsManager& argsman, const CChainP
|
||||
{
|
||||
mempool_opts.check_ratio = argsman.GetIntArg("-checkmempool", mempool_opts.check_ratio);
|
||||
|
||||
if (auto mb = argsman.GetIntArg("-maxmempool")) mempool_opts.max_size_bytes = *mb * 1'000'000;
|
||||
if (auto mb = argsman.GetIntArg("-maxmempool")) {
|
||||
constexpr bool is_32bit{sizeof(void*) == 4};
|
||||
if (is_32bit && *mb > MAX_32BIT_MEMPOOL_MB) {
|
||||
return util::Error{Untranslated(strprintf("-maxmempool is set to %i but can't be over %i MB on 32-bit systems", *mb, MAX_32BIT_MEMPOOL_MB))};
|
||||
}
|
||||
mempool_opts.max_size_bytes = *mb * 1'000'000;
|
||||
}
|
||||
|
||||
if (auto hours = argsman.GetIntArg("-mempoolexpiry")) mempool_opts.expiry = std::chrono::hours{*hours};
|
||||
|
||||
@@ -56,6 +65,7 @@ util::Result<void> ApplyArgsManOptions(const ArgsManager& argsman, const CChainP
|
||||
}
|
||||
}
|
||||
|
||||
static_assert(DEFAULT_MIN_RELAY_TX_FEE == DEFAULT_INCREMENTAL_RELAY_FEE);
|
||||
if (argsman.IsArgSet("-minrelaytxfee")) {
|
||||
if (std::optional<CAmount> min_relay_feerate = ParseMoney(argsman.GetArg("-minrelaytxfee", ""))) {
|
||||
// High fee check is done afterward in CWallet::Create()
|
||||
|
||||
@@ -168,6 +168,35 @@ bool IsStandardTx(const CTransaction& tx, const std::optional<unsigned>& max_dat
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the total number of non-witness sigops across the whole transaction, as per BIP54.
|
||||
*/
|
||||
static bool CheckSigopsBIP54(const CTransaction& tx, const CCoinsViewCache& inputs)
|
||||
{
|
||||
Assert(!tx.IsCoinBase());
|
||||
|
||||
unsigned int sigops{0};
|
||||
for (const auto& txin: tx.vin) {
|
||||
const auto& prev_txo{inputs.AccessCoin(txin.prevout).out};
|
||||
|
||||
// Unlike the existing block wide sigop limit which counts sigops present in the block
|
||||
// itself (including the scriptPubKey which is not executed until spending later), BIP54
|
||||
// counts sigops in the block where they are potentially executed (only).
|
||||
// This means sigops in the spent scriptPubKey count toward the limit.
|
||||
// `fAccurate` means correctly accounting sigops for CHECKMULTISIGs(VERIFY) with 16 pubkeys
|
||||
// or fewer. This method of accounting was introduced by BIP16, and BIP54 reuses it.
|
||||
// The GetSigOpCount call on the previous scriptPubKey counts both bare and P2SH sigops.
|
||||
sigops += txin.scriptSig.GetSigOpCount(/*fAccurate=*/true);
|
||||
sigops += prev_txo.scriptPubKey.GetSigOpCount(txin.scriptSig);
|
||||
|
||||
if (sigops > MAX_TX_LEGACY_SIGOPS) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check transaction inputs to mitigate two
|
||||
* potential denial-of-service attacks:
|
||||
@@ -185,6 +214,8 @@ bool IsStandardTx(const CTransaction& tx, const std::optional<unsigned>& max_dat
|
||||
* DUP CHECKSIG DROP ... repeated 100 times... OP_1
|
||||
*
|
||||
* Note that only the non-witness portion of the transaction is checked here.
|
||||
*
|
||||
* We also check the total number of non-witness sigops across the whole transaction, as per BIP54.
|
||||
*/
|
||||
bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs)
|
||||
{
|
||||
@@ -192,6 +223,10 @@ bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs)
|
||||
return true; // Coinbases don't use vin normally
|
||||
}
|
||||
|
||||
if (!CheckSigopsBIP54(tx, mapInputs)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < tx.vin.size(); i++) {
|
||||
const CTxOut& prev = mapInputs.AccessCoin(tx.vin[i].prevout).out;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ static constexpr unsigned int DEFAULT_BLOCK_RESERVED_WEIGHT{8000};
|
||||
* Setting a lower value is prevented at startup. */
|
||||
static constexpr unsigned int MINIMUM_BLOCK_RESERVED_WEIGHT{2000};
|
||||
/** Default for -blockmintxfee, which sets the minimum feerate for a transaction in blocks created by mining code **/
|
||||
static constexpr unsigned int DEFAULT_BLOCK_MIN_TX_FEE{1000};
|
||||
static constexpr unsigned int DEFAULT_BLOCK_MIN_TX_FEE{1};
|
||||
/** The maximum weight for transactions we're willing to relay/mine */
|
||||
static constexpr int32_t MAX_STANDARD_TX_WEIGHT{400000};
|
||||
/** The minimum non-witness size for transactions we're willing to relay/mine: one larger than 64 */
|
||||
@@ -38,8 +38,10 @@ static constexpr unsigned int MIN_STANDARD_TX_NONWITNESS_SIZE{65};
|
||||
static constexpr unsigned int MAX_P2SH_SIGOPS{15};
|
||||
/** The maximum number of sigops we're willing to relay/mine in a single tx */
|
||||
static constexpr unsigned int MAX_STANDARD_TX_SIGOPS_COST{MAX_BLOCK_SIGOPS_COST/5};
|
||||
/** The maximum number of potentially executed legacy signature operations in a single standard tx */
|
||||
static constexpr unsigned int MAX_TX_LEGACY_SIGOPS{2'500};
|
||||
/** Default for -incrementalrelayfee, which sets the minimum feerate increase for mempool limiting or replacement **/
|
||||
static constexpr unsigned int DEFAULT_INCREMENTAL_RELAY_FEE{1000};
|
||||
static constexpr unsigned int DEFAULT_INCREMENTAL_RELAY_FEE{100};
|
||||
/** Default for -bytespersigop */
|
||||
static constexpr unsigned int DEFAULT_BYTES_PER_SIGOP{20};
|
||||
/** Default for -permitbaremultisig */
|
||||
@@ -61,7 +63,7 @@ static constexpr unsigned int MAX_STANDARD_SCRIPTSIG_SIZE{1650};
|
||||
* outputs below the new threshold */
|
||||
static constexpr unsigned int DUST_RELAY_TX_FEE{3000};
|
||||
/** Default for -minrelaytxfee, minimum relay fee for transactions */
|
||||
static constexpr unsigned int DEFAULT_MIN_RELAY_TX_FEE{1000};
|
||||
static constexpr unsigned int DEFAULT_MIN_RELAY_TX_FEE{100};
|
||||
/** Default for -limitancestorcount, max number of in-mempool ancestors */
|
||||
static constexpr unsigned int DEFAULT_ANCESTOR_LIMIT{25};
|
||||
/** Default for -limitancestorsize, maximum kilobytes of tx + all in-mempool ancestors */
|
||||
|
||||
@@ -120,5 +120,5 @@ sudo apt-get install qtcreator
|
||||
- Under `Debuggers`: select `"GDB"` as debugger
|
||||
|
||||
8. While in the `Projects` tab, ensure that you have the `bitcoin-qt` executable specified under `Run`
|
||||
- If the executable is not specified: click `"Choose..."`, navigate to `src/qt`, and select `bitcoin-qt`
|
||||
- If the executable is not specified: click `"Choose..."`, navigate to `build/bin`, and select `bitcoin-qt`
|
||||
9. You're all set! Start developing, building, and debugging the Bitcoin Core GUI
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
<file alias="fil">locale/bitcoin_fil.qm</file>
|
||||
<file alias="fo">locale/bitcoin_fo.qm</file>
|
||||
<file alias="fr">locale/bitcoin_fr.qm</file>
|
||||
<file alias="fr_CM">locale/bitcoin_fr_CM.qm</file>
|
||||
<file alias="fr_LU">locale/bitcoin_fr_LU.qm</file>
|
||||
<file alias="ga">locale/bitcoin_ga.qm</file>
|
||||
<file alias="ga_IE">locale/bitcoin_ga_IE.qm</file>
|
||||
<file alias="gd">locale/bitcoin_gd.qm</file>
|
||||
|
||||
@@ -782,6 +782,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports PCP or NAT-PMP and it is enabled. The external port could be random.</source>
|
||||
<translation type="unfinished">افتح تلقائيًا منفذ عميل البتكوين على جهاز التوجيه. يعمل هذا فقط عندما يدعم جهاز التوجيه الخاص بك PCP أو NAT-PMP ويتم تمكينه. يمكن أن يكون المنفذ الخارجي عشوائيًا</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options set in this dialog are overridden by the command line:</source>
|
||||
<translation type="unfinished">التفضيلات المعينة عن طريق سطر الأوامر لها أولوية أكبر وتتجاوز التفضيلات المختارة هنا:</translation>
|
||||
@@ -1471,6 +1475,14 @@ If you are receiving this error you should request the merchant provide a BIP21
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Error starting/committing db txn for wallet transactions removal process</source>
|
||||
<translation type="unfinished">خطأ بدء/ارتكاب DB TXN لعملية إزالة معاملات المحفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid value detected for '-wallet' or '-nowallet'. '-wallet' requires a string value, while '-nowallet' accepts only '1' to disable all wallets</source>
|
||||
<translation type="unfinished">قيمة غير صالحة تم اكتشافها لـ "-wallet" أو "-Nowallet". يتطلب "-wallet" قيمة سلسلة ، في حين أن "-Nowallet" تقبل فقط "1" لتعطيل جميع المحافظ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation type="unfinished">أكثر من عنوان مربوط بالonion مقدم. استخدام %s من أجل خدمة تور (Tor) المنشأة تلقائيا.</translation>
|
||||
@@ -1479,5 +1491,29 @@ If you are receiving this error you should request the merchant provide a BIP21
|
||||
<source>Maximum transaction weight is too low, can not accommodate change output</source>
|
||||
<translation type="unfinished">الحد الأقصى لوزن المعاملة منخفض جدًا، ولا يمكنه استيعاب مخرجات التغيير</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading databases</source>
|
||||
<translation type="unfinished">خطأ تحميل قواعد البيانات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error opening coins database</source>
|
||||
<translation type="unfinished">خطأ فتح قاعدة بيانات العملات المعدنية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transactions removal process can only be executed within a db txn</source>
|
||||
<translation type="unfinished">لا يمكن تنفيذ عملية إزالة المعاملات إلا داخل DB TXN</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the databases now?</source>
|
||||
<translation type="unfinished">هل تريد إعادة بناء قواعد البيانات الآن؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Wallet does not exist</source>
|
||||
<translation type="unfinished">خطأ: محفظة غير موجودة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: cannot remove legacy wallet records</source>
|
||||
<translation type="unfinished">خطأ: لا يمكن إزالة سجلات المحفظة القديمة</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -1039,7 +1039,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>…</source>
|
||||
<extracomment>Descriptive text of the create wallet progress window which indicates to the user which wallet is currently being created.</extracomment>
|
||||
<translation type="unfinished">Създаване на уолет 1 1%1 1</translation>
|
||||
<translation type="unfinished">Създаване на уолет <b>%1</b>…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
|
||||
@@ -163,7 +163,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<name>BitcoinApplication</name>
|
||||
<message>
|
||||
<source>Settings file %1 might be corrupt or invalid.</source>
|
||||
<translation type="unfinished">1%1 সেটিংস ফাইল টি সম্ভবত নষ্ট বা করাপ্ট</translation>
|
||||
<translation type="unfinished">%1 সেটিংস ফাইল টি সম্ভবত নষ্ট বা করাপ্ট</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Runaway exception</source>
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
<source>Create a new address</source>
|
||||
<translation type="unfinished">创建新地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation type="unfinished">新建(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation type="unfinished">把目前选择的地址复制到系统粘贴板中</translation>
|
||||
@@ -146,6 +150,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation type="unfinished">這個動作需要你的錢包密碼來解鎖錢包。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation type="unfinished">解鎖錢包</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation type="unfinished">修改密码</translation>
|
||||
|
||||
@@ -242,7 +242,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<name>BitcoinApplication</name>
|
||||
<message>
|
||||
<source>Settings file %1 might be corrupt or invalid.</source>
|
||||
<translation type="unfinished">Indstillings filen 1%1 kan være korrupt eller invalid.</translation>
|
||||
<translation type="unfinished">Indstillings filen %1 kan være korrupt eller invalid.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Runaway exception</source>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,6 +5,10 @@
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation type="unfinished">Click derecho para editar la dirección o etiqueta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation type="unfinished">Crea una dirección nueva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation type="unfinished">&Nuevo</translation>
|
||||
@@ -560,7 +564,7 @@ Usa el boton "Crear nueva direccion de recibimiento" en la pestaña de recibir p
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizando cabeceras (1%1%)</translation>
|
||||
<translation type="unfinished">Sincronizando cabeceras (%1%)…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -575,7 +575,7 @@ Solo es posible firmar con direcciones de tipo "legacy".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizando cabeceras (1%1%)</translation>
|
||||
<translation type="unfinished">Sincronizando cabeceras (%1%)…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -571,7 +571,7 @@ Solo es posible firmar con direcciones de tipo legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizando cabeceras (1%1%)</translation>
|
||||
<translation type="unfinished">Sincronizando cabeceras (%1%)…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -555,7 +555,7 @@ Solo es posible firmar con direcciones de tipo legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizando cabeceras (1%1%)</translation>
|
||||
<translation type="unfinished">Sincronizando cabeceras (%1%)…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -571,7 +571,7 @@ Solo es posible firmar con direcciones de tipo legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizando cabeceras (1%1%)</translation>
|
||||
<translation type="unfinished">Sincronizando cabeceras (%1%)…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -406,10 +406,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>&Change Passphrase…</source>
|
||||
<translation type="unfinished">&Muuda Salasõna...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign &message…</source>
|
||||
<translation type="unfinished">Allkirjuta &sõnum...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
|
||||
<translation type="unfinished">Omandi tõestamiseks allkirjasta sõnumid oma Bitcoini aadressiga</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Verify message…</source>
|
||||
<translation type="unfinished">&Kinnita sõnum...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
|
||||
<translation type="unfinished">Kinnita sõnumid kindlustamaks et need allkirjastati määratud Bitcoini aadressiga</translation>
|
||||
@@ -489,14 +497,48 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Open Wallet</source>
|
||||
<translation type="unfinished">Ava Rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation type="unfinished">Ava Rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation type="unfinished">Sulge rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Restore Wallet…</source>
|
||||
<extracomment>Name of the menu item that restores wallet from a backup file.</extracomment>
|
||||
<translation type="unfinished">Taasta Rahakoti...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Restore a wallet from a backup file</source>
|
||||
<extracomment>Status tip for Restore Wallet menu item</extracomment>
|
||||
<translation type="unfinished">Taasta rahakoti varukoopiafailist</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation type="unfinished">Sulge rkõik rahakotid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Migrate Wallet</source>
|
||||
<translation type="unfinished">Migreeri rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation type="unfinished">&Aken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Main Window</source>
|
||||
<translation type="unfinished">Pea Aken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation type="unfinished">%1 klient</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide</source>
|
||||
<translation type="unfinished">&Peida</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network.</source>
|
||||
<extracomment>A substring of the tooltip.</extracomment>
|
||||
@@ -505,6 +547,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<numerusform />
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error creating wallet</source>
|
||||
<translation type="unfinished">Viga rahakoti loomisel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation type="unfinished">Tõrge %1</translation>
|
||||
@@ -647,6 +693,13 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished">(vahetusraha)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MigrateWalletActivity</name>
|
||||
<message>
|
||||
<source>Migrate Wallet</source>
|
||||
<translation type="unfinished">Migreeri rahakott</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
@@ -655,6 +708,17 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished">Ava Rahakott</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation type="unfinished">Sulge rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation type="unfinished">Sulge rkõik rahakotid</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
|
||||
@@ -1360,6 +1360,17 @@ If you are receiving this error you should request the merchant provide a BIP21
|
||||
<translation type="unfinished">خطا</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
<message>
|
||||
<source>Fee-bump PSBT copied to clipboard</source>
|
||||
<translation type="unfinished">PSBT با هزینه اضافه شده، در بریدهدان کپی شد</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signer error</source>
|
||||
<translation type="unfinished">خطای امضا کننده</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
@@ -2272,6 +2272,14 @@ Jos saat tämän virheen, pyydä kauppiasta antamaan BIP21-yhteensopiva URI.</tr
|
||||
<source>Number of connections</source>
|
||||
<translation type="unfinished">Yhteyksien lukumäärä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Local Addresses</source>
|
||||
<translation type="unfinished">Paikalliset osoitteet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network addresses that your Bitcoin node is currently using to communicate with other nodes.</source>
|
||||
<translation type="unfinished">Verkko-osoitteet, joita Bitcoin-solmusi käyttää tällä hetkellä kommunikoidakseen muiden solmujen kanssa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Block chain</source>
|
||||
<translation type="unfinished">Lohkoketju</translation>
|
||||
@@ -2320,6 +2328,10 @@ Jos saat tämän virheen, pyydä kauppiasta antamaan BIP21-yhteensopiva URI.</tr
|
||||
<source>Select a peer to view detailed information.</source>
|
||||
<translation type="unfinished">Valitse vertainen eriteltyjä tietoja varten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Peers Detail</source>
|
||||
<translation type="unfinished">Piilota vertaisten yksityiskohdat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transport layer version: %1</source>
|
||||
<translation type="unfinished">Kuljetuskerroksen versio: %1</translation>
|
||||
@@ -2434,6 +2446,10 @@ Jos saat tämän virheen, pyydä kauppiasta antamaan BIP21-yhteensopiva URI.</tr
|
||||
<source>Direction/Type</source>
|
||||
<translation type="unfinished">Suunta/Tyyppi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The BIP324 session ID string in hex.</source>
|
||||
<translation type="unfinished">BIP324-istunnon ID-merkkijono heksana.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The network protocol this peer is connected through: IPv4, IPv6, Onion, I2P, or CJDNS.</source>
|
||||
<translation type="unfinished">Verkkoprotokolla, jonka kautta tämä vertaisverkko on yhdistetty: IPv4, IPv6, Onion, I2P tai CJDNS.</translation>
|
||||
@@ -3341,6 +3357,10 @@ Huom: Koska maksu lasketaan per tavu, "100 satoshin per kB" maksunopeus 500 virt
|
||||
<source>&Sign Message</source>
|
||||
<translation type="unfinished">&Allekirjoita viesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can sign messages/agreements with your legacy (P2PKH) addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
|
||||
<translation type="unfinished">Voit allekirjoittaa viestejä/sopimuksia vanhojen (P2PKH) osoitteidesi kanssa todistaaksesi, että voit vastaanottaa niihin lähetettyjä bitcoineja. Varo allekirjoittamasta mitään epämääräistä tai satunnaista, sillä phishing-hyökkäykset voivat yrittää huijata sinua allekirjoittamaan henkilöllisyytesi heille. Allekirjoita vain täysin yksityiskohtaiset lausunnot, joihin suostut.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Bitcoin address to sign the message with</source>
|
||||
<translation type="unfinished">Bitcoin-osoite jolla viesti allekirjoitetaan</translation>
|
||||
@@ -3995,6 +4015,10 @@ Varoitus: Tämä voi maksaa ylimääräisen maksun vähentämällä vaihtotuloja
|
||||
<source>PSBT copied</source>
|
||||
<translation type="unfinished">PSBT kopioitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee-bump PSBT copied to clipboard</source>
|
||||
<translation type="unfinished">Siirtokulujen nosto PSBT kopioitu leikepöydälle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation type="unfinished">Siirtoa ei voida allekirjoittaa.</translation>
|
||||
@@ -4003,6 +4027,10 @@ Varoitus: Tämä voi maksaa ylimääräisen maksun vähentämällä vaihtotuloja
|
||||
<source>Could not commit transaction</source>
|
||||
<translation type="unfinished">Siirtoa ei voitu tehdä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signer error</source>
|
||||
<translation type="unfinished">Signaalivirhe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't display address</source>
|
||||
<translation type="unfinished">Osoitetta ei voida näyttää</translation>
|
||||
@@ -4063,6 +4091,10 @@ Varoitus: Tämä voi maksaa ylimääräisen maksun vähentämällä vaihtotuloja
|
||||
<translation type="unfinished">%s virheellinen -assumeutxo-snapshot-tila. Tämä viittaa laitteistoon liittyvään ongelmaan, ohjelmistovirheeseen tai huonoon ohjelmistomuutokseen, joka on sallinut virheellisen snapshotin lataamisen. Tämän seurauksena solmu sulkeutuu ja lopettaa kaiken sen tilan käytön, joka perustui snapshottiin, ja nollaa lohkokorkeuden%darvoon%d. Seuraavassa uudelleenkäynnistyksessä solmu jatkaa synkronointia kohdasta%d
|
||||
ilman, että käytetään mitään snapshot-tietoja. Ilmoita tästä tapauksesta osoitteeseen%s, mukaan lukien se, miten sait snapshotin. Virheellinen snapshot-tilatiedosto jätetään levylle, jos se on hyödyllinen ongelman diagnosoinnissa, joka aiheutti tämän virheen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any peer will connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
|
||||
<translation type="unfinished">%s pyyntö kuunnella porttia %u. Tätä porttia pidetään ”huonona”, joten on epätodennäköistä, että mikään vertaisohjelma muodostaa siihen yhteyden. Katso lisätietoja ja täydellinen luettelo doc/p2p-bad-ports.md-tiedostosta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot downgrade wallet from version %i to version %i. Wallet version unchanged.</source>
|
||||
<translation type="unfinished">Ei voida alentaa lompakon versiota versiosta %i versioon %i. Lompakon versio pysyy ennallaan.</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -286,10 +286,40 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished">अनजान</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Embedded "%1"</source>
|
||||
<translation type="unfinished">अंतर्निहित "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default system font "%1"</source>
|
||||
<translation type="unfinished">डिफ़ॉल्ट सिस्टम फोंट "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Custom…</source>
|
||||
<translation type="unfinished">पसंद के अनुसार</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation type="unfinished">राशि</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Onion</source>
|
||||
<comment>network name</comment>
|
||||
<extracomment>Name of Tor network in peer info</extracomment>
|
||||
<translation type="unfinished">अनियन</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>I2P</source>
|
||||
<comment>network name</comment>
|
||||
<extracomment>Name of I2P network in peer info</extracomment>
|
||||
<translation type="unfinished">आई२पी </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CJDNS</source>
|
||||
<comment>network name</comment>
|
||||
<extracomment>Name of CJDNS network in peer info</extracomment>
|
||||
<translation type="unfinished">सीजेडीएनएस</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation type="unfinished">
|
||||
@@ -675,6 +705,10 @@ The migration process will create a backup of the wallet before migrating. This
|
||||
<source>You are one step away from creating your new wallet!</source>
|
||||
<translation type="unfinished">आपके नए बटवे के निर्माण से आप सिर्फ एक कदम दूर है</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please provide a name and, if desired, enable any advanced options</source>
|
||||
<translation type="unfinished">कृपया एक नाम प्रदान करें और अगर जरूरत हो तो किसी अन्य उच्च विकल्प को सक्षम करें</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
@@ -727,9 +761,17 @@ The migration process will create a backup of the wallet before migrating. This
|
||||
<source>Full path to a %1 compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
|
||||
<translation type="unfinished">%1 संगत स्क्रिप्ट का पूर्ण पथ (उदा. C:\Downloads\hwi.exe या /Users/you/Downloads/hwi.py). सावधान: मैलवेयर आपके सिक्के चुरा सकता है!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Font in the Overview tab: </source>
|
||||
<translation type="unfinished">ओवरव्यू टैब का फोंट</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>PSBT Operations</source>
|
||||
<translation type="unfinished">पीएसबीटी संचालन</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation type="unfinished">लेन-देन डेटा सहेजें</translation>
|
||||
@@ -739,6 +781,10 @@ The migration process will create a backup of the wallet before migrating. This
|
||||
<extracomment>Expanded name of the binary PSBT file format. See: BIP 174.</extracomment>
|
||||
<translation type="unfinished">आंशिक रूप से हस्ताक्षरित लेनदेन (बाइनरी)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends %1 to %2</source>
|
||||
<translation type="unfinished">%1 को %2 के पास भेजता है </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation type="unfinished">खुद का पता</translation>
|
||||
@@ -822,6 +868,14 @@ The migration process will create a backup of the wallet before migrating. This
|
||||
<source>Number of connections</source>
|
||||
<translation type="unfinished">कनेक्शन की संख्या</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Local Addresses</source>
|
||||
<translation type="unfinished">स्थानीय पते</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network addresses that your Bitcoin node is currently using to communicate with other nodes.</source>
|
||||
<translation type="unfinished">नेटवर्क पते जो आपका बिटकॉइन नोड वर्तमान में अन्य नोड्स के साथ संचार करने के लिए उपयोग कर रहा है।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Block chain</source>
|
||||
<translation type="unfinished">ब्लॉक चेन</translation>
|
||||
@@ -870,6 +924,14 @@ The migration process will create a backup of the wallet before migrating. This
|
||||
<source>Select a peer to view detailed information.</source>
|
||||
<translation type="unfinished">विस्तृत जानकारी देखने के लिए किसी सहकर्मी का चयन करें।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide Peers Detail</source>
|
||||
<translation type="unfinished">पियर विवरण छिपाएँ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transport</source>
|
||||
<translation type="unfinished">परिवहन</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation type="unfinished">संस्करण</translation>
|
||||
@@ -1280,6 +1342,14 @@ For more information on using this console, type %6.
|
||||
<source>Copy &amount</source>
|
||||
<translation type="unfinished">कॉपी &अमाउंट</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not recommended due to higher fees and less protection against typos.</source>
|
||||
<translation type="unfinished">उच्च शुल्क और टाइपिंग त्रुटियों के प्रति कम सुरक्षा के कारण इसकी अनुशंसा नहीं की जाती।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generates an address compatible with older wallets.</source>
|
||||
<translation type="unfinished">पुराने वॉलेट के साथ संगत पता बनाता है।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not generate new %1 address</source>
|
||||
<translation type="unfinished">नया पता उत्पन्न नहीं कर सका %1 </translation>
|
||||
|
||||
@@ -1589,6 +1589,11 @@ A migrációs folyamat készít biztonsági mentést a tárcáról migrálás el
|
||||
<source>Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain.</source>
|
||||
<translation type="unfinished">A tárolt blokkok számának ritkításával jelentősen csökken a tranzakció történet tárolásához szükséges tárhely. Minden blokk továbbra is érvényesítve lesz. Ha ezt a beállítást később törölni szeretné újra le kell majd tölteni a teljes blokkláncot.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum database cache size. Make sure you have enough RAM. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
|
||||
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
|
||||
<translation type="unfinished">Adatbázis gyorsítótár maximális mérete. Győződjön meg róla, hogy van elég RAM. Nagyobb gyorsítótár gyorsabb szinkronizálást eredményez utána viszont az előnyei kevésbé számottevők. A gyorsítótár méretének csökkentése a memóriafelhasználást is mérsékli. A használaton kívüli mempool memória is osztozik ezen a táron.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation type="unfinished">A&datbázis gyorsítótár mérete</translation>
|
||||
@@ -1601,6 +1606,14 @@ A migrációs folyamat készít biztonsági mentést a tárcáról migrálás el
|
||||
<source>Full path to a %1 compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
|
||||
<translation type="unfinished">Teljes elérési útvonal a %1 kompatibilis szkripthez (pl. C:\Downloads\hwi.exe vagy /Users/felhasznalo/Downloads/hwi.py). Vigyázat: rosszindulatú programok ellophatják az érméit!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports PCP or NAT-PMP and it is enabled. The external port could be random.</source>
|
||||
<translation type="unfinished">A Bitcoin kliens port automatikus megnyitása a routeren. Ez csak akkor működik, ha a router támogatja a PCP-t vagy NAT-PMP-t és engedélyezve is van. A külső port lehet véletlenszerűen választott.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using PCP or NA&T-PMP</source>
|
||||
<translation type="unfinished">Külső port megnyitása PCP-vel vagy NA&T-PMP-vel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation type="unfinished">A proxy IP címe (pl.: IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
@@ -4176,6 +4189,10 @@ A "Fájl > Tárca megnyitása" menüben tölthet be egyet.
|
||||
<source>No wallet file format provided. To use createfromdump, -format=<format> must be provided.</source>
|
||||
<translation type="unfinished">Nincs tárca fájlformátum megadva. A createfromdump használatához -format=<format> megadása kötelező.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Option '-upnp' is set but UPnP support was dropped in version 29.0. Consider using '-natpmp' instead.</source>
|
||||
<translation type="unfinished">Az '-upnp' kapcsoló beállítva, de az UPnP támogatás megszűnt a 29.0 verzióval. Kérjük használja a '-natpmp' kapcsolót.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation type="unfinished">Kérjük támogasson, ha hasznosnak találta a %s-t. Az alábbi linken további információt találhat a szoftverről: %s.</translation>
|
||||
@@ -4284,6 +4301,10 @@ A "Fájl > Tárca megnyitása" menüben tölthet be egyet.
|
||||
<source>-maxmempool must be at least %d MB</source>
|
||||
<translation type="unfinished">-maxmempool legalább %d MB kell legyen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot obtain a lock on directory %s. %s is probably already running.</source>
|
||||
<translation type="unfinished">Nem zárolható ez a könyvtár: %s. A %s valószínűleg fut már.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation type="unfinished">-%s cím feloldása nem sikerült: '%s'</translation>
|
||||
@@ -4386,6 +4407,10 @@ A "Fájl > Tárca megnyitása" menüben tölthet be egyet.
|
||||
<source>Rename of '%s' -> '%s' failed. Cannot clean up the background chainstate leveldb directory.</source>
|
||||
<translation type="unfinished">Nem sikerült az '%s' -> '%s' átnevezés. Nem lehet kitisztítani a háttér láncállapot leveldb könyvtárat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockmaxweight (%d) exceeds consensus maximum block weight (%d)</source>
|
||||
<translation type="unfinished">A megadott -blockmaxweight (%d) meghaladja a konszenzus maximum blokk súlyt (%d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The combination of the pre-selected inputs and the wallet automatic inputs selection exceeds the transaction maximum weight. Please try sending a smaller amount or manually consolidating your wallet's UTXOs</source>
|
||||
<translation type="unfinished">Az előre kiválasztott bemenetek és a tárca automatikus bemeneteinek kombinációja meghaladja a maximális tranzakciós súlyt. Kérjük próbáljon kisebb összeget küldeni vagy kézzel egyesítse a tárca UTXO-it.</translation>
|
||||
@@ -4540,6 +4565,10 @@ A tárca biztonsági mentésének visszaállítása sikertelen.</translation>
|
||||
<source>Error opening block database</source>
|
||||
<translation type="unfinished">Hiba a blokk-adatbázis megnyitása közben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error opening coins database</source>
|
||||
<translation type="unfinished">Hiba az érme-adatbázis megnyitása közben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading configuration file: %s</source>
|
||||
<translation type="unfinished">Hiba a konfigurációs fájl olvasása közben: %s</translation>
|
||||
@@ -5048,6 +5077,10 @@ A tárca biztonsági mentésének visszaállítása sikertelen.</translation>
|
||||
<source>Unsupported logging category %s=%s.</source>
|
||||
<translation type="unfinished">Nem támogatott naplózási kategória %s=%s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the databases now?</source>
|
||||
<translation type="unfinished">Újra akarja építeni az adatbázisokat most?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Could not add watchonly tx %s to watchonly wallet</source>
|
||||
<translation type="unfinished">Hiba: Nem sikerült hozzáadni a megfigyelt %s tranzakciót a figyelő tárcához</translation>
|
||||
@@ -5056,6 +5089,14 @@ A tárca biztonsági mentésének visszaállítása sikertelen.</translation>
|
||||
<source>Error: Could not delete watchonly transactions. </source>
|
||||
<translation type="unfinished">Hiba: Nem lehet törölni csak megfigyelt tranzakciókat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Wallet does not exist</source>
|
||||
<translation type="unfinished">Hiba: Tárca nem létezik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: cannot remove legacy wallet records</source>
|
||||
<translation type="unfinished">Hiba: nem lehet eltávolítani a régi típusú tárca bejegyzéseit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent comment (%s) contains unsafe characters.</source>
|
||||
<translation type="unfinished">A felhasználói ügynök megjegyzés (%s) veszélyes karaktert tartalmaz.</translation>
|
||||
|
||||
@@ -572,7 +572,7 @@ E' possibile firmare solo con indirizzi di tipo "legacy".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Sincronizzazione Intestazioni in corso (1%1%)...</translation>
|
||||
<translation type="unfinished">Sincronizzazione Intestazioni in corso (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network…</source>
|
||||
|
||||
@@ -728,6 +728,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockmaxweight (%d) exceeds consensus maximum block weight (%d)</source>
|
||||
<translation type="unfinished">ನಿರ್ದಿಷ್ಟ -ಬ್ಲಾಕ್ಮ್ಯಾಕ್ಸ್ವೈಟ್ (%d) ಸಮ್ಮತಿಯ ಗರಿಷ್ಠ ಬ್ಲಾಕ್ ತೂಕವನ್ನು (%d) ಮೀರಿದೆ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockreservedweight (%d) exceeds consensus maximum block weight (%d)</source>
|
||||
<translation type="unfinished">ನಿರ್ದಿಷ್ಟ -ಬ್ಲಾಕ್ರಿಸರ್ವ್ಡ್ವೈಟ್ (%d) ಸಮ್ಮತಿಯ ಗರಿಷ್ಠ ಬ್ಲಾಕ್ ತೂಕವನ್ನು (%d) ಮೀರಿದೆ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockreservedweight (%d) is lower than minimum safety value of (%d)</source>
|
||||
<translation type="unfinished">ನಿರ್ದಿಷ್ಟ -ಬ್ಲಾಕ್ರಿಸರ್ವ್ಡ್ವೈಟ್ (%d) ಕನಿಷ್ಠ ಸುರಕ್ಷತಾ ಮೌಲ್ಯಕ್ಕಿಂತ (%d) ಕಡಿಮೆಯಾಗಿದೆ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will avoid paying less than the minimum relay fee.</source>
|
||||
<translation type="unfinished">ನೆಲೆಯ ರೆಲೇ ಶುಲ್ಕದಿಂದ ಕಡಿಮೆ ಶುಲ್ಕವನ್ನು ಕೊಡದಂತೆ ವಾಲೆಟ್ ನುಡಿಮುಟ್ಟುವುದು.</translation>
|
||||
|
||||
@@ -2471,7 +2471,7 @@ BIP70의 광범위한 보안 결함으로 인해 모든 가맹점에서는 지
|
||||
<message>
|
||||
<source>Outbound Manual: added using RPC %1 or %2/%3 configuration options</source>
|
||||
<extracomment>Explanatory text for an outbound peer connection that was established manually through one of several methods. The numbered arguments are stand-ins for the methods available to establish manual connections.</extracomment>
|
||||
<translation type="unfinished">아웃바운드 매뉴얼 : RPC 1%1 이나 2%2/3%3 을 사용해서 환경설정 옵션을 추가</translation>
|
||||
<translation type="unfinished">아웃바운드 매뉴얼 : RPC %1 이나 %2/%3 을 사용해서 환경설정 옵션을 추가</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outbound Feeler: short-lived, for testing addresses</source>
|
||||
@@ -2555,12 +2555,12 @@ For more information on using this console, type %6.
|
||||
|
||||
%7WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.%8</source>
|
||||
<extracomment>RPC console welcome message. Placeholders %7 and %8 are style tags for the warning content, and they are not space separated from the rest of the text intentionally.</extracomment>
|
||||
<translation type="unfinished">1%1 RPC 콘솔에 오신 것을 환영합니다.
|
||||
위쪽 및 아래쪽 화살표를 사용하여 기록 탐색을하고 2%2를 사용하여 화면을 지우세요.
|
||||
3%3과 4%4을 사용하여 글꼴 크기 증가 또는 감소하세요
|
||||
사용 가능한 명령의 개요를 보려면 5%5를 입력하십시오.
|
||||
이 콘솔 사용에 대한 자세한 내용을 보려면 6%6을 입력하십시오.
|
||||
7%7 경고: 사기꾼들은 사용자들에게 여기에 명령을 입력하라고 말하고 활발히 금품을 훔칩니다. 완전히 이해하지 않고 이 콘솔을 사용하지 마십시오. 8%8</translation>
|
||||
<translation type="unfinished">%1 RPC 콘솔에 오신 것을 환영합니다.
|
||||
위쪽 및 아래쪽 화살표를 사용하여 기록 탐색을하고 %2를 사용하여 화면을 지우세요.
|
||||
%3과 %4을 사용하여 글꼴 크기 증가 또는 감소하세요
|
||||
사용 가능한 명령의 개요를 보려면 %5를 입력하십시오.
|
||||
이 콘솔 사용에 대한 자세한 내용을 보려면 %6을 입력하십시오.
|
||||
%7 경고: 사기꾼들은 사용자들에게 여기에 명령을 입력하라고 말하고 활발히 금품을 훔칩니다. 완전히 이해하지 않고 이 콘솔을 사용하지 마십시오. %8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing…</source>
|
||||
|
||||
@@ -178,6 +178,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation type="unfinished">വാലെറ്റിന്റെ പഴയ രഹസ്യപദവും പുതിയ രഹസ്യപദവും നൽകുക.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished">തുടരുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished">മടങ്ങിപ്പോവുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation type="unfinished">നിങ്ങളുടെ വാലറ്റ് എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ നിങ്ങളുടെ കമ്പ്യൂട്ടറിനെ ബാധിക്കുന്ന ക്ഷുദ്രവെയർ മോഷ്ടിക്കുന്നതിൽ നിന്നും നിങ്ങളുടെ ബിറ്റ്കോയിനുകളെ പൂർണ്ണമായി സംരക്ഷിക്കാൻ കഴിയില്ല.</translation>
|
||||
@@ -482,6 +490,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Close Wallet…</source>
|
||||
<translation type="unfinished">വാലറ്റ് അടയ്ക്കുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet…</source>
|
||||
<translation type="unfinished">വാലറ്റ് സൃഷ്ടിക്കുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets…</source>
|
||||
<translation type="unfinished">എല്ലാ വാലറ്റുകളും അടയ്ക്കുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation type="unfinished">& ഫയൽ</translation>
|
||||
@@ -502,6 +518,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Synchronizing with network…</source>
|
||||
<translation type="unfinished"> നെറ്റ്വർക്കുമായി സമന്വയിപ്പിക്കുന്നു...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers…</source>
|
||||
<translation type="unfinished">സമപ്രായക്കാരുമായി ബന്ധിപ്പിക്കുന്നു...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
|
||||
<translation type="unfinished">പേയ്മെന്റുകൾ അഭ്യർത്ഥിക്കുക (QR കോഡുകളും ബിറ്റ്കോയിനും സൃഷ്ടിക്കുന്നു: URI- കൾ)</translation>
|
||||
@@ -598,6 +618,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Close all wallets</source>
|
||||
<translation type="unfinished">എല്ലാ വാലറ്റുകളും അടയ്ക്കുക ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Migrate Wallet</source>
|
||||
<translation type="unfinished">വാലറ്റ് മൈഗ്രേറ്റ് ചെയ്യുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation type="unfinished">സാധ്യമായ ബിറ്റ്കോയിൻ കമാൻഡ്-ലൈൻ ഓപ്ഷനുകളുള്ള ഒരു ലിസ്റ്റ് ലഭിക്കുന്നതിന് %1 സഹായ സന്ദേശം കാണിക്കുക</translation>
|
||||
@@ -614,6 +638,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>No wallets available</source>
|
||||
<translation type="unfinished">വാലറ്റ് ഒന്നും ലഭ്യം അല്ല </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Data</source>
|
||||
<extracomment>Name of the wallet data file format.</extracomment>
|
||||
<translation type="unfinished">വാലറ്റ് അടിസ്ഥാനവിവരം</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Wallet Backup</source>
|
||||
<extracomment>The title for Restore Wallet File Windows</extracomment>
|
||||
@@ -862,6 +891,13 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished">വാലറ്റ് രൂപീകരണത്തിലെ മുന്നറിയിപ്പ് </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MigrateWalletActivity</name>
|
||||
<message>
|
||||
<source>Migrate Wallet</source>
|
||||
<translation type="unfinished">വാലറ്റ് മൈഗ്രേറ്റ് ചെയ്യുക</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
@@ -1081,6 +1117,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>&Window</source>
|
||||
<translation type="unfinished">&ജാലകം </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished">തുടരുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished">പിശക് </translation>
|
||||
@@ -1490,6 +1530,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation type="unfinished">നിലവിലുള്ള ടാബിലെ വിവരങ്ങൾ ഒരു ഫയലിലേക്ക് എക്സ്പോർട്ട് ചെയ്യുക</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Data</source>
|
||||
<extracomment>Name of the wallet data file format.</extracomment>
|
||||
<translation type="unfinished">വാലറ്റ് അടിസ്ഥാനവിവരം</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
|
||||
@@ -184,6 +184,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation type="unfinished">वालेटको लागि पुरानो पासफ्रेज र नयाँ पासफ्रेज प्रविष्ट गर्नुहोस्।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished">जारी राख्नुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished">फिर्ता जानुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation type="unfinished">याद गर्नुहोस् कि तपाईको वालेट इन्क्रिप्ट गर्नाले तपाईको बिटकोइनलाई तपाईको कम्प्युटरमा मालवेयरले चोरी हुनबाट पूर्णतया सुरक्षित गर्न सक्दैन।</translation>
|
||||
@@ -282,6 +290,11 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<extracomment>Explanatory text shown on startup when the settings file cannot be read. Prompts user to make a choice between resetting or aborting.</extracomment>
|
||||
<translation type="unfinished">के तपाइँ पूर्वनिर्धारित मानहरूमा सेटिङहरू रिसेट गर्न चाहनुहुन्छ, वा परिवर्तन नगरी रद्द गर्न चाहनुहुन्छ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. Check that settings file is writable, or try running with -nosettings.</source>
|
||||
<extracomment>Explanatory text shown on startup when the settings file could not be written. Prompts user to check that we have the ability to write to the file. Explains that the user has the option of running without a settings file.</extracomment>
|
||||
<translation type="unfinished">एउटा ठूलो त्रुटि भयो। सेटिङ फाइल लेख्न मिल्छ कि मिल्दैन जाँच गर्नुहोस्, वा -nosettings लेखेर चलाउने प्रयास गर्नुहोस्।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation type="unfinished">त्रुटि: %1</translation>
|
||||
@@ -684,6 +697,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished">&ठिक छ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished">जारी राख्नुहोस्</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
|
||||
@@ -57,19 +57,49 @@
|
||||
<source>C&hoose</source>
|
||||
<translation type="unfinished">Wybierz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation type="unfinished">To są twoje adresy Bitcoin do wysyłania płatności. Zawsze sprawdzaj kwotę oraz adres odbiorczy przed wysłaniem monet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished">To są twoje adresy Bitcoin do otrzymywania płatności. Użyj przycisku 'Utwórz nowy adres odbioru' na karcie odbioru, aby utworzyć nowe adresy.
|
||||
Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation type="unfinished">&Skopiuj adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation type="unfinished">Skopiuj &etykietę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished">&Edytuj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation type="unfinished">Eksportuj listę adresów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file</source>
|
||||
<extracomment>Expanded name of the CSV file format. See: https://en.wikipedia.org/wiki/Comma-separated_values.</extracomment>
|
||||
<translation type="unfinished">Plik rozdzielany przecinkami</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<extracomment>An error message. %1 is a stand-in argument for the name of the file we attempted to save to.</extracomment>
|
||||
<translation type="unfinished">Wystąpił błąd podczas próby zapisania listy adresów do %1. Spróbuj ponownie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses - %1</source>
|
||||
<translation type="unfinished">Wysyłające adresy - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses - %1</source>
|
||||
<translation type="unfinished">Odbierające adresy - %1</translation>
|
||||
<translation type="unfinished">Adresy odbiorcze - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
@@ -95,11 +125,11 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Passphrase Dialog</source>
|
||||
<translation type="unfinished">Okienko Hasła </translation>
|
||||
<translation type="unfinished">Okienko Hasła</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation type="unfinished"> Wpisz hasło </translation>
|
||||
<translation type="unfinished">Wpisz hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
@@ -107,16 +137,24 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation type="unfinished"> Powtórz nowe hasło </translation>
|
||||
<translation type="unfinished">Powtórz nowe hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation type="unfinished">Pokaż hasło </translation>
|
||||
<translation type="unfinished">Pokaż hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation type="unfinished">Zaszyfruj portfel </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation type="unfinished">Ta operacja wymaga hasła do twojego portfela, aby go odblokować.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation type="unfinished">Odblokuj portfel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation type="unfinished">Zmień hasło </translation>
|
||||
@@ -127,7 +165,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source>
|
||||
<translation type="unfinished">hasłoOstrzeżenie: Jeśli zaszyfrujesz swój portfel i zgubisz hasło - <b>STRACISZ WSZYSTKIE SWOJE BITCONY</b>!</translation>
|
||||
<translation type="unfinished">Uwaga: Jeśli zaszyfrujesz swój portfel i zgubisz swoje hasło, <b>STRACISZ WSZYSTKIE SWOJE BITCOINY</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
@@ -159,7 +197,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation type="unfinished">Portfel do zaszyfrowania </translation>
|
||||
<translation type="unfinished">Portfel do zaszyfrowania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
@@ -222,22 +260,22 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation type="unfinished">Blokada do</translation>
|
||||
<translation type="unfinished">Zablokowany do</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinApplication</name>
|
||||
<message>
|
||||
<source>Settings file %1 might be corrupt or invalid.</source>
|
||||
<translation type="unfinished">Plik ustawień 1%1 może być uszkodzony lub nieprawidłowy</translation>
|
||||
<translation type="unfinished">Plik ustawień %1 może być uszkodzony lub nieprawidłowy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Runaway exception</source>
|
||||
<translation type="unfinished">Błąd zapisu do portfela</translation>
|
||||
<translation type="unfinished">Nieobsługiwany wyjątek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation type="unfinished">Wystąpił fatalny błąd. %1 nie może być kontynuowany i zostanie zakończony.</translation>
|
||||
<translation type="unfinished">Wystąpił krytyczny błąd. %1 nie może już bezpiecznie kontynuować i zostanie zamknięty.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal error</source>
|
||||
@@ -324,7 +362,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<message>
|
||||
<source>Feeler</source>
|
||||
<extracomment>Short-lived peer connection type that tests the aliveness of known addresses.</extracomment>
|
||||
<translation type="unfinished">Szczelinomierz</translation>
|
||||
<translation type="unfinished">Połączenie testowe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address Fetch</source>
|
||||
@@ -343,7 +381,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<source>%n second(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n sekunda</numerusform>
|
||||
<numerusform>%n sekund</numerusform>
|
||||
<numerusform>%n sekundy</numerusform>
|
||||
<numerusform>%n sekund</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
@@ -351,7 +389,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<source>%n minute(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n minuta</numerusform>
|
||||
<numerusform>%n minut</numerusform>
|
||||
<numerusform>%n minuty</numerusform>
|
||||
<numerusform>%n minut</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
@@ -359,7 +397,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<source>%n hour(s)</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n godzina</numerusform>
|
||||
<numerusform>%n godzin</numerusform>
|
||||
<numerusform>%n godziny</numerusform>
|
||||
<numerusform>%n godzin</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
@@ -376,7 +414,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n tydzień</numerusform>
|
||||
<numerusform>%n tygodnie</numerusform>
|
||||
<numerusform>%n tygodnie</numerusform>
|
||||
<numerusform>%n tygodni</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -388,7 +426,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n rok</numerusform>
|
||||
<numerusform>%n lata</numerusform>
|
||||
<numerusform>%n lata</numerusform>
|
||||
<numerusform>%n lat</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -521,7 +559,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file…</source>
|
||||
<translation type="unfinished">Wczytaj PSBT z pliku...</translation>
|
||||
<translation type="unfinished">&Wczytaj PSBT z pliku...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URI…</source>
|
||||
@@ -533,7 +571,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet…</source>
|
||||
<translation type="unfinished">Utwórz portfel...</translation>
|
||||
<translation type="unfinished">Stwórz portfel...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets…</source>
|
||||
@@ -577,7 +615,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
|
||||
<translation type="unfinished">Zażądaj płatności (wygeneruj QE code i bitcoin: URI)</translation>
|
||||
<translation type="unfinished">Zażądaj płatności (generuje kody QR i URI bitcoin:)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the list of used sending addresses and labels</source>
|
||||
@@ -595,8 +633,8 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>Przetworzono %n blok historii transakcji.</numerusform>
|
||||
<numerusform>Przetworzono 1%n bloków historii transakcji.</numerusform>
|
||||
<numerusform>Przetworzono 1%n bloków historii transakcji.</numerusform>
|
||||
<numerusform>Przetworzono %n bloki historii transakcji.</numerusform>
|
||||
<numerusform>Przetworzono %n bloków historii transakcji.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -657,7 +695,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receiving addresses</source>
|
||||
<translation type="unfinished">&Adresy odbioru</translation>
|
||||
<translation type="unfinished">&Adresy odbiorcze</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
@@ -699,7 +737,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation type="unfinished">Pokaż pomoc %1 aby zobaczyć listę wszystkich opcji lnii poleceń.</translation>
|
||||
<translation type="unfinished">Pokaż pomoc dla %1 aby zobaczyć listę możliwych opcji linii poleceń</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Mask values</source>
|
||||
@@ -753,12 +791,16 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<source>&Hide</source>
|
||||
<translation type="unfinished">&Ukryj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>S&how</source>
|
||||
<translation type="unfinished">&Wyświetl</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network.</source>
|
||||
<extracomment>A substring of the tooltip.</extracomment>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%n aktywne połączenie z siecią Bitcoin.</numerusform>
|
||||
<numerusform>%n aktywnych połączeń z siecią Bitcoin.</numerusform>
|
||||
<numerusform>%n aktywne połączenia z siecią Bitcoin.</numerusform>
|
||||
<numerusform>%n aktywnych połączeń z siecią Bitcoin.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
@@ -942,11 +984,11 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmed</source>
|
||||
<translation type="unfinished">Potwerdzone</translation>
|
||||
<translation type="unfinished">Potwierdzone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation type="unfinished">Kopiuj kwote</translation>
|
||||
<translation type="unfinished">Skopiuj kwotę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy address</source>
|
||||
@@ -958,7 +1000,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &amount</source>
|
||||
<translation type="unfinished">Kopiuj kwotę</translation>
|
||||
<translation type="unfinished">Skopiuj &kwotę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction &ID and output index</source>
|
||||
@@ -978,7 +1020,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation type="unfinished">Skopiuj prowizję</translation>
|
||||
<translation type="unfinished">Skopiuj opłatę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy after fee</source>
|
||||
@@ -986,7 +1028,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation type="unfinished">Skopiuj ilość bajtów</translation>
|
||||
<translation type="unfinished">Skopiuj bajty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
@@ -1018,7 +1060,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<extracomment>Title of window indicating the progress of creation of a new wallet.</extracomment>
|
||||
<translation type="unfinished">Stwórz potrfel</translation>
|
||||
<translation type="unfinished">Stwórz portfel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>…</source>
|
||||
@@ -1027,7 +1069,7 @@ Podpisywanie jest możliwe tylko z adresami typu 'legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation type="unfinished">Nieudane tworzenie potrfela</translation>
|
||||
<translation type="unfinished">Utworzenie portfela nie powiodło się</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
@@ -1114,7 +1156,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation type="unfinished">Ostrzeżenie przy otworzeniu potrfela</translation>
|
||||
<translation type="unfinished">Ostrzeżenie podczas otwierania portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
@@ -1182,7 +1224,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation type="unfinished">Stwórz potrfel</translation>
|
||||
<translation type="unfinished">Stwórz portfel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You are one step away from creating your new wallet!</source>
|
||||
@@ -1243,7 +1285,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<message>
|
||||
<source>Compiled without external signing support (required for external signing)</source>
|
||||
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
|
||||
<translation type="unfinished">Skompilowany bez obsługi podpisywania zewnętrznego (wymagany do podpisywania zewnętrzengo)</translation>
|
||||
<translation type="unfinished">Skompilowany bez obsługi podpisywania zewnętrznego (wymagany do podpisywania zewnętrznego)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1274,7 +1316,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit receiving address</source>
|
||||
<translation type="unfinished">Zmień adres odbioru</translation>
|
||||
<translation type="unfinished">Zmień adres odbiorczy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit sending address</source>
|
||||
@@ -1510,11 +1552,11 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
|
||||
<translation type="unfinished">%1 jest w trakcie synchronizacji. Trwa pobieranie i weryfikacja nagłówków oraz bloków z sieci w celu uzyskania aktualnego stanu łańcucha.</translation>
|
||||
<translation type="unfinished">%1 jest w trakcie synchronizacji. Będzie pobierał oraz weryfikował nagłówki i bloki z sieci w celu uzyskania aktualnego stanu łańcucha.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)…</source>
|
||||
<translation type="unfinished">nieznany, Synchronizowanie nagłówków (1%1, 2%2%)</translation>
|
||||
<translation type="unfinished">nieznany, Synchronizowanie nagłówków (%1, %2%)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Pre-syncing Headers (%1, %2%)…</source>
|
||||
@@ -1555,6 +1597,11 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<source>Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain.</source>
|
||||
<translation type="unfinished">Włączenie czyszczenia znacznie zmniejsza ilość miejsca na dysku wymaganego do przechowywania transakcji. Wszystkie bloki są nadal w pełni zweryfikowane. Przywrócenie tego ustawienia wymaga ponownego pobrania całego łańcucha bloków.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum database cache size. Make sure you have enough RAM. A larger cache can contribute to faster sync, after which the benefit is less pronounced for most use cases. Lowering the cache size will reduce memory usage. Unused mempool memory is shared for this cache.</source>
|
||||
<extracomment>Tooltip text for Options window setting that sets the size of the database cache. Explains the corresponding effects of increasing/decreasing this value.</extracomment>
|
||||
<translation type="unfinished">Maksymalna wielkość pamięci podręcznej dla bazy danych osiągnięta. Upewnij się, że masz odpowiednią ilość pamięci RAM. Większa ilość pamięci podręcznej może przyśpieszyć synchronizację, z mniejszym wpływem w większości przypadków. Zmniejszenie wielkości tej pamięci zredukuje użycie pamięci. Nieużywana pamięć mempool jest współdzielona z cache.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation type="unfinished">Wielkość bufora bazy &danych</translation>
|
||||
@@ -1567,6 +1614,10 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<source>Full path to a %1 compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</source>
|
||||
<translation type="unfinished">Pełna ścieżka do skryptu zgodnego z %1 (np. C:\Downloads\hwi.exe lub /Users/you/Downloads/hwi.py). Uwaga: złośliwe oprogramowanie może ukraść Twoje monety!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports PCP or NAT-PMP and it is enabled. The external port could be random.</source>
|
||||
<translation type="unfinished">Automatycznie przekieruj porty dla klienta Bitcoin na routerze. Ta opcja działa tylko i wyłącznie, jeżeli twój router wspiera PCP lub NAT-PMP oraz jest ono włączone. Zewnętrzny port może być losowy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using PCP or NA&T-PMP</source>
|
||||
<translation type="unfinished">Mapuj port używając PCP lub NA&T-PMP</translation>
|
||||
@@ -1645,12 +1696,12 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<message>
|
||||
<source>Whether to set subtract fee from amount as default or not.</source>
|
||||
<extracomment>Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.</extracomment>
|
||||
<translation type="unfinished">Czy ustawić opłatę odejmowaną od kwoty jako domyślną, czy nie.</translation>
|
||||
<translation type="unfinished">Ustawić domyślne odejmowanie opłaty od kwoty czy nie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Subtract &fee from amount by default</source>
|
||||
<extracomment>An Options window setting to set subtracting the fee from a sending amount as default.</extracomment>
|
||||
<translation type="unfinished">Domyślnie odejmij opłatę od kwoty</translation>
|
||||
<translation type="unfinished">Domyślnie odejmuj &opłatę od kwoty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expert</source>
|
||||
@@ -1658,7 +1709,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable coin &control features</source>
|
||||
<translation type="unfinished">Włącz funk&cje kontoli monet</translation>
|
||||
<translation type="unfinished">Włącz funk&cje kontroli monet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source>
|
||||
@@ -1708,7 +1759,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Port of the proxy (e.g. 9050)</source>
|
||||
<translation type="unfinished">Port proxy (np. 9050)</translation>
|
||||
<translation type="unfinished">Port serwera proxy (np. 9050)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Used for reaching peers via:</source>
|
||||
@@ -1768,7 +1819,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation type="unfinished">Wybierz pokazywanie lub nie funkcji kontroli monet.</translation>
|
||||
<translation type="unfinished">Czy wyświetlać funkcje kontroli monet, czy nie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
|
||||
@@ -1785,7 +1836,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
<message>
|
||||
<source>Compiled without external signing support (required for external signing)</source>
|
||||
<extracomment>"External signing" means using devices such as hardware wallets.</extracomment>
|
||||
<translation type="unfinished">Skompilowany bez obsługi podpisywania zewnętrznego (wymagany do podpisywania zewnętrzengo)</translation>
|
||||
<translation type="unfinished">Skompilowany bez obsługi podpisywania zewnętrznego (wymagany do podpisywania zewnętrznego)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default</source>
|
||||
@@ -1869,7 +1920,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only:</source>
|
||||
<translation type="unfinished">Tylko podglądaj:</translation>
|
||||
<translation type="unfinished">Tylko do obserwacji:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
@@ -1909,7 +1960,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Your current balance in watch-only addresses</source>
|
||||
<translation type="unfinished">Twoje obecne saldo na podglądanym adresie</translation>
|
||||
<translation type="unfinished">Twoje obecne saldo na adresie tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spendable:</source>
|
||||
@@ -1921,15 +1972,15 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Unconfirmed transactions to watch-only addresses</source>
|
||||
<translation type="unfinished">Niepotwierdzone transakcje na podglądanych adresach</translation>
|
||||
<translation type="unfinished">Niepotwierdzone transakcje na adresach tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mined balance in watch-only addresses that has not yet matured</source>
|
||||
<translation type="unfinished">Wykopane monety na podglądanych adresach które jeszcze nie dojrzały</translation>
|
||||
<translation type="unfinished">Saldo wydobytych monet na adresach tylko do obserwacji, które nie są jeszcze dojrzałe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current total balance in watch-only addresses</source>
|
||||
<translation type="unfinished">Łączna kwota na podglądanych adresach</translation>
|
||||
<translation type="unfinished">Łączna kwota na adresach tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
@@ -1984,12 +2035,16 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation type="unfinished">transakcja</translation>
|
||||
<translation type="unfinished">Transakcja została podpisana pomyślnie. Transakcja jest gotowa do rozgłoszenia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation type="unfinished">Nieznany błąd podczas przetwarzania transakcji.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast successfully! Transaction ID: %1</source>
|
||||
<translation type="unfinished">Transakcja została rozgłoszona pomyślnie! ID transakcji: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast failed: %1</source>
|
||||
<translation type="unfinished">Nie udało się rozgłosić transakscji: %1</translation>
|
||||
@@ -2053,7 +2108,7 @@ Proces migracji utworzy kopię zapasową portfela przed migracją. Plik kopii za
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation type="unfinished">(Ale ten portfel nie może podipisać transakcji.)</translation>
|
||||
<translation type="unfinished">(Ale ten portfel nie może podpisywać transakcji.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
@@ -2173,7 +2228,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
</message>
|
||||
<message>
|
||||
<source>Resulting URI too long, try to reduce the text for label / message.</source>
|
||||
<translation type="unfinished">Wynikowy URI jest zbyt długi, spróbuj zmniejszyć tekst etykiety / wiadomości</translation>
|
||||
<translation type="unfinished">Wynikowy URI jest zbyt długi, spróbuj skrócić tekst etykiety / wiadomości</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
@@ -2356,12 +2411,12 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
<message>
|
||||
<source>The total number of addresses received from this peer that were processed (excludes addresses that were dropped due to rate-limiting).</source>
|
||||
<extracomment>Tooltip text for the Addresses Processed field in the peer details area, which displays the total number of addresses received from this peer that were processed (excludes addresses that were dropped due to rate-limiting).</extracomment>
|
||||
<translation type="unfinished">Całkowita liczba adresów otrzymanych od tego węzła, które zostały przetworzone (wyklucza adresy, które zostały odrzucone ze względu na ograniczenie szybkości).</translation>
|
||||
<translation type="unfinished">Łączna liczba adresów otrzymanych od tego węzła, które zostały przetworzone (z wyłączeniem adresów odrzuconych z powodu ograniczenia prędkości).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The total number of addresses received from this peer that were dropped (not processed) due to rate-limiting.</source>
|
||||
<extracomment>Tooltip text for the Addresses Rate-Limited field in the peer details area, which displays the total number of addresses received from this peer that were dropped (not processed) due to rate-limiting.</extracomment>
|
||||
<translation type="unfinished">Całkowita liczba adresów otrzymanych od tego węzła, które zostały odrzucone (nieprzetworzone) z powodu ograniczenia szybkości.</translation>
|
||||
<translation type="unfinished">Łączna liczba adresów otrzymanych od tego węzła, które zostały odrzucone (nieprzetworzone) z powodu ograniczenia prędkości.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Addresses Processed</source>
|
||||
@@ -2371,7 +2426,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
<message>
|
||||
<source>Addresses Rate-Limited</source>
|
||||
<extracomment>Text title for the Addresses Rate-Limited field in the peer details area, which displays the total number of addresses received from this peer that were dropped (not processed) due to rate-limiting.</extracomment>
|
||||
<translation type="unfinished">Wskaźnik-Ograniczeń Adresów</translation>
|
||||
<translation type="unfinished">Adresy ograniczone limitem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
@@ -2383,7 +2438,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation type="unfinished">Obecna ilość bloków</translation>
|
||||
<translation type="unfinished">Bieżąca wysokość bloku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
@@ -2423,7 +2478,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
</message>
|
||||
<message>
|
||||
<source>High bandwidth BIP152 compact block relay: %1</source>
|
||||
<translation type="unfinished">Kompaktowy przekaźnik blokowy BIP152 o dużej przepustowości: 1 %1</translation>
|
||||
<translation type="unfinished">Przekaźnik skompaktowanych bloków o wysokiej przepustowości BIP152: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>High Bandwidth</source>
|
||||
@@ -2444,7 +2499,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
<message>
|
||||
<source>Elapsed time since a novel transaction accepted into our mempool was received from this peer.</source>
|
||||
<extracomment>Tooltip text for the Last Transaction field in the peer details area.</extracomment>
|
||||
<translation type="unfinished">Czas, który upłynął od otrzymania nowej transakcji przyjętej do naszej pamięci od tego partnera.</translation>
|
||||
<translation type="unfinished">Czas, który upłynął od otrzymania nowej transakcji przyjętej do naszego mempoola od tego partnera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last Send</source>
|
||||
@@ -2460,7 +2515,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
</message>
|
||||
<message>
|
||||
<source>The duration of a currently outstanding ping.</source>
|
||||
<translation type="unfinished">Czas trwania nadmiarowego pingu</translation>
|
||||
<translation type="unfinished">Czas trwania aktualnie oczekującego pinga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ping Wait</source>
|
||||
@@ -2496,7 +2551,7 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug log file</source>
|
||||
<translation type="unfinished">Plik logowania debugowania</translation>
|
||||
<translation type="unfinished">Plik dziennika debugowania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear console</source>
|
||||
@@ -2523,17 +2578,17 @@ Jeśli pojawia się ten błąd, poproś sprzedawcę o podanie URI zgodnego z BIP
|
||||
<message>
|
||||
<source>Outbound Block Relay: does not relay transactions or addresses</source>
|
||||
<extracomment>Explanatory text for an outbound peer connection that relays network information about blocks and not transactions or addresses.</extracomment>
|
||||
<translation type="unfinished">Outbound Block Relay: nie przekazuje transakcji ani adresów</translation>
|
||||
<translation type="unfinished">Wychodzący przekaźnik bloków: nie przekazuje transakcji ani adresów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outbound Manual: added using RPC %1 or %2/%3 configuration options</source>
|
||||
<extracomment>Explanatory text for an outbound peer connection that was established manually through one of several methods. The numbered arguments are stand-ins for the methods available to establish manual connections.</extracomment>
|
||||
<translation type="unfinished">Outbound Manual: dodano przy użyciu opcji konfiguracyjnych RPC 1%1 lub 2%2/3%3</translation>
|
||||
<translation type="unfinished">Połączenie wychodzące ręczne: dodano przy użyciu opcji konfiguracyjnych RPC %1 lub %2/%3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outbound Feeler: short-lived, for testing addresses</source>
|
||||
<extracomment>Explanatory text for a short-lived outbound peer connection that is used to test the aliveness of known addresses.</extracomment>
|
||||
<translation type="unfinished">Outbound Feeler: krótkotrwały, do testowania adresów</translation>
|
||||
<translation type="unfinished">Wychodzące połączenie testowe: krótkotrwałe, do testowania adresów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outbound Address Fetch: short-lived, for soliciting addresses</source>
|
||||
@@ -2728,7 +2783,7 @@ Aby uzyskać więcej informacji na temat używania tej konsoli wpisz %6.
|
||||
</message>
|
||||
<message>
|
||||
<source>Requested payments history</source>
|
||||
<translation type="unfinished">Żądanie historii płatności</translation>
|
||||
<translation type="unfinished">Żądana historia płatności</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the selected request (does the same as double clicking an entry)</source>
|
||||
@@ -2764,7 +2819,7 @@ Aby uzyskać więcej informacji na temat używania tej konsoli wpisz %6.
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &amount</source>
|
||||
<translation type="unfinished">Kopiuj kwotę</translation>
|
||||
<translation type="unfinished">Skopiuj &kwotę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not recommended due to higher fees and less protection against typos.</source>
|
||||
@@ -3034,11 +3089,11 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation type="unfinished">Kopiuj kwote</translation>
|
||||
<translation type="unfinished">Skopiuj kwotę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation type="unfinished">Skopiuj prowizję</translation>
|
||||
<translation type="unfinished">Skopiuj opłatę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy after fee</source>
|
||||
@@ -3054,7 +3109,7 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation type="unfinished">%1 (%2 bloków)github.com </translation>
|
||||
<translation type="unfinished">%1 (%2 bloków)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign on device</source>
|
||||
@@ -3080,7 +3135,7 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to '%2'</source>
|
||||
<translation type="unfinished">%1 do '%2'8f0451c0-ec7d-4357-a370-eff72fb0685f</translation>
|
||||
<translation type="unfinished">%1 do '%2'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
@@ -3147,7 +3202,7 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
<message>
|
||||
<source>Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<extracomment>Text to inform a user attempting to create a transaction of their current options. At this stage, a user can send their transaction or create a PSBT. This string is displayed when both private keys and PSBT controls are enabled.</extracomment>
|
||||
<translation type="unfinished">Proszę przejrzeć propozycję transakcji. Zostanie utworzona częściowo podpisana transakcja (ang. PSBT), którą można skopiować, a następnie podpisać np. offline z portfelem %1 lub z innym portfelem zgodnym z PSBT.</translation>
|
||||
<translation type="unfinished">Proszę przejrzeć transakcję. Możesz utworzyć i wysłać tę transakcję lub utworzyć częściowo podpisaną transakcję Bitcoin (PSBT), którą możesz zapisać lub skopiować, a następnie podpisać np. offline z portfelem %1 lub z kompatybilnym sprzętowo portfelem PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
@@ -3186,11 +3241,11 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation type="unfinished">Kwota na obserwowanych kontach:</translation>
|
||||
<translation type="unfinished">Saldo na kontach tylko do obserwacji:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation type="unfinished">Adres odbiorcy jest nieprawidłowy, proszę sprawić ponownie.</translation>
|
||||
<translation type="unfinished">Adres odbiorcy jest nieprawidłowy, proszę sprawdzić ponownie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to pay must be larger than 0.</source>
|
||||
@@ -3219,9 +3274,9 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
<message numerus="yes">
|
||||
<source>Estimated to begin confirmation within %n block(s).</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w %n bloku.</numerusform>
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w %n bloków.</numerusform>
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w %n bloków.</numerusform>
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w ciągu %n bloku.</numerusform>
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w ciągu %n bloków.</numerusform>
|
||||
<numerusform>Szacuje się, że potwierdzenie rozpocznie się w ciągu %n bloków.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -3253,7 +3308,7 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>Pay &To:</source>
|
||||
<translation type="unfinished">Zapłać &dla:</translation>
|
||||
<translation type="unfinished">Płatność &dla:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Label:</source>
|
||||
@@ -3281,11 +3336,11 @@ Uwaga: Ponieważ opłata jest naliczana za każdy bajt, opłata "100 satoshi za
|
||||
</message>
|
||||
<message>
|
||||
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
|
||||
<translation type="unfinished">Opłata zostanie odjęta od kwoty wysyłane.Odbiorca otrzyma mniej niż bitcoins wpisz w polu kwoty. Jeśli wybrano kilku odbiorców, opłata jest podzielona równo.</translation>
|
||||
<translation type="unfinished">Opłata zostanie odjęta od kwoty wysyłanej. Odbiorca otrzyma mniej bitcoinów, niż wpiszesz w polu kwoty. Jeśli wybrano wielu odbiorców, opłata zostanie podzielona równo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>S&ubtract fee from amount</source>
|
||||
<translation type="unfinished">Odejmij od wysokości opłaty</translation>
|
||||
<translation type="unfinished">Odejmij opłatę od kwoty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use available balance</source>
|
||||
@@ -3495,7 +3550,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
<message>
|
||||
<source>%1/unconfirmed</source>
|
||||
<extracomment>Text explaining the current status of a transaction, shown in the status field of the details window for this transaction. This status represents a transaction confirmed in at least one block, but less than 6 blocks.</extracomment>
|
||||
<translation type="unfinished">%1/niezatwierdzone</translation>
|
||||
<translation type="unfinished">%1/niepotwierdzone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 confirmations</source>
|
||||
@@ -3532,7 +3587,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation type="unfinished">tylko-obserwowany</translation>
|
||||
<translation type="unfinished">tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>label</source>
|
||||
@@ -3706,7 +3761,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation type="unfinished">tylko-obserwowany</translation>
|
||||
<translation type="unfinished">tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(n/a)</source>
|
||||
@@ -3730,7 +3785,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>Whether or not a watch-only address is involved in this transaction.</source>
|
||||
<translation type="unfinished">Czy adres tylko-obserwowany jest lub nie użyty w tej transakcji.</translation>
|
||||
<translation type="unfinished">Czy w transakcji jest użyty adres tylko do obserwacji.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User-defined intent/purpose of the transaction.</source>
|
||||
@@ -3805,11 +3860,11 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &amount</source>
|
||||
<translation type="unfinished">Kopiuj kwotę</translation>
|
||||
<translation type="unfinished">Skopiuj &kwotę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction &ID</source>
|
||||
<translation type="unfinished">transakcjaSkopiuj &ID transakcji</translation>
|
||||
<translation type="unfinished">Skopiuj &ID transakcji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &raw transaction</source>
|
||||
@@ -3833,7 +3888,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit address label</source>
|
||||
<translation type="unfinished">Wy&edytuj adres etykiety</translation>
|
||||
<translation type="unfinished">Wy&edytuj etykietę adresu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show in %1</source>
|
||||
@@ -3846,11 +3901,11 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmed</source>
|
||||
<translation type="unfinished">Potwerdzone</translation>
|
||||
<translation type="unfinished">Potwierdzone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only</source>
|
||||
<translation type="unfinished">Tylko-obserwowany</translation>
|
||||
<translation type="unfinished">Tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
@@ -3924,7 +3979,7 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT file must be smaller than 100 MiB</source>
|
||||
<translation type="unfinished">PSBT musi być mniejsze niż 100MB</translation>
|
||||
<translation type="unfinished">PSBT musi być mniejsze niż 100MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT</source>
|
||||
@@ -4049,6 +4104,14 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation type="unfinished">%s jest uszkodzony. Spróbuj użyć narzędzia bitcoin-portfel, aby uratować portfel lub przywrócić kopię zapasową.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s failed to validate the -assumeutxo snapshot state. This indicates a hardware problem, or a bug in the software, or a bad software modification that allowed an invalid snapshot to be loaded. As a result of this, the node will shut down and stop using any state that was built on the snapshot, resetting the chain height from %d to %d. On the next restart, the node will resume syncing from %d without using any snapshot data. Please report this incident to %s, including how you obtained the snapshot. The invalid snapshot chainstate will be left on disk in case it is helpful in diagnosing the issue that caused this error.</source>
|
||||
<translation type="unfinished">%snie udało się zwalidować stanu migawki -assumeutxo. Wskazuje to na problem ze sprzętem, błąd w oprogramowaniu lub nieprawidłową modyfikacją programu, która zezwoliła na załadowanie nieprawidłowej migawki. Z tego powodu węzeł zostanie zamknięty i przestanie używać danych zbudowanych na bazie migawki, resetując wysokość łańcucha z %d do %d. Po ponownym uruchomieniu, węzeł wznowi synchronizację od %d, bez wykorzystania jakichkolwiek danych z migawki. Prosimy zgłosić ten incydent do %s, wliczając w to jak wszedłeś w posiadanie tej migawki. Nieprawidłowy stan łańcucha w oparciu o tą migawkę zostanie zachowany na dysku w przypadku, gdyby okazał się przydatny w diagnostyce problemu, który spowodował ten błąd.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s request to listen on port %u. This port is considered "bad" and thus it is unlikely that any peer will connect to it. See doc/p2p-bad-ports.md for details and a full list.</source>
|
||||
<translation type="unfinished">%sżąda nasłuchiwania na porcie %u. Ten port jest uznany za "zły" i nie jest zbyt prawdopodobne, aby jakikolwiek węzeł połączył się do niego. Zobacz doc/p2p-bad-ports.md, aby dowiedzieć się więcej i zobaczyć pełną listę.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot downgrade wallet from version %i to version %i. Wallet version unchanged.</source>
|
||||
<translation type="unfinished">Nie można zmienić wersji portfela z wersji %ina wersje %i. Wersja portfela pozostaje niezmieniona.</translation>
|
||||
@@ -4071,15 +4134,19 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! Transaction data may be missing or incorrect. Rescanning wallet.</source>
|
||||
<translation type="unfinished">Błąd odczytu 1%s! Może brakować danych transakcji lub mogą być one nieprawidłowe. Ponowne skanowanie portfela.</translation>
|
||||
<translation type="unfinished">Błąd odczytu %s! Może brakować danych transakcji lub mogą być one nieprawidłowe. Ponowne skanowanie portfela.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error starting/committing db txn for wallet transactions removal process</source>
|
||||
<translation type="unfinished">Wystąpił błąd podczas uruchamiania/przesyłania bazy danych transakcji dla procesu usuwania transakcji w portfelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Dumpfile format record is incorrect. Got "%s", expected "format".</source>
|
||||
<translation type="unfinished">Błąd: rekord formatu pliku zrzutu jest nieprawidłowy. Otrzymano „1%s”, oczekiwany „format”.</translation>
|
||||
<translation type="unfinished">Błąd: rekord formatu pliku zrzutu jest nieprawidłowy. Otrzymano „%s”, oczekiwany „format”.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Dumpfile identifier record is incorrect. Got "%s", expected "%s".</source>
|
||||
<translation type="unfinished">Błąd: rekord identyfikatora pliku zrzutu jest nieprawidłowy. Otrzymano „1%s”, oczekiwano „1%s”.</translation>
|
||||
<translation type="unfinished">Błąd: rekord identyfikatora pliku zrzutu jest nieprawidłowy. Otrzymano „%s”, oczekiwano „%s”.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Dumpfile version is not supported. This version of bitcoin-wallet only supports version 1 dumpfiles. Got dumpfile with version %s</source>
|
||||
@@ -4095,27 +4162,31 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File %s already exists. If you are sure this is what you want, move it out of the way first.</source>
|
||||
<translation type="unfinished">Plik 1%s już istnieje. Jeśli jesteś pewien, że tego chcesz, najpierw usuń to z drogi.</translation>
|
||||
<translation type="unfinished">Plik %s już istnieje. Jeśli jesteś pewien, że tego chcesz, najpierw go przenieś.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start.</source>
|
||||
<translation type="unfinished">Nieprawidłowy lub uszkodzony plik peers.dat (1%s). Jeśli uważasz, że to błąd, zgłoś go do 1%s. Jako obejście, możesz przenieść plik (1%s) z drogi (zmień nazwę, przenieś lub usuń), aby przy następnym uruchomieniu utworzyć nowy.</translation>
|
||||
<translation type="unfinished">Nieprawidłowy lub uszkodzony plik peers.dat (%s). Jeśli uważasz, że to błąd, zgłoś go do %s. Jako obejście, możesz przenieść plik (%s) z drogi (zmień nazwę, przenieś lub usuń), aby przy następnym uruchomieniu utworzyć nowy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid value detected for '-wallet' or '-nowallet'. '-wallet' requires a string value, while '-nowallet' accepts only '1' to disable all wallets</source>
|
||||
<translation type="unfinished">Nieprawidłowa wartość wykryta dla '-wallet' lub '-nowallet'. '-wallet' wymaga ciągu znaków, podczas gdy '-nowallet' akceptuje jedynie '1' dla wyłączenia wszystkich portfeli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation type="unfinished">Podano więcej niż jeden adres onion. Używam %s dla automatycznie utworzonej usługi Tor onion.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No dump file provided. To use createfromdump, -dumpfile=<filename> must be provided.</source>
|
||||
<translation type="unfinished">Nie dostarczono pliku zrzutu. Aby użyć funkcji createfromdump, należy podać -dumpfile=<filename>.</translation>
|
||||
<translation type="unfinished">Nie podano pliku zrzutu. Aby użyć funkcji -createfromdump, należy podać -dumpfile=<filename></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No dump file provided. To use dump, -dumpfile=<filename> must be provided.</source>
|
||||
<translation type="unfinished">Nie dostarczono pliku zrzutu. Aby użyć funkcji createfromdump, należy podać -dumpfile=1.</translation>
|
||||
<translation type="unfinished">Nie podano pliku zrzutu. Aby go użyć, należy podać -dumpfile=<filename></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallet file format provided. To use createfromdump, -format=<format> must be provided.</source>
|
||||
<translation type="unfinished">Nie dostarczono pliku zrzutu. Aby użyć funkcji createfromdump, należy podać -dumpfile=<format>.</translation>
|
||||
<translation type="unfinished">Nie podano formatu pliku portfela. Aby użyć funkcji -createfromdump, należy podać -format=<format></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Option '-upnp' is set but UPnP support was dropped in version 29.0. Consider using '-natpmp' instead.</source>
|
||||
@@ -4187,7 +4258,7 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported category-specific logging level %1$s=%2$s. Expected %1$s=<category>:<loglevel>. Valid categories: %3$s. Valid loglevels: %4$s.</source>
|
||||
<translation type="unfinished">Nieobsługiwany poziom rejestrowania specyficzny dla kategorii %1$s=%2$s. Oczekiwano %1$s=<category>:<loglevel>. Poprawne kategorie %3$s. Poprawne poziomy logowania: %4 $s.</translation>
|
||||
<translation type="unfinished">Nieobsługiwany poziom logowania specyficzny dla kategorii %1$s=%2$s. Oczekiwano %1$s=<category>:<loglevel>. Poprawne kategorie %3$s. Poprawne poziomy logowania: %4 $s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported chainstate database format found. Please restart with -reindex-chainstate. This will rebuild the chainstate database.</source>
|
||||
@@ -4229,6 +4300,10 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
<source>-maxmempool must be at least %d MB</source>
|
||||
<translation type="unfinished">-maxmempool musi być przynajmniej %d MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot obtain a lock on directory %s. %s is probably already running.</source>
|
||||
<translation type="unfinished">Nie można uzyskać blokady w katalogu %s. %s najprawdopodobniej jest już uruchomiony.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation type="unfinished">Nie można rozpoznać -%s adresu: '%s'</translation>
|
||||
@@ -4253,9 +4328,13 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
<source>Error loading %s: External signer wallet being loaded without external signer support compiled</source>
|
||||
<translation type="unfinished">Błąd ładowania %s: Ładowanie portfela zewnętrznego podpisu bez skompilowania wsparcia dla zewnętrznego podpisu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address metadata may be missing or incorrect.</source>
|
||||
<translation type="unfinished">Błąd podczas odczytywania %s! Wszystkie klucze zostały odczytane poprawnie, ale może brakować danych transakcji lub wpisów w książce adresowej, albo mogą one być nieprawidłowe.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Address book data in wallet cannot be identified to belong to migrated wallets</source>
|
||||
<translation type="unfinished">Błąd: Dane książki adresowej w portfelu nie można zidentyfikować jako należące do migrowanego portfela</translation>
|
||||
<translation type="unfinished">Błąd: Danych książki adresowej w portfelu nie można zidentyfikować jako należących do zmigrowanych portfeli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Duplicate descriptors created during migration. Your wallet may be corrupted.</source>
|
||||
@@ -4275,7 +4354,7 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable %s.</source>
|
||||
<translation type="unfinished">Estymacja opłat nieudana. Domyślna opłata jest wyłączona. Poczekaj kilka bloków lub włącz -%s.</translation>
|
||||
<translation type="unfinished">Estymacja opłat nie powiodła się. Fallbackfee jest wyłączone. Poczekaj kilka bloków lub włącz %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flushing block file to disk failed. This is likely the result of an I/O error.</source>
|
||||
@@ -4313,13 +4392,37 @@ Przejdź do Plik > Otwórz Portfel aby wgrać portfel.</translation>
|
||||
<source>Outbound connections restricted to i2p (-onlynet=i2p) but -i2psam is not provided</source>
|
||||
<translation type="unfinished">Połączenia wychodzące ograniczone do i2p (-onlynet=i2p), lecz nie podano -i2psam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rename of '%s' -> '%s' failed. Cannot clean up the background chainstate leveldb directory.</source>
|
||||
<translation type="unfinished">Zmiana nazwy z '%s' na '%s' nie powiodła się. Nie można wyczyścić katalogu chainstate leveldb. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockmaxweight (%d) exceeds consensus maximum block weight (%d)</source>
|
||||
<translation type="unfinished">Podany -blockmaxweight (%d) przekracza przekracza maksymalną wagę bloku dopuszczoną przez konsensus (%d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockreservedweight (%d) exceeds consensus maximum block weight (%d)</source>
|
||||
<translation type="unfinished">Podany -blockreservedweight (%d) przekracza przekracza maksymalną wagę bloku dopuszczoną przez konsensus (%d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -blockreservedweight (%d) is lower than minimum safety value of (%d)</source>
|
||||
<translation type="unfinished">Podany -blockreservedweight (%d) jest niższy niż minimalna bezpieczna wartrość (%d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The preselected coins total amount does not cover the transaction target. Please allow other inputs to be automatically selected or include more coins manually</source>
|
||||
<translation type="unfinished">Suma wstępnie wybranych monet nie pokrywa kwoty transakcji. Zezwól na automatyczne wybranie wejść lub ręcznie dołącz więcej monet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction requires one destination of non-0 value, a non-0 feerate, or a pre-selected input</source>
|
||||
<translation type="unfinished">Transakcja wymagana jednego celu o niezerowej wartości, niezerowej opłacie lub wstępnie wybranego wejścia</translation>
|
||||
<translation type="unfinished">Transakcja wymaga jednego adresu docelowego z niezerową wartością, niezerowej stawki opłaty lub wcześniej wybranego wejścia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unconfirmed UTXOs are available, but spending them creates a chain of transactions that will be rejected by the mempool</source>
|
||||
<translation type="unfinished">Niepotwierdzone UTXO są dostępne, ale ich wydanie tworzy łańcuch transakcji, który zostanie odrzucony przez mempool.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your computer's date and time appear to be more than %d minutes out of sync with the network, this may lead to consensus failure. After you've confirmed your computer's clock, this message should no longer appear when you restart your node. Without a restart, it should stop showing automatically after you've connected to a sufficient number of new outbound peers, which may take some time. You can inspect the `timeoffset` field of the `getpeerinfo` and `getnetworkinfo` RPC methods to get more info.</source>
|
||||
<translation type="unfinished">Data i godzina Twojego komputera wydają się być przesunięte o więcej %d minut względem sieci, co może prowadzić do błędów konsensusu. Po upewnieniu się, że zegar Twojego komputera jest poprawny, ta wiadomość nie powinna się już pojawiać po ponownym uruchomieniu Twojego węzła. Bez ponownego uruchamiania komunikat powinien zniknąć automatycznie po nawiązaniu przez węzeł wystarczającej liczby nowych połączeń wychodzących, co może zająć trochę czasu. Możesz sprawdzić pole timeoffset w metodach RPC getpeerinfo oraz getnetworkinfo, aby uzyskać więcej informacji.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>
|
||||
@@ -4455,7 +4558,7 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Dumpfile checksum does not match. Computed %s, expected %s</source>
|
||||
<translation type="unfinished">Błąd: Plik zrzutu suma kontrolna nie pasuje. Obliczone %s, spodziewane %s</translation>
|
||||
<translation type="unfinished">Błąd: Suma kontrolna pliku zrzutu nie zgadza się. Obliczona %s, oczekiwana %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Failed to create new watchonly wallet</source>
|
||||
@@ -4475,11 +4578,11 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Missing checksum</source>
|
||||
<translation type="unfinished">Bład: Brak suma kontroly</translation>
|
||||
<translation type="unfinished">Błąd: Brakuje sumy kontrolnej</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: No %s addresses available.</source>
|
||||
<translation type="unfinished">Błąd: %s adres nie dostępny</translation>
|
||||
<translation type="unfinished">Błąd: Brak dostępnych adresów %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: This wallet already uses SQLite</source>
|
||||
@@ -4521,6 +4624,10 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
<source>Error: Unable to write record to new wallet</source>
|
||||
<translation type="unfinished">Błąd: Wpisanie rekordu do nowego portfela jest niemożliwe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Unable to write watchonly wallet best block locator record</source>
|
||||
<translation type="unfinished">Błąd: nie można zapisać rekordu lokalizatora najlepszego bloku portfela tylko do obserwacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: database transaction cannot be executed for wallet %s</source>
|
||||
<translation type="unfinished">Błąd: transakcja bazy danych nie może zostać wykonana dla portfela%s</translation>
|
||||
@@ -4639,7 +4746,7 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid port specified in %s: '%s'</source>
|
||||
<translation type="unfinished">Nieprawidłowa maska sieci określona w %s: '%s'</translation>
|
||||
<translation type="unfinished">Nieprawidłowy port podany w %s: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid pre-selected input %s</source>
|
||||
@@ -4805,6 +4912,10 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation type="unfinished">Zbyt niska kwota transakcji by zapłacić opłatę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transactions removal process can only be executed within a db txn</source>
|
||||
<translation type="unfinished">Proces usuwania transakcji może być wykonany tylko w ramach transakcji bazy danych.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will avoid paying less than the minimum relay fee.</source>
|
||||
<translation type="unfinished">Portfel będzie unikał płacenia mniejszej niż przekazana opłaty.</translation>
|
||||
@@ -4931,7 +5042,7 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported logging category %s=%s.</source>
|
||||
<translation type="unfinished">Nieobsługiwana kategoria rejestrowania %s=%s.</translation>
|
||||
<translation type="unfinished">Nieobsługiwana kategoria logowania %s=%s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the databases now?</source>
|
||||
@@ -4963,11 +5074,11 @@ Nie można przywrócić kopii zapasowej portfela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying blocks…</source>
|
||||
<translation type="unfinished">Weryfikowanie bloków...</translation>
|
||||
<translation type="unfinished">Sprawdzanie bloków…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)…</source>
|
||||
<translation type="unfinished">Weryfikowanie porfela(li)...</translation>
|
||||
<translation type="unfinished">Sprawdzanie portfela / portfeli…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet needed to be rewritten: restart %s to complete</source>
|
||||
|
||||
@@ -184,6 +184,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished">Continua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished">Înapoi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation type="unfinished">Reţineti: criptarea portofelului dvs. nu vă poate proteja în totalitate bitcoin-urile împotriva furtului de malware care vă infectează computerul.</translation>
|
||||
@@ -291,6 +295,18 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished">necunoscut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Embedded "%1"</source>
|
||||
<translation type="unfinished">„%1” încorporat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default system font "%1"</source>
|
||||
<translation type="unfinished">Font de sistem implicit „%1”</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Custom…</source>
|
||||
<translation type="unfinished">Personalizat...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation type="unfinished">Sumă</translation>
|
||||
@@ -299,6 +315,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Enter a Bitcoin address (e.g. %1)</source>
|
||||
<translation type="unfinished">Introduceţi o adresă Bitcoin (de exemplu %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unroutable</source>
|
||||
<translation type="unfinished">Nu poate fi rutabil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inbound</source>
|
||||
<extracomment>An inbound connection from a peer. An inbound connection is a connection initiated by a peer.</extracomment>
|
||||
@@ -761,6 +781,20 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<extracomment>A substring of the tooltip. "More actions" are available via the context menu.</extracomment>
|
||||
<translation type="unfinished">Pulsează pentru mai multe acțiuni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable network activity</source>
|
||||
<extracomment>A context menu item.</extracomment>
|
||||
<translation type="unfinished">Dezactivați activitatea în rețea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable network activity</source>
|
||||
<extracomment>A context menu item. The network activity was disabled previously.</extracomment>
|
||||
<translation type="unfinished">Activați activitatea în rețea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pre-syncing Headers (%1%)…</source>
|
||||
<translation type="unfinished">Se pre-sincronizează antetele (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error creating wallet</source>
|
||||
<translation type="unfinished">Eroare creare portofel</translation>
|
||||
@@ -1469,6 +1503,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
|
||||
<translation type="unfinished">Minimizează fereastra în locul părăsirii programului în momentul închiderii ferestrei. Cînd acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii 'Închide aplicaţia' din menu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Font in the Overview tab: </source>
|
||||
<translation type="unfinished">Font în fila Prezentare generală:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 configuration file from the working directory.</source>
|
||||
<translation type="unfinished">Deschide fisierul de configurare %1 din directorul curent.</translation>
|
||||
@@ -1757,10 +1795,22 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation type="unfinished">Nu s-a reusit semnarea tranzactiei: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not sign any more inputs.</source>
|
||||
<translation type="unfinished">Nu s-au mai putut semna alte intrări.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation type="unfinished">Eroare necunoscută la procesarea tranzacției.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation type="unfinished">Salvați datele tranzacției</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sends %1 to %2</source>
|
||||
<translation type="unfinished">Trimite %1 la %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation type="unfinished">adresa proprie</translation>
|
||||
@@ -1781,6 +1831,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>or</source>
|
||||
<translation type="unfinished">sau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction has %1 unsigned inputs.</source>
|
||||
<translation type="unfinished">Tranzacția are %1 intrări nesemnate.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation type="unfinished">Starea tranzacției este necunoscută.</translation>
|
||||
@@ -2012,6 +2066,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Node window</source>
|
||||
<translation type="unfinished">Fereastra nodului</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation type="unfinished">Înălțimea actuală a blocului</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
<translation type="unfinished">Deschide fişierul jurnal depanare %1 din directorul curent. Aceasta poate dura cateva secunde pentru fişierele mai mari.</translation>
|
||||
@@ -2040,6 +2098,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Connection Time</source>
|
||||
<translation type="unfinished">Timp conexiune</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last Block</source>
|
||||
<translation type="unfinished">Ultimul bloc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last Send</source>
|
||||
<translation type="unfinished">Ultima trimitere</translation>
|
||||
@@ -2141,6 +2203,11 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Executing command using "%1" wallet</source>
|
||||
<translation type="unfinished">Executarea comenzii folosind portofelul "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing…</source>
|
||||
<extracomment>A console message indicating an entered command is currently being executed.</extracomment>
|
||||
<translation type="unfinished">Se execută…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Yes</source>
|
||||
<translation type="unfinished">Da</translation>
|
||||
@@ -2240,6 +2307,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Copy &label</source>
|
||||
<translation type="unfinished">Copiaza si eticheteaza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &message</source>
|
||||
<translation type="unfinished">Copie și mesaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &amount</source>
|
||||
<translation type="unfinished">copiaza &valoarea</translation>
|
||||
@@ -2251,6 +2322,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Request payment to …</source>
|
||||
<translation type="unfinished">Solicitați plata către...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation type="unfinished">Adresa:</translation>
|
||||
@@ -2259,6 +2334,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Amount:</source>
|
||||
<translation type="unfinished">Sumă:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label:</source>
|
||||
<translation type="unfinished">Eticheta:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation type="unfinished">Mesaj:</translation>
|
||||
@@ -2413,6 +2492,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation type="unfinished">Şterge toate câmpurile formularului.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inputs…</source>
|
||||
<translation type="unfinished">Intrări…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose…</source>
|
||||
<translation type="unfinished">Alege...</translation>
|
||||
@@ -2493,6 +2576,11 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation type="unfinished">Puteti creste taxa mai tarziu (semnaleaza Replace-By-Fee, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to create this transaction?</source>
|
||||
<extracomment>Message displayed when attempting to create a transaction. Cautionary text to prompt the user to verify that the displayed transaction details represent the transaction the user intends to create.</extracomment>
|
||||
<translation type="unfinished">Doriți să creați această tranzacție?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<extracomment>Text to prompt a user to review the details of the transaction they are attempting to send.</extracomment>
|
||||
@@ -2695,6 +2783,10 @@ Semnarea este posibilă numai cu adrese de tip "legacy".</translation>
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation type="unfinished">Introduceţi o adresă Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation type="unfinished">Mesajul semnat de verificat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation type="unfinished">Verificaţi mesajul pentru a vă asigura că a fost semnat cu adresa Bitcoin specificată</translation>
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation type="unfinished">Нажмите правой кнопкой мыши, чтобы изменить адрес или метку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation type="unfinished">Создать новые адрес</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation type="unfinished">&Новый</translation>
|
||||
@@ -93,6 +97,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Sending addresses - %1</source>
|
||||
<translation type="unfinished">Адреса отправки - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses - %1</source>
|
||||
<translation type="unfinished">Адреса получения - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation type="unfinished">Ошибка при экспорте</translation>
|
||||
|
||||
@@ -271,7 +271,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. 1%1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. %1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal error</source>
|
||||
@@ -300,7 +300,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely…</source>
|
||||
<translation type="unfinished">1%1 још увек није изашао безбедно…</translation>
|
||||
<translation type="unfinished">%1 још увек није изашао безбедно…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
|
||||
@@ -267,7 +267,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. 1%1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. %1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal error</source>
|
||||
@@ -296,7 +296,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely…</source>
|
||||
<translation type="unfinished">1%1 још увек није изашао безбедно…</translation>
|
||||
<translation type="unfinished">%1 још увек није изашао безбедно…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
|
||||
@@ -267,7 +267,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. 1%1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
<translation type="unfinished">Дошло је до фаталне грешке. %1 даље не може безбедно да настави, те ће се угасити.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal error</source>
|
||||
@@ -296,7 +296,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely…</source>
|
||||
<translation type="unfinished">1%1 још увек није изашао безбедно…</translation>
|
||||
<translation type="unfinished">%1 још увек није изашао безбедно…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user