mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-22 08:09:19 +01:00
Compare commits
148 Commits
v23.2
...
v0.20-fina
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29e129ab6b | ||
|
|
0e2c782163 | ||
|
|
fd78b7a788 | ||
|
|
88178b1d30 | ||
|
|
0712b04359 | ||
|
|
5f97738722 | ||
|
|
6b643b9fe5 | ||
|
|
2b986b3f07 | ||
|
|
466acb3fbc | ||
|
|
890397c234 | ||
|
|
a17041e155 | ||
|
|
9c7c0e6401 | ||
|
|
f8344856d6 | ||
|
|
a2650f6495 | ||
|
|
5d2ebdd2b7 | ||
|
|
8b5c83b4aa | ||
|
|
56baeba2f3 | ||
|
|
55631547ea | ||
|
|
56311988bf | ||
|
|
c0f85fd850 | ||
|
|
c6709867d3 | ||
|
|
1a4e88e0e8 | ||
|
|
cf18ac9665 | ||
|
|
5f9537b2d9 | ||
|
|
f1c3c53e5f | ||
|
|
19bcf17848 | ||
|
|
d0c75abb28 | ||
|
|
bcb655d7d1 | ||
|
|
a4bc4c1f79 | ||
|
|
98c9d79d2b | ||
|
|
2808593b7c | ||
|
|
953dddbd20 | ||
|
|
6a326cf66f | ||
|
|
75bf23d861 | ||
|
|
a2fa11f9de | ||
|
|
fa074d2c7b | ||
|
|
7566af419f | ||
|
|
09261de6ed | ||
|
|
8ef0dace86 | ||
|
|
a339289c2e | ||
|
|
314e79581f | ||
|
|
1f67a30e83 | ||
|
|
6113b547f4 | ||
|
|
bdf15d0d5d | ||
|
|
731502a183 | ||
|
|
ee0082b886 | ||
|
|
05bd0c220a | ||
|
|
b9ac31f2d2 | ||
|
|
3562c15be3 | ||
|
|
d4a1ee8f1d | ||
|
|
f082a13ab7 | ||
|
|
22effa51a7 | ||
|
|
e481681963 | ||
|
|
6be398b6fb | ||
|
|
e364b2a2d8 | ||
|
|
879a3cf2c2 | ||
|
|
c1d6a1003d | ||
|
|
181ffadd16 | ||
|
|
93826726e7 | ||
|
|
2599277e9c | ||
|
|
be1b7a8916 | ||
|
|
73845211d1 | ||
|
|
606755b840 | ||
|
|
3654937674 | ||
|
|
f7833b5bd8 | ||
|
|
4df3d139b7 | ||
|
|
80aa83aa40 | ||
|
|
498b7cb6f3 | ||
|
|
ad99777b57 | ||
|
|
30926997fa | ||
|
|
2d48d7dcfb | ||
|
|
107cf1515e | ||
|
|
06f9c5c3be | ||
|
|
bf0dc356ac | ||
|
|
7c1c15329e | ||
|
|
7ff64311be | ||
|
|
6acb21e724 | ||
|
|
7ee4769cd4 | ||
|
|
58feb9ecb6 | ||
|
|
cac7a9809a | ||
|
|
5e21c55ef0 | ||
|
|
cd34ff5464 | ||
|
|
8b40937493 | ||
|
|
f61398a978 | ||
|
|
bad9cf8f40 | ||
|
|
2f6c7c0f6f | ||
|
|
fae0e93836 | ||
|
|
faf5e256c5 | ||
|
|
888886ed5b | ||
|
|
fa39988598 | ||
|
|
01c563708f | ||
|
|
2b79ac7406 | ||
|
|
0477348057 | ||
|
|
e7f06f9b0e | ||
|
|
eb6b82a558 | ||
|
|
c9b49d2856 | ||
|
|
cf0b5a933d | ||
|
|
3228b59b17 | ||
|
|
ed5ec30804 | ||
|
|
68e0e6f852 | ||
|
|
27786d072d | ||
|
|
654420d6df | ||
|
|
febebc4ea6 | ||
|
|
5c7151a604 | ||
|
|
c219d21634 | ||
|
|
0596a6eeb5 | ||
|
|
cd32134bda | ||
|
|
384d3f991c | ||
|
|
e42c959c1d | ||
|
|
a62f0ed64f | ||
|
|
808c8d15fe | ||
|
|
60e8e74d10 | ||
|
|
1dfad42595 | ||
|
|
6f7f94a276 | ||
|
|
0793eca3a6 | ||
|
|
17bdf2afae | ||
|
|
245c862cfd | ||
|
|
9a8fb4cf4b | ||
|
|
6161c94a61 | ||
|
|
cf2a6e2a39 | ||
|
|
cc7d34465b | ||
|
|
37a620748b | ||
|
|
ff4dc20750 | ||
|
|
ed0afe8c1f | ||
|
|
251e321ad7 | ||
|
|
ca4dac48c5 | ||
|
|
a3fe458a1e | ||
|
|
011532e380 | ||
|
|
1e73d7248a | ||
|
|
fb821731eb | ||
|
|
315ae14f3f | ||
|
|
aa7c6858e6 | ||
|
|
7d87ba0e02 | ||
|
|
5747c4ca1b | ||
|
|
59d57f6c10 | ||
|
|
fb5b098598 | ||
|
|
7f7548d822 | ||
|
|
a9ca65bd29 | ||
|
|
54d2063d1a | ||
|
|
6986b26346 | ||
|
|
1d1e3585fe | ||
|
|
842b13a5f4 | ||
|
|
ade4185e63 | ||
|
|
cd1f5bf1db | ||
|
|
cd0c998905 | ||
|
|
004b0e1b92 | ||
|
|
412d5fe879 | ||
|
|
2abe8cc3b7 |
@@ -5,80 +5,53 @@ configuration: Release
|
||||
platform: x64
|
||||
clone_depth: 5
|
||||
environment:
|
||||
APPVEYOR_SAVE_CACHE_ON_ERROR: true
|
||||
CLCACHE_SERVER: 1
|
||||
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
|
||||
PYTHONUTF8: 1
|
||||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
|
||||
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
|
||||
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
|
||||
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
|
||||
VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
|
||||
cache:
|
||||
- C:\tools\vcpkg\installed -> build_msvc\vcpkg-packages.txt
|
||||
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
|
||||
- C:\Qt5.9.8_x64_static_vs2019
|
||||
VCPKG_COMMIT_ID: 'f3f329a048eaff759c1992c458f2e12351486bc7'
|
||||
install:
|
||||
- cmd: pip install --quiet git+https://github.com/frerich/clcache.git@v4.2.0
|
||||
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
|
||||
# - cmd: pip install zmq
|
||||
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
|
||||
# 1. Check whether the vcpkg install directory exists (note that updating the vcpkg-packages.txt file
|
||||
# will cause the appveyor cache rules to invalidate the directory)
|
||||
# 2. If the directory is missing:
|
||||
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary,
|
||||
# b. Install the missing packages.
|
||||
- ps: |
|
||||
$env:PACKAGES = Get-Content -Path build_msvc\vcpkg-packages.txt
|
||||
Write-Host "vcpkg list: $env:PACKAGES"
|
||||
if(!(Test-Path -Path ($env:VCPKG_INSTALL_PATH))) {
|
||||
cd c:\tools\vcpkg
|
||||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
|
||||
git pull origin master
|
||||
git checkout $env:VCPKG_COMMIT_ID
|
||||
.\bootstrap-vcpkg.bat
|
||||
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
|
||||
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
|
||||
cd "$env:APPVEYOR_BUILD_FOLDER"
|
||||
}
|
||||
else {
|
||||
Write-Host "required vcpkg packages already installed."
|
||||
}
|
||||
c:\tools\vcpkg\vcpkg integrate install
|
||||
Write-Host "vcpkg installing packages: $env:PACKAGES"
|
||||
cd c:\tools\vcpkg
|
||||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
|
||||
git pull origin master > $null
|
||||
git -c advice.detachedHead=false checkout $env:VCPKG_COMMIT_ID
|
||||
.\bootstrap-vcpkg.bat > $null
|
||||
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
|
||||
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
|
||||
Write-Host "vcpkg packages installed successfully."
|
||||
.\vcpkg integrate install
|
||||
cd "$env:APPVEYOR_BUILD_FOLDER"
|
||||
before_build:
|
||||
- ps: clcache -M 536870912
|
||||
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
|
||||
# 1. If the Qt destination directory exists assume it is correct and do nothing. To
|
||||
# force a fresh install of the packages delete the job's appveyor cache.
|
||||
# 2. Otherwise:
|
||||
# a. Download the zip file with the prebuilt Qt static libraries.
|
||||
# b. Check that the downloaded file matches the expected hash.
|
||||
# c. Extract the zip file to the specific destination path expected by the msbuild projects.
|
||||
- ps: |
|
||||
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
|
||||
Write-Host "Downloading Qt binaries.";
|
||||
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
|
||||
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
|
||||
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
|
||||
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
|
||||
Write-Host "Qt binary download matched the expected hash.";
|
||||
}
|
||||
else {
|
||||
Write-Host "ERROR: Qt binary download did not match the expected hash.";
|
||||
Exit-AppveyorBuild;
|
||||
}
|
||||
Write-Host "Downloading Qt binaries.";
|
||||
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
|
||||
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
|
||||
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
|
||||
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
|
||||
Write-Host "Qt binary download matched the expected hash.";
|
||||
}
|
||||
else {
|
||||
Write-Host "Qt binaries already present.";
|
||||
Write-Host "ERROR: Qt binary download did not match the expected hash.";
|
||||
Exit-AppveyorBuild;
|
||||
}
|
||||
- cmd: python build_msvc\msvc-autogen.py
|
||||
- ps: Start-Process clcache-server
|
||||
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
|
||||
build_script:
|
||||
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nologo
|
||||
- cmd: msbuild /p:TrackFileAccess=false build_msvc\bitcoin.sln /m /v:q /nologo
|
||||
after_build:
|
||||
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
|
||||
- ps: clcache -z
|
||||
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
|
||||
test_script:
|
||||
- cmd: src\test_bitcoin.exe -l test_suite
|
||||
|
||||
30
.cirrus.yml
30
.cirrus.yml
@@ -1,33 +1,3 @@
|
||||
task:
|
||||
name: "FreeBsd 12.0 amd64 [GOAL: install] [no depends, only system libs]"
|
||||
freebsd_instance:
|
||||
image: freebsd-12-0-release-amd64
|
||||
cpu: 8
|
||||
memory: 8G
|
||||
timeout_in: 60m
|
||||
env:
|
||||
MAKEJOBS: "-j9"
|
||||
CONFIGURE_OPTS: "--disable-dependency-tracking"
|
||||
GOAL: "install"
|
||||
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
|
||||
CCACHE_SIZE: "200M"
|
||||
CCACHE_COMPRESS: 1
|
||||
CCACHE_DIR: "/tmp/ccache_dir"
|
||||
ccache_cache:
|
||||
folder: "/tmp/ccache_dir"
|
||||
install_script:
|
||||
- pkg install -y autoconf automake boost-libs git gmake libevent libtool pkgconf python3 ccache
|
||||
- ./contrib/install_db4.sh $(pwd)
|
||||
- ccache --max-size=${CCACHE_SIZE}
|
||||
configure_script:
|
||||
- ./autogen.sh
|
||||
- ./configure ${CONFIGURE_OPTS} BDB_LIBS="-L$(pwd)/db4/lib -ldb_cxx-4.8" BDB_CFLAGS="-I$(pwd)/db4/include" || ( cat config.log && false)
|
||||
make_script:
|
||||
- gmake ${MAKEJOBS} ${GOAL} || ( echo "Build failure. Verbose build follows." && gmake ${GOAL} V=1 ; false )
|
||||
check_script:
|
||||
- gmake check ${MAKEJOBS} VERBOSE=1
|
||||
functional_test_script:
|
||||
- ./test/functional/test_runner.py --jobs 9 --ci --extended --exclude feature_dbcrash --combinedlogslen=1000 --quiet --failfast
|
||||
task:
|
||||
name: "x86_64 Linux [GOAL: install] [bionic] [Using ./ci/ system]"
|
||||
container:
|
||||
|
||||
30
.travis.yml
30
.travis.yml
@@ -88,26 +88,6 @@ jobs:
|
||||
FILE_ENV="./ci/test/00_setup_env_arm.sh"
|
||||
QEMU_USER_CMD=""
|
||||
|
||||
- stage: test
|
||||
name: 's390x native BE [GOAL: install] [bionic] [no depends, no GUI]'
|
||||
arch: s390x
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- bsdmainutils
|
||||
- libboost-filesystem-dev
|
||||
- libboost-system-dev
|
||||
- libboost-test-dev
|
||||
- libboost-thread-dev
|
||||
- libdb++-dev
|
||||
- libdb-dev
|
||||
- libevent-dev
|
||||
env: >-
|
||||
DANGER_RUN_CI_ON_HOST=true
|
||||
CI_USE_APT_INSTALL=no
|
||||
FILE_ENV="./ci/test/00_setup_env_s390x_host.sh"
|
||||
|
||||
# s390 build was disabled temporarily because of disk space issues on the Travis VM
|
||||
#
|
||||
# - stage: test
|
||||
@@ -143,21 +123,11 @@ jobs:
|
||||
env: >-
|
||||
FILE_ENV="./ci/test/00_setup_env_native_asan.sh"
|
||||
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, valgrind]'
|
||||
env: >-
|
||||
FILE_ENV="./ci/test/00_setup_env_native_valgrind.sh"
|
||||
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
|
||||
env: >-
|
||||
FILE_ENV="./ci/test/00_setup_env_native_fuzz.sh"
|
||||
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, fuzzers under valgrind]'
|
||||
env: >-
|
||||
FILE_ENV="./ci/test/00_setup_env_native_fuzz_with_valgrind.sh"
|
||||
|
||||
- stage: test
|
||||
name: 'x86_64 Linux [GOAL: install] [bionic] [no wallet]'
|
||||
env: >-
|
||||
|
||||
@@ -41,7 +41,7 @@ OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
|
||||
OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist
|
||||
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
|
||||
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
||||
OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW
|
||||
OSX_QT_TRANSLATIONS = ar,bg,ca,cs,da,de,es,fa,fi,fr,gd,gl,he,hu,it,ja,ko,lt,lv,pl,pt,ru,sk,sl,sv,uk,zh_CN,zh_TW
|
||||
|
||||
DIST_CONTRIB = \
|
||||
$(top_srcdir)/contrib/linearize/linearize-data.py \
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
#define CLIENT_VERSION_BUILD 0
|
||||
|
||||
/* Version is release */
|
||||
#define CLIENT_VERSION_IS_RELEASE false
|
||||
#define CLIENT_VERSION_IS_RELEASE true
|
||||
|
||||
/* Major version */
|
||||
#define CLIENT_VERSION_MAJOR 0
|
||||
|
||||
/* Minor version */
|
||||
#define CLIENT_VERSION_MINOR 19
|
||||
#define CLIENT_VERSION_MINOR 20
|
||||
|
||||
/* Build revision */
|
||||
#define CLIENT_VERSION_REVISION 99
|
||||
#define CLIENT_VERSION_REVISION 2
|
||||
|
||||
/* Copyright holder(s) before %s replacement */
|
||||
#define COPYRIGHT_HOLDERS "The %s developers"
|
||||
@@ -265,7 +265,7 @@
|
||||
#define PACKAGE_NAME "Bitcoin Core"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.19.99"
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.20.2"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "bitcoin"
|
||||
@@ -274,7 +274,7 @@
|
||||
#define PACKAGE_URL "https://bitcoincore.org/"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.19.99"
|
||||
#define PACKAGE_VERSION "0.20.2"
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
|
||||
@@ -11,5 +11,5 @@ travis_retry pip3 install flake8==3.7.8
|
||||
travis_retry pip3 install yq
|
||||
|
||||
SHELLCHECK_VERSION=v0.6.0
|
||||
curl -s "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
|
||||
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
|
||||
export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2019 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
export HOST=s390x-linux-gnu
|
||||
export NO_DEPENDS=1
|
||||
export BITCOIN_CONFIG="--with-incompatible-bdb --enable-reduce-exports"
|
||||
export RUN_UNIT_TESTS=true
|
||||
export RUN_FUNCTIONAL_TESTS=true
|
||||
export GOAL="install"
|
||||
14
configure.ac
14
configure.ac
@@ -1,10 +1,10 @@
|
||||
AC_PREREQ([2.69])
|
||||
define(_CLIENT_VERSION_MAJOR, 0)
|
||||
define(_CLIENT_VERSION_MINOR, 19)
|
||||
define(_CLIENT_VERSION_REVISION, 99)
|
||||
define(_CLIENT_VERSION_MINOR, 20)
|
||||
define(_CLIENT_VERSION_REVISION, 2)
|
||||
define(_CLIENT_VERSION_BUILD, 0)
|
||||
define(_CLIENT_VERSION_RC, 0)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, false)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2020)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||
@@ -1140,7 +1140,7 @@ fi
|
||||
if test x$use_boost = xyes; then
|
||||
|
||||
dnl Minimum required Boost version
|
||||
define(MINIMUM_REQUIRED_BOOST, 1.47.0)
|
||||
define(MINIMUM_REQUIRED_BOOST, 1.48.0)
|
||||
|
||||
dnl Check for boost libs
|
||||
AX_BOOST_BASE([MINIMUM_REQUIRED_BOOST])
|
||||
@@ -1265,9 +1265,9 @@ if test x$use_pkgconfig = xyes; then
|
||||
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
|
||||
fi
|
||||
if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then
|
||||
PKG_CHECK_MODULES([EVENT], [libevent],, [AC_MSG_ERROR(libevent not found.)])
|
||||
PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21],, [AC_MSG_ERROR(libevent version 2.0.21 or greater not found.)])
|
||||
if test x$TARGET_OS != xwindows; then
|
||||
PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads],, [AC_MSG_ERROR(libevent_pthreads not found.)])
|
||||
PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads >= 2.0.21],, [AC_MSG_ERROR(libevent_pthreads version 2.0.21 or greater not found.)])
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1668,7 +1668,7 @@ echo " gprof enabled = $enable_gprof"
|
||||
echo " werror = $enable_werror"
|
||||
echo
|
||||
echo " target os = $TARGET_OS"
|
||||
echo " build os = $BUILD_OS"
|
||||
echo " build os = $build_os"
|
||||
echo
|
||||
echo " CC = $CC"
|
||||
echo " CFLAGS = $CFLAGS"
|
||||
|
||||
@@ -191,4 +191,4 @@ script: |
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
git archive --prefix="${DISTNAME}/" --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
||||
@@ -7,9 +7,13 @@ architectures:
|
||||
- "amd64"
|
||||
packages:
|
||||
- "faketime"
|
||||
- "python3-pip"
|
||||
remotes:
|
||||
- "url": "https://github.com/bitcoin-core/bitcoin-detached-sigs.git"
|
||||
"dir": "signature"
|
||||
- "url": "https://github.com/achow101/signapple.git"
|
||||
"dir": "signapple"
|
||||
"commit": "b084cbbf44d5330448ffce0c7d118f75781b64bd"
|
||||
files:
|
||||
- "bitcoin-osx-unsigned.tar.gz"
|
||||
script: |
|
||||
@@ -30,11 +34,19 @@ script: |
|
||||
chmod +x ${WRAP_DIR}/${prog}
|
||||
done
|
||||
|
||||
UNSIGNED=bitcoin-osx-unsigned.tar.gz
|
||||
# Install signapple
|
||||
cd signapple
|
||||
python3 -m pip install -U pip setuptools
|
||||
python3 -m pip install .
|
||||
export PATH="$HOME/.local/bin":$PATH
|
||||
cd ..
|
||||
|
||||
UNSIGNED_TARBALL=bitcoin-osx-unsigned.tar.gz
|
||||
UNSIGNED_APP=dist/Bitcoin-Qt.app
|
||||
SIGNED=bitcoin-osx-signed.dmg
|
||||
|
||||
tar -xf ${UNSIGNED}
|
||||
tar -xf ${UNSIGNED_TARBALL}
|
||||
OSX_VOLNAME="$(cat osx_volname)"
|
||||
./detached-sig-apply.sh ${UNSIGNED} signature/osx
|
||||
./detached-sig-apply.sh ${UNSIGNED_APP} signature/osx/dist
|
||||
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
|
||||
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
|
||||
|
||||
@@ -142,8 +142,6 @@ script: |
|
||||
cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i}
|
||||
cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i}
|
||||
cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i}
|
||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-codesign_allocate unsigned-app-${i}/codesign_allocate
|
||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff
|
||||
mv dist unsigned-app-${i}
|
||||
pushd unsigned-app-${i}
|
||||
find . | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz
|
||||
@@ -161,6 +159,6 @@ script: |
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
git archive --prefix="${DISTNAME}/" --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
||||
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
|
||||
|
||||
@@ -8,6 +8,7 @@ architectures:
|
||||
packages:
|
||||
- "libssl-dev"
|
||||
- "autoconf"
|
||||
- "automake"
|
||||
- "libtool"
|
||||
- "pkg-config"
|
||||
remotes:
|
||||
|
||||
@@ -157,7 +157,7 @@ script: |
|
||||
done
|
||||
|
||||
mkdir -p ${OUTDIR}/src
|
||||
git archive --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
git archive --prefix="${DISTNAME}/" --output=${OUTDIR}/src/${DISTNAME}.tar.gz HEAD
|
||||
|
||||
cp -rf contrib/windeploy $BUILD_DIR
|
||||
cd $BUILD_DIR/windeploy
|
||||
|
||||
@@ -14,6 +14,10 @@ When complete, it will have produced `Bitcoin-Qt.dmg`.
|
||||
|
||||
## SDK Extraction
|
||||
|
||||
Our current macOS SDK (`macOSX10.14.sdk`) can be extracted from
|
||||
[Xcode_10.2.1.xip](https://download.developer.apple.com/Developer_Tools/Xcode_10.2.1/Xcode_10.2.1.xip).
|
||||
An Apple ID is needed to download this.
|
||||
|
||||
`Xcode.app` is packaged in a `.xip` archive.
|
||||
This makes the SDK less-trivial to extract on non-macOS machines.
|
||||
One approach (tested on Debian Buster) is outlined below:
|
||||
@@ -38,14 +42,14 @@ xar -xf Xcode_10.2.1.xip -C .
|
||||
|
||||
./pbzx/pbzx -n Content | cpio -i
|
||||
|
||||
find Xcode.app -type d -name MacOSX.sdk -execdir sh -c 'tar -c MacOSX.sdk/ | gzip -9n > /MacOSX10.14.sdk.tar.gz' \;
|
||||
find Xcode.app -type d -name MacOSX.sdk -exec sh -c 'tar --transform="s/MacOSX.sdk/MacOSX10.14.sdk/" -c -C$(dirname {}) MacOSX.sdk/ | gzip -9n > MacOSX10.14.sdk.tar.gz' \;
|
||||
```
|
||||
|
||||
on macOS the process is more straightforward:
|
||||
|
||||
```bash
|
||||
xip -x Xcode_10.2.1.xip
|
||||
tar -C Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.14.sdk.tar.gz MacOSX.sdk
|
||||
tar -s "/MacOSX.sdk/MacOSX10.14.sdk/" -C Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.14.sdk.tar.gz MacOSX.sdk
|
||||
```
|
||||
|
||||
Our previously used macOS SDK (`MacOSX10.11.sdk`) can be extracted from
|
||||
|
||||
@@ -8,10 +8,9 @@ set -e
|
||||
|
||||
UNSIGNED="$1"
|
||||
SIGNATURE="$2"
|
||||
ARCH=x86_64
|
||||
ROOTDIR=dist
|
||||
TEMPDIR=signed.temp
|
||||
OUTDIR=signed-app
|
||||
SIGNAPPLE=signapple
|
||||
|
||||
if [ -z "$UNSIGNED" ]; then
|
||||
echo "usage: $0 <unsigned app> <signature>"
|
||||
@@ -23,35 +22,6 @@ if [ -z "$SIGNATURE" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${TEMPDIR} && mkdir -p ${TEMPDIR}
|
||||
tar -C ${TEMPDIR} -xf ${UNSIGNED}
|
||||
cp -rf "${SIGNATURE}"/* ${TEMPDIR}
|
||||
|
||||
if [ -z "${PAGESTUFF}" ]; then
|
||||
PAGESTUFF=${TEMPDIR}/pagestuff
|
||||
fi
|
||||
|
||||
if [ -z "${CODESIGN_ALLOCATE}" ]; then
|
||||
CODESIGN_ALLOCATE=${TEMPDIR}/codesign_allocate
|
||||
fi
|
||||
|
||||
find ${TEMPDIR} -name "*.sign" | while read i; do
|
||||
SIZE=$(stat -c %s "${i}")
|
||||
TARGET_FILE="$(echo "${i}" | sed 's/\.sign$//')"
|
||||
|
||||
echo "Allocating space for the signature of size ${SIZE} in ${TARGET_FILE}"
|
||||
${CODESIGN_ALLOCATE} -i "${TARGET_FILE}" -a ${ARCH} ${SIZE} -o "${i}.tmp"
|
||||
|
||||
OFFSET=$(${PAGESTUFF} "${i}.tmp" -p | tail -2 | grep offset | sed 's/[^0-9]*//g')
|
||||
if [ -z ${QUIET} ]; then
|
||||
echo "Attaching signature at offset ${OFFSET}"
|
||||
fi
|
||||
|
||||
dd if="$i" of="${i}.tmp" bs=1 seek=${OFFSET} count=${SIZE} 2>/dev/null
|
||||
mv "${i}.tmp" "${TARGET_FILE}"
|
||||
rm "${i}"
|
||||
echo "Success."
|
||||
done
|
||||
mv ${TEMPDIR}/${ROOTDIR} ${OUTDIR}
|
||||
rm -rf ${TEMPDIR}
|
||||
${SIGNAPPLE} apply ${UNSIGNED} ${SIGNATURE}
|
||||
mv ${ROOTDIR} ${OUTDIR}
|
||||
echo "Signed: ${OUTDIR}"
|
||||
|
||||
@@ -8,44 +8,21 @@ set -e
|
||||
|
||||
ROOTDIR=dist
|
||||
BUNDLE="${ROOTDIR}/Bitcoin-Qt.app"
|
||||
CODESIGN=codesign
|
||||
SIGNAPPLE=signapple
|
||||
TEMPDIR=sign.temp
|
||||
TEMPLIST=${TEMPDIR}/signatures.txt
|
||||
OUT=signature-osx.tar.gz
|
||||
OUTROOT=osx
|
||||
OUTROOT=osx/dist
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: $0 <codesign args>"
|
||||
echo "example: $0 -s MyIdentity"
|
||||
echo "usage: $0 <signapple args>"
|
||||
echo "example: $0 <path to key>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${TEMPDIR} ${TEMPLIST}
|
||||
rm -rf ${TEMPDIR}
|
||||
mkdir -p ${TEMPDIR}
|
||||
|
||||
${CODESIGN} -f --file-list ${TEMPLIST} "$@" "${BUNDLE}"
|
||||
|
||||
grep -v CodeResources < "${TEMPLIST}" | while read i; do
|
||||
TARGETFILE="${BUNDLE}/$(echo "${i}" | sed "s|.*${BUNDLE}/||")"
|
||||
SIZE=$(pagestuff "$i" -p | tail -2 | grep size | sed 's/[^0-9]*//g')
|
||||
OFFSET=$(pagestuff "$i" -p | tail -2 | grep offset | sed 's/[^0-9]*//g')
|
||||
SIGNFILE="${TEMPDIR}/${OUTROOT}/${TARGETFILE}.sign"
|
||||
DIRNAME="$(dirname "${SIGNFILE}")"
|
||||
mkdir -p "${DIRNAME}"
|
||||
echo "Adding detached signature for: ${TARGETFILE}. Size: ${SIZE}. Offset: ${OFFSET}"
|
||||
dd if="$i" of="${SIGNFILE}" bs=1 skip=${OFFSET} count=${SIZE} 2>/dev/null
|
||||
done
|
||||
|
||||
grep CodeResources < "${TEMPLIST}" | while read i; do
|
||||
TARGETFILE="${BUNDLE}/$(echo "${i}" | sed "s|.*${BUNDLE}/||")"
|
||||
RESOURCE="${TEMPDIR}/${OUTROOT}/${TARGETFILE}"
|
||||
DIRNAME="$(dirname "${RESOURCE}")"
|
||||
mkdir -p "${DIRNAME}"
|
||||
echo "Adding resource for: \"${TARGETFILE}\""
|
||||
cp "${i}" "${RESOURCE}"
|
||||
done
|
||||
|
||||
rm ${TEMPLIST}
|
||||
${SIGNAPPLE} sign -f --detach "${TEMPDIR}/${OUTROOT}" "$@" "${BUNDLE}"
|
||||
|
||||
tar -C "${TEMPDIR}" -czf "${OUT}" .
|
||||
rm -rf "${TEMPDIR}"
|
||||
|
||||
@@ -586,7 +586,8 @@ if len(config.fancy) == 1:
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
fancy = plistlib.readPlist(p)
|
||||
with open(p, 'rb') as fp:
|
||||
fancy = plistlib.load(fp, fmt=plistlib.FMT_XML)
|
||||
except:
|
||||
if verbose >= 1:
|
||||
sys.stderr.write("Error: Could not parse fancy disk image plist at \"{}\"\n".format(p))
|
||||
|
||||
@@ -16,7 +16,7 @@ from itertools import islice
|
||||
from base58 import b58encode_chk, b58decode_chk, b58chars
|
||||
import random
|
||||
from binascii import b2a_hex
|
||||
from segwit_addr import bech32_encode, decode, convertbits, CHARSET
|
||||
from segwit_addr import bech32_encode, decode, convertbits, CHARSET, Encoding
|
||||
|
||||
# key types
|
||||
PUBKEY_ADDRESS = 0
|
||||
@@ -33,6 +33,7 @@ PRIVKEY_REGTEST = 239
|
||||
OP_0 = 0x00
|
||||
OP_1 = 0x51
|
||||
OP_2 = 0x52
|
||||
OP_3 = 0x53
|
||||
OP_16 = 0x60
|
||||
OP_DUP = 0x76
|
||||
OP_EQUAL = 0x87
|
||||
@@ -45,6 +46,7 @@ script_prefix = (OP_HASH160, 20)
|
||||
script_suffix = (OP_EQUAL,)
|
||||
p2wpkh_prefix = (OP_0, 20)
|
||||
p2wsh_prefix = (OP_0, 32)
|
||||
p2tr_prefix = (OP_1, 32)
|
||||
|
||||
metadata_keys = ['isPrivkey', 'chain', 'isCompressed', 'tryCaseFlip']
|
||||
# templates for valid sequences
|
||||
@@ -66,29 +68,39 @@ templates = [
|
||||
]
|
||||
# templates for valid bech32 sequences
|
||||
bech32_templates = [
|
||||
# hrp, version, witprog_size, metadata, output_prefix
|
||||
('bc', 0, 20, (False, 'main', None, True), p2wpkh_prefix),
|
||||
('bc', 0, 32, (False, 'main', None, True), p2wsh_prefix),
|
||||
('bc', 1, 2, (False, 'main', None, True), (OP_1, 2)),
|
||||
('tb', 0, 20, (False, 'test', None, True), p2wpkh_prefix),
|
||||
('tb', 0, 32, (False, 'test', None, True), p2wsh_prefix),
|
||||
('tb', 2, 16, (False, 'test', None, True), (OP_2, 16)),
|
||||
('bcrt', 0, 20, (False, 'regtest', None, True), p2wpkh_prefix),
|
||||
('bcrt', 0, 32, (False, 'regtest', None, True), p2wsh_prefix),
|
||||
('bcrt', 16, 40, (False, 'regtest', None, True), (OP_16, 40))
|
||||
# hrp, version, witprog_size, metadata, encoding, output_prefix
|
||||
('bc', 0, 20, (False, 'main', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('bc', 0, 32, (False, 'main', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('bc', 1, 32, (False, 'main', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('bc', 2, 2, (False, 'main', None, True), Encoding.BECH32M, (OP_2, 2)),
|
||||
('tb', 0, 20, (False, 'test', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('tb', 0, 32, (False, 'test', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('tb', 1, 32, (False, 'test', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('tb', 3, 16, (False, 'test', None, True), Encoding.BECH32M, (OP_3, 16)),
|
||||
('bcrt', 0, 20, (False, 'regtest', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('bcrt', 0, 32, (False, 'regtest', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('bcrt', 1, 32, (False, 'regtest', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('bcrt', 16, 40, (False, 'regtest', None, True), Encoding.BECH32M, (OP_16, 40))
|
||||
]
|
||||
# templates for invalid bech32 sequences
|
||||
bech32_ng_templates = [
|
||||
# hrp, version, witprog_size, invalid_bech32, invalid_checksum, invalid_char
|
||||
('tc', 0, 20, False, False, False),
|
||||
('tb', 17, 32, False, False, False),
|
||||
('bcrt', 3, 1, False, False, False),
|
||||
('bc', 15, 41, False, False, False),
|
||||
('tb', 0, 16, False, False, False),
|
||||
('bcrt', 0, 32, True, False, False),
|
||||
('bc', 0, 16, True, False, False),
|
||||
('tb', 0, 32, False, True, False),
|
||||
('bcrt', 0, 20, False, False, True)
|
||||
# hrp, version, witprog_size, encoding, invalid_bech32, invalid_checksum, invalid_char
|
||||
('tc', 0, 20, Encoding.BECH32, False, False, False),
|
||||
('bt', 1, 32, Encoding.BECH32M, False, False, False),
|
||||
('tb', 17, 32, Encoding.BECH32M, False, False, False),
|
||||
('bcrt', 3, 1, Encoding.BECH32M, False, False, False),
|
||||
('bc', 15, 41, Encoding.BECH32M, False, False, False),
|
||||
('tb', 0, 16, Encoding.BECH32, False, False, False),
|
||||
('bcrt', 0, 32, Encoding.BECH32, True, False, False),
|
||||
('bc', 0, 16, Encoding.BECH32, True, False, False),
|
||||
('tb', 0, 32, Encoding.BECH32, False, True, False),
|
||||
('bcrt', 0, 20, Encoding.BECH32, False, False, True),
|
||||
('bc', 0, 20, Encoding.BECH32M, False, False, False),
|
||||
('tb', 0, 32, Encoding.BECH32M, False, False, False),
|
||||
('bcrt', 0, 20, Encoding.BECH32M, False, False, False),
|
||||
('bc', 1, 32, Encoding.BECH32, False, False, False),
|
||||
('tb', 2, 16, Encoding.BECH32, False, False, False),
|
||||
('bcrt', 16, 20, Encoding.BECH32, False, False, False),
|
||||
]
|
||||
|
||||
def is_valid(v):
|
||||
@@ -128,8 +140,9 @@ def gen_valid_bech32_vector(template):
|
||||
hrp = template[0]
|
||||
witver = template[1]
|
||||
witprog = bytearray(os.urandom(template[2]))
|
||||
dst_prefix = bytearray(template[4])
|
||||
rv = bech32_encode(hrp, [witver] + convertbits(witprog, 8, 5))
|
||||
encoding = template[4]
|
||||
dst_prefix = bytearray(template[5])
|
||||
rv = bech32_encode(encoding, hrp, [witver] + convertbits(witprog, 8, 5))
|
||||
return rv, dst_prefix + witprog
|
||||
|
||||
def gen_valid_vectors():
|
||||
@@ -189,22 +202,23 @@ def gen_invalid_bech32_vector(template):
|
||||
hrp = template[0]
|
||||
witver = template[1]
|
||||
witprog = bytearray(os.urandom(template[2]))
|
||||
encoding = template[3]
|
||||
|
||||
if no_data:
|
||||
rv = bech32_encode(hrp, [])
|
||||
rv = bech32_encode(encoding, hrp, [])
|
||||
else:
|
||||
data = [witver] + convertbits(witprog, 8, 5)
|
||||
if template[3] and not no_data:
|
||||
if template[4] and not no_data:
|
||||
if template[2] % 5 in {2, 4}:
|
||||
data[-1] |= 1
|
||||
else:
|
||||
data.append(0)
|
||||
rv = bech32_encode(hrp, data)
|
||||
rv = bech32_encode(encoding, hrp, data)
|
||||
|
||||
if template[4]:
|
||||
if template[5]:
|
||||
i = len(rv) - random.randrange(1, 7)
|
||||
rv = rv[:i] + random.choice(CHARSET.replace(rv[i], '')) + rv[i + 1:]
|
||||
if template[5]:
|
||||
if template[6]:
|
||||
i = len(hrp) + 1 + random.randrange(0, len(rv) - len(hrp) - 4)
|
||||
rv = rv[:i] + rv[i:i + 4].upper() + rv[i + 4:]
|
||||
|
||||
|
||||
@@ -1,100 +1,89 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFdDCCBFygAwIBAgIRAL98pqZb/N9LuNaNxKsHNGQwDQYJKoZIhvcNAQELBQAw
|
||||
fDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYDVQQD
|
||||
ExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwHhcNMjAwMzI0MDAwMDAwWhcN
|
||||
MjEwMzI0MjM1OTU5WjCBtzELMAkGA1UEBhMCQ0gxDTALBgNVBBEMBDgwMDUxDjAM
|
||||
BgNVBAgMBVN0YXRlMRAwDgYDVQQHDAdaw7xyaWNoMRcwFQYDVQQJDA5NYXR0ZW5n
|
||||
YXNzZSAyNzEuMCwGA1UECgwlQml0Y29pbiBDb3JlIENvZGUgU2lnbmluZyBBc3Nv
|
||||
Y2lhdGlvbjEuMCwGA1UEAwwlQml0Y29pbiBDb3JlIENvZGUgU2lnbmluZyBBc3Nv
|
||||
Y2lhdGlvbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtxC8N4r/jE
|
||||
OGOdFy/0UtiUvEczPZf9WYZz/7paAkc75XopHIE5/ssmoEX27gG9K00tf3Q62QAx
|
||||
inZUPWkNTh8X0l+6uSGiIBFIV7dDgztIxnPcxaqw0k7Q2TEqKJvb5qm16zX6WfXJ
|
||||
R2r6O5utUdQ3AarHnQq9fwdM1j5+ywS5u52te74ENgDMTMKUuB2J3KH1ASg5PAtO
|
||||
CjPqPL+ZXJ7eT3M0Z+Lbu5ISZSqZB48BcCwOo/fOO0dAiLT9FE1iVtaCpBKHqGmd
|
||||
glRjPzZdgDv8g28etRmk8wQ5pQmfL2gBjt/LtIgMPTdHHETKLxJO5H3y0CNx1vzL
|
||||
ql7xNMxELxkCAwEAAaOCAbMwggGvMB8GA1UdIwQYMBaAFA7hOqhTOjHVir7Bu61n
|
||||
GgOFrTQOMB0GA1UdDgQWBBSHBbl82FUJiUkXyyYJog1awYRsxjAOBgNVHQ8BAf8E
|
||||
BAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAzARBglghkgB
|
||||
hvhCAQEEBAMCBBAwQAYDVR0gBDkwNzA1BgwrBgEEAbIxAQIBAwIwJTAjBggrBgEF
|
||||
BQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwQwYDVR0fBDwwOjA4oDagNIYy
|
||||
aHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ29kZVNpZ25pbmdDQS5j
|
||||
cmwwcwYIKwYBBQUHAQEEZzBlMD4GCCsGAQUFBzAChjJodHRwOi8vY3J0LnNlY3Rp
|
||||
Z28uY29tL1NlY3RpZ29SU0FDb2RlU2lnbmluZ0NBLmNydDAjBggrBgEFBQcwAYYX
|
||||
aHR0cDovL29jc3Auc2VjdGlnby5jb20wKwYDVR0RBCQwIoEgam9uYXNAYml0Y29p
|
||||
bmNvcmVjb2Rlc2lnbmluZy5vcmcwDQYJKoZIhvcNAQELBQADggEBAAU59qJzQ2ED
|
||||
aTMIQTsU01zIhZJ/xwQh78i0v2Mnr46RvzYrZOev+btF3SyUYD8veNnbYlY6yEYq
|
||||
Vb+/PQnE3t1xlqR80qiTZCk/Wmxx/qKvQuWeRL5QQgvsCmWBpycQ7PNfwzOWxbPE
|
||||
b0Hb2/VFFZfR9iltkfeInRUrzS96CJGYtm7dMf2JtnXYBcwpn1N8BSMH4nXVyN8g
|
||||
VEE5KyjE7+/awYiSST7+e6Y7FE5AJ4f3FjqnRm+2XetTVqITwMLKZMoV283nSEeH
|
||||
fA4FNAMGz9QeV38ol65NNqFP2vSSgVoPK79orqH9OOW2LSobt2qun+euddJIQeYV
|
||||
CMP90b/2WPc=
|
||||
MIIGQzCCBSugAwIBAgIQBSN7Cm16Z0UT9p7lA2jiKDANBgkqhkiG9w0BAQsFADBy
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
||||
SUQgQ29kZSBTaWduaW5nIENBMB4XDTIxMDUyMTAwMDAwMFoXDTIyMDUyNjIzNTk1
|
||||
OVowgYAxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTEOMAwGA1UEBxMF
|
||||
TGV3ZXMxJjAkBgNVBAoTHUJpdGNvaW4gQ29yZSBDb2RlIFNpZ25pbmcgTExDMSYw
|
||||
JAYDVQQDEx1CaXRjb2luIENvcmUgQ29kZSBTaWduaW5nIExMQzCCAiIwDQYJKoZI
|
||||
hvcNAQEBBQADggIPADCCAgoCggIBAKe6xtFgKAQ68MvxwCjNtpgPobfDQCLKvCAN
|
||||
uBKGYuub6ufQB5dhCLN9fjMgfg33AyauvU3PcEUDUWD3/k925bPqgxHC3E7YqoB+
|
||||
11b/2Y7a86okqUgcGgvKhaKoHmXxElpM9EjQHjJ0yL4QAR1Lp+9CMMW3wIulBYKt
|
||||
wLIArFvbuQhMO/6rxL8frpK049v//WfQzB16GXuFnzN/6fDK7oOt5IrKTg4H6EY2
|
||||
fj4+QaUj0lNX7aHnZ6Ki45h2RUPDgN1ipRIuhM67npyZ/tdzPPjI3PUgfXCccN6D
|
||||
+qWWnbbbvPuOht4ziPciVnPd57PqJmAOnLI86gisDfd7VKlcpOSEaagdUGvMbU6f
|
||||
uAps818GwnJzwCGllxlKASCgXDAckLLvMuit4RfYAhhdhw5R0AsaWK0HW88oHOqi
|
||||
U7eWlMCbSGk34x9hBrxYl7tvcNcLPWIPYrrhFWNFpkV8bVVIoV5rUNRgWvBcdOq1
|
||||
CCPTfsJp3nEH2WCoBghZquDZLSW12wMw2UsQyEojBeGhrR1inn8uK93wSnVCC8F4
|
||||
21yWNRMNe/LQVhmZDgFOen9r/WijBsBdQw1bL8N4zGdYv8+soqkrWzW417FfSx81
|
||||
pj4j5FEXYXXV5k/4/eBpIARXVRR8xya0nGkhNJmBk0jjDGD8fPW2gFQbqnUwAQ34
|
||||
vOr8NUqHAgMBAAGjggHEMIIBwDAfBgNVHSMEGDAWgBRaxLl7KgqjpepxA8Bg+S32
|
||||
ZXUOWDAdBgNVHQ4EFgQUVSLtZnifEHvd8z3E7AyLYNuDiaMwDgYDVR0PAQH/BAQD
|
||||
AgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGGL2h0dHA6
|
||||
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMDWgM6Ax
|
||||
hi9odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcxLmNy
|
||||
bDBLBgNVHSAERDBCMDYGCWCGSAGG/WwDATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
|
||||
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
||||
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
||||
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
||||
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
||||
BQADggEBAOaJneI91NJgqghUxgc0AWQ01SAJTgN4z7xMQ3W0ZAtwGbA0byT7YRlj
|
||||
j7h+j+hMX/JYkRJETTh8Nalq2tPWJBiMMEPOGFVttFER1pwouHkK9pSKyp4xRvNU
|
||||
L0LPh7fE4EYMJoynys6ZTpMCHLku+X3jFat1+1moh9TJRvK5+ETZYGl0seFNU3mJ
|
||||
dZzusObm4scffIGgi40kmmISKd5ZRuooRTu9FFR/3vpfbA+7Vg4RSH3CcQPo9bfk
|
||||
+h/qRQhSfQInTBn7obRpIlvEcK782qivqseJGdtnTmcdVRShD5ckTVza1yv25uQz
|
||||
l/yTqmG2LXlYjl5iMSdF0C1xYq6IsOA=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
|
||||
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
|
||||
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
||||
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
|
||||
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
|
||||
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
|
||||
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
|
||||
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
|
||||
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
|
||||
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
|
||||
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
|
||||
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
|
||||
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
|
||||
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
|
||||
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
|
||||
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
|
||||
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
|
||||
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
|
||||
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
|
||||
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
|
||||
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
|
||||
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
|
||||
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
|
||||
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
|
||||
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
|
||||
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
|
||||
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
|
||||
jjxDah2nGN59PRbxYvnKkKj9
|
||||
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
||||
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
||||
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
||||
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
||||
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
||||
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
||||
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
||||
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
||||
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
||||
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
||||
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
||||
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
||||
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
||||
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
||||
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
||||
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
||||
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
||||
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
||||
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
||||
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
||||
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
||||
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
||||
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
||||
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
||||
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
||||
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF9TCCA92gAwIBAgIQHaJIMG+bJhjQguCWfTPTajANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjB8MQswCQYDVQQGEwJHQjEbMBkGA1UE
|
||||
CBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQK
|
||||
Ew9TZWN0aWdvIExpbWl0ZWQxJDAiBgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2ln
|
||||
bmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIYijTKFehif
|
||||
SfCWL2MIHi3cfJ8Uz+MmtiVmKUCGVEZ0MWLFEO2yhyemmcuVMMBW9aR1xqkOUGKl
|
||||
UZEQauBLYq798PgYrKf/7i4zIPoMGYmobHutAMNhodxpZW0fbieW15dRhqb0J+V8
|
||||
aouVHltg1X7XFpKcAC9o95ftanK+ODtj3o+/bkxBXRIgCFnoOc2P0tbPBrRXBbZO
|
||||
oT5Xax+YvMRi1hsLjcdmG0qfnYHEckC14l/vC0X/o84Xpi1VsLewvFRqnbyNVlPG
|
||||
8Lp5UEks9wO5/i9lNfIi6iwHr0bZ+UYc3Ix8cSjz/qfGFN1VkW6KEQ3fBiSVfQ+n
|
||||
oXw62oY1YdMCAwEAAaOCAWQwggFgMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvA
|
||||
nfKyA2bLMB0GA1UdDgQWBBQO4TqoUzox1Yq+wbutZxoDha00DjAOBgNVHQ8BAf8E
|
||||
BAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAwYI
|
||||
KwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0
|
||||
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u
|
||||
QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6
|
||||
Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAl
|
||||
BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B
|
||||
AQwFAAOCAgEATWNQ7Uc0SmGk295qKoyb8QAAHh1iezrXMsL2s+Bjs/thAIiaG20Q
|
||||
BwRPvrjqiXgi6w9G7PNGXkBGiRL0C3danCpBOvzW9Ovn9xWVM8Ohgyi33i/klPeF
|
||||
M4MtSkBIv5rCT0qxjyT0s4E307dksKYjalloUkJf/wTr4XRleQj1qZPea3FAmZa6
|
||||
ePG5yOLDCBaxq2NayBWAbXReSnV+pbjDbLXP30p5h1zHQE1jNfYw08+1Cg4LBH+g
|
||||
S667o6XQhACTPlNdNKUANWlsvp8gJRANGftQkGG+OY96jk32nw4e/gdREmaDJhlI
|
||||
lc5KycF/8zoFm/lv34h/wCOe0h5DekUxwZxNqfBZslkZ6GqNKQQCd3xLS81wvjqy
|
||||
VVp4Pry7bwMQJXcVNIr5NsxDkuS6T/FikyglVyn7URnHoSVAaoRXxrKdsbwcCtp8
|
||||
Z359LukoTBh+xHsxQXGaSynsCz1XUNLK3f2eBVHlRHjdAd6xdZgNVCT98E7j4viD
|
||||
vXK6yz067vBeF5Jobchh+abxKgoLpbn0nu6YMgWFnuv5gynTxix9vTp3Los3QqBq
|
||||
gu07SqqUEKThDfgXxbZaeTMYkuO1dfih6Y4KJR7kHvGfWocj/5+kUZ77OYARzdu1
|
||||
xKeogG/lU9Tg46LC0lsa+jImLWpXcBw8pFguo/NbSwfcMlnzh6cabVg=
|
||||
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
||||
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
||||
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
||||
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
||||
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
||||
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
||||
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
||||
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
||||
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
||||
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
||||
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
||||
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
||||
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
||||
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
||||
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
||||
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
||||
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
||||
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --enable-cxx --disable-replication --enable-option-checking
|
||||
$(package)_config_opts_mingw32=--enable-mingw
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_cflags+=-Wno-error=implicit-function-declaration
|
||||
$(package)_cxxflags=-std=c++11
|
||||
$(package)_cppflags_mingw32=-DUNICODE -D_UNICODE
|
||||
endef
|
||||
|
||||
@@ -10,6 +10,7 @@ $(package)_build_subdir=qtbase
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch fix_android_qmake_conf.patch fix_android_jni_static.patch
|
||||
|
||||
# Update OSX_QT_TRANSLATIONS when this is updated
|
||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||
$(package)_qttranslations_sha256_hash=fb5a47799754af73d3bf501fe513342cfe2fc37f64e80df5533f6110e804220c
|
||||
|
||||
@@ -79,7 +80,6 @@ $(package)_config_opts += -no-feature-colordialog
|
||||
$(package)_config_opts += -no-feature-commandlineparser
|
||||
$(package)_config_opts += -no-feature-concurrent
|
||||
$(package)_config_opts += -no-feature-dial
|
||||
$(package)_config_opts += -no-feature-filesystemwatcher
|
||||
$(package)_config_opts += -no-feature-fontcombobox
|
||||
$(package)_config_opts += -no-feature-ftp
|
||||
$(package)_config_opts += -no-feature-http
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.19.0**):
|
||||
BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.20.2**):
|
||||
|
||||
* [`BIP 9`](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki): The changes allowing multiple soft-forks to be deployed in parallel have been implemented since **v0.12.1** ([PR #7575](https://github.com/bitcoin/bitcoin/pull/7575))
|
||||
* [`BIP 11`](https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki): Multisig outputs are standard since **v0.6.0** ([PR #669](https://github.com/bitcoin/bitcoin/pull/669)).
|
||||
@@ -42,3 +42,4 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.19.0**):
|
||||
* [`BIP 173`](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki): Bech32 addresses for native Segregated Witness outputs are supported as of **v0.16.0** ([PR 11167](https://github.com/bitcoin/bitcoin/pull/11167)). Bech32 addresses are generated by default as of **v0.20.0** ([PR 16884](https://github.com/bitcoin/bitcoin/pull/16884)).
|
||||
* [`BIP 174`](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki): RPCs to operate on Partially Signed Bitcoin Transactions (PSBT) are present as of **v0.17.0** ([PR 13557](https://github.com/bitcoin/bitcoin/pull/13557)).
|
||||
* [`BIP 176`](https://github.com/bitcoin/bips/blob/master/bip-0176.mediawiki): Bits Denomination [QT only] is supported as of **v0.16.0** ([PR 12035](https://github.com/bitcoin/bitcoin/pull/12035)).
|
||||
* [`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 **v0.20.2** ([PR 20861](https://github.com/bitcoin/bitcoin/pull/20861)).
|
||||
|
||||
@@ -6,14 +6,14 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
|
||||
| Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Berkeley DB | [4.8.30](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No | | |
|
||||
| Boost | [1.70.0](https://www.boost.org/users/download/) | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | No | | |
|
||||
| Boost | [1.70.0](https://www.boost.org/users/download/) | [1.48.0](https://github.com/bitcoin/bitcoin/pull/20142) | No | | |
|
||||
| Clang | | [3.3+](https://releases.llvm.org/download.html) (C++11 support) | | | |
|
||||
| Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | |
|
||||
| fontconfig | [2.12.1](https://www.freedesktop.org/software/fontconfig/release/) | | No | Yes | |
|
||||
| FreeType | [2.7.1](https://download.savannah.gnu.org/releases/freetype) | | No | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) (Android only) |
|
||||
| GCC | | [4.8+](https://gcc.gnu.org/) (C++11 support) | | | |
|
||||
| HarfBuzz-NG | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) |
|
||||
| libevent | [2.1.11-stable](https://github.com/libevent/libevent/releases) | 2.0.22 | No | | |
|
||||
| libevent | [2.1.11-stable](https://github.com/libevent/libevent/releases) | [2.0.21](https://github.com/bitcoin/bitcoin/pull/18676) | No | | |
|
||||
| libpng | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk) |
|
||||
| librsvg | | | | | |
|
||||
| MiniUPnPc | [2.0.20180203](https://miniupnp.tuxfamily.org/files) | | No | | |
|
||||
|
||||
@@ -91,7 +91,7 @@ Descriptors consist of several types of expressions. The top level expression is
|
||||
`ADDR` expressions are any type of supported address:
|
||||
- P2PKH addresses (base58, of the form `1...` for mainnet or `[nm]...` for testnet). Note that P2PKH addresses in descriptors cannot be used for P2PK outputs (use the `pk` function instead).
|
||||
- P2SH addresses (base58, of the form `3...` for mainnet or `2...` for testnet, defined in [BIP 13](https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki)).
|
||||
- Segwit addresses (bech32, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)).
|
||||
- Segwit addresses (bech32 and bech32m, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) and [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)).
|
||||
|
||||
## Explanation
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-CLI "1" "February 2019" "bitcoin-cli v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-CLI "1" "December 2020" "bitcoin-cli v0.20.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.20.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
|
||||
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v0.17.99.0
|
||||
Bitcoin Core RPC client version v0.20.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -92,22 +92,37 @@ is used for the RPC password.
|
||||
.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.
|
||||
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,
|
||||
regtest
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-QT "1" "February 2019" "bitcoin-qt v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-QT "1" "December 2020" "bitcoin-qt v0.20.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.17.99.0
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.20.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-qt
|
||||
[\fI\,command-line options\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v0.17.99.0 (64\-bit)
|
||||
Bitcoin Core version v0.20.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -23,9 +23,15 @@ long fork (%s in cmd is replaced by message)
|
||||
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:
|
||||
0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
|
||||
0000000000000000000f2adce67e49b0b6bdeb9de8b7c3d7e93b21e7fc1e819d,
|
||||
testnet:
|
||||
0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
|
||||
000000000000056c49030c174179b52a928c870e6e8a822c75973b7970cfbd01)
|
||||
.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
|
||||
@@ -39,7 +45,16 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify blocks directory (default: <datadir>/blocks)
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Automatic broadcast
|
||||
and rebroadcast of any transactions from inbound peers is
|
||||
disabled, unless '\-whitelistforcerelay' is '1', in which case
|
||||
whitelisted peers' transactions will be relayed. RPC transactions
|
||||
are not affected. (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
@@ -56,7 +71,9 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in MiB (4 to 16384, default: 450)
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
@@ -71,7 +88,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
@@ -88,7 +105,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
@@ -144,13 +161,20 @@ Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info). This option can be
|
||||
specified multiple times to add multiple nodes.
|
||||
.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\-banscore=\fR<n>
|
||||
.IP
|
||||
Threshold for disconnecting misbehaving peers (default: 100)
|
||||
Threshold for disconnecting and discouraging misbehaving peers (default:
|
||||
100)
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Number of seconds to keep misbehaving peers from reconnecting (default:
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>
|
||||
@@ -233,7 +257,7 @@ networks.
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
1)
|
||||
0)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
@@ -277,25 +301,30 @@ Tor control port password (default: empty)
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
[host]:port notation for IPv6. Allowed permissions are
|
||||
bloomfilter (allow requesting BIP37 filtered blocks and
|
||||
transactions), noban (do not ban for misbehavior), forcerelay
|
||||
(relay transactions that are already in the mempool; implies
|
||||
relay), relay (relay even in \fB\-blocksonly\fR mode), and mempool
|
||||
(allow requesting BIP35 mempool contents). Specify multiple
|
||||
permissions separated by commas (default: noban,mempool,relay).
|
||||
Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
CIDR notated network(e.g. 1.2.3.0/24). Uses same permissions as
|
||||
\fB\-whitebind\fR. Can be specified multiple times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
@@ -303,7 +332,8 @@ Group outputs by address, selecting all or none, instead of selecting on
|
||||
a per\-output basis. Privacy is improved as an address is only
|
||||
used once (unless someone sends to it after spending from it),
|
||||
but may result in slightly higher fees as suboptimal coin
|
||||
selection may result due to the added limitation (default: 0)
|
||||
selection may result due to the added limitation (default: 0
|
||||
(always enabled for wallets with "avoid_reuse" enabled))
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
@@ -327,11 +357,15 @@ limited by the fee estimate for the longest target
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kB) that will be used when fee estimation has
|
||||
insufficient data (default: 0.0002)
|
||||
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)
|
||||
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\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
@@ -383,8 +417,11 @@ exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
by TxID)
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID and %w is replaced by wallet name. %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
|
||||
@@ -402,17 +439,35 @@ ZeroMQ notification options:
|
||||
.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)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
@@ -421,9 +476,9 @@ Debugging/Testing options:
|
||||
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information. <category> can be: net, tor,
|
||||
mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
|
||||
mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
|
||||
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
|
||||
libevent, coindb, qt, leveldb.
|
||||
libevent, coindb, qt, leveldb, validation.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
@@ -439,15 +494,19 @@ Print help message with debugging options and exit
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (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 or raw
|
||||
transaction; setting this too low may abort large transactions
|
||||
(default: 0.10)
|
||||
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
|
||||
@@ -464,9 +523,14 @@ 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,
|
||||
regtest
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
@@ -484,7 +548,6 @@ Relay and mine data carrier transactions (default: 1)
|
||||
Maximum size of data in data carrier transactions we relay and mine
|
||||
(default: 83)
|
||||
.HP
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
|
||||
@@ -492,13 +555,15 @@ mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 0)
|
||||
Add 'forcerelay' permission to whitelisted inbound peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Accept relayed transactions received from whitelisted peers even when
|
||||
not relaying transactions (default: 1)
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
@@ -569,6 +634,23 @@ Set the number of threads to service RPC calls (default: 4)
|
||||
.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
|
||||
@@ -591,18 +673,14 @@ Start minimized
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.HP
|
||||
\fB\-rootcertificates=\fR<file>
|
||||
.IP
|
||||
Set SSL root certificates for payment request (default: \fB\-system\-\fR)
|
||||
.HP
|
||||
\fB\-splash\fR
|
||||
.IP
|
||||
Show splash screen on startup (default: 1)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-TX "1" "February 2019" "bitcoin-tx v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-TX "1" "December 2020" "bitcoin-tx v0.20.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.20.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
|
||||
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v0.17.99.0
|
||||
Bitcoin Core bitcoin\-tx utility version v0.20.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -28,11 +28,18 @@ Select JSON output
|
||||
.IP
|
||||
Output only the hex\-encoded transaction id of the resultant transaction.
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
regtest
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
@@ -105,10 +112,10 @@ set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-WALLET "1" "February 2019" "bitcoin-wallet v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-WALLET "1" "December 2020" "bitcoin-wallet v0.20.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v0.17.99.0
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v0.20.2.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-wallet version v0.17.99.0
|
||||
Bitcoin Core bitcoin\-wallet version v0.20.2.0
|
||||
.PP
|
||||
wallet\-tool is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
By default wallet\-tool will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-testnet\fR/\-regtest arguments.
|
||||
.SS "Usage:"
|
||||
.IP
|
||||
@@ -34,13 +34,18 @@ Output debugging information (default: 0).
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-debug\fR is true, 0
|
||||
otherwise.
|
||||
otherwise).
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
regtest
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
@@ -52,10 +57,10 @@ info
|
||||
.IP
|
||||
Get wallet info
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIND "1" "February 2019" "bitcoind v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIND "1" "December 2020" "bitcoind v0.20.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind v0.17.99.0
|
||||
bitcoind \- manual page for bitcoind v0.20.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoind
|
||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core Daemon\/\fR
|
||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core Daemon version v0.17.99.0
|
||||
Bitcoin Core version v0.20.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -23,9 +23,15 @@ long fork (%s in cmd is replaced by message)
|
||||
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:
|
||||
0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
|
||||
0000000000000000000f2adce67e49b0b6bdeb9de8b7c3d7e93b21e7fc1e819d,
|
||||
testnet:
|
||||
0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
|
||||
000000000000056c49030c174179b52a928c870e6e8a822c75973b7970cfbd01)
|
||||
.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
|
||||
@@ -39,7 +45,16 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify blocks directory (default: <datadir>/blocks)
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Automatic broadcast
|
||||
and rebroadcast of any transactions from inbound peers is
|
||||
disabled, unless '\-whitelistforcerelay' is '1', in which case
|
||||
whitelisted peers' transactions will be relayed. RPC transactions
|
||||
are not affected. (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
@@ -56,7 +71,9 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in MiB (4 to 16384, default: 450)
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
@@ -71,7 +88,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
@@ -88,7 +105,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
@@ -144,13 +161,20 @@ Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info). This option can be
|
||||
specified multiple times to add multiple nodes.
|
||||
.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\-banscore=\fR<n>
|
||||
.IP
|
||||
Threshold for disconnecting misbehaving peers (default: 100)
|
||||
Threshold for disconnecting and discouraging misbehaving peers (default:
|
||||
100)
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Number of seconds to keep misbehaving peers from reconnecting (default:
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>
|
||||
@@ -233,7 +257,7 @@ networks.
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
1)
|
||||
0)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
@@ -277,25 +301,30 @@ Tor control port password (default: empty)
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
[host]:port notation for IPv6. Allowed permissions are
|
||||
bloomfilter (allow requesting BIP37 filtered blocks and
|
||||
transactions), noban (do not ban for misbehavior), forcerelay
|
||||
(relay transactions that are already in the mempool; implies
|
||||
relay), relay (relay even in \fB\-blocksonly\fR mode), and mempool
|
||||
(allow requesting BIP35 mempool contents). Specify multiple
|
||||
permissions separated by commas (default: noban,mempool,relay).
|
||||
Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
CIDR notated network(e.g. 1.2.3.0/24). Uses same permissions as
|
||||
\fB\-whitebind\fR. Can be specified multiple times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
@@ -303,7 +332,8 @@ Group outputs by address, selecting all or none, instead of selecting on
|
||||
a per\-output basis. Privacy is improved as an address is only
|
||||
used once (unless someone sends to it after spending from it),
|
||||
but may result in slightly higher fees as suboptimal coin
|
||||
selection may result due to the added limitation (default: 0)
|
||||
selection may result due to the added limitation (default: 0
|
||||
(always enabled for wallets with "avoid_reuse" enabled))
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
@@ -327,11 +357,15 @@ limited by the fee estimate for the longest target
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kB) that will be used when fee estimation has
|
||||
insufficient data (default: 0.0002)
|
||||
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)
|
||||
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\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
@@ -383,8 +417,11 @@ exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
by TxID)
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID and %w is replaced by wallet name. %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
|
||||
@@ -402,17 +439,35 @@ ZeroMQ notification options:
|
||||
.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)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
@@ -421,9 +476,9 @@ Debugging/Testing options:
|
||||
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information. <category> can be: net, tor,
|
||||
mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
|
||||
mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
|
||||
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
|
||||
libevent, coindb, qt, leveldb.
|
||||
libevent, coindb, qt, leveldb, validation.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
@@ -439,15 +494,19 @@ Print help message with debugging options and exit
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (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 or raw
|
||||
transaction; setting this too low may abort large transactions
|
||||
(default: 0.10)
|
||||
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
|
||||
@@ -464,9 +523,14 @@ 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,
|
||||
regtest
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
@@ -491,13 +555,15 @@ mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 0)
|
||||
Add 'forcerelay' permission to whitelisted inbound peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Accept relayed transactions received from whitelisted peers even when
|
||||
not relaying transactions (default: 1)
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
@@ -568,14 +634,31 @@ Set the number of threads to service RPC calls (default: 4)
|
||||
.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-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
12
doc/release-notes-20861.md
Normal file
12
doc/release-notes-20861.md
Normal file
@@ -0,0 +1,12 @@
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)
|
||||
being implemented, behavior for all RPCs that accept addresses is changed when
|
||||
a native witness version 1 (or higher) is passed. These now require a Bech32m
|
||||
encoding instead of a Bech32 one, and Bech32m encoding will be used for such
|
||||
addresses in RPC output as well. No version 1 addresses should be created
|
||||
for mainnet until consensus rules are adopted that give them meaning
|
||||
(e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).
|
||||
Once that happens, Bech32m is expected to be used for them, so this shouldn't
|
||||
affect any production systems, but may be observed on other networks.
|
||||
@@ -1,5 +1,165 @@
|
||||
Please edit the release notes here:
|
||||
0.20.2 Release Notes
|
||||
====================
|
||||
|
||||
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/0.20.0-Release-Notes-Draft
|
||||
Bitcoin Core version 0.20.2 is now available from:
|
||||
|
||||
*Before the final release, move the notes back to this git repository.*
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.20.2/>
|
||||
|
||||
This minor 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 Mac)
|
||||
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 extensively tested on operating systems
|
||||
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. 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.
|
||||
|
||||
From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
Known Bugs
|
||||
==========
|
||||
|
||||
The process for generating the source code release ("tarball") has changed in an
|
||||
effort to make it more complete, however, there are a few regressions in
|
||||
this release:
|
||||
|
||||
- The generated `configure` script is currently missing, and you will need to
|
||||
install autotools and run `./autogen.sh` before you can run
|
||||
`./configure`. This is the same as when checking out from git.
|
||||
|
||||
- Instead of running `make` simply, you should instead run
|
||||
`BITCOIN_GENBUILD_NO_GIT=1 make`.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Changes regarding misbehaving peers
|
||||
-----------------------------------
|
||||
|
||||
Peers that misbehave (e.g. send us invalid blocks) are now referred to as
|
||||
discouraged nodes in log output, as they're not (and weren't) strictly banned:
|
||||
incoming connections are still allowed from them, but they're preferred for
|
||||
eviction.
|
||||
|
||||
Furthermore, a few additional changes are introduced to how discouraged
|
||||
addresses are treated:
|
||||
|
||||
- Discouraging an address does not time out automatically after 24 hours
|
||||
(or the `-bantime` setting). Depending on traffic from other peers,
|
||||
discouragement may time out at an indeterminate time.
|
||||
|
||||
- Discouragement is not persisted over restarts.
|
||||
|
||||
- There is no method to list discouraged addresses. They are not returned by
|
||||
the `listbanned` RPC. That RPC also no longer reports the `ban_reason`
|
||||
field, as `"manually added"` is the only remaining option.
|
||||
|
||||
- Discouragement cannot be removed with the `setban remove` RPC command.
|
||||
If you need to remove a discouragement, you can remove all discouragements by
|
||||
stop-starting your node.
|
||||
|
||||
Notification changes
|
||||
--------------------
|
||||
|
||||
`-walletnotify` notifications are now sent for wallet transactions that are
|
||||
removed from the mempool because they conflict with a new block. These
|
||||
notifications were sent previously before the v0.19 release, but had been
|
||||
broken since that release (bug
|
||||
[#18325](https://github.com/bitcoin/bitcoin/issues/18325)).
|
||||
|
||||
PSBT changes
|
||||
------------
|
||||
|
||||
PSBTs will contain both the non-witness utxo and the witness utxo for segwit
|
||||
inputs in order to restore compatibility with wallet software that are now
|
||||
requiring the full previous transaction for segwit inputs. The witness utxo
|
||||
is still provided to maintain compatibility with software which relied on its
|
||||
existence to determine whether an input was segwit.
|
||||
|
||||
0.20.2 change log
|
||||
=================
|
||||
|
||||
### P2P protocol and network code
|
||||
|
||||
- #19620 Add txids with non-standard inputs to reject filter (sdaftuar)
|
||||
- #20146 Send post-verack handshake messages at most once (MarcoFalke)
|
||||
|
||||
### Wallet
|
||||
|
||||
- #19740 Simplify and fix CWallet::SignTransaction (achow101)
|
||||
|
||||
### RPC and other APIs
|
||||
|
||||
- #19836 Properly deserialize txs with witness before signing (MarcoFalke)
|
||||
- #20731 Add missing description of vout in getrawtransaction help text (benthecarman)
|
||||
|
||||
### Build system
|
||||
|
||||
- #20142 build: set minimum required Boost to 1.48.0 (fanquake)
|
||||
- #20298 use the new plistlib API (jonasschnelli)
|
||||
- #20880 gitian: Use custom MacOS code signing tool (achow101)
|
||||
- #22190 Use latest signapple commit (achow101)
|
||||
|
||||
### Tests and QA
|
||||
|
||||
- #19839 Set appveyor vm version to previous Visual Studio 2019 release. (sipsorcery)
|
||||
- #19842 Update the vcpkg checkout commit ID in appveyor config. (sipsorcery)
|
||||
- #20562 Test that a fully signed tx given to signrawtx is unchanged (achow101)
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
- #19192 Extract net permissions doc (MarcoFalke)
|
||||
- #19777 Correct description for getblockstats's txs field (shesek)
|
||||
- #20080 Strip any trailing / in -datadir and -blocksdir paths (hebasto)
|
||||
- #20082 fixes read buffer to use min rather than max (EthanHeilman)
|
||||
- #20141 Avoid the use of abs64 in timedata (sipa)
|
||||
- #20756 Add missing field (permissions) to the getpeerinfo help (amitiuttarwar)
|
||||
- #20861 BIP 350: Implement Bech32m and use it for v1+ segwit addresses (sipa)
|
||||
- #22124 Update translations after closing 0.20.x on Transifex (hebasto)
|
||||
- #21471 fix bech32_encode calls in gen_key_io_test_vectors.py (sipa)
|
||||
- #22837 mention bech32m/BIP350 in doc/descriptors.md (sipa)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Aaron Clauson
|
||||
- Amiti Uttarwar
|
||||
- Andrew Chow
|
||||
- Ethan Heilman
|
||||
- fanquake
|
||||
- Hennadii Stepanov
|
||||
- Jonas Schnelli
|
||||
- MarcoFalke
|
||||
- Nadav Ivgi
|
||||
- Pieter Wuille
|
||||
- Suhas Daftuar
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
|
||||
987
doc/release-notes/release-notes-0.20.0.md
Normal file
987
doc/release-notes/release-notes-0.20.0.md
Normal file
@@ -0,0 +1,987 @@
|
||||
0.20.0 Release Notes
|
||||
====================
|
||||
|
||||
Bitcoin Core version 0.20.0 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.20.0/>
|
||||
|
||||
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 Mac)
|
||||
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 extensively tested on operating systems
|
||||
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. 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.
|
||||
|
||||
From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
Known Bugs
|
||||
==========
|
||||
|
||||
The process for generating the source code release ("tarball") has changed in an
|
||||
effort to make it more complete, however, there are a few regressions in
|
||||
this release:
|
||||
|
||||
- The generated `configure` script is currently missing, and you will need to
|
||||
install autotools and run `./autogen.sh` before you can run
|
||||
`./configure`. This is the same as when checking out from git.
|
||||
|
||||
- Instead of running `make` simply, you should instead run
|
||||
`BITCOIN_GENBUILD_NO_GIT=1 make`.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
#### Removal of BIP61 reject network messages from Bitcoin Core
|
||||
|
||||
The `-enablebip61` command line option to enable BIP61 has been removed.
|
||||
(#17004)
|
||||
|
||||
This feature has been disabled by default since Bitcoin Core version 0.18.0.
|
||||
Nodes on the network can not generally be trusted to send valid messages
|
||||
(including reject messages), so this should only ever be used when
|
||||
connected to a trusted node. Please use the alternatives recommended
|
||||
below if you rely on this removed feature:
|
||||
|
||||
- Testing or debugging of implementations of the Bitcoin P2P network protocol
|
||||
should be done by inspecting the log messages that are produced by a recent
|
||||
version of Bitcoin Core. Bitcoin Core logs debug messages
|
||||
(`-debug=<category>`) to a stream (`-printtoconsole`) or to a file
|
||||
(`-debuglogfile=<debug.log>`).
|
||||
|
||||
- Testing the validity of a block can be achieved by specific RPCs:
|
||||
|
||||
- `submitblock`
|
||||
|
||||
- `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with
|
||||
potentially invalid POW
|
||||
|
||||
- Testing the validity of a transaction can be achieved by specific RPCs:
|
||||
|
||||
- `sendrawtransaction`
|
||||
|
||||
- `testmempoolaccept`
|
||||
|
||||
- Wallets should not assume a transaction has propagated to the network
|
||||
just because there are no reject messages. Instead, listen for the
|
||||
transaction to be announced by other peers on the network. Wallets
|
||||
should not assume a lack of reject messages means a transaction pays
|
||||
an appropriate fee. Instead, set fees using fee estimation and use
|
||||
replace-by-fee to increase a transaction's fee if it hasn't confirmed
|
||||
within the desired amount of time.
|
||||
|
||||
The removal of BIP61 reject message support also has the following minor RPC
|
||||
and logging implications:
|
||||
|
||||
- `testmempoolaccept` and `sendrawtransaction` no longer return the P2P reject
|
||||
code when a transaction is not accepted to the mempool. They still return the
|
||||
verbal reject reason.
|
||||
|
||||
- Log messages that previously reported the reject code when a transaction was
|
||||
not accepted to the mempool now no longer report the reject code. The reason
|
||||
for rejection is still reported.
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- The RPCs which accept descriptors now accept the new `sortedmulti(...)` descriptor
|
||||
type which supports multisig scripts where the public keys are sorted
|
||||
lexicographically in the resulting script. (#17056)
|
||||
|
||||
- The `walletprocesspsbt` and `walletcreatefundedpsbt` RPCs now include
|
||||
BIP32 derivation paths by default for public keys if we know them.
|
||||
This can be disabled by setting the `bip32derivs` parameter to
|
||||
`false`. (#17264)
|
||||
|
||||
- The `bumpfee` RPC's parameter `totalFee`, which was deprecated in
|
||||
0.19, has been removed. (#18312)
|
||||
|
||||
- The `bumpfee` RPC will return a PSBT when used with wallets that have
|
||||
private keys disabled. (#16373)
|
||||
|
||||
- The `getpeerinfo` RPC now includes a `mapped_as` field to indicate the
|
||||
mapped Autonomous System used for diversifying peer selection. See the
|
||||
`-asmap` configuration option described below in _New Settings_. (#16702)
|
||||
|
||||
- The `createmultisig` and `addmultisigaddress` RPCs now return an
|
||||
output script descriptor for the newly created address. (#18032)
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
- OpenSSL is no longer used by Bitcoin Core. (#17265)
|
||||
|
||||
- BIP70 support has been fully removed from Bitcoin Core. The
|
||||
`--enable-bip70` option remains, but it will throw an error during configure.
|
||||
(#17165)
|
||||
|
||||
- glibc 2.17 or greater is now required to run the release binaries. This
|
||||
retains compatibility with RHEL 7, CentOS 7, Debian 8 and Ubuntu 14.04 LTS. (#17538)
|
||||
|
||||
- The source code archives that are provided with gitian builds no longer contain
|
||||
any autotools artifacts. Therefore, to build from such source, a user
|
||||
should run the `./autogen.sh` script from the root of the unpacked archive.
|
||||
This implies that `autotools` and other required packages are installed on the
|
||||
user's system. (#18331)
|
||||
|
||||
New settings
|
||||
------------
|
||||
|
||||
- New `rpcwhitelist` and `rpcwhitelistdefault` configuration parameters
|
||||
allow giving certain RPC users permissions to only some RPC calls.
|
||||
(#12763)
|
||||
|
||||
- A new `-asmap` configuration option has been added to diversify the
|
||||
node's network connections by mapping IP addresses Autonomous System
|
||||
Numbers (ASNs) and then limiting the number of connections made to any
|
||||
single ASN. See [issue #16599](https://github.com/bitcoin/bitcoin/issues/16599),
|
||||
[PR #16702](https://github.com/bitcoin/bitcoin/pull/16702), and the
|
||||
`bitcoind help` for more information. This option is experimental and
|
||||
subject to removal or breaking changes in future releases, so the
|
||||
legacy /16 prefix mapping of IP addresses remains the default. (#16702)
|
||||
|
||||
Updated settings
|
||||
----------------
|
||||
|
||||
- All custom settings configured when Bitcoin Core starts are now
|
||||
written to the `debug.log` file to assist troubleshooting. (#16115)
|
||||
|
||||
- Importing blocks upon startup via the `bootstrap.dat` file no longer
|
||||
occurs by default. The file must now be specified with
|
||||
`-loadblock=<file>`. (#17044)
|
||||
|
||||
- The `-debug=db` logging category has been renamed to
|
||||
`-debug=walletdb` to distinguish it from `coindb`. The `-debug=db`
|
||||
option has been deprecated and will be removed in the next major
|
||||
release. (#17410)
|
||||
|
||||
- The `-walletnotify` configuration parameter will now replace any `%w`
|
||||
in its argument with the name of the wallet generating the
|
||||
notification. This is not supported on Windows. (#13339)
|
||||
|
||||
Removed settings
|
||||
----------------
|
||||
|
||||
- The `-whitelistforcerelay` configuration parameter has been removed after
|
||||
it was discovered that it was rendered ineffective in version 0.13 and
|
||||
hasn't actually been supported for almost four years. (#17985)
|
||||
|
||||
GUI changes
|
||||
-----------
|
||||
|
||||
- The "Start Bitcoin Core on system login" option has been removed on macOS.
|
||||
(#17567)
|
||||
|
||||
- In the Peers window, the details for a peer now displays a `Mapped AS`
|
||||
field to indicate the mapped Autonomous System used for diversifying
|
||||
peer selection. See the `-asmap` configuration option in _New
|
||||
Settings_, above. (#18402)
|
||||
|
||||
- A "known bug" [announced](https://bitcoincore.org/en/releases/0.18.0/#wallet-gui)
|
||||
in the release notes of version 0.18 has been fixed. The issue
|
||||
affected anyone who simultaneously used multiple Bitcoin Core wallets
|
||||
and the GUI coin control feature. (#18894)
|
||||
|
||||
- For watch-only wallets, creating a new transaction in the Send screen
|
||||
or fee bumping an existing transaction in the Transactions screen will
|
||||
automatically copy a Partially-Signed Bitcoin Transaction (PSBT) to
|
||||
the system clipboard. This can then be pasted into an external
|
||||
program such as [HWI](https://github.com/bitcoin-core/HWI) for
|
||||
signing. Future versions of Bitcoin Core should support a GUI option
|
||||
for finalizing and broadcasting PSBTs, but for now the debug console
|
||||
may be used with the `finalizepsbt` and `sendrawtransaction` RPCs.
|
||||
(#16944, #17492)
|
||||
|
||||
Wallet
|
||||
------
|
||||
|
||||
- The wallet now by default uses bech32 addresses when using RPC, and
|
||||
creates native segwit change outputs. (#16884)
|
||||
|
||||
- The way that output trust was computed has been fixed, which affects
|
||||
confirmed/unconfirmed balance status and coin selection. (#16766)
|
||||
|
||||
- The `gettransaction`, `listtransactions` and `listsinceblock` RPC
|
||||
responses now also include the height of the block that contains the
|
||||
wallet transaction, if any. (#17437)
|
||||
|
||||
- The `getaddressinfo` RPC has had its `label` field deprecated
|
||||
(re-enable for this release using the configuration parameter
|
||||
`-deprecatedrpc=label`). The `labels` field is altered from returning
|
||||
JSON objects to returning a JSON array of label names (re-enable
|
||||
previous behavior for this release using the configuration parameter
|
||||
`-deprecatedrpc=labelspurpose`). Backwards compatibility using the
|
||||
deprecated configuration parameters is expected to be dropped in the
|
||||
0.21 release. (#17585, #17578)
|
||||
|
||||
Documentation changes
|
||||
---------------------
|
||||
|
||||
- Bitcoin Core's automatically-generated source code documentation is
|
||||
now available at https://doxygen.bitcoincore.org. (#17596)
|
||||
|
||||
Low-level changes
|
||||
=================
|
||||
|
||||
Utilities
|
||||
---------
|
||||
|
||||
- The `bitcoin-cli` utility used with the `-getinfo` parameter now
|
||||
returns a `headers` field with the number of downloaded block headers
|
||||
on the best headers chain (similar to the `blocks` field that is also
|
||||
returned) and a `verificationprogress` field that estimates how much
|
||||
of the best block chain has been synced by the local node. The
|
||||
information returned no longer includes the `protocolversion`,
|
||||
`walletversion`, and `keypoololdest` fields. (#17302, #17650)
|
||||
|
||||
- The `bitcoin-cli` utility now accepts a `-stdinwalletpassphrase`
|
||||
parameter that can be used when calling the `walletpassphrase` and
|
||||
`walletpassphrasechange` RPCs to read the passphrase from standard
|
||||
input without echoing it to the terminal, improving security against
|
||||
anyone who can look at your screen. The existing `-stdinrpcpass`
|
||||
parameter is also updated to not echo the passphrase. (#13716)
|
||||
|
||||
Command line
|
||||
------------
|
||||
|
||||
- Command line options prefixed with main/test/regtest network names like
|
||||
`-main.port=8333` `-test.server=1` previously were allowed but ignored. Now
|
||||
they trigger "Invalid parameter" errors on startup. (#17482)
|
||||
|
||||
New RPCs
|
||||
--------
|
||||
|
||||
- The `dumptxoutset` RPC outputs a serialized snapshot of the current
|
||||
UTXO set. A script is provided in the `contrib/devtools` directory
|
||||
for generating a snapshot of the UTXO set at a particular block
|
||||
height. (#16899)
|
||||
|
||||
- The `generatetodescriptor` RPC allows testers using regtest mode to
|
||||
generate blocks that pay an arbitrary output script descriptor.
|
||||
(#16943)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- The `verifychain` RPC default values are now static instead of
|
||||
depending on the command line options or configuration file
|
||||
(`-checklevel`, and `-checkblocks`). Users can pass in the RPC
|
||||
arguments explicitly when they don't want to rely on the default
|
||||
values. (#18541)
|
||||
|
||||
- The `getblockchaininfo` RPC's `verificationprogress` field will no
|
||||
longer report values higher than 1. Previously it would occasionally
|
||||
report the chain was more than 100% verified. (#17328)
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
- It is now an error to use an unqualified `walletdir=path` setting in
|
||||
the config file if running on testnet or regtest networks. The setting
|
||||
now needs to be qualified as `chain.walletdir=path` or placed in the
|
||||
appropriate `[chain]` section. (#17447)
|
||||
|
||||
- `-fallbackfee` was 0 (disabled) by default for the main chain, but
|
||||
0.0002 by default for the test chains. Now it is 0 by default for all
|
||||
chains. Testnet and regtest users will have to add
|
||||
`fallbackfee=0.0002` to their configuration if they weren't setting it
|
||||
and they want it to keep working like before. (#16524)
|
||||
|
||||
Build system
|
||||
------------
|
||||
|
||||
- Support is provided for building with the Android Native Development
|
||||
Kit (NDK). (#16110)
|
||||
|
||||
0.20.0 change log
|
||||
=================
|
||||
|
||||
### Mining
|
||||
- #18742 miner: Avoid stack-use-after-return in validationinterface (MarcoFalke)
|
||||
|
||||
### Block and transaction handling
|
||||
- #15283 log: Fix UB with bench on genesis block (instagibbs)
|
||||
- #16507 feefilter: Compute the absolute fee rather than stored rate (instagibbs)
|
||||
- #16688 log: Add validation interface logging (jkczyz)
|
||||
- #16805 log: Add timing information to FlushStateToDisk() (jamesob)
|
||||
- #16902 O(1) `OP_IF/NOTIF/ELSE/ENDIF` script implementation (sipa)
|
||||
- #16945 introduce CChainState::GetCoinsCacheSizeState (jamesob)
|
||||
- #16974 Walk pindexBestHeader back to ChainActive().Tip() if it is invalid (TheBlueMatt)
|
||||
- #17004 Remove REJECT code from CValidationState (jnewbery)
|
||||
- #17080 Explain why `fCheckDuplicateInputs` can not be skipped and remove it (MarcoFalke)
|
||||
- #17328 GuessVerificationProgress: cap the ratio to 1 (darosior)
|
||||
- #17399 Templatize ValidationState instead of subclassing (jkczyz)
|
||||
- #17407 node: Add reference to mempool in NodeContext (MarcoFalke)
|
||||
- #17708 prevector: Avoid misaligned member accesses (ajtowns)
|
||||
- #17850,#17896,#17957,#18021,#18021,#18112 Serialization improvements (sipa)
|
||||
- #17925 Improve UpdateTransactionsFromBlock with Epochs (JeremyRubin)
|
||||
- #18002 Abstract out script execution out of `VerifyWitnessProgram()` (sipa)
|
||||
- #18388 Make VerifyWitnessProgram use a Span stack (sipa)
|
||||
- #18433 serialization: prevent int overflow for big Coin::nHeight (pierreN)
|
||||
- #18500 chainparams: Bump assumed valid hash (MarcoFalke)
|
||||
- #18551 Do not clear validationinterface entries being executed (sipa)
|
||||
|
||||
### P2P protocol and network code
|
||||
- #15437 Remove BIP61 reject messages (MarcoFalke)
|
||||
- #16702 Supply and use asmap to improve IP bucketing in addrman (naumenkogs)
|
||||
- #16851 Continue relaying transactions after they expire from mapRelay (ajtowns)
|
||||
- #17164 Avoid allocating memory for addrKnown where we don't need it (naumenkogs)
|
||||
- #17243 tools: add PoissonNextSend method that returns mockable time (amitiuttarwar)
|
||||
- #17251 SocketHandler logs peer id for close and disconnect (Sjors)
|
||||
- #17573 Seed RNG with precision timestamps on receipt of net messages (TheBlueMatt)
|
||||
- #17624 Fix an uninitialized read in ProcessMessage(…, "tx", …) when receiving a transaction we already have (practicalswift)
|
||||
- #17754 Don't allow resolving of std::string with embedded NUL characters. Add tests (practicalswift)
|
||||
- #17758 Fix CNetAddr::IsRFC2544 comment + tests (tynes)
|
||||
- #17812 config, net, test: Asmap feature refinements and functional tests (jonatack)
|
||||
- #17951 Use rolling bloom filter of recent block txs for AlreadyHave() check (sdaftuar)
|
||||
- #17985 Remove forcerelay of rejected txs (MarcoFalke)
|
||||
- #18023 Fix some asmap issues (sipa)
|
||||
- #18054 Reference instead of copy in BlockConnected range loop (jonatack)
|
||||
- #18376 Fix use-after-free in tests (vasild)
|
||||
- #18454 Make addr relay mockable, add test (MarcoFalke)
|
||||
- #18458 Add missing `cs_vNodes` lock (MarcoFalke)
|
||||
- #18506 Hardcoded seeds update for 0.20 (laanwj)
|
||||
- #18808 Drop unknown types in getdata (jnewbery)
|
||||
- #18962 Only send a getheaders for one block in an INV (jnewbery)
|
||||
|
||||
### Wallet
|
||||
- #13339 Replace %w by wallet name in -walletnotify script (promag)
|
||||
- #15931 Remove GetDepthInMainChain dependency on locked chain interface (ariard)
|
||||
- #16373 bumpfee: Return PSBT when wallet has privkeys disabled (instagibbs)
|
||||
- #16524 Disable -fallbackfee by default (jtimon)
|
||||
- #16766 Make IsTrusted scan parents recursively (JeremyRubin)
|
||||
- #16884 Change default address type to bech32 (instagibbs)
|
||||
- #16911 Only check the hash of transactions loaded from disk (achow101)
|
||||
- #16923 Handle duplicate fileid exception (promag)
|
||||
- #17056 descriptors: Introduce sortedmulti descriptor (achow101)
|
||||
- #17070 Avoid showing GUI popups on RPC errors (MarcoFalke)
|
||||
- #17138 Remove wallet access to some node arguments (jnewbery)
|
||||
- #17237 LearnRelatedScripts only if KeepDestination (promag)
|
||||
- #17260 Split some CWallet functions into new LegacyScriptPubKeyMan (achow101)
|
||||
- #17261 Make ScriptPubKeyMan an actual interface and the wallet to have multiple (achow101)
|
||||
- #17290 Enable BnB coin selection for preset inputs and subtract fee from outputs (achow101)
|
||||
- #17373 Various fixes and cleanup to keypool handling in LegacyScriptPubKeyMan and CWallet (achow101)
|
||||
- #17410 Rename `db` log category to `walletdb` (like `coindb`) (laanwj)
|
||||
- #17444 Avoid showing GUI popups on RPC errors (take 2) (MarcoFalke)
|
||||
- #17447 Make -walletdir network only (promag)
|
||||
- #17537 Cleanup and move opportunistic and superfluous TopUp()s (achow101)
|
||||
- #17553 Remove out of date comments for CalculateMaximumSignedTxSize (instagibbs)
|
||||
- #17568 Fix when sufficient preset inputs and subtractFeeFromOutputs (achow101)
|
||||
- #17677 Activate watchonly wallet behavior for LegacySPKM only (instagibbs)
|
||||
- #17719 Document better -keypool as a look-ahead safety mechanism (ariard)
|
||||
- #17843 Reset reused transactions cache (fjahr)
|
||||
- #17889 Improve CWallet:MarkDestinationsDirty (promag)
|
||||
- #18034 Get the OutputType for a descriptor (achow101)
|
||||
- #18067 Improve LegacyScriptPubKeyMan::CanProvide script recognition (ryanofsky)
|
||||
- #18115 Pass in transactions and messages for signing instead of exporting the private keys (achow101)
|
||||
- #18192,#18546 Bugfix: Wallet: Safely deal with change in the address book (luke-jr)
|
||||
- #18204 descriptors: Improve descriptor cache and cache xpubs (achow101)
|
||||
- #18274 rpc/wallet: Initialize nFeeRequired to avoid using garbage value on failure (kallewoof)
|
||||
- #18312 Remove deprecated fee bumping by totalFee (jonatack)
|
||||
- #18338 Fix wallet unload race condition (promag)
|
||||
|
||||
### RPC and other APIs
|
||||
- #12763 Add RPC Whitelist Feature from #12248 (JeremyRubin)
|
||||
- #13716 cli: `-stdinwalletpassphrase` and non-echo stdin passwords (kallewoof)
|
||||
- #16689 Add missing fields to wallet rpc help output (ariard)
|
||||
- #16821 Fix bug where duplicate PSBT keys are accepted (erasmospunk)
|
||||
- #16899 UTXO snapshot creation (dumptxoutset)
|
||||
- #17156 psbt: Check that various indexes and amounts are within bounds (achow101)
|
||||
- #17264 Set default bip32derivs to true for psbt methods (Sjors)
|
||||
- #17283 improve getaddressinfo test coverage, help, code docs (jonatack)
|
||||
- #17302 cli: Add "headers" and "verificationprogress" to -getinfo (laanwj)
|
||||
- #17318 replace asserts in RPC code with `CHECK_NONFATAL` and add linter (adamjonas)
|
||||
- #17437 Expose block height of wallet transactions (promag)
|
||||
- #17519 Remove unused `COINBASE_FLAGS` (narula)
|
||||
- #17578 Simplify getaddressinfo labels, deprecate previous behavior (jonatack)
|
||||
- #17585 deprecate getaddressinfo label (jonatack)
|
||||
- #17746 Remove vector copy from listtransactions (promag)
|
||||
- #17809 Auto-format RPCResult (MarcoFalke)
|
||||
- #18032 Output a descriptor in createmultisig and addmultisigaddress (achow101)
|
||||
- #18122 Update validateaddress RPCExamples to bech32 (theStack)
|
||||
- #18208 Change RPCExamples to bech32 (yusufsahinhamza)
|
||||
- #18268 Remove redundant types from descriptions (docallag)
|
||||
- #18346 Document an RPCResult for all calls; Enforce at compile time (MarcoFalke)
|
||||
- #18396 Add missing HelpExampleRpc for getblockfilter (theStack)
|
||||
- #18398 Fix broken RPCExamples for waitforblock(height) (theStack)
|
||||
- #18444 Remove final comma for last entry of fixed-size arrays/objects in RPCResult (luke-jr)
|
||||
- #18459 Remove unused getbalances() code (jonatack)
|
||||
- #18484 Correctly compute redeemScript from witnessScript for signrawtransaction (achow101)
|
||||
- #18487 Fix rpcRunLater race in walletpassphrase (promag)
|
||||
- #18499 Make rpc documentation not depend on call-time rpc args (MarcoFalke)
|
||||
- #18532 Avoid initialization-order-fiasco on static CRPCCommand tables (MarcoFalke)
|
||||
- #18541 Make verifychain default values static, not depend on global args (MarcoFalke)
|
||||
- #18809 Do not advertise dumptxoutset as a way to flush the chainstate (MarcoFalke)
|
||||
- #18814 Relock wallet only if most recent callback (promag)
|
||||
|
||||
### GUI
|
||||
- #15023 Restore RPC Console to non-wallet tray icon menu (luke-jr)
|
||||
- #15084 Don't disable the sync overlay when wallet is disabled (benthecarman)
|
||||
- #15098 Show addresses for "SendToSelf" transactions (hebasto)
|
||||
- #15756 Add shortcuts for tab tools (promag)
|
||||
- #16944 create PSBT with watch-only wallet (Sjors)
|
||||
- #16964 Change sendcoins dialogue Yes to Send (instagibbs)
|
||||
- #17068 Always generate `bitcoinstrings.cpp` on `make translate` (D4nte)
|
||||
- #17096 Rename debug window (Zero-1729)
|
||||
- #17105 Make RPCConsole::TabTypes an enum class (promag)
|
||||
- #17125 Add toolTip and placeholderText to sign message fields (dannmat)
|
||||
- #17165 Remove BIP70 support (fanquake)
|
||||
- #17180 Improved tooltip for send amount field (JeremyCrookshank)
|
||||
- #17186 Add placeholder text to the sign message field (Danny-Scott)
|
||||
- #17195 Send amount placeholder value (JeremyCrookshank)
|
||||
- #17226 Fix payAmount tooltip in SendCoinsEntry (promag)
|
||||
- #17360 Cleaning up hide button tool tip (Danny-Scott)
|
||||
- #17446 Changed tooltip for 'Label' & 'Message' text fields to be more clear (dannmat)
|
||||
- #17453 Fix intro dialog labels when the prune button is toggled (hebasto)
|
||||
- #17474 Bugfix: GUI: Recognise `NETWORK_LIMITED` in formatServicesStr (luke-jr)
|
||||
- #17492 Bump fee returns PSBT on clipboard for watchonly-only wallets (instagibbs)
|
||||
- #17567 Remove macOS start on login code (fanquake)
|
||||
- #17587 Show watch-only balance in send screen (Sjors)
|
||||
- #17694 Disable 3rd-party tx-urls when wallet disabled (brakmic)
|
||||
- #17696 Force set nPruneSize in QSettings after the intro dialog (hebasto)
|
||||
- #17702 Move static placeholder texts to forms (laanwj)
|
||||
- #17826 Log Qt related info (hebasto)
|
||||
- #17886 Restore English translation option (achow101)
|
||||
- #17906 Set CConnman byte counters earlier to avoid uninitialized reads (ryanofsky)
|
||||
- #17935 Hide HD & encryption icons when no wallet loaded (brakmic)
|
||||
- #17998 Shortcut to close ModalOverlay (emilengler)
|
||||
- #18007 Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open (luke-jr)
|
||||
- #18060 Drop PeerTableModel dependency to ClientModel (promag)
|
||||
- #18062 Fix unintialized WalletView::progressDialog (promag)
|
||||
- #18091 Pass clientmodel changes from walletframe to walletviews (jonasschnelli)
|
||||
- #18101 Fix deprecated QCharRef usage (hebasto)
|
||||
- #18121 Throttle GUI update pace when -reindex (hebasto)
|
||||
- #18123 Fix race in WalletModel::pollBalanceChanged (ryanofsky)
|
||||
- #18160 Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged (promag)
|
||||
- #18360 Bump transifex slug and update English translations for 0.20 (laanwj)
|
||||
- #18402 Display mapped AS in peers info window (jonatack)
|
||||
- #18492 Translations update pre-branch (laanwj)
|
||||
- #18549 Fix Window -> Minimize menu item (hebasto)
|
||||
- #18578 Fix leak in CoinControlDialog::updateView (promag)
|
||||
- #18894 Fix manual coin control with multiple wallets loaded (promag)
|
||||
|
||||
### Build system
|
||||
- #16667 Remove mingw linker workaround from win gitian descriptor (fanquake)
|
||||
- #16669 Use new fork of osslsigncode for windows gitian signing (fanquake)
|
||||
- #16949 Only pass --disable-dependency-tracking to packages that understand it (fanquake)
|
||||
- #17008 Bump libevent to 2.1.11 in depends (stefanwouldgo)
|
||||
- #17029 gitian: Various improvements for windows descriptor (dongcarl)
|
||||
- #17033 Disable _FORTIFY_SOURCE when enable-debug (achow101)
|
||||
- #17057 Switch to upstream libdmg-hfsplus (fanquake)
|
||||
- #17066 Remove workaround for ancient libtool (hebasto)
|
||||
- #17074 Added double quotes (mztriz)
|
||||
- #17087 Add variable printing target to Makefiles (dongcarl)
|
||||
- #17118 depends macOS: point --sysroot to SDK (Sjors)
|
||||
- #17231 Fix boost mac cross build with clang 9+ (theuni)
|
||||
- #17265 Remove OpenSSL (fanquake)
|
||||
- #17284 Update retry to current version (RandyMcMillan)
|
||||
- #17308 nsis: Write to correct filename in first place (dongcarl)
|
||||
- #17324,#18099 Update univalue subtree (MarcoFalke)
|
||||
- #17398 Update leveldb to 1.22+ (laanwj)
|
||||
- #17409 Avoid hardcoded libfaketime dir in gitian (MarcoFalke)
|
||||
- #17466 Fix C{,XX} pickup (dongcarl)
|
||||
- #17483 Set gitian arch back to amd64 (MarcoFalke)
|
||||
- #17486 Make Travis catch unused variables (Sjors)
|
||||
- #17538 Bump minimum libc to 2.17 for release binaries (fanquake)
|
||||
- #17542 Create test utility library from src/test/util/ (brakmic)
|
||||
- #17545 Remove libanl.so.1 from ALLOWED_LIBRARIES (fanquake)
|
||||
- #17547 Fix configure report about qr (hebasto)
|
||||
- #17569 Allow export of environ symbols and work around rv64 toolchain issue (laanwj)
|
||||
- #17647 lcov: filter depends from coverage reports (nijynot)
|
||||
- #17658 Add ability to skip building qrencode (fanquake)
|
||||
- #17678 Support for S390X and POWER targets (MarcoFalke)
|
||||
- #17682 util: Update tinyformat to upstream (laanwj)
|
||||
- #17698 Don't configure `xcb_proto` (fanquake)
|
||||
- #17730 Remove Qt networking features (fanquake)
|
||||
- #17738 Remove linking librt for backwards compatibility (fanquake)
|
||||
- #17740 Remove configure checks for win libraries we don't link against (fanquake)
|
||||
- #17741 Included `test_bitcoin-qt` in msvc build (sipsorcery)
|
||||
- #17756 Remove `WINDOWS_BITS` from build system (fanquake)
|
||||
- #17769 Set `AC_PREREQ` to 2.69 (fanquake)
|
||||
- #17880 Add -Wdate-time to Werror flags (fanquake)
|
||||
- #17910 Remove double `LIBBITCOIN_SERVER` linking (fanquake)
|
||||
- #17928 Consistent use of package variable (Bushstar)
|
||||
- #17933 guix: Pin Guix using `guix time-machine` (dongcarl)
|
||||
- #17948 pass -fno-ident in Windows gitian descriptor (fanquake)
|
||||
- #18003 Remove --large-address-aware linker flag (fanquake)
|
||||
- #18004 Don't embed a build-id when building libdmg-hfsplus (fanquake)
|
||||
- #18051 Fix behavior when `ALLOW_HOST_PACKAGES` unset (hebasto)
|
||||
- #18059 Add missing attributes to Win installer (fanquake)
|
||||
- #18104 Skip i686 build by default in guix and gitian (MarcoFalke)
|
||||
- #18107 Add `cov_fuzz` target (MarcoFalke)
|
||||
- #18135 Add --enable-determinism configure flag (fanquake)
|
||||
- #18145 Add Wreturn-type to Werror flags, check on more Travis machines (Sjors)
|
||||
- #18264 Remove Boost Chrono (fanquake)
|
||||
- #18290 Set minimum Automake version to 1.13 (hebasto)
|
||||
- #18320 guix: Remove now-unnecessary gcc make flag (dongcarl)
|
||||
- #18331 Use git archive as source tarball (hebasto)
|
||||
- #18397 Fix libevent linking for `bench_bitcoin` binary (hebasto)
|
||||
- #18426 scripts: `Previous_release`: improve behaviour on failed download (theStack)
|
||||
- #18429 Remove double `LIBBITCOIN_SERVER` from bench-Makefile (brakmic)
|
||||
- #18528 Create `test_fuzz` library from src/test/fuzz/fuzz.cpp (brakmic)
|
||||
- #18558 Fix boost detection for arch armv7l (hebasto)
|
||||
- #18598 gitian: Add missing automake package to gitian-win-signer.yml (achow101)
|
||||
- #18676 Check libevent minimum version in configure script (hebasto)
|
||||
- #18945 Ensure source tarball has leading directory name (laanwj)
|
||||
|
||||
### Platform support
|
||||
- #16110 Add Android NDK support (icota)
|
||||
- #16392 macOS toolchain update (fanquake)
|
||||
- #16569 Increase init file stop timeout (setpill)
|
||||
- #17151 Remove OpenSSL PRNG seeding (Windows, Qt only) (fanquake)
|
||||
- #17365 Update README.md with working Android targets and API levels (icota)
|
||||
- #17521 Only use D-Bus with Qt on linux (fanquake)
|
||||
- #17550 Set minimum supported macOS to 10.12 (fanquake)
|
||||
- #17592 Appveyor install libevent[thread] vcpkg (sipsorcery)
|
||||
- #17660 Remove deprecated key from macOS Info.plist (fanquake)
|
||||
- #17663 Pass `-dead_strip_dylibs` to ld on macOS (fanquake)
|
||||
- #17676 Don't use OpenGL in Qt on macOS (fanquake)
|
||||
- #17686 Add `-bind_at_load` to macOS hardened LDFLAGS (fanquake)
|
||||
- #17787 scripts: Add macho pie check to security-check.py (fanquake)
|
||||
- #17800 random: don't special case clock usage on macOS (fanquake)
|
||||
- #17863 scripts: Add macho dylib checks to symbol-check.py (fanquake)
|
||||
- #17899 msvc: Ignore msvc linker warning and update to msvc build instructions (sipsorcery)
|
||||
- #17916 windows: Enable heap terminate-on-corruption (fanquake)
|
||||
- #18082 logging: Enable `thread_local` usage on macos (fanquake)
|
||||
- #18108 Fix `.gitignore` policy in `build_msvc` directory (hebasto)
|
||||
- #18295 scripts: Add macho lazy bindings check to security-check.py (fanquake)
|
||||
- #18358 util: Fix compilation with mingw-w64 7.0.0 (fanquake)
|
||||
- #18359 Fix sysctl() detection on macOS (fanquake)
|
||||
- #18364 random: remove getentropy() fallback for macOS < 10.12 (fanquake)
|
||||
- #18395 scripts: Add pe dylib checking to symbol-check.py (fanquake)
|
||||
- #18415 scripts: Add macho tests to test-security-check.py (fanquake)
|
||||
- #18425 releases: Update with new Windows code signing certificate (achow101)
|
||||
- #18702 Fix ASLR for bitcoin-cli on Windows (fanquake)
|
||||
|
||||
### Tests and QA
|
||||
- #12134 Build previous releases and run functional tests (Sjors)
|
||||
- #13693 Add coverage to estimaterawfee and estimatesmartfee (Empact)
|
||||
- #13728 lint: Run the ci lint stage on mac (Empact)
|
||||
- #15443 Add getdescriptorinfo functional test (promag)
|
||||
- #15888 Add `wallet_implicitsegwit` to test the ability to transform keys between address types (luke-jr)
|
||||
- #16540 Add `ASSERT_DEBUG_LOG` to unit test framework (MarcoFalke)
|
||||
- #16597 travis: Run full test suite on native macos (Sjors)
|
||||
- #16681 Use self.chain instead of 'regtest' in all current tests (jtimon)
|
||||
- #16786 add unit test for wallet watch-only methods involving PubKeys (theStack)
|
||||
- #16943 Add generatetodescriptor RPC (MarcoFalke)
|
||||
- #16973 Fix `combine_logs.py` for AppVeyor build (mzumsande)
|
||||
- #16975 Show debug log on unit test failure (MarcoFalke)
|
||||
- #16978 Seed test RNG context for each test case, print seed (MarcoFalke)
|
||||
- #17009, #17018, #17050, #17051, #17071, #17076, #17083, #17093, #17109, #17113, #17136, #17229, #17291, #17357, #17771, #17777, #17917, #17926, #17972, #17989, #17996, #18009, #18029, #18047, #18126, #18176, #18206, #18353, #18363, #18407, #18417, #18423, #18445, #18455, #18565 Add fuzzing harnesses (practicalswift)
|
||||
- #17011 ci: Use busybox utils for one build (MarcoFalke)
|
||||
- #17030 Fix Python Docstring to include all Args (jbampton)
|
||||
- #17041 ci: Run tests on arm (MarcoFalke)
|
||||
- #17069 Pass fuzzing inputs as constant references (practicalswift)
|
||||
- #17091 Add test for loadblock option and linearize scripts (fjahr)
|
||||
- #17108 fix "tx-size-small" errors after default address change (theStack)
|
||||
- #17121 Speed up `wallet_backup` by whitelisting peers (immediate tx relay) (theStack)
|
||||
- #17124 Speed up `wallet_address_types` by whitelisting peers (immediate tx relay) (theStack)
|
||||
- #17140 Fix bug in `blockfilter_index_tests` (jimpo)
|
||||
- #17199 use default address type (bech32) for `wallet_bumpfee` tests (theStack)
|
||||
- #17205 ci: Enable address sanitizer (asan) stack-use-after-return checking (practicalswift)
|
||||
- #17206 Add testcase to simulate bitcoin schema in leveldb (adamjonas)
|
||||
- #17209 Remove no longer needed UBSan suppressions (issues fixed). Add documentation (practicalswift)
|
||||
- #17220 Add unit testing for the CompressScript function (adamjonas)
|
||||
- #17225 Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible (practicalswift)
|
||||
- #17228 Add RegTestingSetup to `setup_common` (MarcoFalke)
|
||||
- #17233 travis: Run unit and functional tests on native arm (MarcoFalke)
|
||||
- #17235 Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed (practicalswift)
|
||||
- #17240 ci: Disable functional tests on mac host (MarcoFalke)
|
||||
- #17254 Fix `script_p2sh_tests` `OP_PUSHBACK2/4` missing (adamjonas)
|
||||
- #17267 bench: Fix negative values and zero for -evals flag (nijynot)
|
||||
- #17275 pubkey: Assert CPubKey's ECCVerifyHandle precondition (practicalswift)
|
||||
- #17288 Added TestWrapper class for interactive Python environments (jachiang)
|
||||
- #17292 Add new mempool benchmarks for a complex pool (JeremyRubin)
|
||||
- #17299 add reason checks for non-standard txs in `test_IsStandard` (theStack)
|
||||
- #17322 Fix input size assertion in `wallet_bumpfee.py` (instagibbs)
|
||||
- #17327 Add `rpc_fundrawtransaction` logging (jonatack)
|
||||
- #17330 Add `shrinkdebugfile=0` to regtest bitcoin.conf (sdaftuar)
|
||||
- #17340 Speed up fundrawtransaction test (jnewbery)
|
||||
- #17345 Do not instantiate CAddrDB for static call CAddrDB::Read() (hebasto)
|
||||
- #17362 Speed up `wallet_avoidreuse`, add logging (jonatack)
|
||||
- #17363 add "diamond" unit test to MempoolAncestryTests (theStack)
|
||||
- #17366 Reset global args between test suites (MarcoFalke)
|
||||
- #17367 ci: Run non-cross-compile builds natively (MarcoFalke)
|
||||
- #17378 TestShell: Fix typos & implement cleanups (jachiang)
|
||||
- #17384 Create new test library (MarcoFalke)
|
||||
- #17387 `wallet_importmulti`: use addresses of the same type as being imported (achow101)
|
||||
- #17388 Add missing newline in `util_ChainMerge` test (ryanofsky)
|
||||
- #17390 Add `util_ArgParsing` test (ryanofsky)
|
||||
- #17420 travis: Rework `cache_err_msg` (MarcoFalke)
|
||||
- #17423 ci: Make ci system read-only on the git work tree (MarcoFalke)
|
||||
- #17435 check custom ancestor limit in `mempool_packages.py` (theStack)
|
||||
- #17455 Update valgrind suppressions (practicalswift)
|
||||
- #17461 Check custom descendant limit in `mempool_packages.py` (theStack)
|
||||
- #17469 Remove fragile `assert_memory_usage_stable` (MarcoFalke)
|
||||
- #17470 ci: Use clang-8 for fuzzing to run on aarch64 ci systems (MarcoFalke)
|
||||
- #17480 Add unit test for non-standard txs with too large scriptSig (theStack)
|
||||
- #17497 Skip tests when utils haven't been compiled (fanquake)
|
||||
- #17502 Add unit test for non-standard bare multisig txs (theStack)
|
||||
- #17511 Add bounds checks before base58 decoding (sipa)
|
||||
- #17517 ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le (MarcoFalke)
|
||||
- #17522 Wait until mempool is loaded in `wallet_abandonconflict` (MarcoFalke)
|
||||
- #17532 Add functional test for non-standard txs with too large scriptSig (theStack)
|
||||
- #17541 Add functional test for non-standard bare multisig txs (theStack)
|
||||
- #17555 Add unit test for non-standard txs with wrong nVersion (dspicher)
|
||||
- #17571 Add `libtest_util` library to msvc build configuration (sipsorcery)
|
||||
- #17591 ci: Add big endian platform - s390x (elichai)
|
||||
- #17593 Move more utility functions into test utility library (mzumsande)
|
||||
- #17633 Add option --valgrind to run the functional tests under Valgrind (practicalswift)
|
||||
- #17635 ci: Add centos 7 build (hebasto)
|
||||
- #17641 Add unit test for leveldb creation with unicode path (sipsorcery)
|
||||
- #17674 Add initialization order fiasco detection in Travis (practicalswift)
|
||||
- #17675 Enable tests which are incorrectly skipped when running `test_runner.py --usecli` (practicalswift)
|
||||
- #17685 Fix bug in the descriptor parsing fuzzing harness (`descriptor_parse`) (practicalswift)
|
||||
- #17705 re-enable CLI test support by using EncodeDecimal in json.dumps() (fanquake)
|
||||
- #17720 add unit test for non-standard "scriptsig-not-pushonly" txs (theStack)
|
||||
- #17767 ci: Fix qemu issues (MarcoFalke)
|
||||
- #17793 ci: Update github actions ci vcpkg cache on msbuild update (hebasto)
|
||||
- #17806 Change filemode of `rpc_whitelist.py` (emilengler)
|
||||
- #17849 ci: Fix brew python link (hebasto)
|
||||
- #17851 Add `std::to_string` to list of locale dependent functions (practicalswift)
|
||||
- #17893 Fix double-negative arg test (hebasto)
|
||||
- #17900 ci: Combine 32-bit build with centos 7 build (theStack)
|
||||
- #17921 Test `OP_CSV` empty stack fail in `feature_csv_activation.py` (theStack)
|
||||
- #17931 Fix `p2p_invalid_messages` failing in Python 3.8 because of warning (elichai)
|
||||
- #17947 add unit test for non-standard txs with too large tx size (theStack)
|
||||
- #17959 Check specific reject reasons in `feature_csv_activation.py` (theStack)
|
||||
- #17984 Add p2p test for forcerelay permission (MarcoFalke)
|
||||
- #18001 Updated appveyor job to checkout a specific vcpkg commit ID (sipsorcery)
|
||||
- #18008 fix fuzzing using libFuzzer on macOS (fanquake)
|
||||
- #18013 bench: Fix benchmarks filters (elichai)
|
||||
- #18018 reset fIsBareMultisigStd after bare-multisig tests (fanquake)
|
||||
- #18022 Fix appveyor `test_bitcoin` build of `*.raw` (MarcoFalke)
|
||||
- #18037 util: Allow scheduler to be mocked (amitiuttarwar)
|
||||
- #18056 ci: Check for submodules (emilengler)
|
||||
- #18069 Replace 'regtest' leftovers by self.chain (theStack)
|
||||
- #18081 Set a name for CI Docker containers (fanquake)
|
||||
- #18109 Avoid hitting some known minor tinyformat issues when fuzzing strprintf(…) (practicalswift)
|
||||
- #18155 Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker (practicalswift)
|
||||
- #18159 Add --valgrind option to `test/fuzz/test_runner.py` for running fuzzing test cases under valgrind (practicalswift)
|
||||
- #18166 ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors (practicalswift)
|
||||
- #18172 Transaction expiry from mempool (0xB10C)
|
||||
- #18181 Remove incorrect assumptions in `validation_flush_tests` (MarcoFalke)
|
||||
- #18183 Set `catch_system_errors=no` on boost unit tests (MarcoFalke)
|
||||
- #18195 Add `cost_of_change` parameter assertions to `bnb_search_test` (yancyribbens)
|
||||
- #18209 Reduce unneeded whitelist permissions in tests (MarcoFalke)
|
||||
- #18211 Disable mockforward scheduler unit test for now (MarcoFalke)
|
||||
- #18213 Fix race in `p2p_segwit` (MarcoFalke)
|
||||
- #18224 Make AnalyzePSBT next role calculation simple, correct (instagibbs)
|
||||
- #18228 Add missing syncwithvalidationinterfacequeue (MarcoFalke)
|
||||
- #18247 Wait for both veracks in `add_p2p_connection` (MarcoFalke)
|
||||
- #18249 Bump timeouts to accomodate really slow disks (MarcoFalke)
|
||||
- #18255 Add `bad-txns-*-toolarge` test cases to `invalid_txs` (MarcoFalke)
|
||||
- #18263 rpc: change setmocktime check to use IsMockableChain (gzhao408)
|
||||
- #18285 Check that `wait_until` returns if time point is in the past (MarcoFalke)
|
||||
- #18286 Add locale fuzzer to `FUZZERS_MISSING_CORPORA` (practicalswift)
|
||||
- #18292 fuzz: Add `assert(script == decompressed_script)` (MarcoFalke)
|
||||
- #18299 Update `FUZZERS_MISSING_CORPORA` to enable regression fuzzing for all harnesses in master (practicalswift)
|
||||
- #18300 fuzz: Add option to merge input dir to test runner (MarcoFalke)
|
||||
- #18305 Explain why test logging should be used (MarcoFalke)
|
||||
- #18306 Add logging to `wallet_listsinceblock.py` (jonatack)
|
||||
- #18311 Bumpfee test fix (instagibbs)
|
||||
- #18314 Add deserialization fuzzing of SnapshotMetadata (`utxo_snapshot`) (practicalswift)
|
||||
- #18319 fuzz: Add missing `ECC_Start` to `key_io` test (MarcoFalke)
|
||||
- #18334 Add basic test for BIP 37 (MarcoFalke)
|
||||
- #18350 Fix mining to an invalid target + ensure that a new block has the correct hash internally (TheQuantumPhysicist)
|
||||
- #18378 Bugfix & simplify bn2vch using `int.to_bytes` (sipa)
|
||||
- #18393 Don't assume presence of `__builtin_mul_overflow(…)` in `MultiplicationOverflow(…)` fuzzing harness (practicalswift)
|
||||
- #18406 add executable flag for `rpc_estimatefee.py` (theStack)
|
||||
- #18420 listsinceblock block height checks (jonatack)
|
||||
- #18430 ci: Only clone bitcoin-core/qa-assets when fuzzing (MarcoFalke)
|
||||
- #18438 ci: Use homebrew addon on native macos (hebasto)
|
||||
- #18447 Add coverage for script parse error in ParseScript (pierreN)
|
||||
- #18472 Remove unsafe `BOOST_TEST_MESSAGE` (MarcoFalke)
|
||||
- #18474 check that peer is connected when calling sync_* (MarcoFalke)
|
||||
- #18477 ci: Use focal for fuzzers (MarcoFalke)
|
||||
- #18481 add BIP37 'filterclear' test to p2p_filter.py (theStack)
|
||||
- #18496 Remove redundant `sync_with_ping` after `add_p2p_connection` (jonatack)
|
||||
- #18509 fuzz: Avoid running over all inputs after merging them (MarcoFalke)
|
||||
- #18510 fuzz: Add CScriptNum::getint coverage (MarcoFalke)
|
||||
- #18514 remove rapidcheck integration and tests (fanquake)
|
||||
- #18515 Add BIP37 remote crash bug [CVE-2013-5700] test to `p2p_filter.py` (theStack)
|
||||
- #18516 relax bumpfee `dust_to_fee` txsize an extra vbyte (jonatack)
|
||||
- #18518 fuzz: Extend descriptor fuzz test (MarcoFalke)
|
||||
- #18519 fuzz: Extend script fuzz test (MarcoFalke)
|
||||
- #18521 fuzz: Add `process_messages` harness (MarcoFalke)
|
||||
- #18529 Add fuzzer version of randomized prevector test (sipa)
|
||||
- #18534 skip backwards compat tests if not compiled with wallet (fanquake)
|
||||
- #18540 `wallet_bumpfee` assertion fixup (jonatack)
|
||||
- #18543 Use one node to avoid a race due to missing sync in `rpc_signrawtransaction` (MarcoFalke)
|
||||
- #18561 Properly raise FailedToStartError when rpc shutdown before warmup finished (MarcoFalke)
|
||||
- #18562 ci: Run unit tests sequential once (MarcoFalke)
|
||||
- #18563 Fix `unregister_all_during_call` cleanup (ryanofsky)
|
||||
- #18566 Set `-use_value_profile=1` when merging fuzz inputs (MarcoFalke)
|
||||
- #18757 Remove enumeration of expected deserialization exceptions in ProcessMessage(…) fuzzer (practicalswift)
|
||||
- #18878 Add test for conflicted wallet tx notifications (ryanofsky)
|
||||
- #18975 Remove const to work around compiler error on xenial (laanwj)
|
||||
|
||||
### Documentation
|
||||
- #16947 Doxygen-friendly script/descriptor.h comments (ch4ot1c)
|
||||
- #16983 Add detailed info about Bitcoin Core files (hebasto)
|
||||
- #16986 Doxygen-friendly CuckooCache comments (ch4ot1c)
|
||||
- #17022 move-only: Steps for "before major release branch-off" (MarcoFalke)
|
||||
- #17026 Update bips.md for default bech32 addresses in 0.20.0 (MarcoFalke)
|
||||
- #17081 Fix Makefile target in benchmarking.md (theStack)
|
||||
- #17102 Add missing indexes/blockfilter/basic to doc/files.md (MarcoFalke)
|
||||
- #17119 Fix broken bitcoin-cli examples (andrewtoth)
|
||||
- #17134 Add switch on enum example to developer notes (hebasto)
|
||||
- #17142 Update macdeploy README to include all files produced by `make deploy` (za-kk)
|
||||
- #17146 github: Add warning for bug reports (laanwj)
|
||||
- #17157 Added instructions for how to add an upsteam to forked repo (dannmat)
|
||||
- #17159 Add a note about backporting (carnhofdaki)
|
||||
- #17169 Correct function name in ReportHardwareRand() (fanquake)
|
||||
- #17177 Describe log files + consistent paths in test READMEs (fjahr)
|
||||
- #17239 Changed miniupnp links to https (sandakersmann)
|
||||
- #17281 Add developer note on `c_str()` (laanwj)
|
||||
- #17285 Bip70 removal follow-up (fjahr)
|
||||
- #17286 Fix help-debug -checkpoints (ariard)
|
||||
- #17309 update MSVC instructions to remove Qt OpenSSL linking (fanquake)
|
||||
- #17339 Add template for good first issues (michaelfolkson)
|
||||
- #17351 Fix some misspellings (RandyMcMillan)
|
||||
- #17353 Add ShellCheck to lint tests dependencies (hebasto)
|
||||
- #17370 Update doc/bips.md with recent changes in master (MarcoFalke)
|
||||
- #17393 Added regtest config for linearize script (gr0kchain)
|
||||
- #17411 Add some better examples for scripted diff (laanwj)
|
||||
- #17503 Remove bitness from bitcoin-qt help message and manpage (laanwj)
|
||||
- #17539 Update and improve Developer Notes (hebasto)
|
||||
- #17561 Changed MiniUPnPc link to https in dependencies.md (sandakersmann)
|
||||
- #17596 Change doxygen URL to doxygen.bitcoincore.org (laanwj)
|
||||
- #17598 Update release process with latest changes (MarcoFalke)
|
||||
- #17617 Unify unix epoch time descriptions (jonatack)
|
||||
- #17637 script: Add keyserver to verify-commits readme (emilengler)
|
||||
- #17648 Rename wallet-tool references to bitcoin-wallet (hel-o)
|
||||
- #17688 Add "ci" prefix to CONTRIBUTING.md (hebasto)
|
||||
- #17751 Use recommended shebang approach in documentation code block (hackerrdave)
|
||||
- #17752 Fix directory path for secp256k1 subtree in developer-notes (hackerrdave)
|
||||
- #17772 Mention PR Club in CONTRIBUTING.md (emilengler)
|
||||
- #17804 Misc RPC help fixes (MarcoFalke)
|
||||
- #17819 Developer notes guideline on RPCExamples addresses (jonatack)
|
||||
- #17825 Update dependencies.md (hebasto)
|
||||
- #17873 Add to Doxygen documentation guidelines (jonatack)
|
||||
- #17907 Fix improper Doxygen inline comments (Empact)
|
||||
- #17942 Improve fuzzing docs for macOS users (fjahr)
|
||||
- #17945 Fix doxygen errors (Empact)
|
||||
- #18025 Add missing supported rpcs to doc/descriptors.md (andrewtoth)
|
||||
- #18070 Add note about `brew doctor` (givanse)
|
||||
- #18125 Remove PPA note from release-process.md (fanquake)
|
||||
- #18170 Minor grammatical changes and flow improvements (travinkeith)
|
||||
- #18212 Add missing step in win deployment instructions (dangershony)
|
||||
- #18219 Add warning against wallet.dat re-use (corollari)
|
||||
- #18253 Correct spelling errors in comments (Empact)
|
||||
- #18278 interfaces: Describe and follow some code conventions (ryanofsky)
|
||||
- #18283 Explain rebase policy in CONTRIBUTING.md (MarcoFalke)
|
||||
- #18340 Mention MAKE=gmake workaround when building on a BSD (fanquake)
|
||||
- #18341 Replace remaining literal BTC with `CURRENCY_UNIT` (domob1812)
|
||||
- #18342 Add fuzzing quickstart guides for libFuzzer and afl-fuzz (practicalswift)
|
||||
- #18344 Fix nit in getblockchaininfo (stevenroose)
|
||||
- #18379 Comment fix merkle.cpp (4d55397500)
|
||||
- #18382 note the costs of fetching all pull requests (vasild)
|
||||
- #18391 Update init and reduce-traffic docs for -blocksonly (glowang)
|
||||
- #18464 Block-relay-only vs blocksonly (MarcoFalke)
|
||||
- #18486 Explain new test logging (MarcoFalke)
|
||||
- #18505 Update webchat URLs in README.md (SuriyaaKudoIsc)
|
||||
- #18513 Fix git add argument (HashUnlimited)
|
||||
- #18577 Correct scripted-diff example link (yahiheb)
|
||||
- #18589 Fix naming of macOS SDK and clarify version (achow101)
|
||||
|
||||
### Miscellaneous
|
||||
- #15600 lockedpool: When possible, use madvise to avoid including sensitive information in core dumps (luke-jr)
|
||||
- #15934 Merge settings one place instead of five places (ryanofsky)
|
||||
- #16115 On bitcoind startup, write config args to debug.log (LarryRuane)
|
||||
- #16117 util: Replace boost sleep with std sleep (MarcoFalke)
|
||||
- #16161 util: Fix compilation errors in support/lockedpool.cpp (jkczyz)
|
||||
- #16802 scripts: In linearize, search for next position of magic bytes rather than fail (takinbo)
|
||||
- #16889 Add some general std::vector utility functions (sipa)
|
||||
- #17049 contrib: Bump gitian descriptors for 0.20 (MarcoFalke)
|
||||
- #17052 scripts: Update `copyright_header` script to include additional files (GChuf)
|
||||
- #17059 util: Simplify path argument for cblocktreedb ctor (hebasto)
|
||||
- #17191 random: Remove call to `RAND_screen()` (Windows only) (fanquake)
|
||||
- #17192 util: Add `check_nonfatal` and use it in src/rpc (MarcoFalke)
|
||||
- #17218 Replace the LogPrint function with a macro (jkczyz)
|
||||
- #17266 util: Rename decodedumptime to parseiso8601datetime (elichai)
|
||||
- #17270 Feed environment data into RNG initializers (sipa)
|
||||
- #17282 contrib: Remove accounts from bash completion (fanquake)
|
||||
- #17293 Add assertion to randrange that input is not 0 (JeremyRubin)
|
||||
- #17325 log: Fix log message for -par=1 (hebasto)
|
||||
- #17329 linter: Strip trailing / in path for git-subtree-check (jnewbery)
|
||||
- #17336 scripts: Search for first block file for linearize-data with some block files pruned (Rjected)
|
||||
- #17361 scripts: Lint gitian descriptors with shellcheck (hebasto)
|
||||
- #17482 util: Disallow network-qualified command line options (ryanofsky)
|
||||
- #17507 random: mark RandAddPeriodic and SeedPeriodic as noexcept (fanquake)
|
||||
- #17527 Fix CPUID subleaf iteration (sipa)
|
||||
- #17604 util: Make schedulebatchpriority advisory only (fanquake)
|
||||
- #17650 util: Remove unwanted fields from bitcoin-cli -getinfo (malevolent)
|
||||
- #17671 script: Fixed wget call in gitian-build.py (willyko)
|
||||
- #17699 Make env data logging optional (sipa)
|
||||
- #17721 util: Don't allow base58 decoding of non-base58 strings. add base58 tests (practicalswift)
|
||||
- #17750 util: Change getwarnings parameter to bool (jnewbery)
|
||||
- #17753 util: Don't allow base32/64-decoding or parsemoney(…) on strings with embedded nul characters. add tests (practicalswift)
|
||||
- #17823 scripts: Read suspicious hosts from a file instead of hardcoding (sanjaykdragon)
|
||||
- #18162 util: Avoid potential uninitialized read in `formatiso8601datetime(int64_t)` by checking `gmtime_s`/`gmtime_r` return value (practicalswift)
|
||||
- #18167 Fix a violation of C++ standard rules where unions are used for type-punning (TheQuantumPhysicist)
|
||||
- #18225 util: Fail to parse empty string in parsemoney (MarcoFalke)
|
||||
- #18270 util: Fail to parse whitespace-only strings in parsemoney(…) (instead of parsing as zero) (practicalswift)
|
||||
- #18316 util: Helpexamplerpc formatting (jonatack)
|
||||
- #18357 Fix missing header in sync.h (promag)
|
||||
- #18412 script: Fix `script_err_sig_pushonly` error string (theStack)
|
||||
- #18416 util: Limit decimal range of numbers parsescript accepts (pierreN)
|
||||
- #18503 init: Replace `URL_WEBSITE` with `PACKAGE_URL` (MarcoFalke)
|
||||
- #18526 Remove PID file at the very end (hebasto)
|
||||
- #18553 Avoid non-trivial global constants in SHA-NI code (sipa)
|
||||
- #18665 Do not expose and consider `-logthreadnames` when it does not work (hebasto)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- 0xb10c
|
||||
- 251
|
||||
- 4d55397500
|
||||
- Aaron Clauson
|
||||
- Adam Jonas
|
||||
- Albert
|
||||
- Amiti Uttarwar
|
||||
- Andrew Chow
|
||||
- Andrew Toth
|
||||
- Anthony Towns
|
||||
- Antoine Riard
|
||||
- Ava Barron
|
||||
- Ben Carman
|
||||
- Ben Woosley
|
||||
- Block Mechanic
|
||||
- Brian Solon
|
||||
- Bushstar
|
||||
- Carl Dong
|
||||
- Carnhof Daki
|
||||
- Cory Fields
|
||||
- Daki Carnhof
|
||||
- Dan Gershony
|
||||
- Daniel Kraft
|
||||
- dannmat
|
||||
- Danny-Scott
|
||||
- darosior
|
||||
- David O'Callaghan
|
||||
- Dominik Spicher
|
||||
- Elichai Turkel
|
||||
- Emil Engler
|
||||
- emu
|
||||
- Fabian Jahr
|
||||
- fanquake
|
||||
- Filip Gospodinov
|
||||
- Franck Royer
|
||||
- Gastón I. Silva
|
||||
- gchuf
|
||||
- Gleb Naumenko
|
||||
- Gloria Zhao
|
||||
- glowang
|
||||
- Gr0kchain
|
||||
- Gregory Sanders
|
||||
- hackerrdave
|
||||
- Harris
|
||||
- hel0
|
||||
- Hennadii Stepanov
|
||||
- ianliu
|
||||
- Igor Cota
|
||||
- James Chiang
|
||||
- James O'Beirne
|
||||
- Jan Beich
|
||||
- Jan Sarenik
|
||||
- Jeffrey Czyz
|
||||
- Jeremy Rubin
|
||||
- JeremyCrookshank
|
||||
- Jim Posen
|
||||
- John Bampton
|
||||
- John L. Jegutanis
|
||||
- John Newbery
|
||||
- Jon Atack
|
||||
- Jon Layton
|
||||
- Jonas Schnelli
|
||||
- João Barbosa
|
||||
- Jorge Timón
|
||||
- Karl-Johan Alm
|
||||
- kodslav
|
||||
- Larry Ruane
|
||||
- Luke Dashjr
|
||||
- malevolent
|
||||
- MapleLaker
|
||||
- marcaiaf
|
||||
- MarcoFalke
|
||||
- Marius Kjærstad
|
||||
- Mark Erhardt
|
||||
- Mark Tyneway
|
||||
- Martin Erlandsson
|
||||
- Martin Zumsande
|
||||
- Matt Corallo
|
||||
- Matt Ward
|
||||
- Michael Folkson
|
||||
- Michael Polzer
|
||||
- Micky Yun Chan
|
||||
- Neha Narula
|
||||
- nijynot
|
||||
- naumenkogs
|
||||
- NullFunctor
|
||||
- Peter Bushnell
|
||||
- pierrenn
|
||||
- Pieter Wuille
|
||||
- practicalswift
|
||||
- randymcmillan
|
||||
- Rjected
|
||||
- Russell Yanofsky
|
||||
- Samer Afach
|
||||
- Samuel Dobson
|
||||
- Sanjay K
|
||||
- Sebastian Falbesoner
|
||||
- setpill
|
||||
- Sjors Provoost
|
||||
- Stefan Richter
|
||||
- stefanwouldgo
|
||||
- Steven Roose
|
||||
- Suhas Daftuar
|
||||
- Suriyaa Sundararuban
|
||||
- TheCharlatan
|
||||
- Tim Akinbo
|
||||
- Travin Keith
|
||||
- tryphe
|
||||
- Vasil Dimov
|
||||
- Willy Ko
|
||||
- Wilson Ccasihue S
|
||||
- Wladimir J. van der Laan
|
||||
- Yahia Chiheb
|
||||
- Yancy Ribbens
|
||||
- Yusuf Sahin HAMZA
|
||||
- Zakk
|
||||
- Zero
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
158
doc/release-notes/release-notes-0.20.1.md
Normal file
158
doc/release-notes/release-notes-0.20.1.md
Normal file
@@ -0,0 +1,158 @@
|
||||
0.20.1 Release Notes
|
||||
====================
|
||||
|
||||
Bitcoin Core version 0.20.1 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.20.1/>
|
||||
|
||||
This minor 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 Mac)
|
||||
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 extensively tested on operating systems
|
||||
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. 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.
|
||||
|
||||
From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
Known Bugs
|
||||
==========
|
||||
|
||||
The process for generating the source code release ("tarball") has changed in an
|
||||
effort to make it more complete, however, there are a few regressions in
|
||||
this release:
|
||||
|
||||
- The generated `configure` script is currently missing, and you will need to
|
||||
install autotools and run `./autogen.sh` before you can run
|
||||
`./configure`. This is the same as when checking out from git.
|
||||
|
||||
- Instead of running `make` simply, you should instead run
|
||||
`BITCOIN_GENBUILD_NO_GIT=1 make`.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Changes regarding misbehaving peers
|
||||
-----------------------------------
|
||||
|
||||
Peers that misbehave (e.g. send us invalid blocks) are now referred to as
|
||||
discouraged nodes in log output, as they're not (and weren't) strictly banned:
|
||||
incoming connections are still allowed from them, but they're preferred for
|
||||
eviction.
|
||||
|
||||
Furthermore, a few additional changes are introduced to how discouraged
|
||||
addresses are treated:
|
||||
|
||||
- Discouraging an address does not time out automatically after 24 hours
|
||||
(or the `-bantime` setting). Depending on traffic from other peers,
|
||||
discouragement may time out at an indeterminate time.
|
||||
|
||||
- Discouragement is not persisted over restarts.
|
||||
|
||||
- There is no method to list discouraged addresses. They are not returned by
|
||||
the `listbanned` RPC. That RPC also no longer reports the `ban_reason`
|
||||
field, as `"manually added"` is the only remaining option.
|
||||
|
||||
- Discouragement cannot be removed with the `setban remove` RPC command.
|
||||
If you need to remove a discouragement, you can remove all discouragements by
|
||||
stop-starting your node.
|
||||
|
||||
Notification changes
|
||||
--------------------
|
||||
|
||||
`-walletnotify` notifications are now sent for wallet transactions that are
|
||||
removed from the mempool because they conflict with a new block. These
|
||||
notifications were sent previously before the v0.19 release, but had been
|
||||
broken since that release (bug
|
||||
[#18325](https://github.com/bitcoin/bitcoin/issues/18325)).
|
||||
|
||||
PSBT changes
|
||||
------------
|
||||
|
||||
PSBTs will contain both the non-witness utxo and the witness utxo for segwit
|
||||
inputs in order to restore compatibility with wallet software that are now
|
||||
requiring the full previous transaction for segwit inputs. The witness utxo
|
||||
is still provided to maintain compatibility with software which relied on its
|
||||
existence to determine whether an input was segwit.
|
||||
|
||||
0.20.1 change log
|
||||
=================
|
||||
|
||||
### Mining
|
||||
- #19019 Fix GBT: Restore "!segwit" and "csv" to "rules" key (luke-jr)
|
||||
|
||||
### P2P protocol and network code
|
||||
- #19219 Replace automatic bans with discouragement filter (sipa)
|
||||
|
||||
### Wallet
|
||||
- #19300 Handle concurrent wallet loading (promag)
|
||||
- #18982 Minimal fix to restore conflicted transaction notifications (ryanofsky)
|
||||
|
||||
### RPC and other APIs
|
||||
- #19524 Increment input value sum only once per UTXO in decodepsbt (fanquake)
|
||||
- #19517 psbt: Increment input value sum only once per UTXO in decodepsbt (achow101)
|
||||
- #19215 psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs (achow101)
|
||||
|
||||
### GUI
|
||||
- #19097 Add missing QPainterPath include (achow101)
|
||||
- #19059 update Qt base translations for macOS release (fanquake)
|
||||
|
||||
### Build system
|
||||
- #19152 improve build OS configure output (skmcontrib)
|
||||
- #19536 qt, build: Fix QFileDialog for static builds (hebasto)
|
||||
|
||||
### Tests and QA
|
||||
- #19444 Remove cached directories and associated script blocks from appveyor config (sipsorcery)
|
||||
- #18640 appveyor: Remove clcache (MarcoFalke)
|
||||
|
||||
### Miscellaneous
|
||||
- #19194 util: Don't reference errno when pthread fails (miztake)
|
||||
- #18700 Fix locking on WSL using flock instead of fcntl (meshcollider)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Aaron Clauson
|
||||
- Andrew Chow
|
||||
- fanquake
|
||||
- Hennadii Stepanov
|
||||
- João Barbosa
|
||||
- Luke Dashjr
|
||||
- MarcoFalke
|
||||
- MIZUTA Takeshi
|
||||
- Pieter Wuille
|
||||
- Russell Yanofsky
|
||||
- sachinkm77
|
||||
- Samuel Dobson
|
||||
- Wladimir J. van der Laan
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
@@ -1,19 +1,21 @@
|
||||
QT_TS = \
|
||||
qt/locale/bitcoin_ach.ts \
|
||||
qt/locale/bitcoin_af.ts \
|
||||
qt/locale/bitcoin_am.ts \
|
||||
qt/locale/bitcoin_ar.ts \
|
||||
qt/locale/bitcoin_az.ts \
|
||||
qt/locale/bitcoin_be.ts \
|
||||
qt/locale/bitcoin_bg.ts \
|
||||
qt/locale/bitcoin_bn.ts \
|
||||
qt/locale/bitcoin_bs.ts \
|
||||
qt/locale/bitcoin_ca.ts \
|
||||
qt/locale/bitcoin_cmn.ts \
|
||||
qt/locale/bitcoin_cs.ts \
|
||||
qt/locale/bitcoin_cy.ts \
|
||||
qt/locale/bitcoin_da.ts \
|
||||
qt/locale/bitcoin_de.ts \
|
||||
qt/locale/bitcoin_el.ts \
|
||||
qt/locale/bitcoin_en.ts \
|
||||
qt/locale/bitcoin_en_GB.ts \
|
||||
qt/locale/bitcoin_eo.ts \
|
||||
qt/locale/bitcoin_es.ts \
|
||||
qt/locale/bitcoin_es_CL.ts \
|
||||
@@ -27,6 +29,10 @@ QT_TS = \
|
||||
qt/locale/bitcoin_fi.ts \
|
||||
qt/locale/bitcoin_fil.ts \
|
||||
qt/locale/bitcoin_fr.ts \
|
||||
qt/locale/bitcoin_ga.ts \
|
||||
qt/locale/bitcoin_gd.ts \
|
||||
qt/locale/bitcoin_gl_ES.ts \
|
||||
qt/locale/bitcoin_gu.ts \
|
||||
qt/locale/bitcoin_he.ts \
|
||||
qt/locale/bitcoin_hi.ts \
|
||||
qt/locale/bitcoin_hr.ts \
|
||||
@@ -37,6 +43,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_ja.ts \
|
||||
qt/locale/bitcoin_ka.ts \
|
||||
qt/locale/bitcoin_kk.ts \
|
||||
qt/locale/bitcoin_kl.ts \
|
||||
qt/locale/bitcoin_km.ts \
|
||||
qt/locale/bitcoin_ko.ts \
|
||||
qt/locale/bitcoin_ku_IQ.ts \
|
||||
@@ -53,12 +60,14 @@ QT_TS = \
|
||||
qt/locale/bitcoin_nb.ts \
|
||||
qt/locale/bitcoin_ne.ts \
|
||||
qt/locale/bitcoin_nl.ts \
|
||||
qt/locale/bitcoin_no.ts \
|
||||
qt/locale/bitcoin_pam.ts \
|
||||
qt/locale/bitcoin_pl.ts \
|
||||
qt/locale/bitcoin_pt.ts \
|
||||
qt/locale/bitcoin_pt_BR.ts \
|
||||
qt/locale/bitcoin_ro.ts \
|
||||
qt/locale/bitcoin_ru.ts \
|
||||
qt/locale/bitcoin_sc.ts \
|
||||
qt/locale/bitcoin_si.ts \
|
||||
qt/locale/bitcoin_sk.ts \
|
||||
qt/locale/bitcoin_sl.ts \
|
||||
@@ -72,6 +81,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_te.ts \
|
||||
qt/locale/bitcoin_th.ts \
|
||||
qt/locale/bitcoin_tr.ts \
|
||||
qt/locale/bitcoin_ug.ts \
|
||||
qt/locale/bitcoin_uk.ts \
|
||||
qt/locale/bitcoin_ur.ts \
|
||||
qt/locale/bitcoin_uz@Cyrl.ts \
|
||||
@@ -82,4 +92,5 @@ QT_TS = \
|
||||
qt/locale/bitcoin_zh.ts \
|
||||
qt/locale/bitcoin_zh_CN.ts \
|
||||
qt/locale/bitcoin_zh_HK.ts \
|
||||
qt/locale/bitcoin_zh_TW.ts
|
||||
qt/locale/bitcoin_zh_TW.ts \
|
||||
qt/locale/bitcoin_zu.ts
|
||||
|
||||
@@ -104,8 +104,6 @@ FUZZ_TARGETS = \
|
||||
test/fuzz/script \
|
||||
test/fuzz/script_deserialize \
|
||||
test/fuzz/script_flags \
|
||||
test/fuzz/script_ops \
|
||||
test/fuzz/scriptnum_ops \
|
||||
test/fuzz/service_deserialize \
|
||||
test/fuzz/signature_checker \
|
||||
test/fuzz/snapshotmetadata_deserialize \
|
||||
@@ -893,17 +891,18 @@ test_fuzz_script_flags_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
test_fuzz_script_flags_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
|
||||
test_fuzz_script_flags_SOURCES = test/fuzz/script_flags.cpp
|
||||
|
||||
test_fuzz_script_ops_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
test_fuzz_script_ops_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
test_fuzz_script_ops_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
test_fuzz_script_ops_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
|
||||
test_fuzz_script_ops_SOURCES = test/fuzz/script_ops.cpp
|
||||
# Disabled for now, as #18413 has not been backported.
|
||||
# test_fuzz_script_ops_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
# test_fuzz_script_ops_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
# test_fuzz_script_ops_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
# test_fuzz_script_ops_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
|
||||
# test_fuzz_script_ops_SOURCES = test/fuzz/script_ops.cpp
|
||||
|
||||
test_fuzz_scriptnum_ops_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
test_fuzz_scriptnum_ops_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
test_fuzz_scriptnum_ops_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
test_fuzz_scriptnum_ops_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
|
||||
test_fuzz_scriptnum_ops_SOURCES = test/fuzz/scriptnum_ops.cpp
|
||||
# test_fuzz_scriptnum_ops_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
# test_fuzz_scriptnum_ops_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
# test_fuzz_scriptnum_ops_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
# test_fuzz_scriptnum_ops_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
|
||||
# test_fuzz_scriptnum_ops_SOURCES = test/fuzz/scriptnum_ops.cpp
|
||||
|
||||
test_fuzz_service_deserialize_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -DSERVICE_DESERIALIZE=1
|
||||
test_fuzz_service_deserialize_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
|
||||
28
src/addrdb.h
28
src/addrdb.h
@@ -17,13 +17,6 @@ class CSubNet;
|
||||
class CAddrMan;
|
||||
class CDataStream;
|
||||
|
||||
typedef enum BanReason
|
||||
{
|
||||
BanReasonUnknown = 0,
|
||||
BanReasonNodeMisbehaving = 1,
|
||||
BanReasonManuallyAdded = 2
|
||||
} BanReason;
|
||||
|
||||
class CBanEntry
|
||||
{
|
||||
public:
|
||||
@@ -31,7 +24,6 @@ public:
|
||||
int nVersion;
|
||||
int64_t nCreateTime;
|
||||
int64_t nBanUntil;
|
||||
uint8_t banReason;
|
||||
|
||||
CBanEntry()
|
||||
{
|
||||
@@ -44,31 +36,17 @@ public:
|
||||
nCreateTime = nCreateTimeIn;
|
||||
}
|
||||
|
||||
explicit CBanEntry(int64_t n_create_time_in, BanReason ban_reason_in) : CBanEntry(n_create_time_in)
|
||||
SERIALIZE_METHODS(CBanEntry, obj)
|
||||
{
|
||||
banReason = ban_reason_in;
|
||||
uint8_t ban_reason = 2; //! For backward compatibility
|
||||
READWRITE(obj.nVersion, obj.nCreateTime, obj.nBanUntil, ban_reason);
|
||||
}
|
||||
|
||||
SERIALIZE_METHODS(CBanEntry, obj) { READWRITE(obj.nVersion, obj.nCreateTime, obj.nBanUntil, obj.banReason); }
|
||||
|
||||
void SetNull()
|
||||
{
|
||||
nVersion = CBanEntry::CURRENT_VERSION;
|
||||
nCreateTime = 0;
|
||||
nBanUntil = 0;
|
||||
banReason = BanReasonUnknown;
|
||||
}
|
||||
|
||||
std::string banReasonToString() const
|
||||
{
|
||||
switch (banReason) {
|
||||
case BanReasonNodeMisbehaving:
|
||||
return "node misbehaving";
|
||||
case BanReasonManuallyAdded:
|
||||
return "manually added";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -68,28 +68,13 @@ void BanMan::ClearBanned()
|
||||
if (m_client_interface) m_client_interface->BannedListChanged();
|
||||
}
|
||||
|
||||
int BanMan::IsBannedLevel(CNetAddr net_addr)
|
||||
bool BanMan::IsDiscouraged(const CNetAddr& net_addr)
|
||||
{
|
||||
// Returns the most severe level of banning that applies to this address.
|
||||
// 0 - Not banned
|
||||
// 1 - Automatic misbehavior ban
|
||||
// 2 - Any other ban
|
||||
int level = 0;
|
||||
auto current_time = GetTime();
|
||||
LOCK(m_cs_banned);
|
||||
for (const auto& it : m_banned) {
|
||||
CSubNet sub_net = it.first;
|
||||
CBanEntry ban_entry = it.second;
|
||||
|
||||
if (current_time < ban_entry.nBanUntil && sub_net.Match(net_addr)) {
|
||||
if (ban_entry.banReason != BanReasonNodeMisbehaving) return 2;
|
||||
level = 1;
|
||||
}
|
||||
}
|
||||
return level;
|
||||
return m_discouraged.contains(net_addr.GetAddrBytes());
|
||||
}
|
||||
|
||||
bool BanMan::IsBanned(CNetAddr net_addr)
|
||||
bool BanMan::IsBanned(const CNetAddr& net_addr)
|
||||
{
|
||||
auto current_time = GetTime();
|
||||
LOCK(m_cs_banned);
|
||||
@@ -104,7 +89,7 @@ bool BanMan::IsBanned(CNetAddr net_addr)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool BanMan::IsBanned(CSubNet sub_net)
|
||||
bool BanMan::IsBanned(const CSubNet& sub_net)
|
||||
{
|
||||
auto current_time = GetTime();
|
||||
LOCK(m_cs_banned);
|
||||
@@ -118,15 +103,21 @@ bool BanMan::IsBanned(CSubNet sub_net)
|
||||
return false;
|
||||
}
|
||||
|
||||
void BanMan::Ban(const CNetAddr& net_addr, const BanReason& ban_reason, int64_t ban_time_offset, bool since_unix_epoch)
|
||||
void BanMan::Ban(const CNetAddr& net_addr, int64_t ban_time_offset, bool since_unix_epoch)
|
||||
{
|
||||
CSubNet sub_net(net_addr);
|
||||
Ban(sub_net, ban_reason, ban_time_offset, since_unix_epoch);
|
||||
Ban(sub_net, ban_time_offset, since_unix_epoch);
|
||||
}
|
||||
|
||||
void BanMan::Ban(const CSubNet& sub_net, const BanReason& ban_reason, int64_t ban_time_offset, bool since_unix_epoch)
|
||||
void BanMan::Discourage(const CNetAddr& net_addr)
|
||||
{
|
||||
CBanEntry ban_entry(GetTime(), ban_reason);
|
||||
LOCK(m_cs_banned);
|
||||
m_discouraged.insert(net_addr.GetAddrBytes());
|
||||
}
|
||||
|
||||
void BanMan::Ban(const CSubNet& sub_net, int64_t ban_time_offset, bool since_unix_epoch)
|
||||
{
|
||||
CBanEntry ban_entry(GetTime());
|
||||
|
||||
int64_t normalized_ban_time_offset = ban_time_offset;
|
||||
bool normalized_since_unix_epoch = since_unix_epoch;
|
||||
@@ -146,8 +137,8 @@ void BanMan::Ban(const CSubNet& sub_net, const BanReason& ban_reason, int64_t ba
|
||||
}
|
||||
if (m_client_interface) m_client_interface->BannedListChanged();
|
||||
|
||||
//store banlist to disk immediately if user requested ban
|
||||
if (ban_reason == BanReasonManuallyAdded) DumpBanlist();
|
||||
//store banlist to disk immediately
|
||||
DumpBanlist();
|
||||
}
|
||||
|
||||
bool BanMan::Unban(const CNetAddr& net_addr)
|
||||
|
||||
63
src/banman.h
63
src/banman.h
@@ -6,6 +6,7 @@
|
||||
#define BITCOIN_BANMAN_H
|
||||
|
||||
#include <addrdb.h>
|
||||
#include <bloom.h>
|
||||
#include <fs.h>
|
||||
#include <net_types.h> // For banmap_t
|
||||
#include <sync.h>
|
||||
@@ -23,32 +24,55 @@ class CClientUIInterface;
|
||||
class CNetAddr;
|
||||
class CSubNet;
|
||||
|
||||
// Denial-of-service detection/prevention
|
||||
// The idea is to detect peers that are behaving
|
||||
// badly and disconnect/ban them, but do it in a
|
||||
// one-coding-mistake-won't-shatter-the-entire-network
|
||||
// way.
|
||||
// IMPORTANT: There should be nothing I can give a
|
||||
// node that it will forward on that will make that
|
||||
// node's peers drop it. If there is, an attacker
|
||||
// can isolate a node and/or try to split the network.
|
||||
// Dropping a node for sending stuff that is invalid
|
||||
// now but might be valid in a later version is also
|
||||
// dangerous, because it can cause a network split
|
||||
// between nodes running old code and nodes running
|
||||
// new code.
|
||||
// Banman manages two related but distinct concepts:
|
||||
//
|
||||
// 1. Banning. This is configured manually by the user, through the setban RPC.
|
||||
// If an address or subnet is banned, we never accept incoming connections from
|
||||
// it and never create outgoing connections to it. We won't gossip its address
|
||||
// to other peers in addr messages. Banned addresses and subnets are stored to
|
||||
// banlist.dat on shutdown and reloaded on startup. Banning can be used to
|
||||
// prevent connections with spy nodes or other griefers.
|
||||
//
|
||||
// 2. Discouragement. If a peer misbehaves enough (see Misbehaving() in
|
||||
// net_processing.cpp), we'll mark that address as discouraged. We still allow
|
||||
// incoming connections from them, but they're preferred for eviction when
|
||||
// we receive new incoming connections. We never make outgoing connections to
|
||||
// them, and do not gossip their address to other peers. This is implemented as
|
||||
// a bloom filter. We can (probabilistically) test for membership, but can't
|
||||
// list all discouraged addresses or unmark them as discouraged. Discouragement
|
||||
// can prevent our limited connection slots being used up by incompatible
|
||||
// or broken peers.
|
||||
//
|
||||
// Neither banning nor discouragement are protections against denial-of-service
|
||||
// attacks, since if an attacker has a way to waste our resources and we
|
||||
// disconnect from them and ban that address, it's trivial for them to
|
||||
// reconnect from another IP address.
|
||||
//
|
||||
// Attempting to automatically disconnect or ban any class of peer carries the
|
||||
// risk of splitting the network. For example, if we banned/disconnected for a
|
||||
// transaction that fails a policy check and a future version changes the
|
||||
// policy check so the transaction is accepted, then that transaction could
|
||||
// cause the network to split between old nodes and new nodes.
|
||||
|
||||
class BanMan
|
||||
{
|
||||
public:
|
||||
~BanMan();
|
||||
BanMan(fs::path ban_file, CClientUIInterface* client_interface, int64_t default_ban_time);
|
||||
void Ban(const CNetAddr& net_addr, const BanReason& ban_reason, int64_t ban_time_offset = 0, bool since_unix_epoch = false);
|
||||
void Ban(const CSubNet& sub_net, const BanReason& ban_reason, int64_t ban_time_offset = 0, bool since_unix_epoch = false);
|
||||
void Ban(const CNetAddr& net_addr, int64_t ban_time_offset = 0, bool since_unix_epoch = false);
|
||||
void Ban(const CSubNet& sub_net, int64_t ban_time_offset = 0, bool since_unix_epoch = false);
|
||||
void Discourage(const CNetAddr& net_addr);
|
||||
void ClearBanned();
|
||||
int IsBannedLevel(CNetAddr net_addr);
|
||||
bool IsBanned(CNetAddr net_addr);
|
||||
bool IsBanned(CSubNet sub_net);
|
||||
|
||||
//! Return whether net_addr is banned
|
||||
bool IsBanned(const CNetAddr& net_addr);
|
||||
|
||||
//! Return whether sub_net is exactly banned
|
||||
bool IsBanned(const CSubNet& sub_net);
|
||||
|
||||
//! Return whether net_addr is discouraged.
|
||||
bool IsDiscouraged(const CNetAddr& net_addr);
|
||||
|
||||
bool Unban(const CNetAddr& net_addr);
|
||||
bool Unban(const CSubNet& sub_net);
|
||||
void GetBanned(banmap_t& banmap);
|
||||
@@ -68,6 +92,7 @@ private:
|
||||
CClientUIInterface* m_client_interface = nullptr;
|
||||
CBanDB m_ban_db;
|
||||
const int64_t m_default_ban_time;
|
||||
CRollingBloomFilter m_discouraged GUARDED_BY(m_cs_banned) {50000, 0.000001};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2017 Pieter Wuille
|
||||
// Copyright (c) 2017, 2021 Pieter Wuille
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
@@ -7,15 +7,18 @@
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
typedef std::vector<uint8_t> data;
|
||||
|
||||
/** The Bech32 character set for encoding. */
|
||||
/** The Bech32 and Bech32m character set for encoding. */
|
||||
const char* CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
|
||||
|
||||
/** The Bech32 character set for decoding. */
|
||||
/** The Bech32 and Bech32m character set for decoding. */
|
||||
const int8_t CHARSET_REV[128] = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
@@ -27,6 +30,12 @@ const int8_t CHARSET_REV[128] = {
|
||||
1, 0, 3, 16, 11, 28, 12, 14, 6, 4, 2, -1, -1, -1, -1, -1
|
||||
};
|
||||
|
||||
/* Determine the final constant to use for the specified encoding. */
|
||||
uint32_t EncodingConstant(Encoding encoding) {
|
||||
assert(encoding == Encoding::BECH32 || encoding == Encoding::BECH32M);
|
||||
return encoding == Encoding::BECH32 ? 1 : 0x2bc830a3;
|
||||
}
|
||||
|
||||
/** This function will compute what 6 5-bit values to XOR into the last 6 input values, in order to
|
||||
* make the checksum 0. These 6 values are packed together in a single 30-bit integer. The higher
|
||||
* bits correspond to earlier values. */
|
||||
@@ -111,21 +120,24 @@ data ExpandHRP(const std::string& hrp)
|
||||
}
|
||||
|
||||
/** Verify a checksum. */
|
||||
bool VerifyChecksum(const std::string& hrp, const data& values)
|
||||
Encoding VerifyChecksum(const std::string& hrp, const data& values)
|
||||
{
|
||||
// PolyMod computes what value to xor into the final values to make the checksum 0. However,
|
||||
// if we required that the checksum was 0, it would be the case that appending a 0 to a valid
|
||||
// list of values would result in a new valid list. For that reason, Bech32 requires the
|
||||
// resulting checksum to be 1 instead.
|
||||
return PolyMod(Cat(ExpandHRP(hrp), values)) == 1;
|
||||
// resulting checksum to be 1 instead. In Bech32m, this constant was amended.
|
||||
const uint32_t check = PolyMod(Cat(ExpandHRP(hrp), values));
|
||||
if (check == EncodingConstant(Encoding::BECH32)) return Encoding::BECH32;
|
||||
if (check == EncodingConstant(Encoding::BECH32M)) return Encoding::BECH32M;
|
||||
return Encoding::INVALID;
|
||||
}
|
||||
|
||||
/** Create a checksum. */
|
||||
data CreateChecksum(const std::string& hrp, const data& values)
|
||||
data CreateChecksum(Encoding encoding, const std::string& hrp, const data& values)
|
||||
{
|
||||
data enc = Cat(ExpandHRP(hrp), values);
|
||||
enc.resize(enc.size() + 6); // Append 6 zeroes
|
||||
uint32_t mod = PolyMod(enc) ^ 1; // Determine what to XOR into those 6 zeroes.
|
||||
uint32_t mod = PolyMod(enc) ^ EncodingConstant(encoding); // Determine what to XOR into those 6 zeroes.
|
||||
data ret(6);
|
||||
for (size_t i = 0; i < 6; ++i) {
|
||||
// Convert the 5-bit groups in mod to checksum values.
|
||||
@@ -136,16 +148,13 @@ data CreateChecksum(const std::string& hrp, const data& values)
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
/** Encode a Bech32 string. */
|
||||
std::string Encode(const std::string& hrp, const data& values) {
|
||||
// First ensure that the HRP is all lowercase. BIP-173 requires an encoder
|
||||
// to return a lowercase Bech32 string, but if given an uppercase HRP, the
|
||||
/** Encode a Bech32 or Bech32m string. */
|
||||
std::string Encode(Encoding encoding, const std::string& hrp, const data& values) {
|
||||
// First ensure that the HRP is all lowercase. BIP-173 and BIP350 require an encoder
|
||||
// to return a lowercase Bech32/Bech32m string, but if given an uppercase HRP, the
|
||||
// result will always be invalid.
|
||||
for (const char& c : hrp) assert(c < 'A' || c > 'Z');
|
||||
data checksum = CreateChecksum(hrp, values);
|
||||
data checksum = CreateChecksum(encoding, hrp, values);
|
||||
data combined = Cat(values, checksum);
|
||||
std::string ret = hrp + '1';
|
||||
ret.reserve(ret.size() + combined.size());
|
||||
@@ -155,8 +164,8 @@ std::string Encode(const std::string& hrp, const data& values) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Decode a Bech32 string. */
|
||||
std::pair<std::string, data> Decode(const std::string& str) {
|
||||
/** Decode a Bech32 or Bech32m string. */
|
||||
DecodeResult Decode(const std::string& str) {
|
||||
bool lower = false, upper = false;
|
||||
for (size_t i = 0; i < str.size(); ++i) {
|
||||
unsigned char c = str[i];
|
||||
@@ -183,10 +192,9 @@ std::pair<std::string, data> Decode(const std::string& str) {
|
||||
for (size_t i = 0; i < pos; ++i) {
|
||||
hrp += LowerCase(str[i]);
|
||||
}
|
||||
if (!VerifyChecksum(hrp, values)) {
|
||||
return {};
|
||||
}
|
||||
return {hrp, data(values.begin(), values.end() - 6)};
|
||||
Encoding result = VerifyChecksum(hrp, values);
|
||||
if (result == Encoding::INVALID) return {};
|
||||
return {result, std::move(hrp), data(values.begin(), values.end() - 6)};
|
||||
}
|
||||
|
||||
} // namespace bech32
|
||||
|
||||
39
src/bech32.h
39
src/bech32.h
@@ -1,13 +1,14 @@
|
||||
// Copyright (c) 2017 Pieter Wuille
|
||||
// Copyright (c) 2017, 2021 Pieter Wuille
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
// Bech32 is a string encoding format used in newer address types.
|
||||
// The output consists of a human-readable part (alphanumeric), a
|
||||
// separator character (1), and a base32 data section, the last
|
||||
// 6 characters of which are a checksum.
|
||||
// Bech32 and Bech32m are string encoding formats used in newer
|
||||
// address types. The outputs consist of a human-readable part
|
||||
// (alphanumeric), a separator character (1), and a base32 data
|
||||
// section, the last 6 characters of which are a checksum. The
|
||||
// module is namespaced under bech32 for historical reasons.
|
||||
//
|
||||
// For more information, see BIP 173.
|
||||
// For more information, see BIP 173 and BIP 350.
|
||||
|
||||
#ifndef BITCOIN_BECH32_H
|
||||
#define BITCOIN_BECH32_H
|
||||
@@ -19,11 +20,29 @@
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
/** Encode a Bech32 string. If hrp contains uppercase characters, this will cause an assertion error. */
|
||||
std::string Encode(const std::string& hrp, const std::vector<uint8_t>& values);
|
||||
enum class Encoding {
|
||||
INVALID, //!< Failed decoding
|
||||
|
||||
/** Decode a Bech32 string. Returns (hrp, data). Empty hrp means failure. */
|
||||
std::pair<std::string, std::vector<uint8_t>> Decode(const std::string& str);
|
||||
BECH32, //!< Bech32 encoding as defined in BIP173
|
||||
BECH32M, //!< Bech32m encoding as defined in BIP350
|
||||
};
|
||||
|
||||
/** Encode a Bech32 or Bech32m string. If hrp contains uppercase characters, this will cause an
|
||||
* assertion error. Encoding must be one of BECH32 or BECH32M. */
|
||||
std::string Encode(Encoding encoding, const std::string& hrp, const std::vector<uint8_t>& values);
|
||||
|
||||
struct DecodeResult
|
||||
{
|
||||
Encoding encoding; //!< What encoding was detected in the result; Encoding::INVALID if failed.
|
||||
std::string hrp; //!< The human readable part
|
||||
std::vector<uint8_t> data; //!< The payload (excluding checksum)
|
||||
|
||||
DecodeResult() : encoding(Encoding::INVALID) {}
|
||||
DecodeResult(Encoding enc, std::string&& h, std::vector<uint8_t>&& d) : encoding(enc), hrp(std::move(h)), data(std::move(d)) {}
|
||||
};
|
||||
|
||||
/** Decode a Bech32 or Bech32m string. */
|
||||
DecodeResult Decode(const std::string& str);
|
||||
|
||||
} // namespace bech32
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ static void Bech32Encode(benchmark::State& state)
|
||||
tmp.reserve(1 + 32 * 8 / 5);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { tmp.push_back(c); }, v.begin(), v.end());
|
||||
while (state.KeepRunning()) {
|
||||
bech32::Encode("bc", tmp);
|
||||
bech32::Encode(bech32::Encoding::BECH32, "bc", tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -545,11 +545,19 @@ static int CommandLineRPC(int argc, char *argv[])
|
||||
return nRet;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
#ifdef WIN32
|
||||
// Export main() and ensure working ASLR on Windows.
|
||||
// Exporting a symbol will prevent the linker from stripping
|
||||
// the .reloc section from the binary, which is a requirement
|
||||
// for ASLR. This is a temporary workaround until a fixed
|
||||
// version of binutils is used for releases.
|
||||
__declspec(dllexport) int main(int argc, char* argv[])
|
||||
{
|
||||
util::WinCmdLineArgs winArgs;
|
||||
std::tie(argc, argv) = winArgs.get();
|
||||
#else
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
#endif
|
||||
SetupEnvironment();
|
||||
if (!SetupNetworking()) {
|
||||
|
||||
@@ -26,7 +26,8 @@ enum class TxValidationResult {
|
||||
* is uninteresting.
|
||||
*/
|
||||
TX_RECENT_CONSENSUS_CHANGE,
|
||||
TX_NOT_STANDARD, //!< didn't meet our local policy rules
|
||||
TX_INPUTS_NOT_STANDARD, //!< inputs (covered by txid) failed policy rules
|
||||
TX_NOT_STANDARD, //!< otherwise didn't meet our local policy rules
|
||||
TX_MISSING_INPUTS, //!< transaction was missing some of its inputs
|
||||
TX_PREMATURE_SPEND, //!< transaction spends a coinbase too early, or violates locktime/sequence locks
|
||||
/**
|
||||
|
||||
@@ -11,13 +11,11 @@
|
||||
#include <stdint.h>
|
||||
#include <immintrin.h>
|
||||
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
const __m128i MASK = _mm_set_epi64x(0x0c0d0e0f08090a0bULL, 0x0405060700010203ULL);
|
||||
const __m128i INIT0 = _mm_set_epi64x(0x6a09e667bb67ae85ull, 0x510e527f9b05688cull);
|
||||
const __m128i INIT1 = _mm_set_epi64x(0x3c6ef372a54ff53aull, 0x1f83d9ab5be0cd19ull);
|
||||
alignas(__m128i) const uint8_t MASK[16] = {0x03, 0x02, 0x01, 0x00, 0x07, 0x06, 0x05, 0x04, 0x0b, 0x0a, 0x09, 0x08, 0x0f, 0x0e, 0x0d, 0x0c};
|
||||
alignas(__m128i) const uint8_t INIT0[16] = {0x8c, 0x68, 0x05, 0x9b, 0x7f, 0x52, 0x0e, 0x51, 0x85, 0xae, 0x67, 0xbb, 0x67, 0xe6, 0x09, 0x6a};
|
||||
alignas(__m128i) const uint8_t INIT1[16] = {0x19, 0xcd, 0xe0, 0x5b, 0xab, 0xd9, 0x83, 0x1f, 0x3a, 0xf5, 0x4f, 0xa5, 0x72, 0xf3, 0x6e, 0x3c};
|
||||
|
||||
void inline __attribute__((always_inline)) QuadRound(__m128i& state0, __m128i& state1, uint64_t k1, uint64_t k0)
|
||||
{
|
||||
@@ -67,12 +65,12 @@ void inline __attribute__((always_inline)) Unshuffle(__m128i& s0, __m128i& s1)
|
||||
|
||||
__m128i inline __attribute__((always_inline)) Load(const unsigned char* in)
|
||||
{
|
||||
return _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)in), MASK);
|
||||
return _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)in), _mm_load_si128((const __m128i*)MASK));
|
||||
}
|
||||
|
||||
void inline __attribute__((always_inline)) Save(unsigned char* out, __m128i s)
|
||||
{
|
||||
_mm_storeu_si128((__m128i*)out, _mm_shuffle_epi8(s, MASK));
|
||||
_mm_storeu_si128((__m128i*)out, _mm_shuffle_epi8(s, _mm_load_si128((const __m128i*)MASK)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,8 +147,8 @@ void Transform_2way(unsigned char* out, const unsigned char* in)
|
||||
__m128i bm0, bm1, bm2, bm3, bs0, bs1, bso0, bso1;
|
||||
|
||||
/* Transform 1 */
|
||||
bs0 = as0 = INIT0;
|
||||
bs1 = as1 = INIT1;
|
||||
bs0 = as0 = _mm_load_si128((const __m128i*)INIT0);
|
||||
bs1 = as1 = _mm_load_si128((const __m128i*)INIT1);
|
||||
am0 = Load(in);
|
||||
bm0 = Load(in + 64);
|
||||
QuadRound(as0, as1, am0, 0xe9b5dba5b5c0fbcfull, 0x71374491428a2f98ull);
|
||||
@@ -219,10 +217,10 @@ void Transform_2way(unsigned char* out, const unsigned char* in)
|
||||
ShiftMessageC(bm1, bm2, bm3);
|
||||
QuadRound(as0, as1, am3, 0xc67178f2bef9A3f7ull, 0xa4506ceb90befffaull);
|
||||
QuadRound(bs0, bs1, bm3, 0xc67178f2bef9A3f7ull, 0xa4506ceb90befffaull);
|
||||
as0 = _mm_add_epi32(as0, INIT0);
|
||||
bs0 = _mm_add_epi32(bs0, INIT0);
|
||||
as1 = _mm_add_epi32(as1, INIT1);
|
||||
bs1 = _mm_add_epi32(bs1, INIT1);
|
||||
as0 = _mm_add_epi32(as0, _mm_load_si128((const __m128i*)INIT0));
|
||||
bs0 = _mm_add_epi32(bs0, _mm_load_si128((const __m128i*)INIT0));
|
||||
as1 = _mm_add_epi32(as1, _mm_load_si128((const __m128i*)INIT1));
|
||||
bs1 = _mm_add_epi32(bs1, _mm_load_si128((const __m128i*)INIT1));
|
||||
|
||||
/* Transform 2 */
|
||||
aso0 = as0;
|
||||
@@ -275,8 +273,8 @@ void Transform_2way(unsigned char* out, const unsigned char* in)
|
||||
bm1 = bs1;
|
||||
|
||||
/* Transform 3 */
|
||||
bs0 = as0 = INIT0;
|
||||
bs1 = as1 = INIT1;
|
||||
bs0 = as0 = _mm_load_si128((const __m128i*)INIT0);
|
||||
bs1 = as1 = _mm_load_si128((const __m128i*)INIT1);
|
||||
QuadRound(as0, as1, am0, 0xe9b5dba5B5c0fbcfull, 0x71374491428a2f98ull);
|
||||
QuadRound(bs0, bs1, bm0, 0xe9b5dba5B5c0fbcfull, 0x71374491428a2f98ull);
|
||||
QuadRound(as0, as1, am1, 0xab1c5ed5923f82a4ull, 0x59f111f13956c25bull);
|
||||
@@ -339,10 +337,10 @@ void Transform_2way(unsigned char* out, const unsigned char* in)
|
||||
ShiftMessageC(bm1, bm2, bm3);
|
||||
QuadRound(as0, as1, am3, 0xc67178f2bef9a3f7ull, 0xa4506ceb90befffaull);
|
||||
QuadRound(bs0, bs1, bm3, 0xc67178f2bef9a3f7ull, 0xa4506ceb90befffaull);
|
||||
as0 = _mm_add_epi32(as0, INIT0);
|
||||
bs0 = _mm_add_epi32(bs0, INIT0);
|
||||
as1 = _mm_add_epi32(as1, INIT1);
|
||||
bs1 = _mm_add_epi32(bs1, INIT1);
|
||||
as0 = _mm_add_epi32(as0, _mm_load_si128((const __m128i*)INIT0));
|
||||
bs0 = _mm_add_epi32(bs0, _mm_load_si128((const __m128i*)INIT0));
|
||||
as1 = _mm_add_epi32(as1, _mm_load_si128((const __m128i*)INIT1));
|
||||
bs1 = _mm_add_epi32(bs1, _mm_load_si128((const __m128i*)INIT1));
|
||||
|
||||
/* Extract hash into out */
|
||||
Unshuffle(as0, as1);
|
||||
|
||||
37
src/fs.cpp
37
src/fs.cpp
@@ -6,6 +6,9 @@
|
||||
|
||||
#ifndef WIN32
|
||||
#include <fcntl.h>
|
||||
#include <string>
|
||||
#include <sys/file.h>
|
||||
#include <sys/utsname.h>
|
||||
#else
|
||||
#ifndef NOMINMAX
|
||||
#define NOMINMAX
|
||||
@@ -47,20 +50,38 @@ FileLock::~FileLock()
|
||||
}
|
||||
}
|
||||
|
||||
static bool IsWSL()
|
||||
{
|
||||
struct utsname uname_data;
|
||||
return uname(&uname_data) == 0 && std::string(uname_data.version).find("Microsoft") != std::string::npos;
|
||||
}
|
||||
|
||||
bool FileLock::TryLock()
|
||||
{
|
||||
if (fd == -1) {
|
||||
return false;
|
||||
}
|
||||
struct flock lock;
|
||||
lock.l_type = F_WRLCK;
|
||||
lock.l_whence = SEEK_SET;
|
||||
lock.l_start = 0;
|
||||
lock.l_len = 0;
|
||||
if (fcntl(fd, F_SETLK, &lock) == -1) {
|
||||
reason = GetErrorReason();
|
||||
return false;
|
||||
|
||||
// Exclusive file locking is broken on WSL using fcntl (issue #18622)
|
||||
// This workaround can be removed once the bug on WSL is fixed
|
||||
static const bool is_wsl = IsWSL();
|
||||
if (is_wsl) {
|
||||
if (flock(fd, LOCK_EX | LOCK_NB) == -1) {
|
||||
reason = GetErrorReason();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
struct flock lock;
|
||||
lock.l_type = F_WRLCK;
|
||||
lock.l_whence = SEEK_SET;
|
||||
lock.l_start = 0;
|
||||
lock.l_len = 0;
|
||||
if (fcntl(fd, F_SETLK, &lock) == -1) {
|
||||
reason = GetErrorReason();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
|
||||
17
src/init.cpp
17
src/init.cpp
@@ -49,6 +49,7 @@
|
||||
#include <ui_interface.h>
|
||||
#include <util/asmap.h>
|
||||
#include <util/moneystr.h>
|
||||
#include <util/string.h>
|
||||
#include <util/system.h>
|
||||
#include <util/threadnames.h>
|
||||
#include <util/translation.h>
|
||||
@@ -422,8 +423,8 @@ void SetupServerArgs()
|
||||
|
||||
gArgs.AddArg("-addnode=<ip>", "Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info). This option can be specified multiple times to add multiple nodes.", ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-asmap=<file>", strprintf("Specify asn mapping used for bucketing of the peers (default: %s). Relative paths will be prefixed by the net-specific datadir location.", DEFAULT_ASMAP_FILENAME), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-banscore=<n>", strprintf("Threshold for disconnecting misbehaving peers (default: %u)", DEFAULT_BANSCORE_THRESHOLD), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-bantime=<n>", strprintf("Number of seconds to keep misbehaving peers from reconnecting (default: %u)", DEFAULT_MISBEHAVING_BANTIME), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-banscore=<n>", strprintf("Threshold for disconnecting and discouraging misbehaving peers (default: %u)", DEFAULT_BANSCORE_THRESHOLD), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-bantime=<n>", strprintf("Default duration (in seconds) of manually configured bans (default: %u)", DEFAULT_MISBEHAVING_BANTIME), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-bind=<addr>", "Bind to given address and always listen on it. Use [host]:port notation for IPv6", ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-connect=<ip>", "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.", ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
|
||||
gArgs.AddArg("-discover", "Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
@@ -460,11 +461,7 @@ void SetupServerArgs()
|
||||
hidden_args.emplace_back("-upnp");
|
||||
#endif
|
||||
gArgs.AddArg("-whitebind=<[permissions@]addr>", "Bind to given address and whitelist peers connecting to it. "
|
||||
"Use [host]:port notation for IPv6. Allowed permissions are bloomfilter (allow requesting BIP37 filtered blocks and transactions), "
|
||||
"noban (do not ban for misbehavior), "
|
||||
"forcerelay (relay transactions that are already in the mempool; implies relay), "
|
||||
"relay (relay even in -blocksonly mode), "
|
||||
"and mempool (allow requesting BIP35 mempool contents). "
|
||||
"Use [host]:port notation for IPv6. Allowed permissions: " + Join(NET_PERMISSIONS_DOC, ", ") + ". "
|
||||
"Specify multiple permissions separated by commas (default: noban,mempool,relay). Can be specified multiple times.", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
|
||||
gArgs.AddArg("-whitelist=<[permissions@]IP address or network>", "Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or "
|
||||
@@ -519,7 +516,11 @@ void SetupServerArgs()
|
||||
gArgs.AddArg("-debugexclude=<category>", strprintf("Exclude debugging information for a category. Can be used in conjunction with -debug=1 to output debug logs for all categories except one or more specified categories."), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
gArgs.AddArg("-logips", strprintf("Include IP addresses in debug output (default: %u)", DEFAULT_LOGIPS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
gArgs.AddArg("-logtimestamps", strprintf("Prepend debug output with timestamp (default: %u)", DEFAULT_LOGTIMESTAMPS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
#ifdef HAVE_THREAD_LOCAL
|
||||
gArgs.AddArg("-logthreadnames", strprintf("Prepend debug output with name of the originating thread (only available on platforms supporting thread_local) (default: %u)", DEFAULT_LOGTHREADNAMES), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||
#else
|
||||
hidden_args.emplace_back("-logthreadnames");
|
||||
#endif
|
||||
gArgs.AddArg("-logtimemicros", strprintf("Add microsecond precision to debug timestamps (default: %u)", DEFAULT_LOGTIMEMICROS), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
gArgs.AddArg("-mocktime=<n>", "Replace actual time with " + UNIX_EPOCH_TIME + " (default: 0)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
gArgs.AddArg("-maxsigcachesize=<n>", strprintf("Limit sum of signature cache and script execution cache sizes to <n> MiB (default: %u)", DEFAULT_MAX_SIG_CACHE_SIZE), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
@@ -851,7 +852,9 @@ void InitLogging()
|
||||
LogInstance().m_print_to_console = gArgs.GetBoolArg("-printtoconsole", !gArgs.GetBoolArg("-daemon", false));
|
||||
LogInstance().m_log_timestamps = gArgs.GetBoolArg("-logtimestamps", DEFAULT_LOGTIMESTAMPS);
|
||||
LogInstance().m_log_time_micros = gArgs.GetBoolArg("-logtimemicros", DEFAULT_LOGTIMEMICROS);
|
||||
#ifdef HAVE_THREAD_LOCAL
|
||||
LogInstance().m_log_threadnames = gArgs.GetBoolArg("-logthreadnames", DEFAULT_LOGTHREADNAMES);
|
||||
#endif
|
||||
|
||||
fLogIPs = gArgs.GetBoolArg("-logips", DEFAULT_LOGIPS);
|
||||
|
||||
|
||||
@@ -158,9 +158,9 @@ public:
|
||||
{
|
||||
m_notifications->transactionAddedToMempool(tx);
|
||||
}
|
||||
void TransactionRemovedFromMempool(const CTransactionRef& tx) override
|
||||
void TransactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason reason) override
|
||||
{
|
||||
m_notifications->transactionRemovedFromMempool(tx);
|
||||
m_notifications->transactionRemovedFromMempool(tx, reason);
|
||||
}
|
||||
void BlockConnected(const std::shared_ptr<const CBlock>& block, const CBlockIndex* index) override
|
||||
{
|
||||
|
||||
@@ -20,6 +20,7 @@ class CRPCCommand;
|
||||
class CScheduler;
|
||||
class Coin;
|
||||
class uint256;
|
||||
enum class MemPoolRemovalReason;
|
||||
enum class RBFTransactionState;
|
||||
struct CBlockLocator;
|
||||
struct FeeCalculation;
|
||||
@@ -221,7 +222,7 @@ public:
|
||||
public:
|
||||
virtual ~Notifications() {}
|
||||
virtual void transactionAddedToMempool(const CTransactionRef& tx) {}
|
||||
virtual void transactionRemovedFromMempool(const CTransactionRef& ptx) {}
|
||||
virtual void transactionRemovedFromMempool(const CTransactionRef& tx, MemPoolRemovalReason reason) {}
|
||||
virtual void blockConnected(const CBlock& block, int height) {}
|
||||
virtual void blockDisconnected(const CBlock& block, int height) {}
|
||||
virtual void updatedBlockTip() {}
|
||||
|
||||
@@ -136,10 +136,10 @@ public:
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool ban(const CNetAddr& net_addr, BanReason reason, int64_t ban_time_offset) override
|
||||
bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) override
|
||||
{
|
||||
if (m_context.banman) {
|
||||
m_context.banman->Ban(net_addr, reason, ban_time_offset);
|
||||
m_context.banman->Ban(net_addr, ban_time_offset);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
virtual bool getBanned(banmap_t& banmap) = 0;
|
||||
|
||||
//! Ban node.
|
||||
virtual bool ban(const CNetAddr& net_addr, BanReason reason, int64_t ban_time_offset) = 0;
|
||||
virtual bool ban(const CNetAddr& net_addr, int64_t ban_time_offset) = 0;
|
||||
|
||||
//! Unban node.
|
||||
virtual bool unban(const CSubNet& ip) = 0;
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
std::vector<unsigned char> data = {0};
|
||||
data.reserve(33);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end());
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const WitnessV0ScriptHash& id) const
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
std::vector<unsigned char> data = {0};
|
||||
data.reserve(53);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end());
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const WitnessUnknown& id) const
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
std::vector<unsigned char> data = {(unsigned char)id.version};
|
||||
data.reserve(1 + (id.length * 8 + 4) / 5);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.program, id.program + id.length);
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32M, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const CNoDestination& no) const { return {}; }
|
||||
@@ -91,13 +91,19 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
|
||||
}
|
||||
}
|
||||
data.clear();
|
||||
auto bech = bech32::Decode(str);
|
||||
if (bech.second.size() > 0 && bech.first == params.Bech32HRP()) {
|
||||
const auto dec = bech32::Decode(str);
|
||||
if ((dec.encoding == bech32::Encoding::BECH32 || dec.encoding == bech32::Encoding::BECH32M) && dec.data.size() > 0 && dec.hrp == params.Bech32HRP()) {
|
||||
// Bech32 decoding
|
||||
int version = bech.second[0]; // The first 5 bit symbol is the witness version (0-16)
|
||||
int version = dec.data[0]; // The first 5 bit symbol is the witness version (0-16)
|
||||
if (version == 0 && dec.encoding != bech32::Encoding::BECH32) {
|
||||
return CNoDestination();
|
||||
}
|
||||
if (version != 0 && dec.encoding != bech32::Encoding::BECH32M) {
|
||||
return CNoDestination();
|
||||
}
|
||||
// The rest of the symbols are converted witness program bytes.
|
||||
data.reserve(((bech.second.size() - 1) * 5) / 8);
|
||||
if (ConvertBits<5, 8, false>([&](unsigned char c) { data.push_back(c); }, bech.second.begin() + 1, bech.second.end())) {
|
||||
data.reserve(((dec.data.size() - 1) * 5) / 8);
|
||||
if (ConvertBits<5, 8, false>([&](unsigned char c) { data.push_back(c); }, dec.data.begin() + 1, dec.data.end())) {
|
||||
if (version == 0) {
|
||||
{
|
||||
WitnessV0KeyHash keyid;
|
||||
|
||||
25
src/net.cpp
25
src/net.cpp
@@ -996,17 +996,24 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) {
|
||||
// on all platforms. Set it again here just to be sure.
|
||||
SetSocketNoDelay(hSocket);
|
||||
|
||||
int bannedlevel = m_banman ? m_banman->IsBannedLevel(addr) : 0;
|
||||
|
||||
// Don't accept connections from banned peers, but if our inbound slots aren't almost full, accept
|
||||
// if the only banning reason was an automatic misbehavior ban.
|
||||
if (!NetPermissions::HasFlag(permissionFlags, NetPermissionFlags::PF_NOBAN) && bannedlevel > ((nInbound + 1 < nMaxInbound) ? 1 : 0))
|
||||
// Don't accept connections from banned peers.
|
||||
bool banned = m_banman->IsBanned(addr);
|
||||
if (!NetPermissions::HasFlag(permissionFlags, NetPermissionFlags::PF_NOBAN) && banned)
|
||||
{
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (banned)\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
|
||||
// Only accept connections from discouraged peers if our inbound slots aren't (almost) full.
|
||||
bool discouraged = m_banman->IsDiscouraged(addr);
|
||||
if (!NetPermissions::HasFlag(permissionFlags, NetPermissionFlags::PF_NOBAN) && nInbound + 1 >= nMaxInbound && discouraged)
|
||||
{
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (discouraged)\n", addr.ToString());
|
||||
CloseSocket(hSocket);
|
||||
return;
|
||||
}
|
||||
|
||||
if (nInbound >= nMaxInbound)
|
||||
{
|
||||
if (!AttemptToEvictConnection()) {
|
||||
@@ -1030,7 +1037,7 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) {
|
||||
pnode->m_permissionFlags = permissionFlags;
|
||||
// If this flag is present, the user probably expect that RPC and QT report it as whitelisted (backward compatibility)
|
||||
pnode->m_legacyWhitelisted = legacyWhitelisted;
|
||||
pnode->m_prefer_evict = bannedlevel > 0;
|
||||
pnode->m_prefer_evict = discouraged;
|
||||
m_msgproc->InitializeNode(pnode);
|
||||
|
||||
LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToString());
|
||||
@@ -1987,10 +1994,10 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
|
||||
return;
|
||||
}
|
||||
if (!pszDest) {
|
||||
if (IsLocal(addrConnect) ||
|
||||
FindNode(static_cast<CNetAddr>(addrConnect)) || (m_banman && m_banman->IsBanned(addrConnect)) ||
|
||||
FindNode(addrConnect.ToStringIPPort()))
|
||||
bool banned_or_discouraged = m_banman && (m_banman->IsDiscouraged(addrConnect) || m_banman->IsBanned(addrConnect));
|
||||
if (IsLocal(addrConnect) || FindNode(static_cast<CNetAddr>(addrConnect)) || banned_or_discouraged || FindNode(addrConnect.ToStringIPPort())) {
|
||||
return;
|
||||
}
|
||||
} else if (FindNode(std::string(pszDest)))
|
||||
return;
|
||||
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
#include <util/system.h>
|
||||
#include <util/translation.h>
|
||||
|
||||
const std::vector<std::string> NET_PERMISSIONS_DOC{
|
||||
"bloomfilter (allow requesting BIP37 filtered blocks and transactions)",
|
||||
"noban (do not ban for misbehavior)",
|
||||
"forcerelay (relay transactions that are already in the mempool; implies relay)",
|
||||
"relay (relay even in -blocksonly mode)",
|
||||
"mempool (allow requesting BIP35 mempool contents)",
|
||||
};
|
||||
|
||||
// The parse the following format "perm1,perm2@xxxxxx"
|
||||
bool TryParsePermissionFlags(const std::string str, NetPermissionFlags& output, size_t& readen, std::string& error)
|
||||
{
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <netaddress.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <netaddress.h>
|
||||
|
||||
#ifndef BITCOIN_NET_PERMISSIONS_H
|
||||
#define BITCOIN_NET_PERMISSIONS_H
|
||||
|
||||
extern const std::vector<std::string> NET_PERMISSIONS_DOC;
|
||||
|
||||
enum NetPermissionFlags
|
||||
{
|
||||
PF_NONE = 0,
|
||||
@@ -18,7 +22,7 @@ enum NetPermissionFlags
|
||||
// Always relay transactions from this peer, even if already in mempool
|
||||
// Keep parameter interaction: forcerelay implies relay
|
||||
PF_FORCERELAY = (1U << 2) | PF_RELAY,
|
||||
// Can't be banned for misbehavior
|
||||
// Can't be banned/disconnected/discouraged for misbehavior
|
||||
PF_NOBAN = (1U << 4),
|
||||
// Can query the mempool
|
||||
PF_MEMPOOL = (1U << 5),
|
||||
@@ -27,6 +31,7 @@ enum NetPermissionFlags
|
||||
PF_ISIMPLICIT = (1U << 31),
|
||||
PF_ALL = PF_BLOOMFILTER | PF_FORCERELAY | PF_RELAY | PF_NOBAN | PF_MEMPOOL,
|
||||
};
|
||||
|
||||
class NetPermissions
|
||||
{
|
||||
public:
|
||||
@@ -45,6 +50,7 @@ public:
|
||||
flags = static_cast<NetPermissionFlags>(flags & ~f);
|
||||
}
|
||||
};
|
||||
|
||||
class NetWhitebindPermissions : public NetPermissions
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -215,8 +215,8 @@ struct CNodeState {
|
||||
bool fCurrentlyConnected;
|
||||
//! Accumulated misbehaviour score for this peer.
|
||||
int nMisbehavior;
|
||||
//! Whether this peer should be disconnected and banned (unless whitelisted).
|
||||
bool fShouldBan;
|
||||
//! Whether this peer should be disconnected and marked as discouraged (unless whitelisted with noban).
|
||||
bool m_should_discourage;
|
||||
//! String name of this peer (debugging/logging purposes).
|
||||
const std::string name;
|
||||
//! The best known block we know this peer has announced.
|
||||
@@ -367,7 +367,7 @@ struct CNodeState {
|
||||
{
|
||||
fCurrentlyConnected = false;
|
||||
nMisbehavior = 0;
|
||||
fShouldBan = false;
|
||||
m_should_discourage = false;
|
||||
pindexBestKnownBlock = nullptr;
|
||||
hashLastUnknownBlock.SetNull();
|
||||
pindexLastCommonBlock = nullptr;
|
||||
@@ -963,7 +963,7 @@ unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans)
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark a misbehaving peer to be banned depending upon the value of `-banscore`.
|
||||
* Increment peer's misbehavior score. If the new value surpasses banscore (specified on startup or by default), mark node to be discouraged, meaning the peer might be disconnected & added to the discouragement filter.
|
||||
*/
|
||||
void Misbehaving(NodeId pnode, int howmuch, const std::string& message) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
|
||||
{
|
||||
@@ -979,14 +979,14 @@ void Misbehaving(NodeId pnode, int howmuch, const std::string& message) EXCLUSIV
|
||||
std::string message_prefixed = message.empty() ? "" : (": " + message);
|
||||
if (state->nMisbehavior >= banscore && state->nMisbehavior - howmuch < banscore)
|
||||
{
|
||||
LogPrint(BCLog::NET, "%s: %s peer=%d (%d -> %d) BAN THRESHOLD EXCEEDED%s\n", __func__, state->name, pnode, state->nMisbehavior-howmuch, state->nMisbehavior, message_prefixed);
|
||||
state->fShouldBan = true;
|
||||
LogPrint(BCLog::NET, "%s: %s peer=%d (%d -> %d) DISCOURAGE THRESHOLD EXCEEDED%s\n", __func__, state->name, pnode, state->nMisbehavior-howmuch, state->nMisbehavior, message_prefixed);
|
||||
state->m_should_discourage = true;
|
||||
} else
|
||||
LogPrint(BCLog::NET, "%s: %s peer=%d (%d -> %d)%s\n", __func__, state->name, pnode, state->nMisbehavior-howmuch, state->nMisbehavior, message_prefixed);
|
||||
}
|
||||
|
||||
/**
|
||||
* Potentially ban a node based on the contents of a BlockValidationState object
|
||||
* Potentially mark a node discouraged based on the contents of a BlockValidationState object
|
||||
*
|
||||
* @param[in] via_compact_block this bool is passed in because net_processing should
|
||||
* punish peers differently depending on whether the data was provided in a compact
|
||||
@@ -1016,7 +1016,7 @@ static bool MaybePunishNodeForBlock(NodeId nodeid, const BlockValidationState& s
|
||||
break;
|
||||
}
|
||||
|
||||
// Ban outbound (but not inbound) peers if on an invalid chain.
|
||||
// Discourage outbound (but not inbound) peers if on an invalid chain.
|
||||
// Exempt HB compact block peers and manual connections.
|
||||
if (!via_compact_block && !node_state->m_is_inbound && !node_state->m_is_manual_connection) {
|
||||
Misbehaving(nodeid, 100, message);
|
||||
@@ -1051,7 +1051,7 @@ static bool MaybePunishNodeForBlock(NodeId nodeid, const BlockValidationState& s
|
||||
}
|
||||
|
||||
/**
|
||||
* Potentially ban a node based on the contents of a TxValidationState object
|
||||
* Potentially disconnect and discourage a node based on the contents of a TxValidationState object
|
||||
*
|
||||
* @return Returns true if the peer was punished (probably disconnected)
|
||||
*/
|
||||
@@ -1069,6 +1069,7 @@ static bool MaybePunishNodeForTx(NodeId nodeid, const TxValidationState& state,
|
||||
}
|
||||
// Conflicting (but not necessarily invalid) data or different policy:
|
||||
case TxValidationResult::TX_RECENT_CONSENSUS_CHANGE:
|
||||
case TxValidationResult::TX_INPUTS_NOT_STANDARD:
|
||||
case TxValidationResult::TX_NOT_STANDARD:
|
||||
case TxValidationResult::TX_MISSING_INPUTS:
|
||||
case TxValidationResult::TX_PREMATURE_SPEND:
|
||||
@@ -1278,7 +1279,7 @@ void PeerLogicValidation::UpdatedBlockTip(const CBlockIndex *pindexNew, const CB
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle invalid block rejection and consequent peer banning, maintain which
|
||||
* Handle invalid block rejection and consequent peer discouragement, maintain which
|
||||
* peers announce compact blocks.
|
||||
*/
|
||||
void PeerLogicValidation::BlockChecked(const CBlock& block, const BlockValidationState& state) {
|
||||
@@ -1564,26 +1565,32 @@ void static ProcessGetData(CNode* pfrom, const CChainParams& chainparams, CConnm
|
||||
std::vector<CInv> vNotFound;
|
||||
const CNetMsgMaker msgMaker(pfrom->GetSendVersion());
|
||||
|
||||
// Note that if we receive a getdata for a MSG_TX or MSG_WITNESS_TX from a
|
||||
// block-relay-only outbound peer, we will stop processing further getdata
|
||||
// messages from this peer (likely resulting in our peer eventually
|
||||
// disconnecting us).
|
||||
if (pfrom->m_tx_relay != nullptr) {
|
||||
// mempool entries added before this time have likely expired from mapRelay
|
||||
const std::chrono::seconds longlived_mempool_time = GetTime<std::chrono::seconds>() - RELAY_TX_CACHE_TIME;
|
||||
const std::chrono::seconds mempool_req = pfrom->m_tx_relay->m_last_mempool_req.load();
|
||||
// mempool entries added before this time have likely expired from mapRelay
|
||||
const std::chrono::seconds longlived_mempool_time = GetTime<std::chrono::seconds>() - RELAY_TX_CACHE_TIME;
|
||||
// Get last mempool request time
|
||||
const std::chrono::seconds mempool_req = pfrom->m_tx_relay != nullptr ? pfrom->m_tx_relay->m_last_mempool_req.load()
|
||||
: std::chrono::seconds::min();
|
||||
|
||||
{
|
||||
LOCK(cs_main);
|
||||
|
||||
// Process as many TX items from the front of the getdata queue as
|
||||
// possible, since they're common and it's efficient to batch process
|
||||
// them.
|
||||
while (it != pfrom->vRecvGetData.end() && (it->type == MSG_TX || it->type == MSG_WITNESS_TX)) {
|
||||
if (interruptMsgProc)
|
||||
return;
|
||||
// Don't bother if send buffer is too full to respond anyway
|
||||
// The send buffer provides backpressure. If there's no space in
|
||||
// the buffer, pause processing until the next call.
|
||||
if (pfrom->fPauseSend)
|
||||
break;
|
||||
|
||||
const CInv &inv = *it;
|
||||
it++;
|
||||
const CInv &inv = *it++;
|
||||
|
||||
if (pfrom->m_tx_relay == nullptr) {
|
||||
// Ignore GETDATA requests for transactions from blocks-only peers.
|
||||
continue;
|
||||
}
|
||||
|
||||
// Send stream from relay memory
|
||||
bool push = false;
|
||||
@@ -1611,19 +1618,17 @@ void static ProcessGetData(CNode* pfrom, const CChainParams& chainparams, CConnm
|
||||
}
|
||||
} // release cs_main
|
||||
|
||||
// Only process one BLOCK item per call, since they're uncommon and can be
|
||||
// expensive to process.
|
||||
if (it != pfrom->vRecvGetData.end() && !pfrom->fPauseSend) {
|
||||
const CInv &inv = *it;
|
||||
const CInv &inv = *it++;
|
||||
if (inv.type == MSG_BLOCK || inv.type == MSG_FILTERED_BLOCK || inv.type == MSG_CMPCT_BLOCK || inv.type == MSG_WITNESS_BLOCK) {
|
||||
it++;
|
||||
ProcessGetBlockData(pfrom, chainparams, inv, connman);
|
||||
}
|
||||
// else: If the first item on the queue is an unknown type, we erase it
|
||||
// and continue processing the queue on the next call.
|
||||
}
|
||||
|
||||
// Unknown types in the GetData stay in vRecvGetData and block any future
|
||||
// message from this peer, see vRecvGetData check in ProcessMessages().
|
||||
// Depending on future p2p changes, we might either drop unknown getdata on
|
||||
// the floor or disconnect the peer.
|
||||
|
||||
pfrom->vRecvGetData.erase(pfrom->vRecvGetData.begin(), it);
|
||||
|
||||
if (!vNotFound.empty()) {
|
||||
@@ -1897,10 +1902,15 @@ void static ProcessOrphanTx(CConnman* connman, CTxMemPool& mempool, std::set<uin
|
||||
// Has inputs but not accepted to mempool
|
||||
// Probably non-standard or insufficient fee
|
||||
LogPrint(BCLog::MEMPOOL, " removed orphan tx %s\n", orphanHash.ToString());
|
||||
if (!orphanTx.HasWitness() && orphan_state.GetResult() != TxValidationResult::TX_WITNESS_MUTATED) {
|
||||
if ((!orphanTx.HasWitness() && orphan_state.GetResult() != TxValidationResult::TX_WITNESS_MUTATED) ||
|
||||
orphan_state.GetResult() == TxValidationResult::TX_INPUTS_NOT_STANDARD) {
|
||||
// Do not use rejection cache for witness transactions or
|
||||
// witness-stripped transactions, as they can have been malleated.
|
||||
// See https://github.com/bitcoin/bitcoin/issues/8279 for details.
|
||||
// However, if the transaction failed for TX_INPUTS_NOT_STANDARD,
|
||||
// then we know that the witness was irrelevant to the policy
|
||||
// failure, since this check depends only on the txid
|
||||
// (the scriptPubKey being spent is covered by the txid).
|
||||
assert(recentRejects);
|
||||
recentRejects->insert(orphanHash);
|
||||
}
|
||||
@@ -2109,6 +2119,8 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
|
||||
if (msg_type == NetMsgType::VERACK)
|
||||
{
|
||||
if (pfrom->fSuccessfullyConnected) return true;
|
||||
|
||||
pfrom->SetRecvVersion(std::min(pfrom->nVersion.load(), PROTOCOL_VERSION));
|
||||
|
||||
if (!pfrom->fInbound) {
|
||||
@@ -2187,7 +2199,8 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
if (addr.nTime <= 100000000 || addr.nTime > nNow + 10 * 60)
|
||||
addr.nTime = nNow - 5 * 24 * 60 * 60;
|
||||
pfrom->AddAddressKnown(addr);
|
||||
if (banman->IsBanned(addr)) continue; // Do not process banned addresses beyond remembering we received them
|
||||
if (banman->IsDiscouraged(addr)) continue; // Do not process banned/discouraged addresses beyond remembering we received them
|
||||
if (banman->IsBanned(addr)) continue;
|
||||
bool fReachable = IsReachable(addr);
|
||||
if (addr.nTime > nSince && !pfrom->fGetAddr && vAddr.size() <= 10 && addr.IsRoutable())
|
||||
{
|
||||
@@ -2257,6 +2270,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
|
||||
uint32_t nFetchFlags = GetFetchFlags(pfrom);
|
||||
const auto current_time = GetTime<std::chrono::microseconds>();
|
||||
uint256* best_block{nullptr};
|
||||
|
||||
for (CInv &inv : vInv)
|
||||
{
|
||||
@@ -2273,17 +2287,14 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
if (inv.type == MSG_BLOCK) {
|
||||
UpdateBlockAvailability(pfrom->GetId(), inv.hash);
|
||||
if (!fAlreadyHave && !fImporting && !fReindex && !mapBlocksInFlight.count(inv.hash)) {
|
||||
// We used to request the full block here, but since headers-announcements are now the
|
||||
// primary method of announcement on the network, and since, in the case that a node
|
||||
// fell back to inv we probably have a reorg which we should get the headers for first,
|
||||
// we now only provide a getheaders response here. When we receive the headers, we will
|
||||
// then ask for the blocks we need.
|
||||
connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, ::ChainActive().GetLocator(pindexBestHeader), inv.hash));
|
||||
LogPrint(BCLog::NET, "getheaders (%d) %s to peer=%d\n", pindexBestHeader->nHeight, inv.hash.ToString(), pfrom->GetId());
|
||||
// Headers-first is the primary method of announcement on
|
||||
// the network. If a node fell back to sending blocks by inv,
|
||||
// it's probably for a re-org. The final block hash
|
||||
// provided should be the highest, so send a getheaders and
|
||||
// then fetch the blocks we need to catch up.
|
||||
best_block = &inv.hash;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
pfrom->AddInventoryKnown(inv);
|
||||
if (fBlocksOnly) {
|
||||
LogPrint(BCLog::NET, "transaction (%s) inv sent in violation of protocol, disconnecting peer=%d\n", inv.hash.ToString(), pfrom->GetId());
|
||||
@@ -2294,6 +2305,12 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (best_block != nullptr) {
|
||||
connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::GETHEADERS, ::ChainActive().GetLocator(pindexBestHeader), *best_block));
|
||||
LogPrint(BCLog::NET, "getheaders (%d) %s to peer=%d\n", pindexBestHeader->nHeight, best_block->ToString(), pfrom->GetId());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2587,10 +2604,15 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
recentRejects->insert(tx.GetHash());
|
||||
}
|
||||
} else {
|
||||
if (!tx.HasWitness() && state.GetResult() != TxValidationResult::TX_WITNESS_MUTATED) {
|
||||
if ((!tx.HasWitness() && state.GetResult() != TxValidationResult::TX_WITNESS_MUTATED) ||
|
||||
state.GetResult() == TxValidationResult::TX_INPUTS_NOT_STANDARD) {
|
||||
// Do not use rejection cache for witness transactions or
|
||||
// witness-stripped transactions, as they can have been malleated.
|
||||
// See https://github.com/bitcoin/bitcoin/issues/8279 for details.
|
||||
// However, if the transaction failed for TX_INPUTS_NOT_STANDARD,
|
||||
// then we know that the witness was irrelevant to the policy
|
||||
// failure, since this check depends only on the txid
|
||||
// (the scriptPubKey being spent is covered by the txid).
|
||||
assert(recentRejects);
|
||||
recentRejects->insert(tx.GetHash());
|
||||
if (RecursiveDynamicUsage(*ptx) < 100000) {
|
||||
@@ -2825,7 +2847,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
// relayed before full validation (see BIP 152), so we don't want to disconnect
|
||||
// the peer if the header turns out to be for an invalid block.
|
||||
// Note that if a peer tries to build on an invalid chain, that
|
||||
// will be detected and the peer will be banned.
|
||||
// will be detected and the peer will be disconnected/discouraged.
|
||||
return ProcessHeadersMessage(pfrom, connman, mempool, {cmpctblock.header}, chainparams, /*via_compact_block=*/true);
|
||||
}
|
||||
|
||||
@@ -2911,7 +2933,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
// 3. the block is otherwise invalid (eg invalid coinbase,
|
||||
// block is too big, too many legacy sigops, etc).
|
||||
// So if CheckBlock failed, #3 is the only possibility.
|
||||
// Under BIP 152, we don't DoS-ban unless proof of work is
|
||||
// Under BIP 152, we don't discourage the peer unless proof of work is
|
||||
// invalid (we don't require all the stateless checks to have
|
||||
// been run). This is handled below, so just treat this as
|
||||
// though the block was successfully read, and rely on the
|
||||
@@ -3036,7 +3058,7 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
std::vector<CAddress> vAddr = connman->GetAddresses();
|
||||
FastRandomContext insecure_rand;
|
||||
for (const CAddress &addr : vAddr) {
|
||||
if (!banman->IsBanned(addr)) {
|
||||
if (!banman->IsDiscouraged(addr) && !banman->IsBanned(addr)) {
|
||||
pfrom->PushAddress(addr, insecure_rand);
|
||||
}
|
||||
}
|
||||
@@ -3247,25 +3269,26 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PeerLogicValidation::CheckIfBanned(CNode* pnode)
|
||||
bool PeerLogicValidation::MaybeDiscourageAndDisconnect(CNode* pnode)
|
||||
{
|
||||
AssertLockHeld(cs_main);
|
||||
CNodeState &state = *State(pnode->GetId());
|
||||
|
||||
if (state.fShouldBan) {
|
||||
state.fShouldBan = false;
|
||||
if (pnode->HasPermission(PF_NOBAN))
|
||||
if (state.m_should_discourage) {
|
||||
state.m_should_discourage = false;
|
||||
if (pnode->HasPermission(PF_NOBAN)) {
|
||||
LogPrintf("Warning: not punishing whitelisted peer %s!\n", pnode->addr.ToString());
|
||||
else if (pnode->m_manual_connection)
|
||||
} else if (pnode->m_manual_connection) {
|
||||
LogPrintf("Warning: not punishing manually-connected peer %s!\n", pnode->addr.ToString());
|
||||
else if (pnode->addr.IsLocal()) {
|
||||
// Disconnect but don't ban _this_ local node
|
||||
LogPrintf("Warning: disconnecting but not banning local peer %s!\n", pnode->addr.ToString());
|
||||
} else if (pnode->addr.IsLocal()) {
|
||||
// Disconnect but don't discourage this local node
|
||||
LogPrintf("Warning: disconnecting but not discouraging local peer %s!\n", pnode->addr.ToString());
|
||||
pnode->fDisconnect = true;
|
||||
} else {
|
||||
// Disconnect and ban all nodes sharing the address
|
||||
// Disconnect and discourage all nodes sharing the address
|
||||
LogPrintf("Disconnecting and discouraging peer %s!\n", pnode->addr.ToString());
|
||||
if (m_banman) {
|
||||
m_banman->Ban(pnode->addr, BanReasonNodeMisbehaving);
|
||||
m_banman->Discourage(pnode->addr);
|
||||
}
|
||||
connman->DisconnectNode(pnode->addr);
|
||||
}
|
||||
@@ -3372,7 +3395,7 @@ bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& inter
|
||||
}
|
||||
|
||||
LOCK(cs_main);
|
||||
CheckIfBanned(pfrom);
|
||||
MaybeDiscourageAndDisconnect(pfrom);
|
||||
|
||||
return fMoreWork;
|
||||
}
|
||||
@@ -3575,7 +3598,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto)
|
||||
if (!lockMain)
|
||||
return true;
|
||||
|
||||
if (CheckIfBanned(pto)) return true;
|
||||
if (MaybeDiscourageAndDisconnect(pto)) return true;
|
||||
|
||||
CNodeState &state = *State(pto->GetId());
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ private:
|
||||
BanMan* const m_banman;
|
||||
CTxMemPool& m_mempool;
|
||||
|
||||
bool CheckIfBanned(CNode* pnode) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
|
||||
bool MaybeDiscourageAndDisconnect(CNode* pnode) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
|
||||
|
||||
public:
|
||||
PeerLogicValidation(CConnman* connman, BanMan* banman, CScheduler& scheduler, CTxMemPool& pool);
|
||||
|
||||
@@ -90,6 +90,7 @@ class CNetAddr
|
||||
uint32_t GetMappedAS(const std::vector<bool> &asmap) const;
|
||||
|
||||
std::vector<unsigned char> GetGroup(const std::vector<bool> &asmap) const;
|
||||
std::vector<unsigned char> GetAddrBytes() const { return {std::begin(ip), std::end(ip)}; }
|
||||
int GetReachabilityFrom(const CNetAddr *paddrPartner = nullptr) const;
|
||||
|
||||
explicit CNetAddr(const struct in6_addr& pipv6Addr, const uint32_t scope = 0);
|
||||
|
||||
@@ -152,6 +152,8 @@ bool IsStandardTx(const CTransaction& tx, bool permit_bare_multisig, const CFeeR
|
||||
* script can be anything; an attacker could use a very
|
||||
* expensive-to-check-upon-redemption script like:
|
||||
* DUP CHECKSIG DROP ... repeated 100 times... OP_1
|
||||
*
|
||||
* Note that only the non-witness portion of the transaction is checked here.
|
||||
*/
|
||||
bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs)
|
||||
{
|
||||
@@ -164,7 +166,11 @@ bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs)
|
||||
|
||||
std::vector<std::vector<unsigned char> > vSolutions;
|
||||
txnouttype whichType = Solver(prev.scriptPubKey, vSolutions);
|
||||
if (whichType == TX_NONSTANDARD) {
|
||||
if (whichType == TX_NONSTANDARD || whichType == TX_WITNESS_UNKNOWN) {
|
||||
// WITNESS_UNKNOWN failures are typically also caught with a policy
|
||||
// flag in the script interpreter, but it can be helpful to catch
|
||||
// this type of NONSTANDARD transaction earlier in transaction
|
||||
// validation.
|
||||
return false;
|
||||
} else if (whichType == TX_SCRIPTHASH) {
|
||||
std::vector<std::vector<unsigned char> > stack;
|
||||
|
||||
36
src/psbt.cpp
36
src/psbt.cpp
@@ -35,14 +35,6 @@ bool PartiallySignedTransaction::Merge(const PartiallySignedTransaction& psbt)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PartiallySignedTransaction::IsSane() const
|
||||
{
|
||||
for (PSBTInput input : inputs) {
|
||||
if (!input.IsSane()) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PartiallySignedTransaction::AddInput(const CTxIn& txin, PSBTInput& psbtin)
|
||||
{
|
||||
if (std::find(tx->vin.begin(), tx->vin.end(), txin) != tx->vin.end()) {
|
||||
@@ -144,8 +136,8 @@ void PSBTInput::Merge(const PSBTInput& input)
|
||||
{
|
||||
if (!non_witness_utxo && input.non_witness_utxo) non_witness_utxo = input.non_witness_utxo;
|
||||
if (witness_utxo.IsNull() && !input.witness_utxo.IsNull()) {
|
||||
// TODO: For segwit v1, we will want to clear out the non-witness utxo when setting a witness one. For v0 and non-segwit, this is not safe
|
||||
witness_utxo = input.witness_utxo;
|
||||
non_witness_utxo = nullptr; // Clear out any non-witness utxo when we set a witness one.
|
||||
}
|
||||
|
||||
partial_sigs.insert(input.partial_sigs.begin(), input.partial_sigs.end());
|
||||
@@ -158,18 +150,6 @@ void PSBTInput::Merge(const PSBTInput& input)
|
||||
if (final_script_witness.IsNull() && !input.final_script_witness.IsNull()) final_script_witness = input.final_script_witness;
|
||||
}
|
||||
|
||||
bool PSBTInput::IsSane() const
|
||||
{
|
||||
// Cannot have both witness and non-witness utxos
|
||||
if (!witness_utxo.IsNull() && non_witness_utxo) return false;
|
||||
|
||||
// If we have a witness_script or a scriptWitness, we must also have a witness utxo
|
||||
if (!witness_script.empty() && witness_utxo.IsNull()) return false;
|
||||
if (!final_script_witness.IsNull() && witness_utxo.IsNull()) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void PSBTOutput::FillSignatureData(SignatureData& sigdata) const
|
||||
{
|
||||
if (!redeem_script.empty()) {
|
||||
@@ -250,11 +230,6 @@ bool SignPSBTInput(const SigningProvider& provider, PartiallySignedTransaction&
|
||||
bool require_witness_sig = false;
|
||||
CTxOut utxo;
|
||||
|
||||
// Verify input sanity, which checks that at most one of witness or non-witness utxos is provided.
|
||||
if (!input.IsSane()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (input.non_witness_utxo) {
|
||||
// If we're taking our information from a non-witness UTXO, verify that it matches the prevout.
|
||||
COutPoint prevout = tx.vin[index].prevout;
|
||||
@@ -288,10 +263,11 @@ bool SignPSBTInput(const SigningProvider& provider, PartiallySignedTransaction&
|
||||
if (require_witness_sig && !sigdata.witness) return false;
|
||||
input.FromSignatureData(sigdata);
|
||||
|
||||
// If we have a witness signature, use the smaller witness UTXO.
|
||||
// If we have a witness signature, put a witness UTXO.
|
||||
// TODO: For segwit v1, we should remove the non_witness_utxo
|
||||
if (sigdata.witness) {
|
||||
input.witness_utxo = utxo;
|
||||
input.non_witness_utxo = nullptr;
|
||||
// input.non_witness_utxo = nullptr;
|
||||
}
|
||||
|
||||
// Fill in the missing info
|
||||
@@ -345,10 +321,6 @@ TransactionError CombinePSBTs(PartiallySignedTransaction& out, const std::vector
|
||||
return TransactionError::PSBT_MISMATCH;
|
||||
}
|
||||
}
|
||||
if (!out.IsSane()) {
|
||||
return TransactionError::INVALID_PSBT;
|
||||
}
|
||||
|
||||
return TransactionError::OK;
|
||||
}
|
||||
|
||||
|
||||
11
src/psbt.h
11
src/psbt.h
@@ -58,18 +58,17 @@ struct PSBTInput
|
||||
void FillSignatureData(SignatureData& sigdata) const;
|
||||
void FromSignatureData(const SignatureData& sigdata);
|
||||
void Merge(const PSBTInput& input);
|
||||
bool IsSane() const;
|
||||
PSBTInput() {}
|
||||
|
||||
template <typename Stream>
|
||||
inline void Serialize(Stream& s) const {
|
||||
// Write the utxo
|
||||
// If there is a non-witness utxo, then don't add the witness one.
|
||||
if (non_witness_utxo) {
|
||||
SerializeToVector(s, PSBT_IN_NON_WITNESS_UTXO);
|
||||
OverrideStream<Stream> os(&s, s.GetType(), s.GetVersion() | SERIALIZE_TRANSACTION_NO_WITNESS);
|
||||
SerializeToVector(os, non_witness_utxo);
|
||||
} else if (!witness_utxo.IsNull()) {
|
||||
}
|
||||
if (!witness_utxo.IsNull()) {
|
||||
SerializeToVector(s, PSBT_IN_WITNESS_UTXO);
|
||||
SerializeToVector(s, witness_utxo);
|
||||
}
|
||||
@@ -280,7 +279,6 @@ struct PSBTOutput
|
||||
void FillSignatureData(SignatureData& sigdata) const;
|
||||
void FromSignatureData(const SignatureData& sigdata);
|
||||
void Merge(const PSBTOutput& output);
|
||||
bool IsSane() const;
|
||||
PSBTOutput() {}
|
||||
|
||||
template <typename Stream>
|
||||
@@ -397,7 +395,6 @@ struct PartiallySignedTransaction
|
||||
/** Merge psbt into this. The two psbts must have the same underlying CTransaction (i.e. the
|
||||
* same actual Bitcoin transaction.) Returns true if the merge succeeded, false otherwise. */
|
||||
NODISCARD bool Merge(const PartiallySignedTransaction& psbt);
|
||||
bool IsSane() const;
|
||||
bool AddInput(const CTxIn& txin, PSBTInput& psbtin);
|
||||
bool AddOutput(const CTxOut& txout, const PSBTOutput& psbtout);
|
||||
PartiallySignedTransaction() {}
|
||||
@@ -547,10 +544,6 @@ struct PartiallySignedTransaction
|
||||
if (outputs.size() != tx->vout.size()) {
|
||||
throw std::ios_base::failure("Outputs provided does not match the number of outputs in transaction.");
|
||||
}
|
||||
// Sanity check
|
||||
if (!IsSane()) {
|
||||
throw std::ios_base::failure("PSBT is not sane.");
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Stream>
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource prefix="/translations">
|
||||
<file alias="ach">locale/bitcoin_ach.qm</file>
|
||||
<file alias="af">locale/bitcoin_af.qm</file>
|
||||
<file alias="am">locale/bitcoin_am.qm</file>
|
||||
<file alias="ar">locale/bitcoin_ar.qm</file>
|
||||
<file alias="az">locale/bitcoin_az.qm</file>
|
||||
<file alias="be">locale/bitcoin_be.qm</file>
|
||||
<file alias="bg">locale/bitcoin_bg.qm</file>
|
||||
<file alias="bn">locale/bitcoin_bn.qm</file>
|
||||
<file alias="bs">locale/bitcoin_bs.qm</file>
|
||||
<file alias="ca">locale/bitcoin_ca.qm</file>
|
||||
<file alias="cmn">locale/bitcoin_cmn.qm</file>
|
||||
<file alias="cs">locale/bitcoin_cs.qm</file>
|
||||
<file alias="cy">locale/bitcoin_cy.qm</file>
|
||||
<file alias="da">locale/bitcoin_da.qm</file>
|
||||
<file alias="de">locale/bitcoin_de.qm</file>
|
||||
<file alias="el">locale/bitcoin_el.qm</file>
|
||||
<file alias="en">locale/bitcoin_en.qm</file>
|
||||
<file alias="en_GB">locale/bitcoin_en_GB.qm</file>
|
||||
<file alias="eo">locale/bitcoin_eo.qm</file>
|
||||
<file alias="es">locale/bitcoin_es.qm</file>
|
||||
<file alias="es_CL">locale/bitcoin_es_CL.qm</file>
|
||||
@@ -28,6 +30,10 @@
|
||||
<file alias="fi">locale/bitcoin_fi.qm</file>
|
||||
<file alias="fil">locale/bitcoin_fil.qm</file>
|
||||
<file alias="fr">locale/bitcoin_fr.qm</file>
|
||||
<file alias="ga">locale/bitcoin_ga.qm</file>
|
||||
<file alias="gd">locale/bitcoin_gd.qm</file>
|
||||
<file alias="gl_ES">locale/bitcoin_gl_ES.qm</file>
|
||||
<file alias="gu">locale/bitcoin_gu.qm</file>
|
||||
<file alias="he">locale/bitcoin_he.qm</file>
|
||||
<file alias="hi">locale/bitcoin_hi.qm</file>
|
||||
<file alias="hr">locale/bitcoin_hr.qm</file>
|
||||
@@ -38,6 +44,7 @@
|
||||
<file alias="ja">locale/bitcoin_ja.qm</file>
|
||||
<file alias="ka">locale/bitcoin_ka.qm</file>
|
||||
<file alias="kk">locale/bitcoin_kk.qm</file>
|
||||
<file alias="kl">locale/bitcoin_kl.qm</file>
|
||||
<file alias="km">locale/bitcoin_km.qm</file>
|
||||
<file alias="ko">locale/bitcoin_ko.qm</file>
|
||||
<file alias="ku_IQ">locale/bitcoin_ku_IQ.qm</file>
|
||||
@@ -54,12 +61,14 @@
|
||||
<file alias="nb">locale/bitcoin_nb.qm</file>
|
||||
<file alias="ne">locale/bitcoin_ne.qm</file>
|
||||
<file alias="nl">locale/bitcoin_nl.qm</file>
|
||||
<file alias="no">locale/bitcoin_no.qm</file>
|
||||
<file alias="pam">locale/bitcoin_pam.qm</file>
|
||||
<file alias="pl">locale/bitcoin_pl.qm</file>
|
||||
<file alias="pt">locale/bitcoin_pt.qm</file>
|
||||
<file alias="pt_BR">locale/bitcoin_pt_BR.qm</file>
|
||||
<file alias="ro">locale/bitcoin_ro.qm</file>
|
||||
<file alias="ru">locale/bitcoin_ru.qm</file>
|
||||
<file alias="sc">locale/bitcoin_sc.qm</file>
|
||||
<file alias="si">locale/bitcoin_si.qm</file>
|
||||
<file alias="sk">locale/bitcoin_sk.qm</file>
|
||||
<file alias="sl">locale/bitcoin_sl.qm</file>
|
||||
@@ -73,6 +82,7 @@
|
||||
<file alias="te">locale/bitcoin_te.qm</file>
|
||||
<file alias="th">locale/bitcoin_th.qm</file>
|
||||
<file alias="tr">locale/bitcoin_tr.qm</file>
|
||||
<file alias="ug">locale/bitcoin_ug.qm</file>
|
||||
<file alias="uk">locale/bitcoin_uk.qm</file>
|
||||
<file alias="ur">locale/bitcoin_ur.qm</file>
|
||||
<file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>
|
||||
@@ -84,5 +94,6 @@
|
||||
<file alias="zh_CN">locale/bitcoin_zh_CN.qm</file>
|
||||
<file alias="zh_HK">locale/bitcoin_zh_HK.qm</file>
|
||||
<file alias="zh_TW">locale/bitcoin_zh_TW.qm</file>
|
||||
<file alias="zu">locale/bitcoin_zu.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -41,10 +41,11 @@ bool CCoinControlWidgetItem::operator<(const QTreeWidgetItem &other) const {
|
||||
return QTreeWidgetItem::operator<(other);
|
||||
}
|
||||
|
||||
CoinControlDialog::CoinControlDialog(const PlatformStyle *_platformStyle, QWidget *parent) :
|
||||
CoinControlDialog::CoinControlDialog(CCoinControl& coin_control, WalletModel* _model, const PlatformStyle *_platformStyle, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::CoinControlDialog),
|
||||
model(nullptr),
|
||||
m_coin_control(coin_control),
|
||||
model(_model),
|
||||
platformStyle(_platformStyle)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@@ -134,6 +135,13 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *_platformStyle, QWidge
|
||||
ui->radioTreeMode->click();
|
||||
if (settings.contains("nCoinControlSortColumn") && settings.contains("nCoinControlSortOrder"))
|
||||
sortView(settings.value("nCoinControlSortColumn").toInt(), (static_cast<Qt::SortOrder>(settings.value("nCoinControlSortOrder").toInt())));
|
||||
|
||||
if(_model->getOptionsModel() && _model->getAddressTableModel())
|
||||
{
|
||||
updateView();
|
||||
updateLabelLocked();
|
||||
CoinControlDialog::updateLabels(m_coin_control, _model, this);
|
||||
}
|
||||
}
|
||||
|
||||
CoinControlDialog::~CoinControlDialog()
|
||||
@@ -146,18 +154,6 @@ CoinControlDialog::~CoinControlDialog()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void CoinControlDialog::setModel(WalletModel *_model)
|
||||
{
|
||||
this->model = _model;
|
||||
|
||||
if(_model && _model->getOptionsModel() && _model->getAddressTableModel())
|
||||
{
|
||||
updateView();
|
||||
updateLabelLocked();
|
||||
CoinControlDialog::updateLabels(_model, this);
|
||||
}
|
||||
}
|
||||
|
||||
// ok button
|
||||
void CoinControlDialog::buttonBoxClicked(QAbstractButton* button)
|
||||
{
|
||||
@@ -183,8 +179,8 @@ void CoinControlDialog::buttonSelectAllClicked()
|
||||
ui->treeWidget->topLevelItem(i)->setCheckState(COLUMN_CHECKBOX, state);
|
||||
ui->treeWidget->setEnabled(true);
|
||||
if (state == Qt::Unchecked)
|
||||
coinControl()->UnSelectAll(); // just to be sure
|
||||
CoinControlDialog::updateLabels(model, this);
|
||||
m_coin_control.UnSelectAll(); // just to be sure
|
||||
CoinControlDialog::updateLabels(m_coin_control, model, this);
|
||||
}
|
||||
|
||||
// context menu
|
||||
@@ -369,15 +365,15 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column)
|
||||
COutPoint outpt(uint256S(item->data(COLUMN_ADDRESS, TxHashRole).toString().toStdString()), item->data(COLUMN_ADDRESS, VOutRole).toUInt());
|
||||
|
||||
if (item->checkState(COLUMN_CHECKBOX) == Qt::Unchecked)
|
||||
coinControl()->UnSelect(outpt);
|
||||
m_coin_control.UnSelect(outpt);
|
||||
else if (item->isDisabled()) // locked (this happens if "check all" through parent node)
|
||||
item->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
|
||||
else
|
||||
coinControl()->Select(outpt);
|
||||
m_coin_control.Select(outpt);
|
||||
|
||||
// selection changed -> update labels
|
||||
if (ui->treeWidget->isEnabled()) // do not update on every click for (un)select all
|
||||
CoinControlDialog::updateLabels(model, this);
|
||||
CoinControlDialog::updateLabels(m_coin_control, model, this);
|
||||
}
|
||||
|
||||
// TODO: Remove this temporary qt5 fix after Qt5.3 and Qt5.4 are no longer used.
|
||||
@@ -402,7 +398,7 @@ void CoinControlDialog::updateLabelLocked()
|
||||
else ui->labelLocked->setVisible(false);
|
||||
}
|
||||
|
||||
void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
void CoinControlDialog::updateLabels(CCoinControl& m_coin_control, WalletModel *model, QDialog* dialog)
|
||||
{
|
||||
if (!model)
|
||||
return;
|
||||
@@ -434,7 +430,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
bool fWitness = false;
|
||||
|
||||
std::vector<COutPoint> vCoinControl;
|
||||
coinControl()->ListSelected(vCoinControl);
|
||||
m_coin_control.ListSelected(vCoinControl);
|
||||
|
||||
size_t i = 0;
|
||||
for (const auto& out : model->wallet().getCoins(vCoinControl)) {
|
||||
@@ -445,7 +441,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
const COutPoint& outpt = vCoinControl[i++];
|
||||
if (out.is_spent)
|
||||
{
|
||||
coinControl()->UnSelect(outpt);
|
||||
m_coin_control.UnSelect(outpt);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -498,7 +494,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
nBytes -= 34;
|
||||
|
||||
// Fee
|
||||
nPayFee = model->wallet().getMinimumFee(nBytes, *coinControl(), nullptr /* returned_target */, nullptr /* reason */);
|
||||
nPayFee = model->wallet().getMinimumFee(nBytes, m_coin_control, nullptr /* returned_target */, nullptr /* reason */);
|
||||
|
||||
if (nPayAmount > 0)
|
||||
{
|
||||
@@ -590,12 +586,6 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
label->setVisible(nChange < 0);
|
||||
}
|
||||
|
||||
CCoinControl* CoinControlDialog::coinControl()
|
||||
{
|
||||
static CCoinControl coin_control;
|
||||
return &coin_control;
|
||||
}
|
||||
|
||||
void CoinControlDialog::updateView()
|
||||
{
|
||||
if (!model || !model->getOptionsModel() || !model->getAddressTableModel())
|
||||
@@ -612,8 +602,7 @@ void CoinControlDialog::updateView()
|
||||
int nDisplayUnit = model->getOptionsModel()->getDisplayUnit();
|
||||
|
||||
for (const auto& coins : model->wallet().listCoins()) {
|
||||
CCoinControlWidgetItem *itemWalletAddress = new CCoinControlWidgetItem();
|
||||
itemWalletAddress->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
|
||||
CCoinControlWidgetItem* itemWalletAddress{nullptr};
|
||||
QString sWalletAddress = QString::fromStdString(EncodeDestination(coins.first));
|
||||
QString sWalletLabel = model->getAddressTableModel()->labelForAddress(sWalletAddress);
|
||||
if (sWalletLabel.isEmpty())
|
||||
@@ -622,7 +611,7 @@ void CoinControlDialog::updateView()
|
||||
if (treeMode)
|
||||
{
|
||||
// wallet address
|
||||
ui->treeWidget->addTopLevelItem(itemWalletAddress);
|
||||
itemWalletAddress = new CCoinControlWidgetItem(ui->treeWidget);
|
||||
|
||||
itemWalletAddress->setFlags(flgTristate);
|
||||
itemWalletAddress->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
|
||||
@@ -696,13 +685,13 @@ void CoinControlDialog::updateView()
|
||||
// disable locked coins
|
||||
if (model->wallet().isLockedCoin(output))
|
||||
{
|
||||
coinControl()->UnSelect(output); // just to be sure
|
||||
m_coin_control.UnSelect(output); // just to be sure
|
||||
itemOutput->setDisabled(true);
|
||||
itemOutput->setIcon(COLUMN_CHECKBOX, platformStyle->SingleColorIcon(":/icons/lock_closed"));
|
||||
}
|
||||
|
||||
// set checkbox
|
||||
if (coinControl()->IsSelected(output))
|
||||
if (m_coin_control.IsSelected(output))
|
||||
itemOutput->setCheckState(COLUMN_CHECKBOX, Qt::Checked);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ class CCoinControlWidgetItem : public QTreeWidgetItem
|
||||
{
|
||||
public:
|
||||
explicit CCoinControlWidgetItem(QTreeWidget *parent, int type = Type) : QTreeWidgetItem(parent, type) {}
|
||||
explicit CCoinControlWidgetItem(int type = Type) : QTreeWidgetItem(type) {}
|
||||
explicit CCoinControlWidgetItem(QTreeWidgetItem *parent, int type = Type) : QTreeWidgetItem(parent, type) {}
|
||||
|
||||
bool operator<(const QTreeWidgetItem &other) const;
|
||||
@@ -43,20 +42,18 @@ class CoinControlDialog : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CoinControlDialog(const PlatformStyle *platformStyle, QWidget *parent = nullptr);
|
||||
explicit CoinControlDialog(CCoinControl& coin_control, WalletModel* model, const PlatformStyle *platformStyle, QWidget *parent = nullptr);
|
||||
~CoinControlDialog();
|
||||
|
||||
void setModel(WalletModel *model);
|
||||
|
||||
// static because also called from sendcoinsdialog
|
||||
static void updateLabels(WalletModel*, QDialog*);
|
||||
static void updateLabels(CCoinControl& m_coin_control, WalletModel*, QDialog*);
|
||||
|
||||
static QList<CAmount> payAmounts;
|
||||
static CCoinControl *coinControl();
|
||||
static bool fSubtractFeeFromAmount;
|
||||
|
||||
private:
|
||||
Ui::CoinControlDialog *ui;
|
||||
CCoinControl& m_coin_control;
|
||||
WalletModel *model;
|
||||
int sortColumn;
|
||||
Qt::SortOrder sortOrder;
|
||||
|
||||
3820
src/qt/locale/bitcoin_ach.ts
Normal file
3820
src/qt/locale/bitcoin_ach.ts
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -269,9 +269,151 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&አማራጮች...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>ዋሌት ፍጠር</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>አዲስ ዋሌት ፍጠር</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>ዋሌት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Send</source>
|
||||
<translation>&ላክ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receive</source>
|
||||
<translation>&ተቀበል</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Show / Hide</source>
|
||||
<translation>&አሳይ/ ደብቅ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>&ፋይል</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>&ቅንብሮች</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
<translation>&እርዳታ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>ማሳስቢያ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>መረጃ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>ዋሌት ክፈት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>ዋሌት ክፈት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>ዋሌት ዝጋ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>ዋሌት ዝጋ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize</source>
|
||||
<translation>አሳንስ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>እሳድግ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>ስህተት፥ %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>ማሳሰቢያ፥ %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
<translation>ቀን፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount: %1
|
||||
</source>
|
||||
<translation>መጠን፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address: %1
|
||||
</source>
|
||||
<translation>አድራሻ፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>ብዛት፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>መጠን፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>ክፍያ፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>አድራሻ ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>ክፍያው ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>yes</source>
|
||||
<translation>አዎ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>no</source>
|
||||
<translation>አይ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(መለያ ስም የለም)</translation>
|
||||
@@ -282,33 +424,93 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>ዋሌት ስም</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>ፍጠር</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
<message>
|
||||
<source>name</source>
|
||||
<translation>ስም</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
<message>
|
||||
<source>version</source>
|
||||
<translation>ስሪት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>ስለ እኛ %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Welcome</source>
|
||||
<translation>እንኳን ደህና መጣህ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to %1.</source>
|
||||
<translation>እንኳን ወድ %1 በደህና መጣህ።</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitcoin</source>
|
||||
<translation>ቢትኮይን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>ከ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>የማይታወቅ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>ደብቅ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>ከ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
@@ -318,6 +520,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>ስህተት፥ %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
@@ -327,13 +537,21 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>አድራሻ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -341,6 +559,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -352,6 +574,30 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>ብዛት፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>መጠን፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>ክፍያ፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>ደብቅ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>ክፍያው ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(መለያ ስም የለም)</translation>
|
||||
@@ -371,12 +617,24 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -388,10 +646,22 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>አድራሻ ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>ኮማ ሴፓሬትድ ፋይል (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -410,13 +680,21 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>ዋሌት ዝጋ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
410
src/qt/locale/bitcoin_az.ts
Normal file
410
src/qt/locale/bitcoin_az.ts
Normal file
@@ -0,0 +1,410 @@
|
||||
<TS language="az" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>sağ basın ve cüzdan ünvanınızı veya etiketinizi deyişdirin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>teze ünvan yaradın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>&teze</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>hal-hazırda seçilmiş ünvanı sistem ekranına kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>&kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>&bağla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Hazırki seçilmiş ünvanı siyahıdan sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
<translation>Axtarmaq üçün ünvan və ya etiket daxil edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&İxrac</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Pul göndəriləcək ünvanı seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Pul alınacaq ünvanı seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>Seç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Göndərilən ünvanlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Alınan ünvanlar</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>Bunlar ödənişləri göndərmək üçün Bitcoin ünvanlarınızdır. pul göndərməzdən əvvəl həmişə miqdarı və göndəriləcək ünvanı yoxlayın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Ünvanı kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Etiketi kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Düzəliş et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Ünvan siyahısını ixrac et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>İxrac edilmədi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Ünvan siyahısını %1 daxilində saxlamağı sınayarkən xəta baş verdi. Zəhmət olmasa yenidən sınayın.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Ünvan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Passphrase Dialog</source>
|
||||
<translation>Şifrə İfadə Dialoqu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation>Şifrə ifadəsini daxil edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
<translation>Yeni şifrə ifadəsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Şifrə ifadəsini təkrarlayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Şifrə ifadəsini göstər</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Şifrəli pulqabı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Bu əməliyyatın pulqabı kilidini açılması üçün pul qabınızın şifrə ifadəsinə ehtiyacı var.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Pulqabı kilidini aç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Bu əməliyyatın pulqabını şifrələmək üçün pul qabınızın şifrə ifadəsinə ehtiyacı var.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Pulqabı şifrələ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Şifrə ifadəsini dəyişdir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Pulqabı şifrələməsini təsdiqlə</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>&Tənzimləmələr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Xəbərdarlıq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Məlumat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Bir pulqabı aç</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Əvvəlcə tam zənciri endirmək və sonra budamaq daha sürətlidir. Bəzi qabaqcıl özəllikləri sıradan çıxarar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</source>
|
||||
<translation>Bəzi qabaqcıl özəllikləri sıradan çıxardar, ancaq bütün bloklar tamamilə təsdiqlənmiş qalacaq. Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Aktual disk istifadəsi biraz daha yüksək ola bilər.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
|
||||
<translation>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
|
||||
<translation>İstifadəçi interfeys dili burada tənzimlənə bilər. Bu tənzimləmə %1 yenidən başladıldıqdan sonra təsirli olacaq.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Ünvan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ShutdownWindow</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SignVerifyMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Ünvan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>İxrac edilmədi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&İxrac</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Insufficient funds</source>
|
||||
<translation>Yetərsiz balans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>Ödəniş təxmin edilmədi. Fallbackfee sıradan çıxarıldı. Bir neçə blok gözləyin və ya Fallbackfee-ni fəallaşdırın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>Xəbərdarlıq: Gizli açarlar, sıradan çıxarılmış gizli açarlar ilə {%s} pulqabısında aşkarlandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>'%s' verilənlər kateqoriyasına yazıla bilmir; icazələri yoxlayın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading wallet...</source>
|
||||
<translation>Pulqabı yüklənir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot downgrade wallet</source>
|
||||
<translation>Pulqabı əvvəlki versiyaya keçirilə bilmir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rescanning...</source>
|
||||
<translation>Yenidən tədqiq edilir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Done loading</source>
|
||||
<translation>Yükləmə tamamlandı</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -149,7 +149,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Рачшыфраваць гаманец</translation>
|
||||
<translation>Раcшыфраваць гаманец</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Повтори парола</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Показване на парола</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Криптирай портфейл</translation>
|
||||
@@ -171,6 +175,22 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>портфейлa е шифрован</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Въведете старата и новата паролна фраза за портфейла.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Портфейл за криптиране</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Портфейлът ви е на път да бъде шифрован.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Вашият портфейл сега е криптиран.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>ВАЖНО: Всички стари запазвания, които сте направили на Вашият портфейл трябва да замените с запазване на новополучения, шифриран портфейл. От съображения за сигурност, предишните запазвания на нешифрирани портфейли ще станат неизползваеми веднага, щом започнете да използвате новият, шифриран портфейл.</translation>
|
||||
@@ -437,6 +457,22 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Актуално</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Прозорец на възела</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Отворете портфейл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Затвори портфейла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Затвори портфейла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Покажи %1 помощно съобщение за да получиш лист с възможни Биткойн команди</translation>
|
||||
@@ -453,6 +489,14 @@
|
||||
<source>Minimize</source>
|
||||
<translation>Минимизирай</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>Увеличи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Main Window</source>
|
||||
<translation>Главен Прозорец</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation>%1 клиент</translation>
|
||||
@@ -646,6 +690,10 @@
|
||||
<source>no</source>
|
||||
<translation>не</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This label turns red if any recipient receives an amount smaller than the current dust threshold.</source>
|
||||
<translation>Този етикет става червен ако някой получател получи количество, по-малко от текущия праг на остатък</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(без етикет)</translation>
|
||||
@@ -661,9 +709,17 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Създаването на портфейл не бе успешен</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Създайте портфейл</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1262,6 +1318,10 @@
|
||||
<source>User Agent</source>
|
||||
<translation>Потребителски агент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Прозорец на възела</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Услуги</translation>
|
||||
@@ -2188,6 +2248,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Затвори портфейла</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Feu clic dret per a editar l'adreça o l'etiqueta</translation>
|
||||
<translation>Feu clic al botó dret per a editar l'adreça o l'etiqueta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -69,6 +69,10 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Aquestes són les vostres adreces de Bitcoin per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes.</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.</source>
|
||||
<translation>Aquestes són les teves adreces Bitcoin per rebre pagaments. Utilitza el botó "Crear nova adreça de recepció" de la pestanya de recepció per crear noves adreces.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Copia l'adreça</translation>
|
||||
@@ -183,6 +187,10 @@
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Introduïu la contrasenya antiga i la contrasenya nova a la cartera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Recorda que tot i xifrant la teva cartera, els teus bitcoins no estan completament protegits de robatori a través de programari maliciós que estigui infectant el teu ordinador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Cartera per ser encriptada</translation>
|
||||
@@ -283,7 +291,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Mosta informació sobre el %1</translation>
|
||||
<translation>Mostra informació sobre el %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
@@ -317,6 +325,14 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Obre un &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear Cartera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nova cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Moneder:</translation>
|
||||
@@ -421,6 +437,10 @@
|
||||
<source>&Command-line options</source>
|
||||
<translation>Opcions de la &línia d'ordres</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation><numerusform>Una connexió activa a la xarxa de Bitcoin</numerusform><numerusform>%n connexions actives a la xarxa de Bitcoin</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>S'estan indexant els blocs al disc...</translation>
|
||||
@@ -429,6 +449,10 @@
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>S'estan processant els blocs al disc...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>Processat un bloc de l'historial de transaccions.</numerusform><numerusform>Processat %n blocs de l'historial de transaccions.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>%1 darrere</translation>
|
||||
@@ -457,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Actualitzat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Finestra node</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Obrir depurador de node i consola de diagnosi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>Adreces d'&enviament</translation>
|
||||
@@ -465,13 +497,17 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>Adreces de &recepció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Obrir un bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Obre la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Obre la cartera</translation>
|
||||
<translation>Obre una cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
@@ -525,6 +561,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Avís: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Avís: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -747,10 +787,59 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation>Creant cartera <b>%1</b>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>La creació de cartera ha fallat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Avís en la creació de la cartera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Nom de la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>Xifra la cartera. La cartera serà xifrada amb la contrasenya que escullis.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Xifrar la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Deshabilita les claus privades per a aquesta cartera. Carteres amb claus privades deshabilitades no tindran cap clau privada i no podran tenir cap llavor HD o importar claus privades.
|
||||
Això és ideal per a carteres de mode només lectura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Deshabilitar claus privades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Crea una cartera en blanc. Carteres en blanc no tenen claus privades inicialment o scripts. Claus privades i adreces poden ser importades, o una llavor HD, més endavant.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Fes cartera en blanc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -856,12 +945,16 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>As this is the first time the program is launched, you can choose where %1 will store its data.</source>
|
||||
<translation>Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemarà les dades.</translation>
|
||||
<translation>Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemaran les dades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>Quan feu clic a D'acord, %1 començarà a descarregar i processar la cadena de blocs %4 completa (%2 GB) començant per les primeres transaccions de %3, any de llençament inicial de %4.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Desfer aquest canvi requereix tornar-se a descarregar el blockchain sencer. És més ràpid descarregar la cadena completa primer i després podar. Deshabilita algunes de les característiques avançades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>Aquesta sincronització inicial és molt exigent i pot exposar problemes de maquinari amb l'equip que anteriorment havien passat desapercebuts. Cada vegada que executeu %1, continuarà descarregant des del punt on es va deixar.</translation>
|
||||
@@ -882,6 +975,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard blocks after verification, except most recent %1 GB (prune)</source>
|
||||
<translation>Descarta blocs després de la verificació, excepte el més recent %1 GB (podar)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
|
||||
<translation>Almenys %1 GB de dades s'emmagatzemaran en aquest directori, i creixerà amb el temps.</translation>
|
||||
@@ -906,7 +1003,19 @@
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>%n GB of free space available</source>
|
||||
<translation><numerusform>Un GB d'espai lliure disponible.</numerusform><numerusform>%n GB d'espai lliure disponibles</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(Un GB necessari)</numerusform><numerusform>(de %n GB necessàris)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(Un GB necessari per a la cadena completa)</numerusform><numerusform>(Un GB necessari per a la cadena completa)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
@@ -953,6 +1062,14 @@
|
||||
<source>Hide</source>
|
||||
<translation>Amaga</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</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>%1 sincronitzant ara mateix. Es descarregaran capçaleres i blocs d'altres peers i es validaran fins a obtenir la punta de la cadena de blocs. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Desconegut. Sincronització de les capçaleres (%1, %2%)...</translation>
|
||||
@@ -960,6 +1077,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Obre Bitcoin URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -967,6 +1088,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Ha fallat l'obertura de la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Avís en l'obertura de la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>moneder per defecte</translation>
|
||||
@@ -1194,6 +1323,10 @@
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>URL de transaccions de tercers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
|
||||
<translation>Opcions configurades en aquest diàleg són sobreescrites per la línia de comandes o el fitxer de configuració:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&D'acord</translation>
|
||||
@@ -1340,6 +1473,18 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' no és una URI vàlida. Usi 'bitcoin:' en lloc seu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>No es pot processar la petició de pagament perquè BIP70 no està suportat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>A causa dels defectes generalitzats en el BIP70 és altament recomanable que qualsevol instrucció comerciant per canviar carteres sigui ignorada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>Si estàs rebent aquest error, hauries de demanar al comerciant que et doni una URI compatible amb el BIP21.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Adreça de pagament no vàlida %1</translation>
|
||||
@@ -1418,10 +1563,34 @@
|
||||
<source>%1 ms</source>
|
||||
<translation>%1 ms</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation><numerusform>Un segon</numerusform><numerusform>%n segons</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n minute(s)</source>
|
||||
<translation><numerusform>Un minut</numerusform><numerusform>%n minuts</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n hour(s)</source>
|
||||
<translation><numerusform>Una hora</numerusform><numerusform>%n hores</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n day(s)</source>
|
||||
<translation><numerusform>Un dia</numerusform><numerusform>%n dies</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>Una setmana</numerusform><numerusform>%n setmanes</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 and %2</source>
|
||||
<translation>%1 i %2</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n year(s)</source>
|
||||
<translation><numerusform>Un any</numerusform><numerusform>%n anys</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 B</source>
|
||||
<translation>%1 B</translation>
|
||||
@@ -1477,6 +1646,10 @@
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>Error en codificar l'URI en un codi QR.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>Suport de codi QR no disponible.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>Desa el codi QR</translation>
|
||||
@@ -1512,10 +1685,18 @@
|
||||
<source>Datadir</source>
|
||||
<translation>Datadir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To specify a non-default location of the data directory use the '%1' option.</source>
|
||||
<translation>Per tal d'especificar una ubicació que no és per defecte del directori de dades utilitza la '%1' opció.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocksdir</source>
|
||||
<translation>Directori de blocs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To specify a non-default location of the blocks directory use the '%1' option.</source>
|
||||
<translation>Per tal d'especificar una ubicació que no és per defecte del directori de blocs utilitza la '%1' opció.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Startup time</source>
|
||||
<translation>&Temps d'inici</translation>
|
||||
@@ -1608,10 +1789,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Blocs sincronitzats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>El sistema autònom de mapat utilitzat per diversificar la selecció entre iguals.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Mapat com</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Agent d'usuari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Finestra node</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>Obre el fitxer de registre de depuració %1 del directori de dades actual. Això pot trigar uns segons en fitxers de registre grans.</translation>
|
||||
@@ -1823,6 +2016,18 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Un import opcional per sol·licitar. Deixeu-ho en blanc o zero per no sol·licitar cap import específic.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>Una etiqueta opcional per associar-se a la nova adreça de recepció (usada per vostè per identificar una factura). També s’adjunta a la sol·licitud de pagament.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Un missatge opcional adjunt a la sol·licitud de pagament i que es pot mostrar al remitent.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Creeu una nova adreça de recepció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Neteja tots els camps del formulari.</translation>
|
||||
@@ -2072,6 +2277,18 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Dust:</source>
|
||||
<translation>Polsim:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Amagueu la configuració de les tarifes de transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Quan no hi ha prou espai en els blocs per encabir totes les transaccions, els miners i així mateix els nodes repetidors poden exigir una taxa mínima. És acceptable pagar únicament la taxa mínima, però tingueu present que pot resultar que la vostra transacció no sigui mai confirmada mentre hi hagi més demanda de transaccions bitcoin de les que la xarxa pot processar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
|
||||
<translation>Una taxa massa baixa pot resultar en una transacció que no es confirmi mai (llegiu el consell)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Temps de confirmació objectiu:</translation>
|
||||
@@ -2132,18 +2349,38 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 blocs)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>Creació sense firmar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Crea una transacció bitcoin parcialment signada (PSBT) per a utilitzar, per exemple, amb una cartera %1 fora de línia o amb una cartera compatible amb PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>de la cartera "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to '%2'</source>
|
||||
<translation>%1 a '%2'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 a %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Voleu redactar aquesta transacció?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Esteu segur que ho voleu enviar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Revisa la teva proposta de transacció. Es produirà una transacció de Bitcoin amb signatura parcial (PSBT) que podeu copiar i després signar, per exemple, amb una cartera %1 de tipus fora de línia o una cartera física compatible amb PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
@@ -2160,14 +2397,42 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Transaction fee</source>
|
||||
<translation>Comissió de transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>Substitució per tarifa sense senyalització, BIP-125</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Import total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>Per revisar la llista de destinataris, feu clic a "Mostra els detalls ..."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Confirma l'enviament de monedes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Confirmeu la proposta de transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Copiar PSBT al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Enviar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT copiada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Saldo només de vigilància:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>L'adreça del destinatari no és vàlida. Torneu-la a comprovar.</translation>
|
||||
@@ -2200,6 +2465,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Payment request expired.</source>
|
||||
<translation>La sol·licitud de pagament ha vençut.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Estimated to begin confirmation within %n block(s).</source>
|
||||
<translation><numerusform>S’estima que comenci la confirmació dintre d'un bloc.</numerusform><numerusform>S’estima que comenci la confirmació dintre de %n blocs.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Invalid Bitcoin address</source>
|
||||
<translation>Avís: adreça Bitcoin no vàlida</translation>
|
||||
@@ -2259,6 +2528,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Remove this entry</source>
|
||||
<translation>Elimina aquesta entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>L’import a enviar a la unitat seleccionada</translation>
|
||||
</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>La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys bitcoins que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual.</translation>
|
||||
@@ -2385,6 +2658,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>L'adreça Bitcoin amb què va ser signat el missatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>El missatge signat per verificar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>La signatura donada quan es va signar el missatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Verificar el missatge per assegurar-se que ha estat signat amb una adreça Bitcoin específica</translation>
|
||||
@@ -2417,6 +2698,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>S'ha cancel·lat el desblocatge de la cartera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Cap error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>La clau privada per a la adreça introduïda no està disponible.</translation>
|
||||
@@ -2459,6 +2744,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Obre per un bloc més</numerusform><numerusform>Obre per %n blocs més</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Obert fins %1</translation>
|
||||
@@ -2535,6 +2824,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Credit</source>
|
||||
<translation>Crèdit</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>matures in %n more block(s)</source>
|
||||
<translation><numerusform>madura en un bloc més</numerusform><numerusform>madura en %n blocs més</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>no acceptat</translation>
|
||||
@@ -2583,6 +2876,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Output index</source>
|
||||
<translation>Índex de resultats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation>(El certificat no s'ha verificat)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Mercader</translation>
|
||||
@@ -2641,6 +2938,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Label</source>
|
||||
<translation>Etiqueta</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Obre per un bloc més</numerusform><numerusform>Obre per %n blocs més</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Obert fins %1</translation>
|
||||
@@ -2902,7 +3203,15 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Close wallet</source>
|
||||
<translation>Tanca la cartera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Are you sure you wish to close the wallet <i>%1</i>?</source>
|
||||
<translation>Segur que voleu tancar la cartera <i>%1 </i>?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Si tanqueu la cartera durant massa temps, es pot haver de tornar a sincronitzar tota la cadena si teniu el sistema de poda habilitat.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
@@ -2928,6 +3237,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Voleu augmentar la tarifa?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Voleu redactar una transacció amb augment de tarifes?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>tarifa actual:</translation>
|
||||
@@ -2944,6 +3257,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Confirmeu el recàrrec de tarifes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>No es pot redactar la transacció.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT copiada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>No es pot signar la transacció.</translation>
|
||||
@@ -3026,10 +3347,18 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>The %s developers</source>
|
||||
<translation>Els desenvolupadors %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't generate a change-address key. No keys in the internal keypool and can't generate any keys.</source>
|
||||
<translation>No es pot generar una clau d’adreça de canvi. No hi ha claus al keypool intern i no es pot generar cap clau.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>No es pot obtenir un bloqueig al directori de dades %s. %s probablement ja s'estigui executant.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>No es poden proporcionar connexions específiques i no es poden trobar connexions sortint al mateix temps.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>S'ha produït un error en llegir %s. Totes les claus es llegeixen correctament, però les dades de la transacció o les entrades de la llibreta d'adreces podrien faltar o ser incorrectes.</translation>
|
||||
@@ -3090,6 +3419,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Change index out of range</source>
|
||||
<translation>Canvieu l'índex fora de l'abast</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
|
||||
<translation>Configuració per a %s únicament aplicada a %s de la xarxa quan es troba a la secció [%s].</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright (C) %i-%i</source>
|
||||
<translation>Copyright (C) %i-%i</translation>
|
||||
@@ -3098,6 +3431,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>S'ha detectat una base de dades de blocs corrupta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>No s'ha pogut trobar el fitxer asmap %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>No s'ha pogut analitzar el fitxer asmap %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Voleu reconstruir la base de dades de blocs ara?</translation>
|
||||
@@ -3114,6 +3455,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error loading %s</source>
|
||||
<translation>Error carregant %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Private keys can only be disabled during creation</source>
|
||||
<translation>Error carregant %s: les claus privades només es poden desactivar durant la creació</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Wallet corrupted</source>
|
||||
<translation>S'ha produït un error en carregar %s: la cartera és corrupta</translation>
|
||||
@@ -3134,6 +3479,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
|
||||
<translation>Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>No s'ha pogut escanejar novament la cartera durant la inicialització</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>S'està important...</translation>
|
||||
@@ -3146,6 +3495,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>S'ha produït un error en la verificació de sanejament d'inicialització. S'està tancant %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>Permís P2P no vàlid: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>Import invàlid per -%s=<amount>: '%s'</translation>
|
||||
@@ -3158,10 +3511,30 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Import invàlid per -fallbackfee=<amount>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>El directori de blocs especificat "%s" no existeix.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Tipus d'adreça desconegut '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Tipus de canvi desconegut '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>Actualitzant txindex de la base de dades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading P2P addresses...</source>
|
||||
<translation>S'estan carregant les adreces P2P ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is too low!</source>
|
||||
<translation>Error: l'espai del disc és insuficient.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading banlist...</source>
|
||||
<translation>Carregant banlist ...</translation>
|
||||
@@ -3246,6 +3619,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error upgrading chainstate database</source>
|
||||
<translation>S'ha produït un error en actualitzar la base de dades de chainstate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>Error: l'espai del disc és insuficient per a %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Adreça o nom de l'ordinador -onion no vàlida: '%s'</translation>
|
||||
@@ -3266,6 +3643,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Cal especificar un port amb -whitebind: «%s»</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>El mode de poda no és compatible amb -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Reducció de -maxconnections de %d a %d, a causa de les limitacions del sistema.</translation>
|
||||
@@ -3278,6 +3659,24 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Signing transaction failed</source>
|
||||
<translation>Ha fallat la signatura de la transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" does not exist</source>
|
||||
<translation>-Walletdir especificat "%s" no existeix</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is a relative path</source>
|
||||
<translation>-Walletdir especificat "%s" és una ruta relativa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is not a directory</source>
|
||||
<translation>-Walletdir especificat "%s" no és un directori</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The specified config file %s does not exist
|
||||
</source>
|
||||
<translation>El fitxer de configuració especificat %s no existeix
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation>L'import de la transacció és massa petit per pagar-ne una comissió</translation>
|
||||
@@ -3298,10 +3697,18 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
|
||||
<translation>No s'ha pogut vincular a %s en aquest ordinador (la vinculació ha retornat l'error %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create the PID file '%s': %s</source>
|
||||
<translation>No es pot crear el fitxer PID '%s': %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>No s'han pogut generar les claus inicials</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Valor %s -blockfilterindex desconegut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>S'estan verificant les carteres...</translation>
|
||||
@@ -3374,6 +3781,18 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Insufficient funds</source>
|
||||
<translation>Balanç insuficient</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use -upgradewallet=169900 or -upgradewallet with no version specified.</source>
|
||||
<translation>No es pot actualitzar una cartera de tipus dividida que no sigui física sense haver d'actualitzar per tal de suportar keypool pre dividida. Si us plau, utilitzeu -upgradewallet = 169900 o -upgradewallet sense cap versió especificada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>L'estimació de la quota ha fallat. Fallbackfee està desactivat. Espereu uns quants blocs o activeu -fallbackfee.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>Avís: Claus privades detectades en la cartera {%s} amb claus privades deshabilitades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>No es pot escriure en el directori de dades "%s". Reviseu-ne els permisos.</translation>
|
||||
|
||||
214
src/qt/locale/bitcoin_cmn.ts
Normal file
214
src/qt/locale/bitcoin_cmn.ts
Normal file
@@ -0,0 +1,214 @@
|
||||
<TS language="cmn" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>右键点击开始修改地址或标签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>创建新地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>&New</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>把目前选择的地址复制到系统粘贴板中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>&复制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>&关闭</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>从地址表中删除目前选择的地址</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Unlock wallet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Click to disable network activity.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
|
||||
<translation>Sign messages with your Bitcoin addresses to prove you own them</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Confirmations</source>
|
||||
<translation>Confirmations</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Map port using &UPnP</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>The recipient address is not valid. Please recheck.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Invalid Bitcoin address</source>
|
||||
<translation>Warning: Invalid Bitcoin address</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ShutdownWindow</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SignVerifyMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
<message>
|
||||
<source>KB/s</source>
|
||||
<translation>KB/s</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation>Status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Merchant</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Amount removed from or added to balance.</source>
|
||||
<translation>Amount removed from or added to balance.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation>Other</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>Current fee:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>Transaction must have at least one recipient</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rescanning...</source>
|
||||
<translation>Rescanning...</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -3,11 +3,11 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Pravým tlačítkem myši můžeš upravit označení adresy</translation>
|
||||
<translation>Pravým tlačítkem myši můžeš upravit adresu nebo štítek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Vytvoř novou adresu</translation>
|
||||
<translation>Vytvořit novou adresu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
@@ -39,7 +39,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&Export</translation>
|
||||
<translation>&Vývozní</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
@@ -481,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Aktuální</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Okno uzlu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Otevřít konzolu pro ladění a diagnostiku uzlů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>Odesílací adresy</translation>
|
||||
@@ -489,6 +497,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>Přijímací adresy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Načíst Bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Otevřít peněženku</translation>
|
||||
@@ -549,6 +561,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Chyba: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Varování: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -771,10 +787,58 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation>Vytvářím peněženku <b>%1</b>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Vytvoření peněženky selhalo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Vytvořit varování peněženky</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Vytvořit peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Název peněženky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>Zašifrovat peněženku. Peněženka bude zašifrována pomocí vašeho hesla.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Zašifrovat peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Vypnout soukromé klíče pro tuto peněženku. Peněženky s vypnutými soukromými klíči nebudou mít soukromé klíče a nemohou mít HD inicializaci ani importované soukromé klíče. Tohle je ideální pro peněženky pouze na sledování.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Zrušit soukromé klíče</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Vytvořit prázdnou peněženku. Prázdné peněženky na začátku nemají žádné soukromé klíče ani skripty. Později mohou být importovány soukromé klíče a adresy nebo nastavená HD inicializace.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Vytvořit prázdnou peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Vytvořit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -886,6 +950,10 @@
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>Jakmile stiskneš OK, %1 začne stahovat a zpracovávat celý %4ový blockchain (%2 GB), počínaje nejstaršími transakcemi z roku %3, kdy byl %4 spuštěn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Vrácení tohoto nastavení vyžaduje opětovné stažení celého blockchainu. Je rychlejší stáhnout celý řetězec nejprve a prořezat jej později. Některé pokročilé funkce budou zakázány, dokud celý blockchain nebude stažen nanovo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>Prvotní synchronizace je velice náročná, a mohou se tak díky ní začít na tvém počítači projevovat dosud skryté hardwarové problémy. Pokaždé, když spustíš %1, bude stahování pokračovat tam, kde skončilo.</translation>
|
||||
@@ -906,6 +974,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard blocks after verification, except most recent %1 GB (prune)</source>
|
||||
<translation>Zahodit bloky po ověření, s výjimkou posledních %1 GB (prořezat)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
|
||||
<translation>Bude proto potřebovat do tohoto adresáře uložit nejméně %1 GB dat – tohle číslo navíc bude v průběhu času růst.</translation>
|
||||
@@ -938,7 +1010,11 @@
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(z potřebného %n GB)</numerusform><numerusform>(z potřebných %n GB)</numerusform><numerusform>(z potřebných %n GB)</numerusform><numerusform>(z potřebných %n GB)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(%n GB potřeba pre plný řetězec)</numerusform><numerusform>(%n GB potřeba pre plný řetězec) </numerusform><numerusform>(%n GB potřeba pre plný řetězec) </numerusform><numerusform>(%n GB potřeba pre plný řetězec) </numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
@@ -985,6 +1061,14 @@
|
||||
<source>Hide</source>
|
||||
<translation>Skryj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc - úniková klávesa</translation>
|
||||
</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>%1 se právě synchronizuje. Stáhnou se hlavičky a bloky od protějsků. Ty se budou se ověřovat až se kompletně ověří celý řetězec bloků.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Neznámé. Synchronizace hlaviček (%1, %2)...</translation>
|
||||
@@ -992,6 +1076,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Otevřít bitcoin URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -999,6 +1087,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Otevření peněženky selhalo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Varování otevření peněženky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>výchozí peněženka</translation>
|
||||
@@ -1376,6 +1472,18 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' není platné URI. Místo toho použij 'bitcoin:'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>Nelze zpracovat žádost o platbu, protože podpora pro BIP70 není podporována.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>Vzhledem k rozšířeným bezpečnostním nedostatkům v BIP70 se důrazně doporučuje, aby byly ignorovány veškeré obchodní pokyny pro přepínání peněženek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>Pokud obdržíte tuto chybu, měli byste požádat obchodníka, aby poskytl URI kompatibilní s BIP21.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Neplatná platební adresa %1</translation>
|
||||
@@ -1537,6 +1645,10 @@
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>Chyba při kódování URI do QR kódu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>Podpora QR kódu není k dispozici.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>Ulož QR kód</translation>
|
||||
@@ -1676,10 +1788,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Aktuálně bloků</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Mapovaný nezávislý - Autonomní Systém používaný pro rozšírení vzájemného výběru protějsků.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Mapovaný AS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Typ klienta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Okno uzlu</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>Otevři soubor s ladicími záznamy %1 z aktuálního datového adresáře. U velkých žurnálů to může pár vteřin zabrat.</translation>
|
||||
@@ -1891,6 +2015,18 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Volitelná částka, kterou požaduješ. Nech prázdné nebo nulové, pokud nepožaduješ konkrétní částku.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>Volitelný popis který sa přidá k téjo nové přijímací adrese (pro jednoduchší identifikaci). Tenhle popis bude také přidán do výzvy k platbě.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Volitelná zpráva která se přidá k téjo platební výzvě a může být zobrazena odesílateli.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Vytvořit novou přijímací adresu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Promaž obsah ze všech formulářových políček.</translation>
|
||||
@@ -1905,7 +2041,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate native segwit (Bech32) address</source>
|
||||
<translation>Generovat nativní segwit adresu (Bench32)</translation>
|
||||
<translation>Generovat nativní segwit adresu (Bech32)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Requested payments history</source>
|
||||
@@ -2140,6 +2276,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Dust:</source>
|
||||
<translation>Prach:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Schovat nastavení poplatků transakce - transaction fee</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Když je zde měně transakcí než místa na bloky, mineři stejně tak relay-e mohou nasadit minimální poplatky. Zaplacením pouze minimálního poplatku je v pohodě, ale mějte na paměti že toto může mít za následek nikdy neověřenou transakci pokud zde bude více bitcoinových transakcí než může síť zvládnout.</translation>
|
||||
@@ -2208,14 +2348,38 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 bloků)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>Vytvořit bez podpisu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Vytvořit částečně podepsanou Bitcoin transakci (Partially Signed Bitcoin Transaction - PSBT) k použtí kupříkladu s offline %1 peněženkou nebo s jinou kompatibilní PSBT hardware peněženkou.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>z peněženky '%1'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to '%2'</source>
|
||||
<translation>%1 do '%2'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 pro %2</translation>
|
||||
<translation>%1 do %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Chcete naplánovat tuhle transakci?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Jsi si jistý, že tuhle transakci chceš poslat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Zkontrolujte prosím svůj návrh transakce. Výsledkem bude částečně podepsaná bitcoinová transakce (PSBT), kterou můžete kopírovat a poté podepsat např. pomocí offline %1 peněženky nebo hardwarové peněženky kompatibilní s PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>nebo</translation>
|
||||
@@ -2240,13 +2404,33 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Total Amount</source>
|
||||
<translation>Celková částka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>Chcete-li zkontrolovat seznam příjemců, klikněte na „Zobrazit podrobnosti ...“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Potvrď odeslání mincí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Potvrdit návrh transakce</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Zkopírovat PSBT do schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Pošli</translation>
|
||||
<translation>Odeslat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT zkopírován</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Pouze sledovaný zůstatek:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
@@ -2343,6 +2527,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Remove this entry</source>
|
||||
<translation>Smaž tento záznam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>Částka k odeslání ve vybrané měně</translation>
|
||||
</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>Poplatek se odečte od posílané částky. Příjemce tak dostane méně bitcoinů, než zadáš do pole Částka. Pokud vybereš více příjemců, tak se poplatek rovnoměrně rozloží.</translation>
|
||||
@@ -2469,6 +2657,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Bitcoinová adresa, kterou je zpráva podepsána</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>Podepsaná zpráva na ověření</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>Podpis daný při podpisu zprávy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Ověř zprávu, aby ses ujistil, že byla podepsána danou bitcoinovou adresou</translation>
|
||||
@@ -2501,6 +2697,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>Odemčení peněženky bylo zrušeno.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Bez chyby</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>Soukromý klíč pro zadanou adresu není dostupný.</translation>
|
||||
@@ -2675,6 +2875,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Output index</source>
|
||||
<translation>Pořadí výstupu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation>(Certifikát nebyl ověřen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Obchodník</translation>
|
||||
@@ -2998,6 +3202,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Close wallet</source>
|
||||
<translation>Zavřít peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close the wallet <i>%1</i>?</source>
|
||||
<translation>Opravdu chcete zavřít peněženku <i>%1</i>?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Zavření peněženky na příliš dlouhou dobu může vyústit v potřebu resynchronizace celého blockchainu pokud je zapnuté prořezávání.</translation>
|
||||
@@ -3026,7 +3234,11 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Chceš poplatek navýšit?</translation>
|
||||
<translation>Chcete navýšit poplatek?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Chcete naplánovat tuhle transakci s navýšením poplatku?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
@@ -3044,6 +3256,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Potvrď navýšení poplatku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>Nelze navrhnout transakci.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT zkopírováno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>Nemůžu podepsat transakci.</translation>
|
||||
@@ -3210,6 +3430,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Bylo zjištěno poškození databáze bloků</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>Soubor asmap nelze najít %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>Soubor asmap nelze analyzovat %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Chceš přestavět databázi bloků hned teď?</translation>
|
||||
@@ -3266,6 +3494,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>Selhala úvodní zevrubná prověrka. %s se ukončuje.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>Neplatné oprávnenie P2P: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>Neplatná částka pro -%s=<částka>: '%s'</translation>
|
||||
@@ -3282,6 +3514,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Zadaný adresář bloků "%s" neexistuje.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Neznámý typ adresy '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Neznámý typ změny '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>Aktualizuje se txindex databáze</translation>
|
||||
@@ -3290,6 +3530,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Loading P2P addresses...</source>
|
||||
<translation>Načítám P2P adresy…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is too low!</source>
|
||||
<translation>Chyba: Místo na disku je příliš malé!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading banlist...</source>
|
||||
<translation>Načítám seznam klateb...</translation>
|
||||
@@ -3398,6 +3642,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>V rámci -whitebind je třeba specifikovat i port: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Režim prořezávání není kompatibilní s -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Omezuji -maxconnections z %d na %d kvůli systémovým omezením.</translation>
|
||||
@@ -3456,6 +3704,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Nepodařilo se mi vygenerovat počáteční klíče</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Neznámá -blockfilterindex hodnota %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Kontroluji peněženku/y…</translation>
|
||||
|
||||
@@ -1788,6 +1788,14 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Synkroniserede blokke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Afbildning fra Autonome Systemer (et Internet-Protocol-rutefindingsprefiks) til IP-adresser som bruges til at diversificere knudeforbindelser. Den engelske betegnelse er "asmap".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Autonomt-System-afbildning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Brugeragent</translation>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Rechtsklick zum Bearbeiten der Adresse oder der Bezeichnung</translation>
|
||||
<translation>Rechtsklick zum Bearbeiten der Adresse oder des Etiketts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -31,7 +31,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
<translation>Zu suchende Adresse oder Bezeichnung eingeben</translation>
|
||||
<translation>Zu suchende Adresse oder Beschreibung eingeben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
@@ -75,7 +75,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Adresse kopieren</translation>
|
||||
<translation>&Copy Address</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
@@ -658,7 +658,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>"Dust":</translation>
|
||||
<translation>"Staub":</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
@@ -808,7 +808,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Wallet Name</translation>
|
||||
<translation>Wallet-Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
@@ -1012,7 +1012,7 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(%n GB benötigt für komplette Blockchain)</numerusform><numerusform>(%n GB benötigt für komplette Blockchain)</numerusform></translation>
|
||||
<translation><numerusform>(%n GB benötigt für komplette Blockchain)</numerusform><numerusform>(%n GB wird die komplette Blockchain benötigen)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1067,7 +1067,7 @@
|
||||
</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>%1 synchronisiert gerade. Es lädt Header und Blöcke von anderen Nodes und validiert sie bis zum Erreichen der Spitze der Blockkette.</translation>
|
||||
<translation>%1 synchronisiert gerade. Es lädt Header und Blöcke von Gegenstellen und validiert sie bis zum Erreichen der Spitze der Blockkette.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
@@ -1097,7 +1097,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Standard Wallet</translation>
|
||||
<translation>Standard-Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
@@ -1124,7 +1124,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation>Größe des &Datenbankcaches</translation>
|
||||
<translation>Größe des &Datenbankpufferspeichers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of script &verification threads</source>
|
||||
@@ -1407,7 +1407,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</source>
|
||||
<translation>Gesamtbetrag aus unbestätigten Transaktionen, der noch nicht im aktuell verfügbaren Kontostand enthalten ist</translation>
|
||||
<translation>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Immature:</source>
|
||||
@@ -1758,7 +1758,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Banned peers</source>
|
||||
<translation>Gesperrte Peers</translation>
|
||||
<translation>Gesperrte Gegenstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select a peer to view detailed information.</source>
|
||||
@@ -1788,6 +1788,14 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Synchronisierte Blöcke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Das zugeordnete autonome System zur Diversifizierung der Gegenstellen-Auswahl.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Zugeordnetes AS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>User-Agent</translation>
|
||||
@@ -2266,7 +2274,7 @@ Hinweis: Eine Gebühr von "100 Satoshis pro kB" bei einer Größe der Transaktio
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>"Dust":</translation>
|
||||
<translation>"Staub":</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
</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.</source>
|
||||
<translation>Αυτές είναι οι Bitcoin διευθύνσεις για την λήψη πληρωμών. Χρησιμοποιήσε το κουμπί 'Δημιουργία νέας διεύθυνσης λήψεων' στο παράθυρο λήψεων για την δημιουργία νέας διεύθυνσης </translation>
|
||||
<translation>Αυτές είναι οι Bitcoin διευθύνσεις για την λήψη πληρωμών. Χρησιμοποίησε το κουμπί 'Δημιουργία νέας διεύθυνσης λήψεων' στο παράθυρο λήψεων για την δημιουργία νέας διεύθυνσης </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
@@ -1773,6 +1773,14 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Συγχρονισμένα Μπλοκς</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Το χαρτογραφημένο Αυτόνομο Σύστημα που χρησιμοποιείται για τη διαφοροποίηση της επιλογής ομοτίμων.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Χαρτογραφημένο ως</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Agent χρήστη</translation>
|
||||
|
||||
@@ -885,7 +885,7 @@
|
||||
<translation type="unfinished">Confirmed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../coincontroldialog.cpp" line="+53"/>
|
||||
<location filename="../coincontroldialog.cpp" line="+54"/>
|
||||
<source>Copy address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -946,7 +946,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+313"/>
|
||||
<location line="+308"/>
|
||||
<source>(%1 locked)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -971,7 +971,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+45"/>
|
||||
<location line="+38"/>
|
||||
<location line="+54"/>
|
||||
<source>(no label)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -990,7 +990,7 @@
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
<message>
|
||||
<location filename="../walletcontroller.cpp" line="+209"/>
|
||||
<location filename="../walletcontroller.cpp" line="+217"/>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -2787,7 +2787,7 @@
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<location filename="../forms/sendcoinsdialog.ui" line="+14"/>
|
||||
<location filename="../sendcoinsdialog.cpp" line="+622"/>
|
||||
<location filename="../sendcoinsdialog.cpp" line="+618"/>
|
||||
<source>Send Coins</source>
|
||||
<translation>Send Coins</translation>
|
||||
</message>
|
||||
@@ -2974,7 +2974,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
<translation>S&end</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../sendcoinsdialog.cpp" line="-533"/>
|
||||
<location filename="../sendcoinsdialog.cpp" line="-528"/>
|
||||
<source>Copy quantity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -3024,7 +3024,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+100"/>
|
||||
<location line="+95"/>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -3159,7 +3159,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+125"/>
|
||||
<location line="+118"/>
|
||||
<source>Estimated to begin confirmation within %n block(s).</source>
|
||||
<translation>
|
||||
<numerusform>Estimated to begin confirmation within %n block.</numerusform>
|
||||
@@ -3167,7 +3167,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+101"/>
|
||||
<location line="+100"/>
|
||||
<source>Warning: Invalid Bitcoin address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -3518,7 +3518,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
<message>
|
||||
<location filename="../trafficgraphwidget.cpp" line="+81"/>
|
||||
<location filename="../trafficgraphwidget.cpp" line="+82"/>
|
||||
<source>KB/s</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -4115,7 +4115,7 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satos
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<location filename="../walletcontroller.cpp" line="-211"/>
|
||||
<location filename="../walletcontroller.cpp" line="-219"/>
|
||||
<source>Close wallet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ripetu la novan pasfrazon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Montri pasfrazon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Ĉifri la monujon</translation>
|
||||
@@ -171,6 +175,26 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>La monujo estas ĉifrita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Enigi la novan pasfrazon por la monujo. <br/>Bonvolu uzi pasfrazon de <b>dek aŭ pli hazardaj signoj</b>, aŭ <b>ok aŭ pli vortoj</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Enigi la malnovan pasfrazon kaj la novan pasfrazon por la monujo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Monujo ĉifriĝota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Via monujo estas ĉifriĝota.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Via monujo ĵus estas ĉifrata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>GRAVE: antaŭaj sekur-kopioj de via monujo-dosiero estas forigindaj kiam vi havas nove kreitan ĉifritan monujo-dosieron. Pro sekureco, antaŭaj kopioj de la neĉifrita dosiero ne plu funkcios tuj kiam vi ekuzos la novan ĉifritan dosieron.</translation>
|
||||
@@ -210,7 +234,11 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Ekzilita ĝis</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
@@ -249,6 +277,10 @@
|
||||
<source>&About %1</source>
|
||||
<translation>&Pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Montri informojn pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Pri &Qt</translation>
|
||||
@@ -261,6 +293,10 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&Agordoj...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Ŝanĝi agordojn por %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>Ĉifri &Monujon...</translation>
|
||||
@@ -277,6 +313,30 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Malfermi &URI-on...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Krei Monujon...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Krei novan monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Monujo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Alklaki por malebligi retan aktivon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Retaj agadoj malebliĝas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Alklaki por denove ebligi retajn agadojn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Reindeksado de blokoj sur disko...</translation>
|
||||
@@ -385,14 +445,50 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Ĝisdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Malfermi la Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Malfermi monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Fermi la Monujon...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Fermi monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>&Fenestro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>Zomi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Main Window</source>
|
||||
<translation>Ĉefa Fenestro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Ĝisdatigante...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Eraro: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Averta: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -405,6 +501,11 @@
|
||||
<translation>Sumo: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet: %1
|
||||
</source>
|
||||
<translation>Monujo: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type: %1
|
||||
</source>
|
||||
@@ -446,6 +547,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Coin Selection</source>
|
||||
<translation>Monero-Elektaĵo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>Kvanto:</translation>
|
||||
@@ -585,10 +690,43 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Krei monujon malsukcesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Averto pro krei monujon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Krei Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Monujo-Nomo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Ĉifri Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Malebligi privatajn ŝlosilojn por ĉi tiu monujo. Monujoj kun malebligitaj privataj ŝlosiloj ne havos privatajn ŝlosilojn, kaj povas havi nek HD-semon nek importatajn privatajn ŝlosilojn. Ĉi tio estas ideale por nurspektaj monujoj.
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Malebligi Privatajn Ŝlosilojn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Krei</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -665,6 +803,10 @@
|
||||
<source>version</source>
|
||||
<translation>versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>Pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command-line options</source>
|
||||
<translation>Komandliniaj agordaĵoj</translation>
|
||||
@@ -676,6 +818,10 @@
|
||||
<source>Welcome</source>
|
||||
<translation>Bonvenon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to %1.</source>
|
||||
<translation>Bonvenon al %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use the default data directory</source>
|
||||
<translation>Uzi la defaŭltan dosierujon por datumoj</translation>
|
||||
@@ -703,13 +849,45 @@
|
||||
<source>Form</source>
|
||||
<translation>Formularo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Nekonata...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Horo de la lasta bloko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Progreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress increase per hour</source>
|
||||
<translation>Hora pligrandigo da progreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>kalkuladas...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Kaŝi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esk</translation>
|
||||
</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>%1 sinkronigadas. Ĝi elŝutos kapaĵojn kaj blokojn de samtavolanoj, kaj validigos ilin, ĝis ĝi atingas la pinton de la blokĉeno.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Malfermi na la URI de bitmono</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -717,7 +895,23 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Malfermi monujon malsukcesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Malfermi monujon averto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
<translation>Malfermadas Monujon <b>%1</b>...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
@@ -728,10 +922,26 @@
|
||||
<source>&Main</source>
|
||||
<translation>Ĉ&efa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically start %1 after logging in to the system.</source>
|
||||
<translation>Aŭtomate komenci na %1 post ensalutis en la sistemon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Start %1 on system login</source>
|
||||
<translation>&Komenci na %1 kiam ensaluti en la sistemon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation>Dosiergrando de &datumbasa kaŝmemoro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of script &verification threads</source>
|
||||
<translation>Kvanto da skriptaj kaj kontroleraraj fadenoj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>IP-adreso de prokurilo (ekz. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
<translation>Reagordi ĉion al defaŭlataj valoroj.</translation>
|
||||
@@ -855,6 +1065,10 @@
|
||||
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
|
||||
<translation>Eblas, ke la informoj videblaj ĉi tie estas eksdataj. Via monujo aŭtomate sinkoniĝas kun la bitmona reto kiam ili konektiĝas, sed tiu procezo ankoraŭ ne finfariĝis.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
<translation>Disponebla:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your current spendable balance</source>
|
||||
<translation>via aktuala elspezebla saldo</translation>
|
||||
@@ -972,6 +1186,10 @@
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
<translation>Eraro: la elektita dosierujo por datumoj "%1" ne ekzistas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Eraro: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>nekonata</translation>
|
||||
@@ -1046,6 +1264,10 @@
|
||||
<source>Current number of blocks</source>
|
||||
<translation>Aktuala nombro de blokoj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet: </source>
|
||||
<translation>Monujo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received</source>
|
||||
<translation>Ricevita</translation>
|
||||
@@ -1110,7 +1332,35 @@
|
||||
<source>Clear console</source>
|
||||
<translation>Malplenigi konzolon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>1 &hour</source>
|
||||
<translation>1 &horo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &day</source>
|
||||
<translation>1 &tago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &week</source>
|
||||
<translation>1 &semajno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &year</source>
|
||||
<translation>1 &jaro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unban</source>
|
||||
<translation>&Malekzili</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>never</source>
|
||||
<translation>neniam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation>Nekonata</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
<message>
|
||||
@@ -1274,6 +1524,10 @@
|
||||
<source>Transaction Fee:</source>
|
||||
<translation>Krompago:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Kaŝi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send to multiple recipients at once</source>
|
||||
<translation>Sendi samtempe al pluraj ricevantoj</translation>
|
||||
@@ -1350,10 +1604,18 @@
|
||||
<source>Transaction fee</source>
|
||||
<translation>Krompago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Totala Sumo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Konfirmi sendon de bitmono</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Sendi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to pay must be larger than 0.</source>
|
||||
<translation>La pagenda sumo devas esti pli ol 0.</translation>
|
||||
@@ -1888,6 +2150,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Fermi monujon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
@@ -1898,7 +2164,11 @@
|
||||
<source>Send Coins</source>
|
||||
<translation>Sendi Bitmonon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -70,6 +70,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Estas son sus direcciones de Bitcoin para enviar pagos. Siempre verifique el monto y la dirección de recepción antes de enviar monedas.</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.</source>
|
||||
<translation>Estas son sus direcciones de Bitcoin para recibir pagos. Utilice el botón de "Crear una nueva dirección de recibo" en la pestaña de recibos para crear nuevas direcciones.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>Copiar dirección</translation>
|
||||
@@ -132,6 +136,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Repetir nueva contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Mostrar contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Encriptar la billetera</translation>
|
||||
@@ -172,10 +180,30 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Billetera encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Introducir la nueva contraseña para la billetera. Por favor usa una contraseña de diez o mas caracteres aleatorios, o ocho o mas palabras.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Introducir la vieja contraseña y la nueva contraseña para la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Recuerda que codificando tu billetera no garantiza mantener a salvo tus bitcoins en caso de tener virus en el computador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Billetera para ser encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Tu billetera esta por ser encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Su billetera ahora esta encriptada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>IMPORTANTE: todas las copias de seguridad anteriores que haya realizado de su archivo de billetera se deben reemplazar con el archivo de monedero cifrado recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo monedero sin encriptar serán inútiles tan pronto como comience a usar el nuevo monedero cifrado.</translation>
|
||||
@@ -298,6 +326,14 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Open &URI...</source>
|
||||
<translation>Abrir &URL...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear Billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Billetera:</translation>
|
||||
@@ -446,10 +482,30 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Up to date</source>
|
||||
<translation>A hoy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Abrir billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Abrir una billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Cerrar billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Muestre el mensaje de ayuda %1 para obtener una lista con posibles opciones de línea de comandos de Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>Ventana</translation>
|
||||
@@ -700,10 +756,26 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Crear billetera falló</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Advertencia de crear billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear Billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -920,6 +992,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
@@ -997,7 +1073,7 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
<translation>(0 = auto, <0 = deja muchos núcleos gratis)</translation>
|
||||
<translation>(0 = auto, <0 = deja esta cantidad de núcleos libres)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
@@ -1736,6 +1812,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Un monto opcional para solicitar. Deje esto vacío o en cero para no solicitar una cantidad específica.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Crear una nueva dirección de recibo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Borre todos los campos del formulario.</translation>
|
||||
@@ -2026,6 +2106,10 @@ Tarifa de copia</translation>
|
||||
<source>Transaction fee</source>
|
||||
<translation>Comisión de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Monto total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Confirmar el envió de monedas</translation>
|
||||
@@ -2712,6 +2796,10 @@ Tarifa de copia</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
@@ -2762,7 +2850,11 @@ Tarifa de copia</translation>
|
||||
<source>Could not commit transaction</source>
|
||||
<translation>No se pudo confirmar la transacción</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
@@ -699,6 +699,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Crea una billetera en blanco. Las billeteras en blanco inicialmente no tienen llaves privadas o texto. Las llaves privadas y las direcciones pueden ser importadas, o se puede establecer una semilla HD, más tarde.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -803,6 +807,10 @@
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>Al hacer clic OK, %1 iniciará el proceso de descarga y procesará el blockchain completo de %4 (%2 GB), iniciando desde el la transacción más antigua %3 cuando %4 se ejecutó inicialmente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Revertir esta configuración requiere descargar la blockchain completa nuevamente. Es más rápido descargar la cadena completa y podarla después. Desactiva algunas funciones avanzadas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>El primer proceso de sincronización consume muchos recursos, y es posible que puedan ocurrir problemas de hardware que anteriormente no hayas notado. Cada vez que ejecutes %1 automáticamente se reiniciará el proceso de sincronización desde el punto que lo dejaste anteriormente.</translation>
|
||||
@@ -993,7 +1001,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
<translation>(0 = auto, <0 = deja muchos núcleos gratis)</translation>
|
||||
<translation>(0 = auto, <0 = deja esta cantidad de núcleos libres)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -69,6 +69,13 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Estas son sus direcciones Bitcoin para enviar pagos. Compruebe siempre la cantidad y la dirección de recibo antes de transferir monedas.</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.</source>
|
||||
<translation>
|
||||
|
||||
|
||||
Estas son sus direcciones de Bitcoin para recibir pagos. Utilice el botón 'Crear nueva dirección de recepción' en la pestaña de recepción para crear nuevas direcciones</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>Copiar dirección</translation>
|
||||
@@ -131,6 +138,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Repita la nueva contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Mostrar la frase de contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Cifrar monedero</translation>
|
||||
@@ -171,6 +182,18 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Monedero cifrado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Ingrese la nueva contraseña para la billetera. Use una contraseña de diez o más caracteres aleatorios, u ocho o más palabras.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Billetera a ser cifrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Su billetera está ahora cifrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>IMPORTANTE: Algunas copias de seguridad que hayas hecho de tu archivo de billetera deberían ser reemplazadas con la billetera encriptada generada recientemente. Por razones de seguridad, las copias de seguridad previas del archivo de billetera sin cifrar serán inútiles tan pronto uses la nueva billetera encriptada.</translation>
|
||||
@@ -273,6 +296,18 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Abrir URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear Billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Actividad de red deshabilitada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Reindexando bloques en disco...</translation>
|
||||
@@ -385,6 +420,10 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar monedero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera por defecto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallets available</source>
|
||||
<translation>Monederos no disponibles</translation>
|
||||
@@ -695,6 +734,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera por defecto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
@@ -1464,7 +1507,11 @@
|
||||
<source>Send Coins</source>
|
||||
<translation>Enviar monedas</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera por defecto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
@@ -1475,6 +1522,10 @@
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Exportar a un archivo los datos de esta pestaña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Billetera de Respaldo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Failed</source>
|
||||
<translation>Copia de seguridad fallida</translation>
|
||||
@@ -1491,7 +1542,11 @@
|
||||
<source>The wallet data was successfully saved to %1.</source>
|
||||
<translation>Los datos de la billetera fueron guardados exitosamente al %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Korda uut parooli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Näita salafraasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Krüpteeri rahakott</translation>
|
||||
@@ -171,6 +175,30 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Rahakott krüpteeritud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Sisesta rahakotile uus salafraas.<br/>Kasuta salafraasi millles on<b>kümme või rohkem juhuslikku sümbolit<b>,või<b>kaheksa või rohkem sõna<b/>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Sisesta rahakoti vana salafraas ja uus salafraas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Pea meeles, et rahakoti krüpteerimine ei välista bitcoinide vargust, kui sinu arvuti on nakatunud pahavaraga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Krüpteeritav rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Rahakott krüpteeritakse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Rahakott krüpteeritud.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>TÄHTIS: Kõik varasemad rahakoti varundfailid tuleks üle kirjutada äsja loodud krüpteeritud rahakoti failiga. Turvakaalutlustel tühistatakse krüpteerimata rahakoti failid alates uue, krüpteeritud rahakoti, kasutusele võtust.</translation>
|
||||
@@ -214,7 +242,11 @@
|
||||
<source>IP/Netmask</source>
|
||||
<translation>IP/Võrgumask</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Blokeeritud kuni</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
@@ -253,6 +285,10 @@
|
||||
<source>&About %1</source>
|
||||
<translation>&Teave %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Näita informatsiooni %1 kohta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Teave &Qt kohta</translation>
|
||||
@@ -265,6 +301,10 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&Valikud...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Muuda %1 seadeid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>&Krüpteeri Rahakott</translation>
|
||||
@@ -281,6 +321,18 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Ava &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Loo rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Loo uus rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Rahakott:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Kõvakettal olevate plokkide reindekseerimine...</translation>
|
||||
|
||||
@@ -357,6 +357,18 @@
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan berriro zerrendatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy is <b>enabled</b>: %1</source>
|
||||
<translation>Proxya <b>gaituta</b> dago : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send coins to a Bitcoin address</source>
|
||||
<translation>Bidali txanponak Bitcoin helbide batera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup wallet to another location</source>
|
||||
<translation>Diru-zorroaren segurtasun-kopia beste leku batean.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change the passphrase used for wallet encryption</source>
|
||||
<translation>Diruzorroa enkriptatzeko erabilitako pasahitza aldatu</translation>
|
||||
@@ -381,6 +393,18 @@
|
||||
<source>Show or hide the main Window</source>
|
||||
<translation>Lehio nagusia erakutsi edo izkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the private keys that belong to your wallet</source>
|
||||
<translation>Zure diru-zorroari dagozkion giltza pribatuak enkriptatu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
|
||||
<translation>Sinatu mezuak Bitcoinen helbideekin, jabetza frogatzeko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
|
||||
<translation>Egiaztatu mesua Bitcoin helbide espezifikoarekin erregistratu direla ziurtatzeko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>&Artxiboa</translation>
|
||||
@@ -397,18 +421,78 @@
|
||||
<source>Tabs toolbar</source>
|
||||
<translation>Fitxen tresna-barra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the list of used sending addresses and labels</source>
|
||||
<translation> Bidalketa-helbideen eta etiketen zerrenda erakutsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the list of used receiving addresses and labels</source>
|
||||
<translation>Harrera-helbideen eta etiketen zerrenda erakutsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Command-line options</source>
|
||||
<translation>&Komando-lerroaren aukerak</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation><numerusform>%n konexio aktibo Bitcoin sarera</numerusform><numerusform>%n konexio aktibo Bitcoin sarera</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan indexatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan prozesatzen...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>Transakzioen historiako %n bloke prozesatuta.</numerusform><numerusform>Transakzioen historiako %n bloke prozesatuta.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>%1 atzetik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last received block was generated %1 ago.</source>
|
||||
<translation>Jasotako azken blokea duela %1 sortu zen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transactions after this will not yet be visible.</source>
|
||||
<translation>Honen ondorengo transakzioak oraindik ez daude ikusgai.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Akatsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Abisua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Informazioa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Up to date</source>
|
||||
<translation>Eguneratua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Adabegiaren leihoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&Helbideak bidaltzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&Helbideak jasotzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Ireki bitcoin bat: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Diruzorroa zabaldu</translation>
|
||||
@@ -425,10 +509,22 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Diruzorroa itxi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Diruzorro lehenetsia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallets available</source>
|
||||
<translation>Ez dago diru-zorrorik eskura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>&Lehioa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize</source>
|
||||
<translation>Txikitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>Gerturatu</translation>
|
||||
@@ -437,6 +533,14 @@
|
||||
<source>Main Window</source>
|
||||
<translation>Lehio nagusia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation>%1 bezeroa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers...</source>
|
||||
<translation>Pareekin konektatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Eguneratzen...</translation>
|
||||
@@ -465,6 +569,12 @@
|
||||
<source>Wallet: %1
|
||||
</source>
|
||||
<translation>Diruzorroa: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type: %1
|
||||
</source>
|
||||
<translation>Mota: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -487,6 +597,18 @@
|
||||
<source>Incoming transaction</source>
|
||||
<translation>Sartutako transakzioa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>enabled</b></source>
|
||||
<translation>HD gakoaren sorrera <b>gaituta</b> dago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>disabled</b></source>
|
||||
<translation>HD gakoaren sorrera <b>desgaituta</b> dago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key <b>disabled</b></source>
|
||||
<translation>Gako pribatua <b>desgaitua</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>unlocked</b></source>
|
||||
<translation>Zorroa <b>enkriptatuta</b> eta <b>desblokeatuta</b> dago une honetan</translation>
|
||||
@@ -514,18 +636,42 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Kopurua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Ordainketa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>Hautsa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
<translation>Ordaindu ondoren:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Bueltak:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tree mode</source>
|
||||
<translation>Zuhaitz modua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>List mode</source>
|
||||
<translation>Zerrenda modua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>Kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with label</source>
|
||||
<translation>Etiketarekin jasoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with address</source>
|
||||
<translation>Helbidearekin jasoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
@@ -546,6 +692,42 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Kopiatu transakzioaren IDa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock unspent</source>
|
||||
<translation>Blokeatu erabili gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock unspent</source>
|
||||
<translation>Desblokeatu gastatu gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Kopia kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Kopiatu byte-ak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy dust</source>
|
||||
<translation>Kopiatu hautsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Kopiatu aldaketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(%1 locked)</source>
|
||||
<translation>(%1 blokeatuta)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>yes</source>
|
||||
<translation>bai</translation>
|
||||
@@ -573,7 +755,11 @@
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Diruzorroa sortzen hutsegitea</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Diru-zorroa sortzearen buruzko oharra</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
@@ -588,6 +774,10 @@
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Diruzorroa enkriptatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Desgaitu gako pribatuak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Sortu</translation>
|
||||
@@ -641,7 +831,15 @@
|
||||
<source>version</source>
|
||||
<translation>bertsioa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>%1 inguru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command-line options</source>
|
||||
<translation>Komando lerroaren aukerak</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
@@ -667,6 +865,10 @@
|
||||
<source>Form</source>
|
||||
<translation>Inprimakia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Gainerako blokeen kopurua.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Ezezaguna...</translation>
|
||||
@@ -675,6 +877,10 @@
|
||||
<source>Last block time</source>
|
||||
<translation>Azken blokearen unea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Aurrerapena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>kalkulatzen...</translation>
|
||||
@@ -683,9 +889,17 @@
|
||||
<source>Hide</source>
|
||||
<translation>Izkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Ireki bitcoin URIa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI: </translation>
|
||||
@@ -701,7 +915,15 @@
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Diruzorroa irekitzen abisua</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Diruzorro lehenetsia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
<translation>Diru-zorroa irekitzen <b>%1</b>...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
@@ -716,6 +938,78 @@
|
||||
<source>Size of &database cache</source>
|
||||
<translation>Databasearen cache tamaina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>Proxyaren IP helbidea (IPv4: 127.0.0.1 / IPv6: ::1 adibidez )</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>&Erretiluaren ikonoa ezkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Configuration File</source>
|
||||
<translation>Ireki konfigurazio fitxategia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
<translation>Bezeroaren aukera guztiak hasieratu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset Options</source>
|
||||
<translation>&Aukerak Hasieratu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Network</source>
|
||||
<translation>&Sarea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>GB</source>
|
||||
<translation>GB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MiB</source>
|
||||
<translation>MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expert</source>
|
||||
<translation>Aditu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable coin &control features</source>
|
||||
<translation>Diruaren &kontrolaren ezaugarriak gaitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Portua mapeatu &UPnP erabiliz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside.</source>
|
||||
<translation>Kanpoko konexioak onartu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>Sarbide konexioak baimendu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy &IP:</source>
|
||||
<translation>Proxyaren &IP helbidea:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Port:</source>
|
||||
<translation>&Portua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port of the proxy (e.g. 9050)</source>
|
||||
<translation>Proxy portua (9050 adibidez)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPv4</source>
|
||||
<translation>IPv4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPv6</source>
|
||||
<translation>IPv6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tor</source>
|
||||
<translation>Tor</translation>
|
||||
@@ -728,6 +1022,10 @@
|
||||
<source>&Display</source>
|
||||
<translation>&Pantaila</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Interface &language:</source>
|
||||
<translation>Erabiltzaile-interfazearen &hizkuntza:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unit to show amounts in:</source>
|
||||
<translation>Zenbatekoa azaltzeko &unitatea:</translation>
|
||||
@@ -740,10 +1038,22 @@
|
||||
<source>&Cancel</source>
|
||||
<translation>&Ezeztatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default</source>
|
||||
<translation>lehenetsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>none</source>
|
||||
<translation>Bat ere ez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm options reset</source>
|
||||
<translation>Berretsi aukeren berrezarpena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client restart required to activate changes.</source>
|
||||
<translation>Bezeroa berrabiarazi behar da aldaketak aktibatzeko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Configuration options</source>
|
||||
<translation>Konfiguraketa aukerak</translation>
|
||||
@@ -763,10 +1073,22 @@
|
||||
<source>Form</source>
|
||||
<translation>Inprimakia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only:</source>
|
||||
<translation>Ikusi-bakarrik:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
<translation>Eskuragarri:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pending:</source>
|
||||
<translation>Zai:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Immature:</source>
|
||||
<translation>Ez dago eskuragarri:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total:</source>
|
||||
<translation>Guztira:</translation>
|
||||
@@ -774,9 +1096,25 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
<source>Payment request error</source>
|
||||
<translation>Ordainketa eskaera akatsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Ordainketa helbide baliogabea %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Erabiltzaile agentea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node/Service</source>
|
||||
<translation>Adabegi / Zerbitzua</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
@@ -798,6 +1136,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Erabiltzaile agentea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Adabegiaren leihoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Azken blokearen unea</translation>
|
||||
@@ -821,7 +1167,11 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
@@ -844,7 +1194,11 @@
|
||||
<source>Message</source>
|
||||
<translation>Mezua</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Diru-zorroa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
@@ -882,6 +1236,14 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Kopurua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Ordainketa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
<translation>Ordaindu ondoren:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Bueltak:</translation>
|
||||
@@ -906,6 +1268,26 @@
|
||||
<source>Confirm the send action</source>
|
||||
<translation>Bidalketa berretsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Kopia kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Kopiatu byte-ak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy dust</source>
|
||||
<translation>Kopiatu hautsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Kopiatu aldaketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Txanponen bidalketa berretsi</translation>
|
||||
@@ -971,6 +1353,22 @@
|
||||
<source>Alt+P</source>
|
||||
<translation>Alt+P</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Ez dago errorerik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message signing failed.</source>
|
||||
<translation>Errorea mezua sinatzean</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message signed.</source>
|
||||
<translation>Mezua sinatuta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the signature and try again.</source>
|
||||
<translation>Mesedez, begiratu sinadura eta saiatu berriro.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
@@ -981,6 +1379,10 @@
|
||||
<source>Open until %1</source>
|
||||
<translation>Zabalik %1 arte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>abandoned</source>
|
||||
<translation>abandonatuta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1/unconfirmed</source>
|
||||
<translation>%1/konfirmatu gabe</translation>
|
||||
@@ -989,14 +1391,66 @@
|
||||
<source>%1 confirmations</source>
|
||||
<translation>%1 konfirmazio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation>Egoera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source</source>
|
||||
<translation>Iturria</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generated</source>
|
||||
<translation>Sortua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From</source>
|
||||
<translation>Tik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>ezezaguna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To</source>
|
||||
<translation>Ra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation>zure helbidea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>ikusi bakarrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>label</source>
|
||||
<translation>etiketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Credit</source>
|
||||
<translation>Kreditua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>Onartu gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debit</source>
|
||||
<translation>Zorrak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total debit</source>
|
||||
<translation>Zor totala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total credit</source>
|
||||
<translation>Kreditu totala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
<translation>Mezua</translation>
|
||||
@@ -1059,6 +1513,10 @@
|
||||
<source>Mined</source>
|
||||
<translation>Meatua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>ikusi bakarrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(n/a)</source>
|
||||
<translation>(n/a)</translation>
|
||||
@@ -1146,6 +1604,14 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Kopiatu transakzioaren IDa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Komaz bereizitako artxiboa (*.csv)</translation>
|
||||
@@ -1194,7 +1660,11 @@
|
||||
<source>Send Coins</source>
|
||||
<translation>Txanponak bidali</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Diruzorro lehenetsia</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -181,7 +181,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Syötä uusi salasanalause lompakolle <br/>Ole hyvä ja käytä salasanalausetta, jossa on <b>kymmenen tai enemmän sattumanvaraisia merkkjä tai <b>kahdeksan tai enemmän sanoja</b> .</translation>
|
||||
<translation>Syötä uusi salasanalause lompakolle. <br/>Käytäthän salasanalausetta, jossa on <b>vähintään kymmenen sattumanvaraista merkkiä tai <b>ainakin kahdeksan sanaa</b> .</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
@@ -339,11 +339,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Paina poistaaksesi verkkoyhteysilmaisin käytöstä.</translation>
|
||||
<translation>Paina poistaaksesi verkkoyhteys käytöstä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Verkkoyhteysmittari pois käytöstä</translation>
|
||||
<translation>Verkkoyhteydet pois käytöstä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
@@ -459,7 +459,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Last received block was generated %1 ago.</source>
|
||||
<translation>Viimeisin vastaanotettu lohko tuotettu %1.</translation>
|
||||
<translation>Viimeisin vastaanotettu lohko tuotettu %1 sitten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transactions after this will not yet be visible.</source>
|
||||
@@ -481,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Rahansiirtohistoria on ajan tasalla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Solmu ikkuna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Avaa solmun diagnostiikka- ja vianmäärityskonsoli </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&Lähetysosoitteet</translation>
|
||||
@@ -489,6 +497,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&Vastaanotto-osoitteet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Avaa bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Avaa lompakko</translation>
|
||||
@@ -603,7 +615,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>disabled</b></source>
|
||||
<translation>HD avaimen generointi on </b>pois päältä</b></translation>
|
||||
<translation>HD-avaimen luonti on </b>pois päältä</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key <b>disabled</b></source>
|
||||
@@ -783,7 +795,11 @@
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Lompakon luonti epäonnistui</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Luo lompakkovaroitus</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
@@ -802,6 +818,10 @@
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Salaa lompakko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Poista tämän lompakon yksityiset avaimet käytöstä. Lompakot, joissa yksityiset avaimet on poistettu käytöstä, eivät sisällä yksityisiä avaimia, eikä niissä voi olla HD-juurisanoja tai tuotuja yksityisiä avaimia. Tämä on ihanteellinen katselulompakkoihin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Poista yksityisavaimet käytöstä</translation>
|
||||
@@ -1041,6 +1061,14 @@
|
||||
<source>Hide</source>
|
||||
<translation>Piilota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Poistu</translation>
|
||||
</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>%1 synkronoidaan parhaillaan. Se lataa tunnisteet ja lohkot vertaisilta ja vahvistaa ne, kunnes ne saavuttavat lohkon ketjun kärjen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Tuntematon. Synkronoidaan tunnisteita (%1, %2%)...</translation>
|
||||
@@ -1048,6 +1076,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Avaa bitcoin URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -1059,6 +1091,10 @@
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Lompakon avaaminen epäonnistui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Avoimen lompakon varoitus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>oletuslompakko</translation>
|
||||
@@ -1096,7 +1132,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>IP osoite proxille (esim. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
<translation>Välityspalvelimen IP-osoite (esim. IPv4: 127.0.0.1 tai IPv6: ::1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
|
||||
@@ -1128,7 +1164,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Configuration File</source>
|
||||
<translation>Avaa asetustiedosto.</translation>
|
||||
<translation>Avaa asetustiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
@@ -1212,7 +1248,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy &IP:</source>
|
||||
<translation>Proxyn &IP:</translation>
|
||||
<translation>Välityspalvelimen &IP:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Port:</source>
|
||||
@@ -1220,7 +1256,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Port of the proxy (e.g. 9050)</source>
|
||||
<translation>Proxyn Portti (esim. 9050)</translation>
|
||||
<translation>Välityspalvelimen Portti (esim. 9050)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Used for reaching peers via:</source>
|
||||
@@ -1340,7 +1376,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied proxy address is invalid.</source>
|
||||
<translation>Antamasi proxy-osoite on virheellinen.</translation>
|
||||
<translation>Antamasi välityspalvelimen osoite on virheellinen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1436,6 +1472,14 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' ei ole kelvollinen URI. Käytä 'bitcoin:' sen sijaan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>Maksupyyntöä ei voida käsitellä, koska BIP70:tä ei tueta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>BIP70:n laajalle levinneiden tietoturvavirheiden vuoksi on erittäin suositeltavaa, että kaikki kauppiaan ohjeet lompakkojen vaihtamiseksi jätetään huomioimatta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>Tämän virheen saadessasi tulee sinun pyytää kauppiaalta BIP21 -yhteensopivaa URI-osoitetta.</translation>
|
||||
@@ -1744,10 +1788,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Synkronoidut lohkot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Kartoitettu autonominen järjestelmä, jota käytetään monipuolistamaan solmuvalikoimaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Kartoitettu AS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Käyttöliittymä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Solmun näkymä</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>Avaa %1 -debug-loki tämänhetkisestä data-hakemistosta. Tämä voi viedä muutaman sekunnin suurille lokitiedostoille.</translation>
|
||||
@@ -1959,6 +2015,18 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Valinnainen pyyntömäärä. Jätä tyhjäksi tai nollaksi jos et pyydä tiettyä määrää.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>Valinnainen tarra, joka liitetään uuteen vastaanotto-osoitteeseen (jonka käytät laskun tunnistamiseen). Se liitetään myös maksupyyntöön.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Valinnainen viesti, joka on liitetty maksupyyntöön ja joka voidaan näyttää lähettäjälle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation> &Luo uusi vastaanotto-osoite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Tyhjennä lomakkeen kaikki kentät.</translation>
|
||||
@@ -2194,7 +2262,7 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
</message>
|
||||
<message>
|
||||
<source>Send to multiple recipients at once</source>
|
||||
<translation>Lähetä usealla vastaanottajalle samanaikaisesti</translation>
|
||||
<translation>Lähetä usealle vastaanottajalle kerralla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add &Recipient</source>
|
||||
@@ -2208,6 +2276,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Dust:</source>
|
||||
<translation>Tomu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation> Piilota siirtomaksuasetukset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Mikäli lohkoissa ei ole tilaa kaikille siirtotapahtumille, voi louhijat sekä välittävät solmut pakottaa vähimmäispalkkion. Tämän vähimmäispalkkion maksaminen on täysin OK, mutta huomaa, että se saattaa johtaa siihen, ettei siirto vahvistu koskaan, jos bitcoin-siirtoja on enemmän kuin mitä verkko pystyy käsittelemään.</translation>
|
||||
@@ -2276,6 +2348,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 lohkoa)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>L&uo allekirjoittamaton</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Luo osittain allekirjoitetun bitcoin-siirtotapahtuman (PSBT) käytettäväksi mm. offline %1 lompakko tai PSBT-yhteensopiva hardware-lompakko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation> lompakosta '%1'</translation>
|
||||
@@ -2284,10 +2364,18 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 to %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Haluatko laatia tämän siirron?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Oletko varma, että haluat lähettää?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Ole hyvä ja katso siirtotapahtuma ehdotuksesi. Tämä tuottaa osittain allekirjoitetun bitcoin-siirtotapahtuman (PSBT), jonka voit kopioida ja sitten allekirjoittaa esimerkiksi offline %1 lompakko tai PSBT-yhteensopiva hardware-lompakko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>tai</translation>
|
||||
@@ -2304,6 +2392,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Transaction fee</source>
|
||||
<translation>Siirtokulu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>Ei signalointia Korvattavissa korkeammalla kululla, BIP-125.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Yhteensä</translation>
|
||||
@@ -2316,6 +2408,26 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Vahvista kolikoiden lähetys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Vahvista siirtoehdotus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Kopioi PSBT leikepöydälle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Lähetä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT kopioitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Katselulompakon saldo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>Vastaanottajan osoite ei ole kelvollinen. Tarkista osoite.</translation>
|
||||
@@ -2411,6 +2523,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Remove this entry</source>
|
||||
<translation>Poista tämä alkio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>Lähetettävä summa valitussa yksikössä</translation>
|
||||
</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>Kulu vähennetään lähetettävästä määrästä. Saaja vastaanottaa vähemmän bitcoineja kuin merkitset Määrä-kenttään. Jos saajia on monia, kulu jaetaan tasan.</translation>
|
||||
@@ -2537,6 +2653,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Bitcoin-osoite jolla viesti on allekirjoitettu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>Allekirjoitettu viesti vahvistettavaksi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>Viestin allekirjoittamisen yhteydessä annettu allekirjoitus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Bitcoin-osoitteella</translation>
|
||||
@@ -2569,6 +2693,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>Lompakon avaaminen peruttiin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Ei virhettä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>Yksityistä avainta syötetylle osoitteelle ei ole saatavilla.</translation>
|
||||
@@ -2739,6 +2867,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Transaction virtual size</source>
|
||||
<translation>Tapahtuman näennäiskoko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output index</source>
|
||||
<translation>Ulostulon indeksi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation> (Sertifikaattia ei vahvistettu)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Kauppias</translation>
|
||||
@@ -3092,6 +3228,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Haluatko nostaa siirtomaksua?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Haluatko nostaa siirtomaksua siirtoon?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>Nykyinen palkkio:</translation>
|
||||
@@ -3108,6 +3248,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Vahvista palkkion korotus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation> Siirtoa ei voida laatia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT kopioitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>Siirtoa ei voida allekirjoittaa.</translation>
|
||||
@@ -3198,6 +3346,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>Ei voida lukita data-hakemistoa %s. %s on luultavasti jo käynnissä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Ei voida tarjota tiettyjä yhteyksiä, ja antaa addrmanin löytää lähteviä yhteyksiä samanaikaisesti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Virhe luettaessa %s! Avaimet luetttiin oikein, mutta rahansiirtotiedot tai osoitekirjan sisältö saattavat olla puutteellisia tai vääriä.</translation>
|
||||
@@ -3254,6 +3406,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation>-%s -osoitteen '%s' selvittäminen epäonnistui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change index out of range</source>
|
||||
<translation>Vaihda hakemisto alueen ulkopuolelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
|
||||
<translation>Konfigurointiasetuksen %s käyttöön vain %s -verkossa, kun osassa [%s].</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright (C) %i-%i</source>
|
||||
<translation>Tekijänoikeus (C) %i-%i</translation>
|
||||
@@ -3262,6 +3422,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Vioittunut lohkotietokanta havaittu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>Asmap-tiedostoa %s ei löytynyt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>Asmap-tiedostoa %s ei voitu jäsentää</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Haluatko uudelleenrakentaa lohkotietokannan nyt?</translation>
|
||||
@@ -3278,6 +3446,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Error loading %s</source>
|
||||
<translation>Virhe ladattaessa %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Private keys can only be disabled during creation</source>
|
||||
<translation>Virhe %s:n lataamisessa: Yksityiset avaimet voidaan poistaa käytöstä vain luomisen aikana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Wallet corrupted</source>
|
||||
<translation>Virhe ladattaessa %s: Lompakko vioittunut</translation>
|
||||
@@ -3330,6 +3502,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Määrättyä lohkohakemistoa "%s" ei ole olemassa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Tuntematon osoitetyyppi '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Tuntematon vaihtorahatyyppi '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>Päivitetään txindex -tietokantaa</translation>
|
||||
@@ -3406,6 +3586,10 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Virhe: Saapuvien yhteyksien kuuntelu epäonnistui (kuuntelu palautti virheen %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Virheellinen summa -maxtxfee =: '%s' (täytyy olla vähintään %s minrelay-kulu, jotta estetään jumiutuneet siirtotapahtumat)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>Siirtomäärä on liian pieni lähetettäväksi kulun vähentämisen jälkeen.</translation>
|
||||
@@ -3500,6 +3684,14 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Unable to create the PID file '%s': %s</source>
|
||||
<translation>PID-tiedostoa '%s' ei voitu luoda: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Alkuavaimia ei voi luoda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Tuntematon -lohkosuodatusindeksiarvo %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Varmistetaan lompakko(ja)...</translation>
|
||||
@@ -3550,7 +3742,7 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you will pay if you send a transaction.</source>
|
||||
<translation>Tämä on lähetyksestä maksettava maksu jonka maksat</translation>
|
||||
<translation>Tämä on se siirtomaksu, jonka maksat, mikäli lähetät siirron.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
@@ -3572,10 +3764,18 @@ Huom: Koska siirtomaksu lasketaan tavujen mukaan, niin määrittelemällä 500 t
|
||||
<source>Insufficient funds</source>
|
||||
<translation>Lompakon saldo ei riitä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use -upgradewallet=169900 or -upgradewallet with no version specified.</source>
|
||||
<translation>Muuta kuin HD-jaettua lompakkoa ei voi päivittää ilman päivitystä tukemaan esijaettua avainvarastoa. Käytä -upgradewallet = 169900 tai -upgradewallet ilman määritettyä versiota.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>Siirtomaksun arviointi epäonnistui. Odota muutama lohko tai käytä -fallbackfee -valintaa..</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>Varoitus: lompakosta {%s} tunnistetut yksityiset avaimet, on poistettu käytöstä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>Hakemistoon '%s' ei voida kirjoittaa. Tarkista käyttöoikeudet.</translation>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>Bago</translation>
|
||||
<translation>&Bago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
@@ -19,11 +19,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>Kopyahin</translation>
|
||||
<translation>&Kopyahin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>Isara</translation>
|
||||
<translation>&Isara</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
@@ -69,6 +69,10 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Ito ang iyong mga Bitcoin address para sa pagpapadala ng bayad. Laging suriin ang halaga at ang address na tatanggap bago magpadala ng coins.</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.</source>
|
||||
<translation>Ito ang iyong mga Bitcoin address para sa pagtanggap ng mga pagbabayad. Gamitin ang pindutang 'Lumikha ng bagong address sa pagtanggap' sa tab na tumanggap upang lumikha ng mga bagong address.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>Kopyahin ang address</translation>
|
||||
@@ -131,6 +135,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ulitin ang bagong passphrase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Ipakita ang Passphrase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>I-encrypt ang walet.</translation>
|
||||
@@ -171,6 +179,30 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Naka-encrypt ang walet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Ipasok ang bagong passphrase para sa wallet.<br/>Mangyaring gumamit ng isang passphrase na<b> sampu o higit pang mga random na character</b>, o <b>walo o higit pang mga salita</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Ipasok ang lumang passphrase at bagong passphrase para sa pitaka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Tandaan na ang pag-encrypt ng iyong pitaka ay hindi maaaring ganap na maprotektahan ang iyong mga bitcoin mula sa pagnanakaw ng malware na nahahawa sa iyong computer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Ang naka-encrypt na wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Malapit na ma-encrypt ang iyong pitaka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Ang iyong wallet ay naka-encrypt na ngayon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>MAHALAGA: Anumang nakaraang mga backup na ginawa mo sa iyong walet file ay dapat mapalitan ng bagong-buong, naka-encrypt na walet file. Para sa mga kadahilanang pangseguridad, ang mga nakaraang pag-backup ng hindi naka-encrypt na walet file ay mapagwawalang-silbi sa sandaling simulan mong gamitin ang bagong naka-encrypt na walet.</translation>
|
||||
@@ -293,6 +325,14 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Buksan ang URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Gumawa ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Gumawa ng Bagong Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Walet:</translation>
|
||||
@@ -397,6 +437,10 @@
|
||||
<source>&Command-line options</source>
|
||||
<translation>Mga opsyon ng command-line</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation><numerusform>%n aktibong koneksyon sa Bitcoin network</numerusform><numerusform>%n aktibong koneksyon sa Bitcoin network</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>I-ni-index ang mga blocks sa disk...</translation>
|
||||
@@ -405,6 +449,10 @@
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>Pinoproseso ang mga blocks sa disk...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>Processed %n block of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>%1 sa likuran</translation>
|
||||
@@ -433,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Napapanahon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Bintana ng Node</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Open node debugging and diagnostic console</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>Mga address para sa pagpapadala</translation>
|
||||
@@ -441,6 +497,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>Mga address para sa pagtanggap</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Open a bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Buksan ang Walet</translation>
|
||||
@@ -723,10 +783,58 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation>Gumagawa ng Pitaka %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Nabigo ang Pag likha ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Gumawa ng Babala ng Pitaka</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Gumawa ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Pangalan ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Encrypt Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Huwag paganahin ang Privbadong susi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Gumawa ng Blankong Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Gumawa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -838,6 +946,10 @@
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>Pagkatapos mong mag-click ng OK, %1 ay magsisimulang mag-download at mag-proseso ng buong blockchain (%2GB) magmula sa pinakaunang transaksyon sa %3 nuong ang %4 ay paunang nilunsad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>Maraming pangangailangan ang itong paunang sinkronisasyon at maaaring ilantad ang mga problema sa hardware ng iyong computer na hindi dating napansin. Tuwing pagaganahin mo ang %1, ito'y magpapatuloy mag-download kung saan ito tumigil.</translation>
|
||||
@@ -858,6 +970,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard blocks after verification, except most recent %1 GB (prune)</source>
|
||||
<translation>Discard blocks after verification, except most recent %1 GB (prune)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
|
||||
<translation>Kahit na %1 GB na datos ay maiimbak sa direktoryong ito, ito ay lalaki sa pagtagal.</translation>
|
||||
@@ -886,7 +1002,15 @@
|
||||
<source>%n GB of free space available</source>
|
||||
<translation><numerusform>Mayroong %n GB na libreng lugar</numerusform><numerusform>Mayroong %n GB na libreng lugar</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(of %n GB needed)</numerusform><numerusform>(of %n GB needed)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(%n GB needed for full chain)</numerusform><numerusform>(%n GB needed for full chain)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
@@ -933,6 +1057,14 @@
|
||||
<source>Hide</source>
|
||||
<translation>Itago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</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>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Hindi alam. S-in-i-sync ang mga Header (%1, %2%)...</translation>
|
||||
@@ -940,6 +1072,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Open bitcoin URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -947,6 +1083,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Nabigo ang bukas na pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Buksan ang babala sa pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>walet na default</translation>
|
||||
@@ -1050,6 +1194,10 @@
|
||||
<source>MiB</source>
|
||||
<translation>MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
<translation>(0 = auto, <0 = leave that many cores free)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
<translation>Walet</translation>
|
||||
@@ -1320,6 +1468,18 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>Ang 'bitcoin://' ay hindi wastong URI. Sa halip, gamitin ang 'bitcoin:'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>Cannot process payment request because BIP70 is not supported.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Hindi wasto and address ng bayad %1</translation>
|
||||
@@ -1481,6 +1641,10 @@
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>Kamalian sa pag-e-encode ng URI sa QR Code.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>Hindi magagamit ang suporta ng QR code.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>I-save ang QR Code</translation>
|
||||
@@ -1620,10 +1784,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Mga block na na-sync</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Ginamit ang na-map na Autonomous System para sa pag-iba-iba ng pagpipilian ng kapwa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Mapa sa AS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Ahente ng User</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Bintana ng Node</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>Buksan ang %1 debug log file mula sa kasalukuyang directoryo ng datos. Maaari itong tumagal ng ilang segundo para sa mga malalaking log file.</translation>
|
||||
@@ -1835,6 +2011,18 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Opsyonal na halaga upang humiling. Iwanan itong walang laman o zero upang hindi humiling ng tiyak na halaga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>Isang opsyonal na label upang maiugnay sa bagong address ng pagtanggap (ginamit mo upang makilala ang isang invoice). Nakalakip din ito sa kahilingan sa pagbabayad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Isang opsyonal na mensahe na naka-attach sa kahilingan sa pagbabayad at maaaring ipakita sa nagpadala.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>& Lumikha ng bagong address sa pagtanggap</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Burahin ang laman ng lahat ng patlang ng form.</translation>
|
||||
@@ -2084,6 +2272,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Dust:</source>
|
||||
<translation>Dust:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Itago ang mga Setting ng bayad sa Transaksyon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Kapag mas kaunti ang dami ng transaksyon kaysa sa puwang sa mga blocks, ang mga minero pati na rin ang mga relaying node ay maaaring magpatupad ng minimum na bayad. Ang pagbabayad lamang ng minimum na bayad na ito ay maayos, ngunit malaman na maaari itong magresulta sa hindi kailanmang nagkukumpirmang transaksyon sa sandaling magkaroon ng higit na pangangailangan para sa mga transaksyon ng bitcoin kaysa sa kayang i-proseso ng network.</translation>
|
||||
@@ -2152,10 +2344,18 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 mga block)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>Lumikha ng Unsigned</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 sa %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Nais mo bang i-draft ang transaksyong ito?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Sigurado ka bang nais mong magpadala?</translation>
|
||||
@@ -2184,10 +2384,34 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Total Amount</source>
|
||||
<translation>Kabuuang Halaga</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>Upang suriin ang listahan ng tatanggap i-click ang "Ipakita ang Mga Detalye ..."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Kumpirmahin magpadala ng coins</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Kumpirmahin ang panukala sa transaksyon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Kopyahin ang PSBT sa clipboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Ipadala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>Kinopya ang PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Balanse lamang sa panonood:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>Ang address ng tatanggap ay hindi wasto. Mangyaring suriin muli.</translation>
|
||||
@@ -2283,6 +2507,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Remove this entry</source>
|
||||
<translation>Alisin ang entry na ito</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>The amount to send in the selected unit</translation>
|
||||
</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>Ibabawas ang bayad mula sa halagang ipapadala. Ang tatanggap ay makakatanggap ng mas kaunting mga bitcoin kaysa sa pinasok mo sa patlang ng halaga. Kung napili ang maraming tatanggap, ang bayad ay paghihiwalayin.</translation>
|
||||
@@ -2409,6 +2637,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Ang Bitcoin address na pumirma sa mensahe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>The signed message to verify</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>The signature given when the message was signed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Tiyakin ang katotohanan ng mensahe upang siguruhin na ito'y napirmahan ng tinukoy na Bitcoin address</translation>
|
||||
@@ -2441,6 +2677,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>Kinansela ang pag-unlock ng walet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Walang Kamalian</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>Hindi magagamit ang private key para sa pinasok na address.</translation>
|
||||
@@ -2615,6 +2855,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Output index</source>
|
||||
<translation>Output index</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation> (Certificate was not verified)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Mangangalakal</translation>
|
||||
@@ -2938,6 +3182,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Close wallet</source>
|
||||
<translation>Isara ang walet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close the wallet <i>%1</i>?</source>
|
||||
<translation>Are you sure you wish to close the wallet <i>%1</i>?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Ang pagsasara ng walet nang masyadong matagal ay maaaring magresulta sa pangangailangan ng pag-resync sa buong chain kung pinagana ang pruning.</translation>
|
||||
@@ -2968,6 +3216,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Nais mo bang dagdagan ang bayad?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Do you want to draft a transaction with fee increase?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>Kasalukuyang bayad:</translation>
|
||||
@@ -2984,6 +3236,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Kumpirmahin ang fee bump</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>Hindi ma-draft ang transaksyon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>Kinopya ang PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>Hindi mapirmahan ang transaksyon.</translation>
|
||||
@@ -3074,6 +3334,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>Hindi makakuha ng lock sa direktoryo ng data %s. Malamang na tumatakbo ang %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Cannot provide specific connections and have addrman find outgoing connections at the same.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Error sa pagbabasa %s! Nabasa nang tama ang lahat ng mga key, ngunit ang data ng transaksyon o mga entry sa address book ay maaaring nawawala o hindi tama.</translation>
|
||||
@@ -3146,6 +3410,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Sirang block database ay napansin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>Could not find asmap file %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>Could not parse asmap file %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Nais mo bang muling itayo ang block database?</translation>
|
||||
@@ -3198,6 +3470,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
|
||||
<translation>Hindi tamang o walang nahanap na genesis block. Maling datadir para sa network?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>Initialization sanity check failed. %s is shutting down.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>Invalid P2P permission: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>Hindi wastong halaga para sa -%s=<amount>: '%s'</translation>
|
||||
@@ -3214,6 +3494,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Ang tinukoy na direktoryo ng mga block "%s" ay hindi umiiral.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Unknown address type '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Unknown change type '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>Nag-u-upgrade ng txindex database</translation>
|
||||
@@ -3222,6 +3510,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Loading P2P addresses...</source>
|
||||
<translation>Nag-lo-load ng mga P2P address...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is too low!</source>
|
||||
<translation>Error: Disk space is too low!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading banlist...</source>
|
||||
<translation>Nag-lo-load ng banlist...</translation>
|
||||
@@ -3330,6 +3622,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Kailangang tukuyin ang port na may -whitebind: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Prune mode is incompatible with -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Pagbabawas ng -maxconnections mula sa %d hanggang %d, dahil sa mga limitasyon ng systema.</translation>
|
||||
@@ -3388,6 +3684,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Hindi makagawa ng paunang mga key</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Unknown -blockfilterindex value %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Nag-ve-verify ng mga walet...</translation>
|
||||
|
||||
@@ -1788,6 +1788,14 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Blocs synchronisés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>Le système autonome mappé utilisé pour diversifier la sélection des pairs.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>SA mappé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Agent utilisateur</translation>
|
||||
|
||||
3792
src/qt/locale/bitcoin_ga.ts
Normal file
3792
src/qt/locale/bitcoin_ga.ts
Normal file
File diff suppressed because it is too large
Load Diff
194
src/qt/locale/bitcoin_gd.ts
Normal file
194
src/qt/locale/bitcoin_gd.ts
Normal file
@@ -0,0 +1,194 @@
|
||||
<TS language="gd" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Dèan briogadh deas airson seòladh no bileag a dheasachadh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Cruthaich seòladh ùr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>Dèan lethbhreac den t-seòladh a chaidh a thaghadh an-dràsta gu cairt-bhòrd an t-siostaim</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Thoir às an seòladh a chaidh a thaghadh an-dràsta bhon liosta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Tagh an seòladh airson buinn a chuir thuige</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>A ’cur sheòlaidhean</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Seòladh</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Mearachd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Rabhadh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Fiosrachadh</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Ainm Wallet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
<message>
|
||||
<source>name</source>
|
||||
<translation>ainm</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Mearachd</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Fhoirm</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Mearachd</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Fhoirm</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Seòladh</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ShutdownWindow</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SignVerifyMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Seòladh</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
</context>
|
||||
</TS>
|
||||
3820
src/qt/locale/bitcoin_gl_ES.ts
Normal file
3820
src/qt/locale/bitcoin_gl_ES.ts
Normal file
File diff suppressed because it is too large
Load Diff
346
src/qt/locale/bitcoin_gu.ts
Normal file
346
src/qt/locale/bitcoin_gu.ts
Normal file
@@ -0,0 +1,346 @@
|
||||
<TS language="gu" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Right-click to edit address or label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>નવું સરનામું બનાવો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>નવું</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>હાલમાં પસંદ કરેલા સરનામાંને સિસ્ટમ ક્લિપબોર્ડ પર નકલ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>નકલ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>& બંધ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>સૂચિમાંથી હાલમાં પસંદ કરેલું સરનામું કાઢી નાખો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
<translation>શોધવા માટે સરનામું અથવા લેબલ દાખલ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>હાલ માં પસંદ કરેલ માહિતી ને ફાઇલમાં નિકાસ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>& નિકાસ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>& કાઢી નાખો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>સિક્કા મોકલવા માટે સરનામું પસંદ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>સિક્કા મેળવવા માટે સરનામું પસંદ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>& પસંદ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>સરનામા મોકલવા માં અવિરહીયા છે..</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>મેળવવા માટે ના સરનામાં</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>આ તમારા ચુકવણી કરવા માટે ના સરનામાં છે, હંમેશા કિંમત અને મોકલવાના ના સરનામાં ચકાસી લેવા સિક્કા આપતા પહેલા.</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.</source>
|
||||
<translation>આ બધા બીટકોઈન ચુકવણી ના સરનામા છે. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>& સરનામુ નકલ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>નકલ & લેબલ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>& બદલો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>સરનામાં ની સૂચિ નો નિકાસ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>અલ્પવિરામ થી જુદી પડલી માહિતી ની યાદી (.સીએસવી)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>નિકાસ ની પ્ર્રાક્રિયા નિષ્ફળ ગયેલ છે</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>ચિઠ્ઠી</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>સરનામુ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(લેબલ નથી)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Passphrase Dialog</source>
|
||||
<translation>ગુપ્ત શબ્દ માટે નુ ડાયલોગ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation>ગુપ્ત શબ્દ દાખલ કરો </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
<translation>નવો ગુપ્ત શબ્દ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>ગુપ્ત શબ્દ ફરી નાખો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>ગુપ્ત શબ્દ જોવો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>સાંકેતિક પાકીટ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>પાકીટ અવલોકન જરુરી છે પાકીટ ઓપન કરવા માટે</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>પાકીટ ખુલ્લુ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>પાકીટ કામગીરી જરુરી છે ગુપ્ત પાકીટ ડિક્રિપ્ટ કરવા માટે</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>ડિક્રિપ્ટ પાકીટ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>ગુપ્ત શબ્દ બદલો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>એન્ક્રિપ્શન ખાતરી કરો </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>ચેતવણી: જો તમે તમારું પાકીટ એન્ક્રિપ્ટ કરો છો અને તમારો ગુપ્ત શબ્દ ખોવાઈ જાય છે, તો તમે તમારા બધા બિટકોઇન્સ ગુમાવશો!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>શું તમે ખરેખર તમારા પાકીટને એન્ક્રિપ્ટ કરવા માંગો છો?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>પાકીટ એન્ક્રિપ્ટ થયેલ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>લેબલ નથી</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>સરનામુ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>ચિઠ્ઠી</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>ચિઠ્ઠી</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>લેબલ નથી</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>લેબલ નથી</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ShutdownWindow</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SignVerifyMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>ચિઠ્ઠી</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>લેબલ નથી</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>અલ્પવિરામ થી જુદા પડલી માહિતી ની યાદી</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>ચિઠ્ઠી</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>સરનામુ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>નિકાસ ની પ્ર્રાક્રિયા નિષ્ફળ ગયેલ છે</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>& નિકાસ કરો</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>હાલ માં પસંદ કરેલ માહિતી ને ફાઇલમાં નિકાસ કરો</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -141,7 +141,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>הצפנת הארנק</translation>
|
||||
<translation>הצפן ארנק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
@@ -179,6 +179,31 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>הארנק מוצפן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>הקש סיסמה חדשה לארנק.
|
||||
השתמש בסיסמה הכוללת עשרה או יותר תווים אקראים, או שמונה או יותר מילים.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>הקש את הסיסמא הישנה והחדשה לארנק.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>זכור שהצפנת הארנק לא יכולה להגן עליך לגמרי מגניבת המטבעות שלך על ידי תוכנה זדונית שנמצאת על המחשב שלך.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>הארנק המיועד להצפנה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>הארנק שלך עומד להיות מוצפן/</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>הארנק שלך מוצפן כעת/</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>חשוב! כל גיבוי קודם שעשית לארנק שלך יש להחליף עם קובץ הארנק המוצפן שזה עתה נוצר. מסיבות אבטחה, גיבויים קודמים של קובץ הארנק הלא-מוצפן יהפכו לחסרי שימוש ברגע שתתחיל להשתמש בארנק החדש המוצפן.</translation>
|
||||
@@ -301,6 +326,14 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>פתיחת &כתובת משאב…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>צור ארנק...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>צור ארנק חדש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>ארנק:</translation>
|
||||
@@ -431,7 +464,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Transactions after this will not yet be visible.</source>
|
||||
<translation>ההעברות שבוצעו לאחר העברה זו לא יופיעו.</translation>
|
||||
<translation>עסקאות שבוצעו לאחר העברה זו לא יופיעו.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
@@ -449,6 +482,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>עדכני</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>חלון צומת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>פתיחת ניפוי באגים בצומת וגם מסוף בקרה לאבחון</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&כתובות למשלוח</translation>
|
||||
@@ -457,6 +498,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&כתובות לקבלה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>פתיחת ביטקוין: כתובת משאב</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>פתיחת ארנק</translation>
|
||||
@@ -670,7 +715,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>העתקת מזהה ההעברה</translation>
|
||||
<translation>העתקת מזהה העסקה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock unspent</source>
|
||||
@@ -739,10 +784,54 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>יצירת הארנק נכשלה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>אזהרה לגבי יצירת הארנק</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>צור ארנק.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>שם הארנק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>הצפן את הארנק. הארנק יהיה מוצפן באמצעות סיסמא לבחירתך.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>הצפנת ארנק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>נטרלו מפתחות פרטיים לארנק זה. ארנקים עם מפתחות פרטיים מנוטרלים יהיו מחוסרי מפתחות פרטיים וללא מקור HD או מפתחות מיובאים. זהו אידאלי לארנקי צפייה בלבד.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>השבתת מפתחות פרטיים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>הכינו ארנק ריק. ארנקים ריקים הנם ללא מפתחות פרטיים ראשוניים או סקריפטים. מפתחות פרטיים או כתובות ניתנים לייבוא, או שניתן להגדיר מקור HD במועד מאוחר יותר. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>צור ארנק ריק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>צור</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -852,7 +941,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>בעת לחיצה על אישור, %1 יחל בהורדה ועיבוד מלאים של שרשרת המקטעים %4 (%2 ג״ב) החל מההעברות הראשונות ב־%3 עם ההשקה הראשונית של %4.</translation>
|
||||
<translation>בעת לחיצה על אישור, %1 יחל בהורדה ועיבוד מלאים של שרשרת המקטעים %4 (%2 ג׳יגה-בייט) החל מההעברות הראשונות ב־%3 עם ההשקה הראשונית של %4.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>חזרה לאחור מהגדרות אלו מחייב הורדה מחדש של כל הבלוקצ'יין. מהיר יותר להוריד את השרשרת המלאה ולקטום אותה מאוחר יותר. הדבר מנטרל כמה תכונות מתקדמות.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
@@ -874,6 +967,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>ביטקוין</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard blocks after verification, except most recent %1 GB (prune)</source>
|
||||
<translation>התעלם בלוקים לאחר ווריפיקציה, למעט %1 ג׳יגה-בייט המאוחרים ביותר (המקוצצים)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
|
||||
<translation>מידע בנפח של לפחות %1 ג׳יגה-בייט יאוחסן בתיקייה זו, והוא יגדל עם הזמן.</translation>
|
||||
@@ -900,13 +997,17 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n GB of free space available</source>
|
||||
<translation><numerusform>ג״ב של מקום פנוי זמין</numerusform><numerusform>%n ג״ב של מקום פנוי זמינים</numerusform><numerusform>%n ג״ב של מקום פנוי זמינים</numerusform><numerusform>%n ג״ב של מקום פנוי זמינים</numerusform></translation>
|
||||
<translation><numerusform>ג״ב של מקום פנוי זמין</numerusform><numerusform>%n ג״ב של מקום פנוי זמינים</numerusform><numerusform>%n ג״ב של מקום פנוי זמינים</numerusform><numerusform>%n ג׳יגה-בייט של מקום פנוי זמינים</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(מתוך %n ג״ב נדרשים)</numerusform><numerusform>(מתוך %n ג״ב נדרשים)</numerusform><numerusform>(מתוך %n ג״ב נדרשים)</numerusform><numerusform>(מתוך %n ג״ב נדרשים)</numerusform></translation>
|
||||
<translation><numerusform>(מתוך %n ג׳יגה-בייט נדרשים)</numerusform><numerusform>(מתוך %n ג׳יגה-בייט נדרשים)</numerusform><numerusform>(מתוך %n ג׳יגה-בייט נדרשים)</numerusform><numerusform>(מתוך %n ג׳יגה-בייט נדרשים)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(ג׳יגה-בייט %n נדרש לשרשרת המלאה)</numerusform><numerusform>(%n ג׳יגה-בייט נדרשים לשרשרת המלאה)</numerusform><numerusform>(%n ג׳יגה-בייט נדרשים לשרשרת המלאה)</numerusform><numerusform>(%n ג׳יגה-בייט נדרשים לשרשרת המלאה)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
@@ -953,6 +1054,14 @@
|
||||
<source>Hide</source>
|
||||
<translation>הסתר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</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>%1 מסתנכנים כרגע. תתבצע הורדת כותרות ובלוקים מעמיתים תוך אימותם עד הגעה לראש שרשרת הבלוקים .</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>לא ידוע. סינכרון כותרות (%1, %2%)...</translation>
|
||||
@@ -960,6 +1069,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>פתיחת כתובת משאב ביטקוין</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>כתובת משאב:</translation>
|
||||
@@ -967,6 +1080,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>פתיחת ארנק נכשלה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>אזהרת פתיחת ארנק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>ארנק בררת מחדל</translation>
|
||||
@@ -1004,7 +1125,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>כתובת ה־IP של המתווך (לדוגמה IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
<translation>כתובת ה־IP של הפרוקסי (לדוגמה IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
|
||||
@@ -1060,7 +1181,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>GB</source>
|
||||
<translation>ג״ב</translation>
|
||||
<translation>ג'יגה בייט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
|
||||
@@ -1344,6 +1465,18 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'//:bitcoin' אינה כתובת URI תקינה. השתמשו במקום ב ':bitcoin'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>אין אפשרות לעבד את בקשת התשלום כיון ש BIP70 אינו נתמך.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>עקב תקלות בטיחות רבות ב BIP70 מומלץ בחום להתעלם מההוראות של סוחר להחליף ארנקים </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>Iאם קיבלת הודעת שגיאה זו עליך לבקש מבעל העסק לספק URI תואם BIP21 URI.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>כתובת תשלום שגויה %1</translation>
|
||||
@@ -1464,7 +1597,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 GB</source>
|
||||
<translation>%1 ג״ב</translation>
|
||||
<translation>%1 ג'יגה בייט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
@@ -1505,6 +1638,10 @@
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>שגיאה בקידוד ה URI לברקוד.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>תמיכה בקוד QR לא זמינה.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>שמירת קוד QR</translation>
|
||||
@@ -1644,10 +1781,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>בלוקים מסונכרנים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>המערכת האוטונומית הממופה משמשת לגיוון בחירת עמיתים.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>מופה בתור</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>סוכן משתמש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>חלון צומת</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>פתחו את לוג ניפוי השגיאות ה%1 מתיקיית הנתונים הנוכחית. עבור קבצי לוג גדולים ייתכן זמן המתנה של מספר שניות.</translation>
|
||||
@@ -1798,7 +1947,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>(node id: %1)</source>
|
||||
<translation>(node id: %1)</translation>
|
||||
<translation>(מזהה צומת: %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>via %1</source>
|
||||
@@ -1859,6 +2008,18 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>סכום כרשות לבקשה. ניתן להשאיר זאת ריק כדי לא לבקש סכום מסוים.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>תווית אופצינלית לצירוף לכתובת קבלה חדשה (לשימושך לזיהוי חשבונות). היא גם מצורפת לבקשת התשלום.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>הודעה אוצפציונלית מצורפת לבקשת התשלום אשר ניתן להציגה לשולח.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&יצירת כתובת קבלה חדשה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>ניקוי של כל השדות בטופס.</translation>
|
||||
@@ -2108,6 +2269,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Dust:</source>
|
||||
<translation>אבק:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>הסתרת הגדרות עמלת עסקה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>כאשר יש פחות נפח עסקאות מאשר מקום בבלוק, כורים וכן צמתות מקשרות יכולות להכתיב עמלות מינימום. התשלום של עמלת מינימום הנו תקין, אך יש לקחת בחשבון שהדבר יכול לגרום לעסקה שלא תאושר ברגע שיש יותר ביקוש לעסקאות ביטקוין מאשר הרשת יכולה לעבד.</translation>
|
||||
@@ -2176,14 +2341,38 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 בלוקים)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>יצ&ירת לא חתום</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>יוצר עסקת ביטקוין חתומה חלקית (PSBT) לשימוש עם ארנק %1 לא מחובר למשל, או עם PSBT ארנק חומרה תואם.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>מתוך ארנק '%1'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to '%2'</source>
|
||||
<translation>%1 אל '%2'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 ל %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>האם ברצונך לשמור עסקה זו כטיוטה?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>לשלוח?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>נא לסקור את העיסקה המוצעת. הדבר יצור עיסקת ביטקוין חתומה חלקית (PSBT) אותה ניתן להעתיק ואז לחתום עם למשל ארנק לא מקוון %1, או עם ארנק חומרה תואם-PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>או</translation>
|
||||
@@ -2208,10 +2397,34 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Total Amount</source>
|
||||
<translation>סכום כולל</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>כדי לסקור את רשימת המקבלים יש להקיש "הצגת פרטים..."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>אימות שליחת מטבעות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>אישור הצעת עיסקה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>העתקת PSBT אל לוח הגזירים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>שלח</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT הועתקה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>יתרת צפייה-בלבד</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>כתובת הנמען שגויה. נא לבדוק שוב.</translation>
|
||||
@@ -2307,6 +2520,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Remove this entry</source>
|
||||
<translation>הסרת רשומה זו</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>הסכום לשליחה במטבע הנבחר</translation>
|
||||
</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>העמלה תנוכה מהסכום שנשלח. הנמען יקבל פחות ביטקוינים ממה שהזנת בשדה הסכום. אם נבחרו מספר נמענים, העמלה תחולק באופן שווה.</translation>
|
||||
@@ -2433,6 +2650,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>כתובת הביטקוין שאתה נחתמה ההודעה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>ההודעה החתומה לאימות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>החתימה שניתנת כאשר ההודעה נחתמה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>ניתן לאמת את ההודעה כדי להבטיח שהיא נחתמה עם כתובת הביטקוין הנתונה</translation>
|
||||
@@ -2465,6 +2690,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>שחרור הארנק בוטל.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>אין שגיאה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>המפתח הפרטי לכתובת שהוכנסה אינו זמין.</translation>
|
||||
@@ -2639,13 +2868,17 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Output index</source>
|
||||
<translation>מפתח פלט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation>(האישור לא אומת)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>סוחר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
|
||||
<translation>מטבעות מופקים חייבים להבשיל במשך %1 בלוקים לפני שניתן לבזבזם. כשהפקתם בלוק זה, הבלוק שודר לרשת לצורך הוספה לבלוקצ'יין. אם הבלוק לא יתווסף לבלוקצ'יין, מצב הבלוק ישונה ל "לא התקבל" ולא יהיה ניתן לבזבזו. מצב זה עלול לקרות כאשר שרת ביטקוין אחר מפיק בלוק בהפרש של כמה שניות משלכם.</translation>
|
||||
<translation>מטבעות מופקים חייבים להבשיל במשך %1 בלוקים לפני שניתן לבזבזם. כשהפקתם בלוק זה, הבלוק שודר לרשת לצורך הוספה לבלוקצ'יין. אם הבלוק לא יתווסף לבלוקצ'יין, מצב הבלוק ישונה ל"לא התקבל" ולא יהיה ניתן לבזבזו. מצב זה עלול לקרות כאשר צומת אחרת מפיקה בלוק בהפרש של כמה שניות משלכם.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug information</source>
|
||||
@@ -2962,6 +3195,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Close wallet</source>
|
||||
<translation>סגירת ארנק</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close the wallet <i>%1</i>?</source>
|
||||
<translation>האם את/ה בטוח/ה שברצונך לסגור את הארנק <i>%1</i>?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>סגירת הארנק למשך זמן רב מדי יכול לגרור את הצורך לסינכרון מחדש של כל השרשרת אם אופצית הגיזום אקטיבית.</translation>
|
||||
@@ -2990,7 +3227,11 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>להגדיל את העמלה?</translation>
|
||||
<translation>האם ברצונך להגדיל את העמלה?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>האם ברצונך להכין עסיקה עם עמלה מוגברת?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
@@ -3008,6 +3249,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>אישור הקפצת עמלה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>לא ניתן לשמור את העסקה כטיוטה.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT הועתקה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>אי אפשר לחתום על ההעברה.</translation>
|
||||
@@ -3174,6 +3423,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>התגלה מסד נתוני מקטעים לא תקין</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation> קובץ asmap %s לא נמצא</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation> קובץ asmap %s לא נפרס</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>האם לבנות מחדש את מסד נתוני המקטעים?</translation>
|
||||
@@ -3230,6 +3487,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>איתחול של תהליך בדיקות השפיות נכשל. %s בתהליך סגירה.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>הרשאת P2P שגויה: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>סכום שגוי עבור -%s=<amount>: '%s'</translation>
|
||||
@@ -3246,6 +3507,14 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>התיקיה שהוגדרה "%s" לא קיימת.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>כתובת לא ידועה מסוג "%s"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>סוג שינוי לא ידוע: "%s"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>שדרוג מאגר נתוני txindex </translation>
|
||||
@@ -3367,6 +3636,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>עליך לציין פתחה עם -whitebind: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>מצב מצומצם לא ניתן לשימוש עם blockfilterindex</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>הורדת -maxconnections מ %d ל %d, עקב מגבלות מערכת.</translation>
|
||||
@@ -3425,6 +3698,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>לא מצליח ליצור מפתחות ראשוניים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>ערך -blockfilterindex %s לא ידוע.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>מאמת ארנק(ים)...</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -481,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Ažurno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Konzola za čvor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Otvori konzolu za dijagnostiku i otklanjanje pogrešaka čvora.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>Adrese za &slanje</translation>
|
||||
@@ -489,6 +497,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>Adrese za &primanje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Otvori bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Otvorite novčanik</translation>
|
||||
@@ -1059,6 +1071,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Otvori bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -1451,6 +1467,10 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' nije ispravan URI. Koristite 'bitcoin:' umjesto toga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>Zahtjev za plaćanje nije izvršen jer BIP70 nije podržan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>Zbog rasprostranjenih sigurnosnih mana u BIP70-u, strogo se preporučuje da se ignoriraju bilo kakve naredbe o zamjeni novčanika sa strane trgovca.</translation>
|
||||
@@ -1763,10 +1783,18 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Broj sinkronizranih blokova</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Mapirano kao</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Korisnički agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Konzola za čvor</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>Otvorite datoteku zapisa programa %1 iz trenutne podatkovne mape. Može potrajati nekoliko sekundi za velike datoteke zapisa.</translation>
|
||||
@@ -1978,6 +2006,10 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Opcionalan iznos koji možete zahtijevati. Ostavite ovo prazno ili unesite nulu ako ne želite zahtijevati specifičan iznos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Opcionalna poruka je priložena zahtjevu za plaćanje i može se prikazati pošiljatelju.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Stvorite novu primateljsku adresu</translation>
|
||||
@@ -2231,6 +2263,10 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>Dust:</source>
|
||||
<translation>Prah:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Sakrijte postavke za transakcijske provizije</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Kada je kapacitet transakcija manja od prostora u blokovima, rudari i čvorovi prenositelji mogu zatražiti minimalnu naknadu. Prihvatljivo je platiti samo ovu minimalnu naknadu, ali budite svjesni da ovime može nastati transakcija koja se nikad ne potvrđuje čim je potražnja za korištenjem Bitcoina veća nego što mreža može obraditi.</translation>
|
||||
@@ -2299,6 +2335,10 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 blokova)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>Cr&eate nije potpisan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>iz novčanika '%1'</translation>
|
||||
@@ -2311,6 +2351,10 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 na %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Želite li kreirati nacrt transakcije?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Jeste li sigurni da želite poslati transakciju?</translation>
|
||||
@@ -2347,10 +2391,26 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Potvrdi slanje novca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Potvrdi predloženu transakciju </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Kopiraj PSBT u međuspremnik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Pošalji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT kopiran</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Saldo samo za gledanje:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>Adresa primatelja je nevažeća. Provjerite ponovno, molim vas.</translation>
|
||||
@@ -2446,6 +2506,10 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>Remove this entry</source>
|
||||
<translation>Obrišite ovaj zapis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>Iznos za slanje u odabranoj valuti </translation>
|
||||
</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>Naknada će biti oduzeta od poslanog iznosa. Primatelj će primiti manji iznos od onoga koji unesete u polje iznosa. Ako je odabrano više primatelja, onda će naknada biti podjednako raspodijeljena.</translation>
|
||||
@@ -2572,6 +2636,14 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Bitcoin adresa kojom je poruka potpisana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>Potpisana poruka za provjeriti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>Potpis predan kad je poruka bila potpisana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Provjerite poruku da budete sigurni da je potpisana zadanom Bitcoin adresom</translation>
|
||||
@@ -3159,6 +3231,14 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Potvrdite povećanje naknade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>Nije moguće pripremiti nacrt transakcije</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT kopiran</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>Transakcija ne može biti potpisana.</translation>
|
||||
@@ -3325,6 +3405,14 @@ Napomena: Budući da se naknada računa po bajtu, naknada od "100 satošija po k
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Pokvarena baza blokova otkrivena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>Nije pronađena asmap datoteka %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>Nije moguće pročitati asmap datoteku %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Želite li sada obnoviti bazu blokova?</translation>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>A cím vagy címke szerkeszteséhez kattintson a jobb gombbal</translation>
|
||||
<translation>A cím vagy címke szerkesztéséhez kattints a jobb gombbal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -481,6 +481,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Naprakész</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Csomópont ablak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Nyisd meg a hibaellenőrző és diagnosztizáló konzolt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&Küldő címek</translation>
|
||||
@@ -489,6 +497,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&Fogadó címek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Bitcoin URI megnyitása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Tárca megnyitása</translation>
|
||||
@@ -549,6 +561,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Hiba: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Vigyázz: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -805,6 +821,10 @@
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>A tárcához tartozó privát kulcsok letiltása. Azok a tárcák, melyeknél a privát kulcsok le vannak tiltva, nem tartalmaznak privát kulcsokat és nem tartalmazhatnak HD magot vagy importált privát kulcsokat. Ez azoknál a tárcáknál ideális, melyeket csak megfigyelésre használnak.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Kapcsold ki a Privát Kódot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Üres tárca készítése. Az üres tárcák kezdetben nem tartalmaznak privát kulcsokat vagy szkripteket. Később lehetséges a privát kulcsok vagy címek importálása avagy egy HD mag beállítása.</translation>
|
||||
@@ -813,7 +833,11 @@
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Üres tárca készítése</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Létrehozás</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -852,6 +876,14 @@
|
||||
<source>The entered address "%1" is not a valid Bitcoin address.</source>
|
||||
<translation>A megadott "%1" cím nem egy érvényes Bitcoin-cím.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address.</source>
|
||||
<translation>A(z) "%1" már egy létező fogadó cím "%2" névvel és nem lehet küldő címként hozzáadni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The entered address "%1" is already in the address book with label "%2".</source>
|
||||
<translation>A megadott "%1" cím már szerepel a címjegyzékben "%2" néven.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Nem sikerült a tárca megnyitása</translation>
|
||||
@@ -973,7 +1005,15 @@
|
||||
<source>%n GB of free space available</source>
|
||||
<translation><numerusform>%n GB elérhető szabad hely</numerusform><numerusform>%n GB elérhető szabad hely</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(a szükséges %n GB-ból)</numerusform><numerusform>(a szükséges %n GB-ból)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(%n GB needed for full chain)</source>
|
||||
<translation><numerusform>(%n GB szükséges a teljes sorozathoz)</numerusform><numerusform>(%n GB szükséges a teljes lánchoz)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
@@ -1020,9 +1060,25 @@
|
||||
<source>Hide</source>
|
||||
<translation>Elrejtés</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Kilépés</translation>
|
||||
</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>%1 szinkronizálás alatt. Fejléceket és blokkokat tölt le a felektől, majd érvényesíti, amíg el nem éri a blokklánc tetejét.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Ismeretlen. Fejlécek szinkronizálása (%1, %2%)...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Nyisd meg a bitcoin címedet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -1265,6 +1321,10 @@
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>&Harmadik féltől származó tranzakció URL-ek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
|
||||
<translation>Az ebben a párbeszédablakban beállított opciók felülírásra kerültek a parancssor által vagy a konfigurációs fájlban:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
@@ -1407,10 +1467,22 @@
|
||||
<source>URI handling</source>
|
||||
<translation>URI kezelés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' nem érvényes egységes erőforrás azonosító (URI). Használd helyette a 'bitcoin'-t.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>A fizetési kérelmet nem lehet feldolgozni, mert a BIP70 nem támogatott.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>A BIP70 széleskörű biztonsági hiányosságai következtében határozottan ajánljuk, hogy hagyjon figyelmen kívül bármiféle kereskedelmi utasítást, amely a tárca váltására készteti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>Ha ezt a hibaüzenetet kapod, meg kell kérned a kereskedőt, hogy biztosítson BIP21 kompatibilis URI-t.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Érvénytelen fizetési cím %1</translation>
|
||||
@@ -1572,6 +1644,10 @@
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>Hiba lépett fel az URI QR kóddá alakításakor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>QR kód támogatás nem elérhető.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>QR Kód Mentése</translation>
|
||||
@@ -1607,6 +1683,18 @@
|
||||
<source>Datadir</source>
|
||||
<translation>Adatkönyvtár</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To specify a non-default location of the data directory use the '%1' option.</source>
|
||||
<translation>A nem alapértelmezett elérési út használatához használd a '%1' opciót</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocksdir</source>
|
||||
<translation>Blokk könyvtár</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To specify a non-default location of the blocks directory use the '%1' option.</source>
|
||||
<translation>Az blokkk könyvárhoz kívánt nem alapértelmezett elérési úthoz használd a '%1' opciót</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Startup time</source>
|
||||
<translation>Bekapcsolás ideje</translation>
|
||||
@@ -1647,6 +1735,10 @@
|
||||
<source>Wallet: </source>
|
||||
<translation>Tárca:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(none)</source>
|
||||
<translation>(nincs)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset</source>
|
||||
<translation>&Visszaállítás</translation>
|
||||
@@ -1695,10 +1787,22 @@
|
||||
<source>Synced Blocks</source>
|
||||
<translation>Szinkronizált Blokkok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>A megadott "Önálló rendszer" használom a peer választás diverzifikálásához.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>Felvett AS (önálló rendszer)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>User Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Csomópont ablak</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>A %1 debug log fájl megnyitása a jelenlegi könyvtárból. Ez néhány másodpercig eltarthat nagyobb log fájlok esetén.</translation>
|
||||
@@ -1910,6 +2014,14 @@
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Egy opcionálisan kérhető összeg. Hagyja üresen, vagy írjon be nullát, ha nem kívánja használni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>Egy opcionális címke, amit hozzá lehet rendelni az új fogadó címhez (amit használhatsz a számla azonosításához). E mellett hozzá lesz csatolva a fizetési kérelemhez is.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>Egy opcionális üzenet ami a fizetési kérelemhez van fűzve és valószínűleg meg lesz jelenítve a fizető oldalán.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Új fogadócím létrehozása</translation>
|
||||
@@ -2119,6 +2231,14 @@
|
||||
<source>Warning: Fee estimation is currently not possible.</source>
|
||||
<translation>Figyelem: A hozzávetőleges díjszámítás jelenleg nem lehetséges.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify a custom fee per kB (1,000 bytes) of the transaction's virtual size.
|
||||
|
||||
Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis per kB" for a transaction size of 500 bytes (half of 1 kB) would ultimately yield a fee of only 50 satoshis.</source>
|
||||
<translation>Add meg a választott tranzakciós díjat kB (1000 bájt) -onként a tranzakció virtuális méretére számolva.
|
||||
|
||||
Figyelem: Mivel bájtonként lesz a dj kiszámolva ezért a "100 satoshi per kB" egy 500 bájtos (fél kB) tranzakciónál ténylegesen 50 satoshi lesz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>per kilobyte</source>
|
||||
<translation>kilobájtonként</translation>
|
||||
@@ -2155,6 +2275,18 @@
|
||||
<source>Dust:</source>
|
||||
<translation>Por-határ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Rejtsd el a tranzakciós költségek beállításait</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>Ha kevesebb a tranzakció mint amennyi hely lenne egy blokkban, akkor a bányászok és a többi node megkövetelheti a minimum díjat. E minimum díjat fizetni elegendő lehet, de tudnod kell, hogy ez esetleg soha nem konfirmálódó tranzakciót eredményezhet ahogy a tranzakciók száma magasabb lesz mint a network által megengedett.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
|
||||
<translation>A túl alacsony illeték a tranzakció soha be nem teljesülését eredményezheti (olvassa el az elemleírást)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Várható megerősítési idő:</translation>
|
||||
@@ -2163,6 +2295,10 @@
|
||||
<source>Enable Replace-By-Fee</source>
|
||||
<translation>Replace-By-Fee bekapcsolása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>With Replace-By-Fee (BIP-125) you can increase a transaction's fee after it is sent. Without this, a higher fee may be recommended to compensate for increased transaction delay risk.</source>
|
||||
<translation>A With Replace-By-Fee (BIP-125) funkciót használva küldés után is megemelheted a tranzakciós díjat. Ha ezt nem használod akkor magasabb díjat érdemes használni, hogy kisebb legyen a késedelem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>Mindent &töröl</translation>
|
||||
@@ -2211,18 +2347,38 @@
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 blokov)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>&Aláírás nélkül létrehozása Unsigned</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Létrehoz egy Részlegesen Aláírt Bitcoin Tranzakciót (PSBT) melyet offline %1 tárcával vagy egy PSBT kompatibilis hardver tárcával használhatsz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>A "%1" tárcától</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to '%2'</source>
|
||||
<translation>%1 -től '%2-ig'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 do %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>Piszkozatba teszed ezt a tranzakciót?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Biztosan el akarja küldeni?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Figyelmesen nézd át a tranzakció adatait! Ez alapján fog létrejönni a részlegesen aláírt Bitcoin tranzakció (PSBT) kulcsa, amellyel hitelesíthető pl. egy offline %1 tárca, vagy egy PSBT kompatibilis hardware tárca.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>vagy</translation>
|
||||
@@ -2231,14 +2387,50 @@
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Később növelheti a tranzakció díját (lásd Replace-By-Fee, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Kérjük, hogy ellenőrizze le a tranzakcióját.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction fee</source>
|
||||
<translation>Tranzakciós díj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>Nem jelzek Replace-By-Fee, BIP-125-t</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Teljes összeg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>A címzett lista ellenőrzéséhez kattintson a "További részletek" gombra.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Összeg küldésének megerősítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Tranzakció javaslat megerősítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy PSBT to clipboard</source>
|
||||
<translation>Másold át a részlegesen aláírt Bitcoin tranzakció (PSBT) kulcsait a vágólapra!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Küldés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT másolva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>Egyenleg csak megfigyelésre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>A fogadó címe érvénytelen. Kérem ellenőrizze.</translation>
|
||||
@@ -2271,6 +2463,10 @@
|
||||
<source>Payment request expired.</source>
|
||||
<translation>A fizetési kérelem lejárt.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Estimated to begin confirmation within %n block(s).</source>
|
||||
<translation><numerusform>A tranzakció megerősítése %n blokk múlva várható.</numerusform><numerusform>A tranzakció megerősítése %n blokk múlva várható.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Invalid Bitcoin address</source>
|
||||
<translation>Figyelmeztetés: Érvénytelen Bitcoin cím</translation>
|
||||
@@ -2330,6 +2526,10 @@
|
||||
<source>Remove this entry</source>
|
||||
<translation>Ez a bejegyzés eltávolítása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>A küldendő összeg a választott egységben.</translation>
|
||||
</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>Znesek plačila bo zmanjšan za znesek provizije. Prejemnik bo prejel manjše število kovancev, kot je bil vnešeni znesek. Če je prejemnikov več, bo provizija med njih enakomerno porazdeljena.</translation>
|
||||
@@ -2456,6 +2656,14 @@
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Bitcoin cím, amivel aláírta az üzenetet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>Az aláírt üzenet ellenőrzésre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>A kapott aláírás amikor az üzenet alá lett írva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Ellenőrizze az üzenetet, hogy valóban a megjelölt Bitcoin címmel van-e aláírva</translation>
|
||||
@@ -2488,6 +2696,10 @@
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>Tárca megnyitása megszakítva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Nincs hiba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>A megadott cím privát kulcsa nem található.</translation>
|
||||
@@ -2530,6 +2742,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>még %n blokkig nyitva</numerusform><numerusform>még %n blokkig nyitva</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>%1 -ig megnyitva</translation>
|
||||
@@ -2606,6 +2822,10 @@
|
||||
<source>Credit</source>
|
||||
<translation>Jóváírás</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>matures in %n more block(s)</source>
|
||||
<translation><numerusform>még %n blokkig nyitva</numerusform><numerusform>még %n blokkig nyitva</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>elutasítva</translation>
|
||||
@@ -2646,10 +2866,18 @@
|
||||
<source>Transaction total size</source>
|
||||
<translation>Tranzakció teljes mérete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction virtual size</source>
|
||||
<translation>A tranzakció virtuális mérete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output index</source>
|
||||
<translation>Indeks izhoda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation>(A tanúsítvány nem ellenőrzött)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Kereskedő</translation>
|
||||
@@ -2708,6 +2936,10 @@
|
||||
<source>Label</source>
|
||||
<translation>Címke</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>még %n blokkig nyitva</numerusform><numerusform>még %n blokkig nyitva</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>%1 -ig megnyitva</translation>
|
||||
@@ -2991,6 +3223,10 @@
|
||||
<source>Send Coins</source>
|
||||
<translation>Érmék Küldése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee bump error</source>
|
||||
<translation>Díj emelési hiba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Increasing transaction fee failed</source>
|
||||
<translation>Tranzakciós díj növelése sikertelen</translation>
|
||||
@@ -2999,6 +3235,10 @@
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Kívánja megnövelni a díjat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Akarod egy piszkozat tranzakciót díj emeléssel?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>Jelenlegi díj:</translation>
|
||||
@@ -3011,6 +3251,18 @@
|
||||
<source>New fee:</source>
|
||||
<translation>Új díj:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>Erősitsd meg a díj emelését</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>Sikertelen tranzakciós piszkozat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT másolva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>Tranzakció aláírása sikertelen.</translation>
|
||||
@@ -3058,7 +3310,11 @@
|
||||
<source>The wallet data was successfully saved to %1.</source>
|
||||
<translation>A tárca adatai sikeresen elmentve %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Bezárás</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
@@ -3089,18 +3345,42 @@
|
||||
<source>The %s developers</source>
|
||||
<translation>A %s fejlesztők</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't generate a change-address key. No keys in the internal keypool and can't generate any keys.</source>
|
||||
<translation>Nem generálható új cím! Jelenleg nincsenek ehhez rendelkezésre álló kulcsok.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>Az %s adatkönyvtár nem zárható. A %s valószínűleg fut már.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Nem lehetséges a megadott kapcsolatok és az addrman által felderített kapcsolatok egyidejű használata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Hiba %s beolvasása közben. Az összes kulcs sikeresen beolvasva, de a tranzakciós adatok és a címtár rekordok hiányoznak vagy sérültek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>Opozorilo: Preverite, če sta datum in ura na vašem računalniku točna! %s ne bo deloval pravilno, če je nastavljeni čas nepravilen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Kérlek támogasd ha hasznásnak találtad a %s-t. Az alábbi linken találsz bővebb információt a szoftverről %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>A blokk adatbázis tartalmaz egy blokkot ami a jövőből érkezettnek látszik. Ennek oka lehet, hogy a számítógéped dátum és idő beállítása helytelen. Csak akkor építsd újra a block adatbázist ha biztos vagy benne, hogy az időbeállítás helyes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
|
||||
<translation>Ez egy kiadás előtt álló, teszt verzió - csak saját felelősségre - ne használja bányászatra vagy kereskedéshez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
|
||||
<translation>Ezt a tranzakciós díjat figyelmen kívül hagyhatod ha a visszajáró kisebb mint a "porhintés" összege jelenleg.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
|
||||
<translation>Ne morem ponoviti blokov. Podatkovno bazo bo potrebno ponovno zgraditi z uporabo ukaza -reindex-chainstate.</translation>
|
||||
@@ -3137,6 +3417,10 @@
|
||||
<source>Change index out of range</source>
|
||||
<translation>Indeks drobiža izven dovoljenega območja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Config setting for %s only applied on %s network when in [%s] section.</source>
|
||||
<translation>A konfigurációs beálltás %s kizárólag az %s hálózatra vonatkozik amikor a [%s] szekcióban van.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright (C) %i-%i</source>
|
||||
<translation>Szerzői jog (C) fenntartva %i-%i</translation>
|
||||
@@ -3145,6 +3429,14 @@
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Sérült blokk-adatbázis észlelve</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>%s asmap fájl nem található</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>%s beolvasása sikertelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Újra akarod építeni a blokk adatbázist most?</translation>
|
||||
@@ -3161,6 +3453,10 @@
|
||||
<source>Error loading %s</source>
|
||||
<translation>Hiba a(z) %s betöltése közben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Private keys can only be disabled during creation</source>
|
||||
<translation> %s betöltése sikertelen. A privát kulcsok csak a létrehozáskor tilthatóak le.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s: Wallet corrupted</source>
|
||||
<translation>Hiba a(z) %s betöltése közben: A tárca hibás.</translation>
|
||||
@@ -3193,6 +3489,14 @@
|
||||
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
|
||||
<translation>Helytelen vagy nemlétező genézis blokk. Helytelen hálózati adatkönyvtár?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>%s bezárása folyamatban. A kezdeti hibátlansági teszt sikertelen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>Érvénytelen P2P jog: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>Neveljavna količina za -%s=<amount>: '%s'</translation>
|
||||
@@ -3205,10 +3509,30 @@
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Neveljavna količina za -fallbackfee=<amount>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>A megadott blokk "%s" nem létezik.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Ismeretlen cím típus '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Visszajáró típusa ismeretlen '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>txindex adatbázis frissítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading P2P addresses...</source>
|
||||
<translation>P2P címek betöltése...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is too low!</source>
|
||||
<translation>Hiba: A lemezen kevés hely elérhető!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading banlist...</source>
|
||||
<translation>Tiltólista betöltése...</translation>
|
||||
@@ -3245,10 +3569,22 @@
|
||||
<source>Unable to bind to %s on this computer. %s is probably already running.</source>
|
||||
<translation>Na tem računalniku ni bilo mogoče vezati naslova %s. %s je verjetno že zagnan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate keys</source>
|
||||
<translation>Kulcs generálás sikertelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported logging category %s=%s.</source>
|
||||
<translation>Nem támogatott logolási kategória %s=%s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading UTXO database</source>
|
||||
<translation>Blokk adatbázis frissítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent comment (%s) contains unsafe characters.</source>
|
||||
<translation>Az ügyfélügynök megjegyzésben nem biztonságos karakter van: (%s) </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying blocks...</source>
|
||||
<translation>Blokkok ellenőrzése...</translation>
|
||||
@@ -3261,6 +3597,14 @@
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Napaka: Ni mogoče sprejemati dohodnih povezav (vrnjena napaka: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Érvénytelen összeg -maxtxfee=<amount>: '%s' (legalább a minrelay összeg azaz %s kell legyen, hogy ne ragadjon be a tranzakció)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>A tranzakció összege túl alacsony az elküldéshez miután a díj levonódik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>Újra kell építeni az adatbázist a -reindex használatával, ami a nyesett üzemmódot megszünteti. Ez a teljes blokklánc ismételt letöltésével jár.</translation>
|
||||
@@ -3273,6 +3617,22 @@
|
||||
<source>Error upgrading chainstate database</source>
|
||||
<translation>Hiba a blokk adatbázis betöltése közben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Érvénytelen -onion cím vagy hostname: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -proxy address or hostname: '%s'</source>
|
||||
<translation>Érvénytelen -proxy cím vagy hostname: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s)</source>
|
||||
<translation>Érvénytelen tranzakciós díj -paytxfee=<amount>: '%s' (minimum ennyinek kell legyen %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid netmask specified in -whitelist: '%s'</source>
|
||||
<translation>Érvénytelen hálózati maszk van megadva itt: -whitelist: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Pri opciji -whitebind morate navesti vrata: %s</translation>
|
||||
@@ -3285,6 +3645,10 @@
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Zmanjšujem maksimalno število povezav (-maxconnections) iz %d na %d, zaradi sistemskih omejitev.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Section [%s] is not recognized.</source>
|
||||
<translation>Ismeretlen szekció [%s]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signing transaction failed</source>
|
||||
<translation>Tranzakció aláírása sikertelen</translation>
|
||||
@@ -3301,6 +3665,15 @@
|
||||
<source>Specified -walletdir "%s" is not a directory</source>
|
||||
<translation>A megadott "%s" -walletdir nem könyvtár</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The specified config file %s does not exist
|
||||
</source>
|
||||
<translation>A megadott konfigurációs fájl %s nem található.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation>A tranzakció összege túl alacsony a tranzakciós költség kifizetéséhez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is experimental software.</source>
|
||||
<translation>Ez egy kísérleti szoftver.</translation>
|
||||
@@ -3317,10 +3690,18 @@
|
||||
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
|
||||
<translation>Na tem računalniku ni bilo mogoče vezati naslova %s (vrnjena napaka: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create the PID file '%s': %s</source>
|
||||
<translation>PID fájl létrehozása sikertelen '%s': %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Ne zmorem ustvariti začetnih ključev</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Ismeretlen -blockfilterindex érték %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Tárcák ellenőrzése...</translation>
|
||||
@@ -3333,6 +3714,18 @@
|
||||
<source>Zapping all transactions from wallet...</source>
|
||||
<translation>A tárca összes trancakciójának törlése...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
|
||||
<translation>-maxtxfee túl magasra van állítva! Ez a jelentős díj esetleg már egy egyszeri tranzakcióra is ki lehet fizetve.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
|
||||
<translation>Ezt a tranzakciós díjat fogod fizetni ha a díjbecslés nem lehetséges.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
|
||||
<translation>A hálózati verzió string (%i) hossza túllépi a megengedettet (%i). Csökkentsd a hosszt vagy a darabszámot uacomments beállításban.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup.</source>
|
||||
<translation>Figyelem: A tárca-fájl megsérült, de az adatokat sikerült megmenteni! Az eredeti %s fájlt mentettük %s név alatt a %s könyvtárban. Amennyiben az egyenleg vagy a trancakciók helytelenek, állítsa vissza tárcáját a biztonsági mentés használatával.</translation>
|
||||
@@ -3365,6 +3758,10 @@
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
<translation>Tranzakció összege nem lehet negatív</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction has too long of a mempool chain</source>
|
||||
<translation>A tranzakcóihoz tartozó mempool elődlánc túl hosszú</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>Legalább egy címzett kell a tranzakcióhoz</translation>
|
||||
@@ -3381,10 +3778,18 @@
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use -upgradewallet=169900 or -upgradewallet with no version specified.</source>
|
||||
<translation>A nem HD-s megosztott tárcát nem lehet bővíteni anélkül, hogy először a megosztás előtti kulcskészlet támogatására bővít. Használja az -upgradewallet=169900 parancsot vagy az -upgradewallet parancsot verzió megadása nélkül.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>Díjbecslés sikertelen. Alapértelmezett díj le van tiltva. Fárj néhány blokkot vagy engedélyezd a -fallbackfee -t.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>Figyelem: Privát kulcsokat észleltünk a {%s} tárcában, melynél a privát kulcsok le vannak tiltva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>Nem tudok írni a '%s' könyvtárba, ellenőrizd a jogosultságokat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading block index...</source>
|
||||
<translation>Blokkindex betöltése...</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user