mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-23 08:34:58 +01:00
Compare commits
22 Commits
v22-final
...
v0.16.0rc3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5e3d44cc8 | ||
|
|
4f63a43f6b | ||
|
|
758a41e100 | ||
|
|
3f5012beb6 | ||
|
|
b8947554dd | ||
|
|
4cd7edba47 | ||
|
|
93de37a12b | ||
|
|
dd346cb262 | ||
|
|
dafd0078a2 | ||
|
|
daaae36e15 | ||
|
|
604f289f71 | ||
|
|
0f207c488a | ||
|
|
09fc859ef0 | ||
|
|
da84760701 | ||
|
|
d56355ad37 | ||
|
|
f17942a3bc | ||
|
|
5303970c26 | ||
|
|
0dc6a30ef3 | ||
|
|
e54c1ac110 | ||
|
|
6c2788c7c8 | ||
|
|
66bc647e8c | ||
|
|
5c242b211e |
@@ -1,10 +1,10 @@
|
||||
dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
|
||||
AC_PREREQ([2.60])
|
||||
define(_CLIENT_VERSION_MAJOR, 0)
|
||||
define(_CLIENT_VERSION_MINOR, 15)
|
||||
define(_CLIENT_VERSION_REVISION, 99)
|
||||
define(_CLIENT_VERSION_MINOR, 16)
|
||||
define(_CLIENT_VERSION_REVISION, 0)
|
||||
define(_CLIENT_VERSION_BUILD, 0)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, false)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2018)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
|
||||
.TH BITCOIN-CLI "1" "September 2017" "bitcoin-cli v0.15.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH BITCOIN-CLI "1" "January 2018" "bitcoin-cli v0.16.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.15.99.0
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.16.0.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v0.15.99.0
|
||||
Bitcoin Core RPC client version v0.16.0.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoin\-cli [options] <command> [params]
|
||||
@@ -25,6 +25,14 @@ Specify configuration file (default: bitcoin.conf)
|
||||
\fB\-datadir=\fR<dir>
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-getinfo\fR
|
||||
.IP
|
||||
Get general information from the remote server. Note that unlike
|
||||
server\-side RPC calls, the results of \fB\-getinfo\fR is the result of
|
||||
multiple non\-atomic requests. Some entries in the result may
|
||||
represent results from different states (e.g. wallet balance may
|
||||
be as of a different block from the chain state reported)
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
@@ -88,7 +96,7 @@ Send RPC for non\-default wallet on RPC server (argument is wallet
|
||||
filename in bitcoind directory, required if bitcoind/\-Qt runs
|
||||
with multiple wallets)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2018 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
|
||||
.TH BITCOIN-QT "1" "September 2017" "bitcoin-qt v0.15.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH BITCOIN-QT "1" "January 2018" "bitcoin-qt v0.16.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.15.99.0
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.16.0.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v0.15.99.0 (64\-bit)
|
||||
Bitcoin Core version v0.16.0.0 (64\-bit)
|
||||
Usage:
|
||||
.IP
|
||||
bitcoin\-qt [command\-line options]
|
||||
@@ -32,7 +32,7 @@ block hash)
|
||||
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:
|
||||
0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a,
|
||||
0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0,
|
||||
testnet:
|
||||
0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1)
|
||||
.HP
|
||||
@@ -52,6 +52,11 @@ Set database cache size in megabytes (4 to 16384, default: 450)
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file: this can be an absolute path or a
|
||||
path relative to the data directory (default: debug.log)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
@@ -76,7 +81,7 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
@@ -117,7 +122,8 @@ Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
Add a node to connect to and attempt to keep the connection open
|
||||
Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info)
|
||||
.HP
|
||||
\fB\-banscore=\fR<n>
|
||||
.IP
|
||||
@@ -136,7 +142,8 @@ for IPv6
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
|
||||
connections
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR)
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
@@ -258,6 +265,18 @@ Tries to keep outbound traffic under the given target (in MiB per 24h),
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", or "bech32").
|
||||
Default is same as \fB\-addresstype\fR, except when
|
||||
\fB\-addresstype\fR=\fI\,p2sh\-segwit\/\fR a native segwit output is used when
|
||||
sending to a native segwit address)
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
@@ -307,7 +326,7 @@ confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (default: 0)
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
@@ -321,6 +340,11 @@ Specify wallet file (within data directory) (default: wallet.dat)
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
@@ -542,7 +566,7 @@ Show splash screen on startup (default: 1)
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2018 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
|
||||
.TH BITCOIN-TX "1" "September 2017" "bitcoin-tx v0.15.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH BITCOIN-TX "1" "January 2018" "bitcoin-tx v0.16.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.15.99.0
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.16.0.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v0.15.99.0
|
||||
Bitcoin Core bitcoin\-tx utility version v0.16.0.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoin\-tx [options] <hex\-tx> [commands]
|
||||
@@ -112,7 +112,7 @@ set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2018 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
|
||||
.TH BITCOIND "1" "September 2017" "bitcoind v0.15.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
|
||||
.TH BITCOIND "1" "January 2018" "bitcoind v0.16.0.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind v0.15.99.0
|
||||
bitcoind \- manual page for bitcoind v0.16.0.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core Daemon version v0.15.99.0
|
||||
Bitcoin Core Daemon version v0.16.0.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoind [options]
|
||||
@@ -33,7 +33,7 @@ block hash)
|
||||
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:
|
||||
0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a,
|
||||
0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0,
|
||||
testnet:
|
||||
0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1)
|
||||
.HP
|
||||
@@ -57,6 +57,11 @@ Set database cache size in megabytes (4 to 16384, default: 450)
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
Specify location of debug log file: this can be an absolute path or a
|
||||
path relative to the data directory (default: debug.log)
|
||||
.HP
|
||||
\fB\-maxorphantx=\fR<n>
|
||||
.IP
|
||||
Keep at most <n> unconnectable transactions in memory (default: 100)
|
||||
@@ -81,7 +86,7 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 16, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-pid=\fR<file>
|
||||
@@ -122,7 +127,8 @@ Connection options:
|
||||
.HP
|
||||
\fB\-addnode=\fR<ip>
|
||||
.IP
|
||||
Add a node to connect to and attempt to keep the connection open
|
||||
Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info)
|
||||
.HP
|
||||
\fB\-banscore=\fR<n>
|
||||
.IP
|
||||
@@ -141,7 +147,8 @@ for IPv6
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic
|
||||
connections
|
||||
connections (the rules for this peer are the same as for
|
||||
\fB\-addnode\fR)
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
@@ -263,6 +270,18 @@ Tries to keep outbound traffic under the given target (in MiB per 24h),
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
What type of change to use ("legacy", "p2sh\-segwit", or "bech32").
|
||||
Default is same as \fB\-addresstype\fR, except when
|
||||
\fB\-addresstype\fR=\fI\,p2sh\-segwit\/\fR a native segwit output is used when
|
||||
sending to a native segwit address)
|
||||
.HP
|
||||
\fB\-disablewallet\fR
|
||||
.IP
|
||||
Do not load the wallet and disable wallet RPC calls
|
||||
@@ -312,7 +331,7 @@ confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (default: 0)
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
@@ -326,6 +345,11 @@ Specify wallet file (within data directory) (default: wallet.dat)
|
||||
.IP
|
||||
Make the wallet broadcast transactions (default: 1)
|
||||
.HP
|
||||
\fB\-walletdir=\fR<dir>
|
||||
.IP
|
||||
Specify directory to hold wallets (default: <datadir>/wallets if it
|
||||
exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
@@ -521,7 +545,7 @@ non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 4)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2018 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
(note: this is a temporary file, to be added-to by anybody, and moved to
|
||||
release-notes at release time)
|
||||
## (note: this is a temporary file, to be added-to by anybody, and moved to release-notes at release time)
|
||||
|
||||
Bitcoin Core version *version* is now available from:
|
||||
Bitcoin Core version 0.16.0 is now available from:
|
||||
|
||||
<https://bitcoin.org/bin/bitcoin-core-*version*/>
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.16.0/>
|
||||
|
||||
This is a new major version release, including new features, various bugfixes
|
||||
and performance improvements, as well as updated translations.
|
||||
@@ -24,25 +23,21 @@ shut down (which might take a few minutes for older versions), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
The first time you run version 0.15.0, your chainstate database will be converted to a
|
||||
The first time you run a version newer than 0.15.0, your chainstate database will be converted to a
|
||||
new format, which will take anywhere from a few minutes to half an hour,
|
||||
depending on the speed of your machine.
|
||||
|
||||
Note that the block database format also changed in version 0.8.0 and there is no
|
||||
automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
|
||||
directly from 0.7.x and earlier without redownloading the blockchain is not supported.
|
||||
automatic upgrade code from before version 0.8 to versions higher than 0.15.0. Upgrading
|
||||
directly from 0.7.x and earlier without re-downloading the blockchain is not supported.
|
||||
However, as usual, old wallet versions are still supported.
|
||||
|
||||
Downgrading warning
|
||||
-------------------
|
||||
|
||||
The chainstate database for this release is not compatible with previous
|
||||
releases, so if you run 0.15 and then decide to switch back to any
|
||||
older version, you will need to run the old release with the `-reindex-chainstate`
|
||||
option to rebuild the chainstate data structures in the old format.
|
||||
|
||||
If your node has pruning enabled, this will entail re-downloading and
|
||||
processing the entire blockchain.
|
||||
Wallets created in 0.16 and later are not compatible with versions prior to 0.16
|
||||
and will not work if you try to use newly created wallets in older versions. Existing
|
||||
wallets that were created with older versions are not affected by this.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
@@ -56,27 +51,47 @@ frequently tested on them.
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
GCC 4.8.x
|
||||
--------------
|
||||
The minimum version of GCC required to compile Bitcoin Core is now 4.8. No effort will be
|
||||
made to support older versions of GCC. See discussion in issue #11732 for more information.
|
||||
Wallet changes
|
||||
---------------
|
||||
|
||||
### Segwit Wallet
|
||||
|
||||
Bitcoin Core 0.16.0 introduces full support for segwit in the wallet and user interfaces. A new `-addresstype` argument has been added, which supports `legacy`, `p2sh-segwit` (default), and `bech32` addresses. It controls what kind of addresses are produced by `getnewaddress`, `getaccountaddress`, and `createmultisigaddress`. A `-changetype` argument has also been added, with the same options, and by default equal to `-addresstype`, to control which kind of change is used.
|
||||
|
||||
A new `address_type` parameter has been added to the `getnewaddress` and `addmultisigaddress` RPCs to specify which type of address to generate.
|
||||
A `change_type` argument has been added to the `fundrawtransaction` RPC to override the `-changetype` argument for specific transactions.
|
||||
|
||||
- All segwit addresses created through `getnewaddress` or `*multisig` RPCs explicitly get their redeemscripts added to the wallet file. This means that downgrading after creating a segwit address will work, as long as the wallet file is up to date.
|
||||
- All segwit keys in the wallet get an implicit redeemscript added, without it being written to the file. This means recovery of an old backup will work, as long as you use new software.
|
||||
- All keypool keys that are seen used in transactions explicitly get their redeemscripts added to the wallet files. This means that downgrading after recovering from a backup that includes a segwit address will work
|
||||
|
||||
Note that some RPCs do not yet support segwit addresses. Notably, `signmessage`/`verifymessage` doesn't support segwit addresses, nor does `importmulti` at this time. `dumpwallet`/`importwallet` work, but will (in comments) list the corresponding P2PKH addresses for all keys, even those only used in segwit addresses. Support for segwit in those RPCs will continue to be added in future versions.
|
||||
|
||||
P2WPKH change outputs are now used by default if any destination in the transaction is a P2WPKH or P2WSH output. This is done to ensure the change output is as indistinguishable from the other outputs as possible in either case.
|
||||
|
||||
### BIP173 (Bech32) Address support ("bc1..." addresses)
|
||||
|
||||
Full support for native segwit addresses (BIP173 / Bech32) has now been added.
|
||||
This includes the ability to send to BIP173 addresses (including non-v0 ones), and generating these
|
||||
addresses (including as default new addresses, see above).
|
||||
|
||||
A checkbox has been added to the GUI to select whether a Bech32 address or P2SH-wrapped address should be generated when using segwit addresses. When launched with `-addresstype=bech32` it is checked by default. When launched with `-addresstype=legacy` it is unchecked and disabled.
|
||||
|
||||
### HD-wallets by default
|
||||
|
||||
HD-wallets by default
|
||||
---------------------
|
||||
Due to a backward-incompatible change in the wallet database, wallets created
|
||||
with version 0.16.0 will be rejected by previous versions. Also, version 0.16.0
|
||||
will only create hierarchical deterministic (HD) wallets.
|
||||
|
||||
Replace-By-Fee by default in GUI
|
||||
--------------------------------
|
||||
The send screen now uses BIP-125 RBF by default, regardless of `-walletrbf`.
|
||||
### Replace-By-Fee by default in GUI
|
||||
|
||||
The send screen now uses BIP125 RBF by default, regardless of `-walletrbf`.
|
||||
There is a checkbox to mark the transaction as final.
|
||||
|
||||
The RPC default remains unchanged: to use RBF, launch with `-walletrbf=1` or
|
||||
use the `replaceable` argument for individual transactions.
|
||||
|
||||
Wallets directory configuration (`-walletdir`)
|
||||
----------------------------------------------
|
||||
### Wallets directory configuration (`-walletdir`)
|
||||
|
||||
Bitcoin Core now has more flexibility in where the wallets directory can be
|
||||
located. Previously wallet database files were stored at the top level of the
|
||||
@@ -96,8 +111,62 @@ bitcoin data directory. The behavior is now:
|
||||
Care should be taken when choosing the wallets directory location, as if it
|
||||
becomes unavailable during operation, funds may be lost.
|
||||
|
||||
Low-level RPC changes
|
||||
----------------------
|
||||
Build: Minimum GCC bumped to 4.8.x
|
||||
------------------------------------
|
||||
The minimum version of the GCC compiler required to compile Bitcoin Core is now 4.8. No effort will be
|
||||
made to support older versions of GCC. See discussion in issue #11732 for more information.
|
||||
The minimum version for the Clang compiler is still 3.3. Other minimum dependency versions can be found in `doc/dependencies.md` in the repository.
|
||||
|
||||
Support for signalling pruned nodes (BIP159)
|
||||
---------------------------------------------
|
||||
Pruned nodes can now signal BIP159's NODE_NETWORK_LIMITED using service bits, in preparation for
|
||||
full BIP159 support in later versions. This would allow pruned nodes to serve the most recent blocks. However, the current change does not yet include support for connecting to these pruned peers.
|
||||
|
||||
Performance: SHA256 assembly enabled by default
|
||||
-------------------------------------------------
|
||||
The SHA256 hashing optimizations for architectures supporting SSE4, which lead to ~50% speedups in SHA256 on supported hardware (~5% faster synchronization and block validation), have now been enabled by default. In previous versions they were enabled using the `--enable-experimental-asm` flag when building, but are now the default and no longer deemed experimental.
|
||||
|
||||
GUI changes
|
||||
-----------
|
||||
- Uses of "µBTC" in the GUI now also show the more colloquial term "bits", specified in BIP176.
|
||||
- The option to reuse a previous address has now been removed. This was justified by the need to "resend" an invoice, but now that we have the request history, that need should be gone.
|
||||
- Support for searching by TXID has been added, rather than just address and label.
|
||||
- A "Use available balance" option has been added to the send coins dialog, to add the remaining available wallet balance to a transaction output.
|
||||
- A toggle for unblinding the password fields on the password dialog has been added.
|
||||
|
||||
RPC changes
|
||||
------------
|
||||
|
||||
### New `rescanblockchain` RPC
|
||||
|
||||
A new RPC `rescanblockchain` has been added to manually invoke a blockchain rescan.
|
||||
The RPC supports start and end-height arguments for the rescan, and can be used in a
|
||||
multiwallet environment to rescan the blockchain at runtime.
|
||||
|
||||
### New `savemempool` RPC
|
||||
A new `savemempool` RPC has been added which allows the current mempool to be saved to
|
||||
disk at any time to avoid it being lost due to crashes / power loss.
|
||||
|
||||
### Safe mode disabled by default
|
||||
|
||||
Safe mode is now disabled by default and must be manually enabled (with `-disablesafemode=0`) if you wish to use it. Safe mode is a feature that disables a subset of RPC calls - mostly related to the wallet and sending - automatically in case certain problem conditions with the network are detected. However, developers have come to regard these checks as not reliable enough to act on automatically. Even with safe mode disabled, they will still cause warnings in the `warnings` field of the `getneworkinfo` RPC and launch the `-alertnotify` command.
|
||||
|
||||
### Renamed script for creating JSON-RPC credentials
|
||||
|
||||
The `share/rpcuser/rpcuser.py` script was renamed to `share/rpcauth/rpcauth.py`. This script can be
|
||||
used to create `rpcauth` credentials for a JSON-RPC user.
|
||||
|
||||
### Validateaddress improvements
|
||||
|
||||
The `validateaddress` RPC output has been extended with a few new fields, and support for segwit addresses (both P2SH and Bech32). Specifically:
|
||||
* A new field `iswitness` is True for P2WPKH and P2WSH addresses ("bc1..." addresses), but not for P2SH-wrapped segwit addresses (see below).
|
||||
* The existing field `isscript` will now also report True for P2WSH addresses.
|
||||
* A new field `embedded` is present for all script addresses where the script is known and matches something that can be interpreted as a known address. This is particularly true for P2SH-P2WPKH and P2SH-P2WSH addresses. The value for `embedded` includes much of the information `validateaddress` would report if invoked directly on the embedded address.
|
||||
* For multisig scripts a new `pubkeys` field was added that reports the full public keys involved in the script (if known). This is a replacement for the existing `addresses` field (which reports the same information but encoded as P2PKH addresses), represented in a more useful and less confusing way. The `addresses` field remains present for non-segwit addresses for backward compatibility.
|
||||
* For all single-key addresses with known key (even when wrapped in P2SH or P2WSH), the `pubkey` field will be present. In particular, this means that invoking `validateaddress` on the output of `getnewaddress` will always report the `pubkey`, even when the address type is P2SH-P2WPKH.
|
||||
|
||||
### Low-level changes
|
||||
|
||||
- The deprecated RPC `getinfo` was removed. It is recommended that the more specific RPCs are used:
|
||||
* `getblockchaininfo`
|
||||
* `getnetworkinfo`
|
||||
@@ -106,25 +175,544 @@ Low-level RPC changes
|
||||
- The wallet RPC `getreceivedbyaddress` will return an error if called with an address not in the wallet.
|
||||
- The wallet RPC `addwitnessaddress` was deprecated and will be removed in version 0.17,
|
||||
set the `address_type` argument of `getnewaddress`, or option `-addresstype=[bech32|p2sh-segwit]` instead.
|
||||
|
||||
Changed command-line options
|
||||
-----------------------------
|
||||
- `-debuglogfile=<file>` can be used to specify an alternative debug logging file.
|
||||
|
||||
Renamed script for creating JSON-RPC credentials
|
||||
-----------------------------
|
||||
The `share/rpcuser/rpcuser.py` script was renamed to `share/rpcauth/rpcauth.py`. This script can be
|
||||
used to create `rpcauth` credentials for a JSON-RPC user.
|
||||
|
||||
|
||||
- `dumpwallet` now includes hex-encoded scripts from the wallet in the dumpfile, and
|
||||
`importwallet` now imports these scripts, but corresponding addresses may not be added
|
||||
correctly or a manual rescan may be required to find relevant transactions.
|
||||
- The RPC `getblockchaininfo` now includes an `errors` field.
|
||||
- A new `blockhash` parameter has been added to the `getrawtransaction` RPC which allows for a raw transaction to be fetched from a specific block if known, even without `-txindex` enabled.
|
||||
- The `decoderawtransaction` and `fundrawtransaction` RPCs now have optional `iswitness` parameters to override the
|
||||
heuristic witness checks if necessary.
|
||||
- The `walletpassphrase` timeout is now clamped to 2^30 seconds.
|
||||
- Using addresses with the `createmultisig` RPC is now deprecated, and will be removed in a later version. Public keys should be used instead.
|
||||
- Blockchain rescans now no longer lock the wallet for the entire rescan process, so other RPCs can now be used at the same time (although results of balances / transactions may be incorrect or incomplete until the rescan is complete).
|
||||
- The `logging` RPC has now been made public rather than hidden.
|
||||
- An `initialblockdownload` boolean has been added to the `getblockchaininfo` RPC to indicate whether the node is currently in IDB or not.
|
||||
- `minrelaytxfee` is now included in the output of `getmempoolinfo`
|
||||
|
||||
Other changed command-line options
|
||||
----------------------------------
|
||||
- `-debuglogfile=<file>` can be used to specify an alternative debug logging file.
|
||||
- bitcoin-cli now has an `-stdinrpcpass` option to allow the RPC password to be read from standard input.
|
||||
- The `-usehd` option has been removed.
|
||||
- bitcoin-cli now supports a new `-getinfo` flag which returns an output like that of the now-removed `getinfo` RPC.
|
||||
|
||||
Testing changes
|
||||
----------------
|
||||
- The default regtest JSON-RPC port has been changed to 18443 to avoid conflict with testnet's default of 18332.
|
||||
- Segwit is now always active in regtest mode by default.
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
- Occasionally shutting down the Bitcoin Core GUI during the startup and loading phase will cause an assertion error.
|
||||
|
||||
0.16.0 change log
|
||||
------------------
|
||||
|
||||
### Block and transaction handling
|
||||
- #10953 `aeed345` Combine scriptPubKey and amount as CTxOut in CScriptCheck (jl2012)
|
||||
- #11309 `93d20a7` Minor cleanups for AcceptToMemoryPool (morcos)
|
||||
- #11418 `38c201f` Add error string for CLEANSTACK script violation (maaku)
|
||||
- #11411 `339da9c` Change SignatureHash input index check to an assert (jimpo)
|
||||
- #11406 `e12522d` Add state message print to AcceptBlock failure message (TheBlueMatt)
|
||||
- #11062 `26fee4f` Mark mempool import fails that were found in mempool as 'already there' (kallewoof)
|
||||
- #11269 `61fb806` CTxMemPoolEntry::UpdateAncestorState: modifySiagOps param type (donaloconnor)
|
||||
- #11747 `e970396` Fix: Open files read only if requested (Elbandi)
|
||||
- #11737 `46d1ebf` Document partial validation in ConnectBlock() (sdaftuar)
|
||||
- #10699 `c090262` Make all script validation flags backward compatible (sipa)
|
||||
- #10279 `214046f` Add a CChainState class to validation.cpp to take another step towards clarifying internal interfaces (TheBlueMatt)
|
||||
- #11824 `d9fdac1` Block ActivateBestChain to empty validationinterface queue (TheBlueMatt)
|
||||
- #12127 `9501dc2` Remove unused mempool index (sdaftuar)
|
||||
- #12118 `44080a9` Sort mempool by min(feerate, ancestor_feerate) (sdaftuar)
|
||||
- #8498 `0e3a411` Minimize the number of times it is checked that no money... (jtimon)
|
||||
- #12368 `3f5012b` Hold mempool.cs for the duration of ATMP (TheBlueMatt)
|
||||
|
||||
### P2P protocol and network code
|
||||
- #10596 `6866b49` Add vConnect to CConnman::Options (benma)
|
||||
- #10663 `9d31ed2` Split resolve out of connect (theuni)
|
||||
- #11113 `fef65c4` Ignore getheaders requests for very old side blocks (jimpo)
|
||||
- #11585 `5aeaa9c` addrman: Add missing lock in Clear() (CAddrMan) (practicalswift)
|
||||
- #11524 `5ef3b69` De-duplicate connection eviction logic (tjps)
|
||||
- #11580 `1f4375f` Do not send (potentially) invalid headers in response to getheaders (TheBlueMatt)
|
||||
- #11655 `aca77a4` Assert state.m_chain_sync.m_work_header in ConsiderEviction (practicalswift)
|
||||
- #11744 `3ff6ff5` Add missing locks in net.{cpp,h} (practicalswift)
|
||||
- #11740 `59d3dc8` Implement BIP159 NODE_NETWORK_LIMITED (pruned peers) *signaling only* (jonasschnelli)
|
||||
- #11583 `37ffa16` Do not make it trivial for inbound peers to generate log entries (TheBlueMatt)
|
||||
- #11363 `ba2f195` Split socket create/connect (theuni)
|
||||
- #11917 `bc66765` Add testnet DNS seed: seed.testnet.bitcoin.sprovoost.nl (Sjors)
|
||||
- #11512 `6e89de5` Use GetDesireableServiceFlags in seeds, dnsseeds, fixing static seed adding (TheBlueMatt)
|
||||
- #12262 `16bac24` Hardcoded seed update (laanwj)
|
||||
- #12270 `9cf6393` Update chainTxData for 0.16 (laanwj)
|
||||
|
||||
### Wallet
|
||||
- #11039 `fc51565` Avoid second mapWallet lookup (promag)
|
||||
- #10952 `2621673` Remove vchDefaultKey and have better first run detection (achow101)
|
||||
- #11007 `fc5c237` Fix potential memory leak when loading a corrupted wallet file (practicalswift)
|
||||
- #10976 `07c92b9` Move some static functions out of wallet.h/cpp (ryanofsky)
|
||||
- #11117 `961901f` Prepare for non-Base58 addresses (sipa)
|
||||
- #10916 `e6ab88a` add missing lock to crypter GetKeys() (benma)
|
||||
- #10767 `791a0e6` Clarify wallet initialization / destruction interface (jnewbery)
|
||||
- #11250 `c22a53c` Bump wallet version to 159900 and remove the `usehd` option (achow101)
|
||||
- #11307 `4f7e37e` Display non-HD error on first run (MarcoFalke)
|
||||
- #11408 `69c7ece` Fix parameter name typo in ErasePurpose walletdb method (PierreRochard)
|
||||
- #11167 `aa624b6` Full BIP173 (Bech32) support (sipa)
|
||||
- #11594 `0ecc630` Improve -disablewallet parameter interaction (promag)
|
||||
- #10368 `77ba4bf` Remove helper conversion operator from wallet (kallewoof)
|
||||
- #11074 `99ec126` Assert that CWallet::SyncMetaData finds oldest transaction (BitonicEelis)
|
||||
- #11272 `e6e3fc3` CKeystore/CCrypter: move relevant implementation out of the header (jonasschnelli)
|
||||
- #10286 `927a1d7` Call wallet notify callbacks in scheduler thread (without cs_main) (TheBlueMatt)
|
||||
- #10600 `4ed8180` Make feebumper class stateless (ryanofsky)
|
||||
- #11466 `d080a7d` Specify custom wallet directory with -walletdir param (MeshCollider)
|
||||
- #11839 `8ab6c0b` Don't attempt mempool entry for wallet transactions on startup (instagibbs)
|
||||
- #11854 `2214954` Split up key and script metadata for better type safety (ryanofsky)
|
||||
- #11870 `ef8ba7d` Remove unnecessary mempool lock in ReacceptWalletTransactions (promag)
|
||||
- #11864 `2ae58d5` Make CWallet::FundTransaction atomic (promag)
|
||||
- #11886 `df71819` Clarify getbalance meaning a tiny bit in response to questions (TheBlueMatt)
|
||||
- #11923 `81c89e9` Remove unused fNoncriticalErrors variable from CWalletDB::FindWalletTx (PierreRochard)
|
||||
- #11726 `604e08c` Cleanups + nit fixes for walletdir PR (MeshCollider)
|
||||
- #11403 `d889c03` Segwit wallet support (sipa)
|
||||
- #11970 `b7450cd` Add test coverage for bitcoin-cli multiwallet calls (ryanofsky)
|
||||
- #11904 `66e3af7` Add a lock to the wallet directory (MeshCollider)
|
||||
- #12101 `c7978be` Clamp walletpassphrase timeout to 2^30 seconds and check its bounds (achow101)
|
||||
- #12210 `17180fa` Deprecate addwitnessaddress (laanwj)
|
||||
- #12220 `f4c942e` Error if relative -walletdir is specified (ryanofsky)
|
||||
- #11281 `8470e64` Avoid permanent cs_main/cs_wallet lock during RescanFromTime (jonasschnelli)
|
||||
- #12119 `9594139` Use P2WPKH change output if any destination is P2WPKH or P2WSH (Sjors)
|
||||
- #12213 `eadb2da` Add address type option to addmultisigaddress (promag)
|
||||
- #12276 `7936446` Remove duplicate mapWallet lookups (promag)
|
||||
|
||||
### RPC and other APIs
|
||||
- #11008 `3841aaf` Enable disablesafemode by default (gmaxwell)
|
||||
- #11050 `7ed57d3` Avoid treating null RPC arguments different from missing arguments (ryanofsky)
|
||||
- #10997 `affe927` Add option -stdinrpcpass to bitcoin-cli to allow RPC password to be read from standard input (jharvell)
|
||||
- #11179 `e0e3cbb` Push down safe mode checks (laanwj)
|
||||
- #11203 `d745b4c` add wtxid to mempool entry output (sdaftuar)
|
||||
- #11099 `bc561b4` Add savemempool RPC (greenaddress)
|
||||
- #10838 `66a5b41` (finally) remove getinfo (TheBlueMatt)
|
||||
- #10753 `7fcd61b` test: Check RPC argument mapping (laanwj)
|
||||
- #11288 `0f8e095` More user-friendly error message when partially signing (MeshCollider)
|
||||
- #11031 `ef8340d` deprecate estimatefee (jnewbery)
|
||||
- #10858 `9a8e916` Add "errors" field to getblockchaininfo and unify "errors" field in get*info RPCs (achow101)
|
||||
- #11021 `90926db` Fix getchaintxstats() (AkioNak)
|
||||
- #11367 `3a93270` getblockchaininfo: Add disk_size, prune_target_size (esotericnonsense)
|
||||
- #11006 `a1d78b5` Improve shutdown process (promag)
|
||||
- #11529 `ff92fbf` Avoid slow transaction search with txindex enabled (promag)
|
||||
- #11618 `87d90ef` Lock cs_main in blockToJSON/blockheaderToJSON (practicalswift)
|
||||
- #11626 `998c304` Make `logging` RPC public (laanwj)
|
||||
- #11258 `033c786` Add initialblockdownload to getblockchaininfo (jnewbery)
|
||||
- #11087 `99bc0b4` Diagnose unsuitable outputs in lockunspent() (BitonicEelis)
|
||||
- #11710 `9388639` cli: Reject arguments to -getinfo (laanwj)
|
||||
- #11738 `d4267a3` Fix sendrawtransaction hang when sending a tx already in mempool (TheBlueMatt)
|
||||
- #11753 `32c9b57` clarify abortrescan rpc use (instagibbs)
|
||||
- #11191 `ef14f2e` Improve help text and behavior of RPC-logging (AkioNak)
|
||||
- #10874 `9e38d35` getblockchaininfo: Loop through the bip9 soft fork deployments instead of hard coding (achow101)
|
||||
- #10275 `497d0e0` Allow fetching tx directly from specified block in getrawtransaction (kallewoof)
|
||||
- #11178 `fee0370` Add iswitness parameter to decode- and fundrawtransaction RPCs (MeshCollider)
|
||||
- #11667 `711d16c` Add scripts to dumpwallet RPC (MeshCollider)
|
||||
- #11475 `9bad8d6` mempoolinfo should take ::minRelayTxFee into account (mess110)
|
||||
- #12001 `a9a49e6` Adding ::minRelayTxFee amount to getmempoolinfo and updating help (jeffrade)
|
||||
- #12198 `adce1de` Add deprecation error for `getinfo` (laanwj)
|
||||
- #11415 `69ec021` Disallow using addresses in createmultisig (achow101)
|
||||
- #12278 `288deac` Add special error for genesis coinbase to getrawtransaction (MeshCollider)
|
||||
- #11362 `c6223b3` Remove nBlockMaxSize from miner opt struct as it is no longer used (gmaxwell)
|
||||
- #10825 `28485c7` Set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 (fametrano)
|
||||
- #11303 `e542728` Fix estimatesmartfee rounding display issue (TheBlueMatt)
|
||||
- #7061 `8c2de82` Add RPC call "rescanblockchain <startheight> <stopheight>" (jonasschnelli)
|
||||
- #11055 `95e14dc` RPC getreceivedbyaddress should return error if called with address not owned by the wallet (jnewbery)
|
||||
- #12366 `93de37a` http: Join worker threads before deleting work queue (laanwj)
|
||||
- #12315 `758a41e` Bech32 addresses in dumpwallet (fivepiece)
|
||||
|
||||
### GUI
|
||||
- #10964 `64e66bb` Pass SendCoinsRecipient (208 bytes) by reference (practicalswift)
|
||||
- #11169 `5b8af7b` Make tabs toolbar no longer have a context menu (achow101)
|
||||
- #10911 `9c8f365` Fix typo and access key in optionsdialog.ui (keystrike)
|
||||
- #10770 `ea729d5` Drop upgrade-cancel callback registration for a generic "cancelable" (TheBlueMatt)
|
||||
- #11156 `a3624dd` Fix memory leaks in qt/guiutil.cpp (danra)
|
||||
- #11268 `31e72b2` [macOS] remove Growl support, remove unused code (jonasschnelli)
|
||||
- #11193 `c5c77bd` Terminate string *pszExePath after readlink and without using memset (practicalswift)
|
||||
- #11508 `ffa5159` Fix crash via division by zero assertion (jonasschnelli)
|
||||
- #11499 `6157e8c` Add upload and download info to the peerlist (debug menu) (aarongolliver)
|
||||
- #11480 `ffc0b11` Add toggle for unblinding password fields (tjps)
|
||||
- #11316 `22cdf93` Add use available balance in send coins dialog (CryptAxe, promag)
|
||||
- #3716 `13e352d` Receive: Remove option to reuse a previous address (luke-jr)
|
||||
- #11690 `f0c1f8a` Fix the StartupWMClass for bitoin-qt, so gnome-shell can recognize it (eklitzke)
|
||||
- #10920 `f6f8d54` Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet) (practicalswift)
|
||||
- #11698 `7293d06` RPC-Console nested commands documentation (lmlsna)
|
||||
- #11395 `38d31f9` Enable searching by transaction id (luke-jr)
|
||||
- #11556 `91eeaa0` Improved copy for RBF checkbox and tooltip (Sjors)
|
||||
- #11809 `80f9dad` Fix proxy setting options dialog crash (laanwj)
|
||||
- #11616 `8585bb8` Update ban-state in case of dirty-state during periodic sweep (jonasschnelli)
|
||||
- #11605 `f19ca12` Enable RBF by default in QT (Sjors)
|
||||
- #12074 `a1136f0` Optimizes boolean expression model && model->haveWatchOnly() (251Labs)
|
||||
- #12035 `eeb6d52` Change µBTC to bits (jb55)
|
||||
- #12092 `fd4ca17` Replaces numbered place marker %2 with %1 (251Labs)
|
||||
- #12173 `bbc91b7` Use flexible font size for QRCode image address (jonasschnelli)
|
||||
- #12211 `10d10d7` Avoid potential null dereference in ReceiveCoinsDialog constructor (ryanofsky)
|
||||
- #12261 `f359afc` Bump BLOCK_CHAIN_SIZE to 200GB (laanwj)
|
||||
- #11991 `062c8b6` Receive: checkbox for bech32 address (Sjors)
|
||||
- #11644 `045a809` Fix qt build broken by 5a5e4e9 (TheBlueMatt)
|
||||
- #11448 `d473e6d` reset addrProxy/addrSeparateProxyTor if colon char missing (mess110)
|
||||
- #12377 `604f289` qt: Poll ShutdownTimer after init is done (MarcoFalke)
|
||||
- #12374 `daaae36` qt: Make sure splash screen is freed on AppInitMain fail (laanwj)
|
||||
|
||||
### Build system
|
||||
- #10923 `2c9f5ec` travis: Build with --enable-werror under OS X (practicalswift)
|
||||
- #11176 `df8c722` build: Rename --enable-experimental-asm to --enable-asm and enable by default (laanwj)
|
||||
- #11286 `11dacc6` [depends] Don't build libevent sample code (fanquake)
|
||||
- #7142 `801dd40` Travis: Test build against system libs (& Qt4) (luke-jr)
|
||||
- #11380 `390771b` Remove outdated share/certs/ directory (MeshCollider)
|
||||
- #11391 `7632310` Remove lxcbr0 lines from gitian-build.sh (MeshCollider)
|
||||
- #11435 `167cef8` build: Make "make clean" remove all files created when running "make check" (practicalswift)
|
||||
- #11460 `e022463` [depends] mac_alias 2.0.6, ds_store 1.1.2 (fanquake)
|
||||
- #11541 `bb9ab0f` Build: Fix Automake warnings when running autogen.sh (fanquake)
|
||||
- #11611 `0e70791` [build] Don't fail when passed --disable-lcov and lcov isn't available (fanquake)
|
||||
- #11651 `3c098a8` refactor: Make all #includes relative to project root (laanwj, MeshCollider, ryanofsky)
|
||||
- #11621 `1f7695b` [build] Add temp_bitcoin_locale_qrc to CLEAN_QT to fix make distcheck (fanquake)
|
||||
- #11755 `84fa645` [Docs] Bump minimum required version of GCC to 4.8 (fanquake)
|
||||
- #9254 `6d3dc52` [depends] ZeroMQ 4.2.2 (fanquake)
|
||||
- #11842 `3c8f0a3` [build] Add missing stuff to clean-local (kallewoof)
|
||||
- #11936 `483bb67` [build] Warn that only libconsensus can be built without Boost (fanquake)
|
||||
- #11945 `7a11ba7` Improve BSD compatibility of contrib/install_db4.sh (laanwj)
|
||||
- #11981 `180a255` Fix gitian build after libzmq bump (theuni)
|
||||
- #11903 `8f68fd2` [trivial] Add required package dependencies for depends cross compilation (jonasschnelli)
|
||||
- #12168 `45cf8a0` #include sys/fcntl.h to just fcntl.h (without sys/) (jsarenik)
|
||||
- #12095 `3fa1ab4` Use BDB_LIBS/CFLAGS and pass --disable-replication (fanquake)
|
||||
- #11711 `6378e5c` bitcoin_qt.m4: Minor fixes and clean-ups (fanquake)
|
||||
- #11989 `90d4104` .gitignore: add QT Creator artifacts (Sjors)
|
||||
- #11577 `c0ae864` Fix warnings (-Wsign-compare) when building with DEBUG_ADDRMAN (practicalswift)
|
||||
|
||||
### Tests and QA
|
||||
- #11024 `3e55f13` Remove OldSetKeyFromPassphrase/OldEncrypt/OldDecrypt (practicalswift)
|
||||
- #10679 `31b2612` Document the non-DER-conformance of one test in tx_valid.json (schildbach)
|
||||
- #11160 `ede386c` Improve versionbits_computeblockversion test code consistency (danra)
|
||||
- #10303 `f088a1b` Include ms/blk stats in Connect* benchmarks (kallewoof)
|
||||
- #10777 `d81dccf` Avoid redundant assignments. Remove unused variables (practicalswift)
|
||||
- #11260 `52f8877` travis: Assert default datadir isn't created, Run scripted diff only once (MarcoFalke)
|
||||
- #11271 `638e6c5` travis: filter out pyenv (theuni)
|
||||
- #11285 `3255d63` Add -usehd to excluded args in check-doc.py (MeshCollider)
|
||||
- #11297 `16e4184` Make sure ~/.bitcoin doesn't exist before build (MeshCollider)
|
||||
- #11311 `cce94c5` travis: Revert default datadir check (MarcoFalke)
|
||||
- #11300 `f4ed44a` Add a lint check for trailing whitespace (MeshCollider)
|
||||
- #11323 `4ce2f3d` mininode: add an optimistic write and disable nagle (theuni)
|
||||
- #11370 `2d85899` Add getblockchaininfo functional test (promag)
|
||||
- #11365 `f199b8a` Add Qt GUI tests to Overview and ReceiveCoin Page (anditto)
|
||||
- #11293 `dbc4ae0` Deduplicate CMerkleBlock construction code, add test coverage (jamesob)
|
||||
- #10440 `9e8ef9d` Add libFuzzer support (practicalswift)
|
||||
- #10941 `364da2c` Add blocknotify and walletnotify functional tests (promag)
|
||||
- #11420 `8928093` Bump univalue subtree and fix json formatting in tests (MarcoFalke)
|
||||
- #10099 `424be03` Slightly Improve Unit Tests for Checkqueue (JeremyRubin)
|
||||
- #11513 `14b860b` A few Python3 tidy ups (jnewbery)
|
||||
- #11486 `2ca518d` Add uacomment tests (mess110)
|
||||
- #11452 `02ac8c8` Improve ZMQ functional test (promag)
|
||||
- #10409 `b5545d8` Add fuzz testing for BlockTransactions and BlockTransactionsRequest (practicalswift)
|
||||
- #11389 `dd56166` Support having segwit always active in regtest (sipa, ajtowns, jnewbery)
|
||||
- #11562 `5776582` bench: use std::chrono rather than gettimeofday (theuni)
|
||||
- #11182 `f7388e9` Add P2P interface to TestNode (jnewbery)
|
||||
- #11552 `b5f9f02` Improve wallet-accounts test (ryanofsky)
|
||||
- #11638 `5e3f5e4` Dead mininode code (jnewbery)
|
||||
- #11646 `fe503e1` Require a steady clock for bench with at least micro precision (TheBlueMatt)
|
||||
- #11468 `76b3349` Make comp test framework more debuggable (jnewbery)
|
||||
- #11623 `ee92243` Add missing locks to tests (practicalswift)
|
||||
- #11035 `927e528` [contrib] Add Valgrind suppressions file (practicalswift)
|
||||
- #11641 `7adeea3` Only allow disconnecting all NodeConns (MarcoFalke)
|
||||
- #11677 `3bdf242` Remove unused NodeConn members (MarcoFalke)
|
||||
- #11699 `66d46c7` [travis-ci] Only run linters on Pull Requests (jnewbery)
|
||||
- #11654 `084f52f` Initialize recently introduced non-static class member lastCycles to zero in constructor (practicalswift)
|
||||
- #11648 `ccc70a2` Add messages.py (jnewbery)
|
||||
- #11713 `49667a7` Fix for mismatched extern definition in wallet tests (sipsorcery)
|
||||
- #11707 `0d89fa0` Fix sendheaders (jnewbery)
|
||||
- #11718 `9cdd2bc` Move pwalletMain to wallet test fixture (laanwj)
|
||||
- #11714 `901ba3e` Test that mempool rejects coinbase transactions (jamesob)
|
||||
- #11743 `3d6ad40` Add multiwallet prefix test (MarcoFalke)
|
||||
- #11683 `a892218` Remove unused mininode functions {ser,deser}_int_vector(...). Remove unused imports (practicalswift)
|
||||
- #11712 `9f2c2db` Split NodeConn from NodeConnCB (jnewbery)
|
||||
- #11791 `13e31dd` Rename NodeConn and NodeConnCB (jnewbery)
|
||||
- #11835 `f60b4ad` Add Travis check for unused Python imports (practicalswift)
|
||||
- #11849 `ad1820c` Assert that only one NetworkThread exists (jnewbery)
|
||||
- #11877 `d4991c0` Improve createrawtransaction functional tests (promag)
|
||||
- #11220 `2971fd0` Check specific validation error in miner tests (Sjors)
|
||||
- #11947 `797441e` Fix rawtransactions test (laanwj)
|
||||
- #11946 `8049241` Remove unused variable (firstAddrnServices) (practicalswift)
|
||||
- #11867 `18a1bba` Improve node network test (jnewbery)
|
||||
- #11883 `cfd99dd` Add configuration file/argument testing (MeshCollider)
|
||||
- #11879 `d4e404a` Remove redundant univalue_tests.cpp (jnewbery)
|
||||
- #11748 `20166f8` Adding unit tests for GetDifficulty in blockchain.cpp (merehap)
|
||||
- #11517 `5180a86` Improve benchmark precision (martinus)
|
||||
- #11291 `a332a7d` Fix string concatenation to os.path.join and add exception case (dongsam)
|
||||
- #11965 `d38d1a3` Note on test order in test_runner (MarcoFalke)
|
||||
- #11997 `ddff344` util_tests.cpp: actually check ignored args (ajtowns)
|
||||
- #12079 `45173fa` Improve prioritisetransaction test coverage (promag)
|
||||
- #12150 `92a810d` Fix ListCoins test failure due to unset g_address_type, g_change_type (ryanofsky)
|
||||
- #12133 `1d2eaba` Fix rare failure in p2p-segwit.py (sdaftuar)
|
||||
- #12082 `0910cbe` Adding test case for SINGLE|ANYONECANPAY hash type in tx_valid.json (Christewart)
|
||||
- #11796 `4db16ec` Functional test naming convention (ajtowns)
|
||||
- #12227 `b987ca4` test_runner: Readable output if create_cache.py fails (ryanofsky)
|
||||
- #12089 `126000b` Make TestNodeCLI command optional in send_cli (MarcoFalke)
|
||||
- #11774 `6970b30` Rename functional tests (ajtowns)
|
||||
- #12264 `598a9c4` Fix versionbits warning test (jnewbery)
|
||||
- #12217 `1213be6` Add missing syncwithvalidationinterfacequeue to tests (MarcoFalke)
|
||||
- #12292 `eebe458` Fix names of excluded extended tests for travis (ajtowns)
|
||||
- #11789 `60d739e` [travis-ci] Combine logs on failure (jnewbery)
|
||||
- #11838 `3e50024` Add getrawtransaction in_active_chain=False test (MarcoFalke)
|
||||
- #12206 `898f560` Sync with validationinterface queue in sync_mempools (MarcoFalke)
|
||||
|
||||
### Documentation
|
||||
- #10680 `6366941` Fix inconsistencies and grammar in various files (MeshCollider)
|
||||
- #11011 `7db65c3` Add a comment on the use of prevector in script (gmaxwell)
|
||||
- #10878 `c58128f` Fix Markdown formatting issues in init.md (dongcarl)
|
||||
- #11066 `9e00a62` Document the preference of nullptr over NULL or (void*)0 (practicalswift)
|
||||
- #11094 `271e40a` Hash in ZMQ hash is raw bytes, not hex (runn1ng)
|
||||
- #11026 `ea3ac59` Bugfix: Use testnet RequireStandard for -acceptnonstdtxn default (luke-jr)
|
||||
- #11058 `4b65fa5` Comments: More comments on functions/globals in standard.h (jimpo)
|
||||
- #11112 `3f726c9` [developer-notes] By default, declare single-argument constructors "explicit" (practicalswift)
|
||||
- #11155 `a084767` Trivial: Documentation fixes for CVectorWriter ctors (danra)
|
||||
- #11136 `108222b` Docs: Add python3 to list of dependencies on some platforms (danra)
|
||||
- #11216 `81f8c03` Update hmac_sha256.h (utsavgupta)
|
||||
- #11236 `ba05971` Add note on translations to CONTRIBUTING.md (MeshCollider)
|
||||
- #11173 `4eb1f39` RPC: Fix currency unit string in the help text (AkioNak)
|
||||
- #11135 `21e2f2f` Update developer notes with RPC response guidelines (promag)
|
||||
- #11219 `bcc8a62` explain how to recompile a modified unit test (Sjors)
|
||||
- #10779 `f656147` Create dependencies.md (flack)
|
||||
- #10682 `2a56baf` Move the AreInputsStandard documentation next to its implementation (esneider)
|
||||
- #11276 `ee50c9e` Update CONTRIBUTING.md to reduce unnecessary review workload (jonasschnelli)
|
||||
- #11264 `b148803` Fix broken Markdown table in dependencies.md (practicalswift)
|
||||
- #10691 `ce82985` Properly comment about shutdown process in init.cpp file (wraith7)
|
||||
- #11330 `ae233c4` Fix comments for DEFAULT_WHITELIST[FORCE]RELAY (danra)
|
||||
- #11340 `d6d2c85` Fix validation comments (danra)
|
||||
- #11305 `2847480` Update release notes and manpages for 0.16 (MarcoFalke)
|
||||
- #11132 `551d7bf` Document assumptions that are being made to avoid NULL pointer dereferences (practicalswift)
|
||||
- #11390 `12ed800` Document scripted-diff (jnewbery)
|
||||
- #11392 `a3b4c59` Fix stale link in gitian-building.md (shooterman)
|
||||
- #11401 `4202273` Move gitian building to external repo (MarcoFalke)
|
||||
- #11414 `bbc901d` Remove partial gitian build instructions from descriptors dir (fanquake)
|
||||
- #11571 `c95832d` Fixed a couple small grammatical errors (BitsInMyBlood)
|
||||
- #11624 `f9b74ef` Change formatting for sequence of steps (vivganes)
|
||||
- #11597 `6f01dcf` Fix error messages in CFeeBumper (kallewoof)
|
||||
- #11438 `7fbf3c6` Updated Windows build doc for WSL/Xenial workaround (sipsorcery)
|
||||
- #11663 `41aa9c4` Add getreceivedbyaddress release notes (MarcoFalke)
|
||||
- #11533 `cbb54e7` Update WSL installation notes for Fall Creators update (Thoragh)
|
||||
- #11680 `4db82b7` Add instructions for lcov report generation (jamesob)
|
||||
- #11686 `54aedc0` Make ISSUE_TEMPLATE a bit shorter, mention hardware tests (TheBlueMatt)
|
||||
- #11704 `ea68190` Windows build doc update (sipsorcery)
|
||||
- #11706 `5197100` Make default issue text all comments to make issues more readable (TheBlueMatt)
|
||||
- #11140 `1429132` Improve #endif comments (danra)
|
||||
- #11729 `7a43fbb` links to code style guides (Sjors)
|
||||
- #11793 `8879d50` Bump OS X version to 10.13 (Varunram)
|
||||
- #11783 `16fff80` Fix shutdown in case of errors during initialization (laanwj)
|
||||
- #11804 `00d25e9` Fixed outdated link with archive.is (TimothyShimmin)
|
||||
- #11960 `4307062` Fix link to installation script (laudaa)
|
||||
- #12027 `63a4dc1` Remove boost --c++ flag from osx build instructions (fernandezpablo85)
|
||||
- #12062 `5961b23` Increment MIT Licence copyright header year on files modified in 2017 (akx20000a)
|
||||
- #12063 `36a5a44` Update license year range to 2018 (akx20000a)
|
||||
- #12093 `5691028` Fix incorrect Markdown link (practicalswift)
|
||||
- #12143 `b0d626d` Fix link for BIP159 pull request (azuchi)
|
||||
- #12112 `3c62868` Remove the ending slashes from RPC URI format (jackycjh)
|
||||
- #12166 `e839d65` Clarify -walletdir usage (jnewbery)
|
||||
- #12241 `b030133` Fix incorrect link in /test/ README.md (fanquake)
|
||||
- #12187 `b5e4b9b` Updating benchmarkmarking.md with an updated sample output (jeffrade)
|
||||
- #12294 `7cf1aea` Create NetBSD build instructions and fix compilation (fanquake)
|
||||
- #12251 `cc5870a` initwallet: Do not translate highly technical addresstype help (MarcoFalke)
|
||||
- #11984 `efae366` Update OpenBSD build instructions for 6.2 (cont'd) (laanwj)
|
||||
- #12293 `9d9c418` Mention that HD is enabled if hdmasterkeyid is present in getwalletinfo RPC help (fanquake)
|
||||
- #12077 `c04cb48` Correct `sendmany` curl example (251Labs)
|
||||
- #10677 `b3ecb7b` Document that addmultisigaddress is intended for non-watchonly addresses (instagibbs)
|
||||
- #12177 `cad504b` Fix address_type help text of getnewaddress and getrawchangeaddress (mruddy)
|
||||
|
||||
### Refactoring
|
||||
- #9964 `b6a4891` Add const to methods that do not modify the object for which it is called (practicalswift)
|
||||
- #10965 `655970d` Replace deprecated throw() with noexcept specifier (C++11) (practicalswift)
|
||||
- #10645 `c484ec6` Use nullptr (C++11) instead of zero (0) as the null pointer constant (practicalswift)
|
||||
- #10901 `22e301a` Fix constness of ArgsManager methods (promag)
|
||||
- #10969 `4afb5aa` Declare single-argument (non-converting) constructors "explicit" (practicalswift)
|
||||
- #11071 `dbf6bd6` Use static_assert(…, …) (C++11) instead of assert(…) where appropriate (practicalswift)
|
||||
- #10809 `c559884` optim: mark a few classes final (theuni)
|
||||
- #10843 `2ab7c63` Add attribute [[noreturn]] (C++11) to functions that will not return (practicalswift)
|
||||
- #11151 `7fd49d0` Fix header guards using reserved identifiers (danra)
|
||||
- #11138 `2982511` Compat: Simplify bswap_16 implementation (danra)
|
||||
- #11161 `745bbdc` Remove redundant explicitly defined copy ctors (danra)
|
||||
- #11144 `cee4fe1` Move local include to before system includes (danra)
|
||||
- #10781 `60dd9cc` Python cleanups (practicalswift)
|
||||
- #10701 `50fae68` Remove the virtual specifier for functions with the override specifier (practicalswift)
|
||||
- #11164 `38a54a5` Fix boost headers included as user instead of system headers (danra)
|
||||
- #11143 `3aa60b7` Fix include path for bitcoin-config.h (danra)
|
||||
- #8330 `59e1789` Structure Packing Optimizations in C{,Mutable}Transaction (JeremyRubin)
|
||||
- #10845 `39ae413` Remove unreachable code (practicalswift)
|
||||
- #11238 `6acdb1f` Add assertions before potential null deferences (MeshCollider)
|
||||
- #11259 `089b742` Remove duplicate destination decoding (promag)
|
||||
- #11232 `2f0d3e6` Ensure that data types are consistent (jjz)
|
||||
- #10793 `efb4383` Changing &var[0] to var.data() (MeshCollider)
|
||||
- #11196 `e278f86` Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with -lto (maaku)
|
||||
- #10888 `9821274` range-based loops and const qualifications in net.cpp (benma)
|
||||
- #11351 `6c4fecf` Refactor: Modernize disallowed copy constructors/assignment (danra)
|
||||
- #11385 `94c9015` Remove some unused functions and methods (sipa)
|
||||
- #11301 `8776787` add m_added_nodes to connman options (benma)
|
||||
- #11432 `058c0f9` Remove unused fTry from push_lock (promag)
|
||||
- #11107 `e93fff1` Fix races in AppInitMain and others with lock and atomic bools (MeshCollider)
|
||||
- #9572 `17f2ace` Skip witness sighash cache for non-segwit transactions (jl2012)
|
||||
- #10961 `da0478e` Improve readability of DecodeBase58Check(...) (practicalswift)
|
||||
- #11133 `a865b38` Document assumptions that are being made to avoid division by zero (practicalswift)
|
||||
- #11073 `3bb77eb` Remove dead store in ecdsa_signature_parse_der_lax (BitonicEelis)
|
||||
- #10898 `470c730` Fix invalid checks (NULL checks after dereference, redundant checks, etc.) (practicalswift)
|
||||
- #11495 `50d72b3` [trivial] Make namespace explicit for is_regular_file (jnewbery)
|
||||
- #11511 `db2f83e` [Init] Remove redundant exit(EXIT_FAILURE) instances and replace with return false (donaloconnor)
|
||||
- #10866 `ef8a634` Fix -Wthread-safety-analysis warnings. Compile with -Wthread-safety-analysis if available (practicalswift)
|
||||
- #11221 `0dec4cc` Refactor: simpler read (gnuser)
|
||||
- #10696 `ef3758d` Remove redundant nullptr checks before deallocation (practicalswift)
|
||||
- #11043 `5e9be16` Use std::unique_ptr (C++11) where possible (practicalswift)
|
||||
- #11353 `05a7619` Small refactor of CCoinsViewCache::BatchWrite() (danra)
|
||||
- #10749 `2adbddb` Use compile-time constants instead of unnamed enumerations (remove "enum hack") (practicalswift)
|
||||
- #11603 `a933cb1` Move RPC registration out of AppInitParameterInteraction (ryanofsky)
|
||||
- #11722 `26efc22` Switched sync.{cpp,h} to std threading primitives (tjps)
|
||||
- #10493 `fbce66a` Use range-based for loops (C++11) when looping over map elements (practicalswift)
|
||||
- #11337 `0d7e0a3` Fix code constness in CBlockIndex::GetAncestor() overloads (danra)
|
||||
- #11516 `0e722e8` crypto: Add test cases covering the relevant HMAC-SHA{256,512} key length boundaries (practicalswift)
|
||||
- #10574 `5d132e8` Remove includes in .cpp files for things the corresponding .h file already included (practicalswift)
|
||||
- #11884 `66479c0` Remove unused include in hash.cpp (kallewoof)
|
||||
- #10839 `c66adb2` Don't use pass by reference to const for cheaply-copied types (bool, char, etc.) (practicalswift)
|
||||
- #10657 `79399c8` Utils: Improvements to ECDSA key-handling code (str4d)
|
||||
- #12250 `e37ca2b` Make CKey::Load references const (ryanofsky)
|
||||
- #12108 `9220426` Remove unused fQuit var from checkqueue.h (donaloconnor)
|
||||
- #12159 `f3c7062` Use the character based overload for std::string::find (kekimusmaximus)
|
||||
- #12266 `3448907` Move scheduler/threadGroup into common-init instead of per-app (TheBlueMatt)
|
||||
|
||||
### Miscellaneous
|
||||
- #11246 `777519b` github-merge: Coalesce git fetches (laanwj)
|
||||
- #10871 `c9a4aa8` Handle getinfo in bitcoin-cli w/ -getinfo (revival of #8843) (achow101)
|
||||
- #11419 `093074b` Utils: Fix launchctl not being able to stop bitcoind (OmeGak)
|
||||
- #11394 `6e4e98e` Perform a weaker subtree check in Travis (sipa)
|
||||
- #11702 `4122112` [build] Add a script for installing db4 (jamesob)
|
||||
- #11794 `dd49862` Prefix leveldb debug logging (laanwj)
|
||||
- #11781 `24df9af` Add `-debuglogfile` option (laanwj)
|
||||
- #10773 `c17f11f` Shell script cleanups (practicalswift)
|
||||
- #11829 `7630a1f` Test datadir specified in conf file exists (MeshCollider)
|
||||
- #11836 `d44535d` Rename rpcuser.py to rpcauth.py (hkjn)
|
||||
- #11831 `d48ab83` Always return true if AppInitMain got to the end (TheBlueMatt)
|
||||
- #11943 `1808660` contrib: fix typo in install_db4.sh help message (laanwj)
|
||||
- #12075 `c991b30` [scripts] Add missing univalue file to copyright_header.py (fanquake)
|
||||
- #12197 `000ac4f` Log debug build status and warn when running benchmarks (laanwj)
|
||||
- #10672 `6ab0e4c` Avoid division by zero in the case of a corrupt estimates file (practicalswift)
|
||||
- #11273 `cdd6bbf` Ignore old format estimation file (Xekyo)
|
||||
- #11951 `1fb34e0` Remove dead feeest-file read code for old versions (TheBlueMatt)
|
||||
- #11421 `9ccafb1` Merge current secp256k1 subtree (MarcoFalke)
|
||||
- #11573 `2631d55` [Util] Update tinyformat.h (fanquake)
|
||||
- #10529 `331352f` Improve bitcoind systemd service file (Flowdalic)
|
||||
- #11620 `70fec9e` [build] .gitignore: add background.tiff (Sjors)
|
||||
- #11558 `68e021e` Minimal code changes to allow msvc compilation (sipsorcery)
|
||||
- #11284 `10bee0d` Fix invalid memory access in CScript::operator+= (guidovranken, ajtowns)
|
||||
- #10939 `a1f7f18` [init] Check non-emptiness of -blocknotify command prior to executing (practicalswift)
|
||||
- #11467 `937613d` Fix typos. Use nullptr instead of NULL (practicalswift)
|
||||
- #11834 `5bea05b` [verify-commits] Fix gpg.sh's echoing for commits with '\n' (TheBlueMatt)
|
||||
- #11830 `a13e443` rpcuser.py: Use 'python' not 'python2' (hkjn)
|
||||
- #12194 `7abb0f0` Add change type option to fundrawtransaction (promag)
|
||||
- #12269 `2ae7cf8` Update defaultAssumeValid to block 506067 (gmaxwell)
|
||||
- #11952 `9ab9963` univalue: Bump subtree (MarcoFalke)
|
||||
- #12367 `09fc859` Fix two fast-shutdown bugs (TheBlueMatt)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- 251
|
||||
- Aaron Clauson
|
||||
- Aaron Golliver
|
||||
- aaron-hanson
|
||||
- Adam Langley
|
||||
- Akio Nakamura
|
||||
- Akira Takizawa
|
||||
- Alejandro Avilés
|
||||
- Alex Morcos
|
||||
- Alin Rus
|
||||
- Anditto Heristyo
|
||||
- Andras Elso
|
||||
- Andreas Schildbach
|
||||
- Andrew Chow
|
||||
- Anthony Towns
|
||||
- azuchi
|
||||
- Carl Dong
|
||||
- Chris Moore
|
||||
- Chris Stewart
|
||||
- Christian Gentry
|
||||
- Cory Fields
|
||||
- Cristian Mircea Messel
|
||||
- CryptAxe
|
||||
- Dan Raviv
|
||||
- Daniel Edgecumbe
|
||||
- danra
|
||||
- david60
|
||||
- Donal O'Connor
|
||||
- dongsamb
|
||||
- Dusty Williams
|
||||
- Eelis
|
||||
- esneider
|
||||
- Evan Klitzke
|
||||
- fanquake
|
||||
- Ferdinando M. Ametrano
|
||||
- fivepiece
|
||||
- flack
|
||||
- Florian Schmaus
|
||||
- gnuser
|
||||
- Gregory Maxwell
|
||||
- Gregory Sanders
|
||||
- Henrik Jonsson
|
||||
- Jack Grigg
|
||||
- Jacky C
|
||||
- James Evans
|
||||
- James O'Beirne
|
||||
- Jan Sarenik
|
||||
- Jeff Rade
|
||||
- Jeremiah Buddenhagen
|
||||
- Jeremy Rubin
|
||||
- Jim Posen
|
||||
- jjz
|
||||
- Joe Harvell
|
||||
- Johannes Kanig
|
||||
- John Newbery
|
||||
- Johnson Lau
|
||||
- Jonas Nick
|
||||
- Jonas Schnelli
|
||||
- João Barbosa
|
||||
- Jorge Timón
|
||||
- Karel Bílek
|
||||
- Karl-Johan Alm
|
||||
- klemens
|
||||
- Kyuntae Ethan Kim
|
||||
- laudaa
|
||||
- Lawrence Nahum
|
||||
- Lucas Betschart
|
||||
- Luke Dashjr
|
||||
- Luke Mlsna
|
||||
- MarcoFalke
|
||||
- Mark Friedenbach
|
||||
- Marko Bencun
|
||||
- Martin Ankerl
|
||||
- Matt Corallo
|
||||
- mruddy
|
||||
- Murch
|
||||
- NicolasDorier
|
||||
- Pablo Fernandez
|
||||
- Paul Berg
|
||||
- Pedro Branco
|
||||
- Pierre Rochard
|
||||
- Pieter Wuille
|
||||
- practicalswift
|
||||
- Randolf Richardson
|
||||
- Russell Yanofsky
|
||||
- Samuel Dobson
|
||||
- Sean Erle Johnson
|
||||
- Shooter
|
||||
- Sjors Provoost
|
||||
- Suhas Daftuar
|
||||
- Thomas Snider
|
||||
- Thoragh
|
||||
- Tim Shimmin
|
||||
- Tomas van der Wansem
|
||||
- Utsav Gupta
|
||||
- Varunram Ganesh
|
||||
- Vivek Ganesan
|
||||
- Werner Lemberg
|
||||
- William Casarin
|
||||
- Willy Ko
|
||||
- Wladimir J. van der Laan
|
||||
|
||||
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
|
||||
|
||||
@@ -73,34 +73,13 @@ private:
|
||||
std::deque<std::unique_ptr<WorkItem>> queue;
|
||||
bool running;
|
||||
size_t maxDepth;
|
||||
int numThreads;
|
||||
|
||||
/** RAII object to keep track of number of running worker threads */
|
||||
class ThreadCounter
|
||||
{
|
||||
public:
|
||||
WorkQueue &wq;
|
||||
explicit ThreadCounter(WorkQueue &w): wq(w)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(wq.cs);
|
||||
wq.numThreads += 1;
|
||||
}
|
||||
~ThreadCounter()
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(wq.cs);
|
||||
wq.numThreads -= 1;
|
||||
wq.cond.notify_all();
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
explicit WorkQueue(size_t _maxDepth) : running(true),
|
||||
maxDepth(_maxDepth),
|
||||
numThreads(0)
|
||||
maxDepth(_maxDepth)
|
||||
{
|
||||
}
|
||||
/** Precondition: worker threads have all stopped
|
||||
* (call WaitExit)
|
||||
/** Precondition: worker threads have all stopped (they have been joined).
|
||||
*/
|
||||
~WorkQueue()
|
||||
{
|
||||
@@ -119,7 +98,6 @@ public:
|
||||
/** Thread function */
|
||||
void Run()
|
||||
{
|
||||
ThreadCounter count(*this);
|
||||
while (true) {
|
||||
std::unique_ptr<WorkItem> i;
|
||||
{
|
||||
@@ -141,13 +119,6 @@ public:
|
||||
running = false;
|
||||
cond.notify_all();
|
||||
}
|
||||
/** Wait for worker threads to exit */
|
||||
void WaitExit()
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(cs);
|
||||
while (numThreads > 0)
|
||||
cond.wait(lock);
|
||||
}
|
||||
};
|
||||
|
||||
struct HTTPPathHandler
|
||||
@@ -449,6 +420,7 @@ bool UpdateHTTPServerLogging(bool enable) {
|
||||
|
||||
std::thread threadHTTP;
|
||||
std::future<bool> threadResult;
|
||||
static std::vector<std::thread> g_thread_http_workers;
|
||||
|
||||
bool StartHTTPServer()
|
||||
{
|
||||
@@ -460,8 +432,7 @@ bool StartHTTPServer()
|
||||
threadHTTP = std::thread(std::move(task), eventBase, eventHTTP);
|
||||
|
||||
for (int i = 0; i < rpcThreads; i++) {
|
||||
std::thread rpc_worker(HTTPWorkQueueRun, workQueue);
|
||||
rpc_worker.detach();
|
||||
g_thread_http_workers.emplace_back(HTTPWorkQueueRun, workQueue);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -486,7 +457,10 @@ void StopHTTPServer()
|
||||
LogPrint(BCLog::HTTP, "Stopping HTTP server\n");
|
||||
if (workQueue) {
|
||||
LogPrint(BCLog::HTTP, "Waiting for HTTP worker threads to exit\n");
|
||||
workQueue->WaitExit();
|
||||
for (auto& thread: g_thread_http_workers) {
|
||||
thread.join();
|
||||
}
|
||||
g_thread_http_workers.clear();
|
||||
delete workQueue;
|
||||
workQueue = nullptr;
|
||||
}
|
||||
|
||||
11
src/init.cpp
11
src/init.cpp
@@ -1645,12 +1645,19 @@ bool AppInitMain()
|
||||
// Wait for genesis block to be processed
|
||||
{
|
||||
WaitableLock lock(cs_GenesisWait);
|
||||
while (!fHaveGenesis) {
|
||||
condvar_GenesisWait.wait(lock);
|
||||
// We previously could hang here if StartShutdown() is called prior to
|
||||
// ThreadImport getting started, so instead we just wait on a timer to
|
||||
// check ShutdownRequested() regularly.
|
||||
while (!fHaveGenesis && !ShutdownRequested()) {
|
||||
condvar_GenesisWait.wait_for(lock, std::chrono::milliseconds(500));
|
||||
}
|
||||
uiInterface.NotifyBlockTip.disconnect(BlockNotifyGenesisWait);
|
||||
}
|
||||
|
||||
if (ShutdownRequested()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ********************************************************* Step 11: start node
|
||||
|
||||
int chain_active_height;
|
||||
|
||||
19
src/net.cpp
19
src/net.cpp
@@ -410,7 +410,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
|
||||
|
||||
// Connect
|
||||
bool connected = false;
|
||||
SOCKET hSocket;
|
||||
SOCKET hSocket = INVALID_SOCKET;
|
||||
proxyType proxy;
|
||||
if (addrConnect.IsValid()) {
|
||||
bool proxyConnectionFailed = false;
|
||||
@@ -1682,8 +1682,7 @@ void CConnman::ProcessOneShot()
|
||||
CAddress addr;
|
||||
CSemaphoreGrant grant(*semOutbound, true);
|
||||
if (grant) {
|
||||
if (!OpenNetworkConnection(addr, false, &grant, strDest.c_str(), true))
|
||||
AddOneShot(strDest);
|
||||
OpenNetworkConnection(addr, false, &grant, strDest.c_str(), true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1953,29 +1952,29 @@ void CConnman::ThreadOpenAddedConnections()
|
||||
}
|
||||
|
||||
// if successful, this moves the passed grant to the constructed node
|
||||
bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection)
|
||||
void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound, const char *pszDest, bool fOneShot, bool fFeeler, bool manual_connection)
|
||||
{
|
||||
//
|
||||
// Initiate outbound network connection
|
||||
//
|
||||
if (interruptNet) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
if (!fNetworkActive) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
if (!pszDest) {
|
||||
if (IsLocal(addrConnect) ||
|
||||
FindNode((CNetAddr)addrConnect) || IsBanned(addrConnect) ||
|
||||
FindNode(addrConnect.ToStringIPPort()))
|
||||
return false;
|
||||
return;
|
||||
} else if (FindNode(std::string(pszDest)))
|
||||
return false;
|
||||
return;
|
||||
|
||||
CNode* pnode = ConnectNode(addrConnect, pszDest, fCountFailure);
|
||||
|
||||
if (!pnode)
|
||||
return false;
|
||||
return;
|
||||
if (grantOutbound)
|
||||
grantOutbound->MoveTo(pnode->grantOutbound);
|
||||
if (fOneShot)
|
||||
@@ -1990,8 +1989,6 @@ bool CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
|
||||
LOCK(cs_vNodes);
|
||||
vNodes.push_back(pnode);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void CConnman::ThreadMessageHandler()
|
||||
|
||||
@@ -177,7 +177,7 @@ public:
|
||||
void Interrupt();
|
||||
bool GetNetworkActive() const { return fNetworkActive; };
|
||||
void SetNetworkActive(bool active);
|
||||
bool OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false);
|
||||
void OpenNetworkConnection(const CAddress& addrConnect, bool fCountFailure, CSemaphoreGrant *grantOutbound = nullptr, const char *strDest = nullptr, bool fOneShot = false, bool fFeeler = false, bool manual_connection = false);
|
||||
bool CheckIncomingNonce(uint64_t nonce);
|
||||
|
||||
bool ForNode(NodeId id, std::function<bool(CNode* pnode)> func);
|
||||
|
||||
@@ -682,6 +682,9 @@ bool CloseSocket(SOCKET& hSocket)
|
||||
#else
|
||||
int ret = close(hSocket);
|
||||
#endif
|
||||
if (ret) {
|
||||
LogPrintf("Socket close failed: %d. Error: %s\n", hSocket, NetworkErrorString(WSAGetLastError()));
|
||||
}
|
||||
hSocket = INVALID_SOCKET;
|
||||
return ret != SOCKET_ERROR;
|
||||
}
|
||||
|
||||
@@ -388,7 +388,6 @@ void BitcoinApplication::createWindow(const NetworkStyle *networkStyle)
|
||||
|
||||
pollShutdownTimer = new QTimer(window);
|
||||
connect(pollShutdownTimer, SIGNAL(timeout()), window, SLOT(detectShutdown()));
|
||||
pollShutdownTimer->start(200);
|
||||
}
|
||||
|
||||
void BitcoinApplication::createSplashScreen(const NetworkStyle *networkStyle)
|
||||
@@ -515,14 +514,16 @@ void BitcoinApplication::initializeResult(bool success)
|
||||
window, SLOT(message(QString,QString,unsigned int)));
|
||||
QTimer::singleShot(100, paymentServer, SLOT(uiReady()));
|
||||
#endif
|
||||
pollShutdownTimer->start(200);
|
||||
} else {
|
||||
quit(); // Exit main loop
|
||||
Q_EMIT splashFinished(window); // Make sure splash screen doesn't stick around during shutdown
|
||||
quit(); // Exit first main loop invocation
|
||||
}
|
||||
}
|
||||
|
||||
void BitcoinApplication::shutdownResult()
|
||||
{
|
||||
quit(); // Exit main loop after shutdown finished
|
||||
quit(); // Exit second main loop invocation after shutdown finished
|
||||
}
|
||||
|
||||
void BitcoinApplication::handleRunawayException(const QString &message)
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <QTreeWidget>
|
||||
|
||||
QList<CAmount> CoinControlDialog::payAmounts;
|
||||
CCoinControl* CoinControlDialog::coinControl = new CCoinControl();
|
||||
bool CoinControlDialog::fSubtractFeeFromAmount = false;
|
||||
|
||||
bool CCoinControlWidgetItem::operator<(const QTreeWidgetItem &other) const {
|
||||
@@ -193,7 +192,7 @@ 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
|
||||
coinControl()->UnSelectAll(); // just to be sure
|
||||
CoinControlDialog::updateLabels(model, this);
|
||||
}
|
||||
|
||||
@@ -379,11 +378,11 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column)
|
||||
COutPoint outpt(uint256S(item->text(COLUMN_TXHASH).toStdString()), item->text(COLUMN_VOUT_INDEX).toUInt());
|
||||
|
||||
if (item->checkState(COLUMN_CHECKBOX) == Qt::Unchecked)
|
||||
coinControl->UnSelect(outpt);
|
||||
coinControl()->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);
|
||||
coinControl()->Select(outpt);
|
||||
|
||||
// selection changed -> update labels
|
||||
if (ui->treeWidget->isEnabled()) // do not update on every click for (un)select all
|
||||
@@ -446,7 +445,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
|
||||
std::vector<COutPoint> vCoinControl;
|
||||
std::vector<COutput> vOutputs;
|
||||
coinControl->ListSelected(vCoinControl);
|
||||
coinControl()->ListSelected(vCoinControl);
|
||||
model->getOutputs(vCoinControl, vOutputs);
|
||||
|
||||
for (const COutput& out : vOutputs) {
|
||||
@@ -456,7 +455,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
COutPoint outpt(txhash, out.i);
|
||||
if (model->isSpent(outpt))
|
||||
{
|
||||
coinControl->UnSelect(outpt);
|
||||
coinControl()->UnSelect(outpt);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -509,7 +508,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog)
|
||||
nBytes -= 34;
|
||||
|
||||
// Fee
|
||||
nPayFee = GetMinimumFee(nBytes, *coinControl, ::mempool, ::feeEstimator, nullptr /* FeeCalculation */);
|
||||
nPayFee = GetMinimumFee(nBytes, *coinControl(), ::mempool, ::feeEstimator, nullptr /* FeeCalculation */);
|
||||
|
||||
if (nPayAmount > 0)
|
||||
{
|
||||
@@ -600,6 +599,12 @@ 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())
|
||||
@@ -703,13 +708,13 @@ void CoinControlDialog::updateView()
|
||||
if (model->isLockedCoin(txhash, out.i))
|
||||
{
|
||||
COutPoint outpt(txhash, out.i);
|
||||
coinControl->UnSelect(outpt); // just to be sure
|
||||
coinControl()->UnSelect(outpt); // just to be sure
|
||||
itemOutput->setDisabled(true);
|
||||
itemOutput->setIcon(COLUMN_CHECKBOX, platformStyle->SingleColorIcon(":/icons/lock_closed"));
|
||||
}
|
||||
|
||||
// set checkbox
|
||||
if (coinControl->IsSelected(COutPoint(txhash, out.i)))
|
||||
if (coinControl()->IsSelected(COutPoint(txhash, out.i)))
|
||||
itemOutput->setCheckState(COLUMN_CHECKBOX, Qt::Checked);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
static void updateLabels(WalletModel*, QDialog*);
|
||||
|
||||
static QList<CAmount> payAmounts;
|
||||
static CCoinControl *coinControl;
|
||||
static CCoinControl *coinControl();
|
||||
static bool fSubtractFeeFromAmount;
|
||||
|
||||
private:
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Regs-kliek om die adres of etiket te verander</translation>
|
||||
<translation>Regsklik om adres of etiket te verander</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Skep 'n nuwe adres</translation>
|
||||
<translation>Skep ’n nuwe adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Herhaal nuwe wagwoord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Wys wagwoord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Tik die nuwe wagwoord vir u beursie.<br/>Gerbuik asseblief 'n wagwoord met <b>tien of meer lukrake karakters</b>, of <b>agt of meer woorde</b>.</translation>
|
||||
@@ -2079,7 +2083,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Done loading</source>
|
||||
<translation>Klaar met laai</translation>
|
||||
<translation>Klaar gelaai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
|
||||
@@ -135,6 +135,10 @@
|
||||
<source>Show password</source>
|
||||
<translation>Wys wagwoord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Tik die nuwe wagwoord vir die beursie in.<br/>Gebruik asseblief 'n wagwoord van <b>ten minste 10 ewekansige karakters</b>, of <b>agt (8) of meer woorde.</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Enkripteer beursie</translation>
|
||||
@@ -167,10 +171,22 @@
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Bevestig beursie enkripsie.</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>Waarskuwing: As jy jou beursie enkripteer en jou wagwoord verloor, sal jy <b>AL JOU BITCOINS VERLOOR</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>Is jy seker jy wil jou beursie enkripteer?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Beursie Enkripteer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>%1 gaan nou toe maak om die enkripsie proses klaar te maak. Onthou dat jou bitcoins nie ten volle beskerm kan word deur die beursie te enkrip teen "malware" wat jou rekenaar besmet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>Die beursie kon nie bewaak word nie</translation>
|
||||
@@ -199,12 +215,24 @@
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>Die beursie se wagfrase verandering was suksesvol.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
<translation>Waarskuwing: Die Caps Lock is aan!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Verban Tot</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Sign &message...</source>
|
||||
<translation>Teken &Boodskap</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network...</source>
|
||||
<translation>Sinchroniseer met die netwerk ...</translation>
|
||||
@@ -237,6 +265,14 @@
|
||||
<source>Quit application</source>
|
||||
<translation>Sluit af</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Wys inligting oor %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Oor &Qt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about Qt</source>
|
||||
<translation>Wys inligting oor Qt</translation>
|
||||
@@ -245,6 +281,34 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&Opsies</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Verander konfigurasie opsies vir %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>&Enkripteer Beursie...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Change Passphrase...</source>
|
||||
<translation>Verander wagwoord frase...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses...</source>
|
||||
<translation>Uitstuur adresse...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URI...</source>
|
||||
<translation>Maak &URI oop...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Netwerk aktiwiteid afgeskakel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Verify message...</source>
|
||||
<translation>&Verifieer boodskap...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
@@ -305,23 +369,65 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Op datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation>%1 klient</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Besig om op te vang...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
<translation>Datum: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount: %1
|
||||
</source>
|
||||
<translation>Bedrag: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type: %1
|
||||
</source>
|
||||
<translation>Tipe: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address: %1
|
||||
</source>
|
||||
<translation>Adres: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incoming transaction</source>
|
||||
<translation>Inkomende transaksie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>enabled</b></source>
|
||||
<translation>HD sleutel generasie is <b>aangesit</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>disabled</b></source>
|
||||
<translation>HD sleutel generasie is <b>afgesit</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>unlocked</b></source>
|
||||
<translation>Beursie is <b>versleutel</b> en is tans <b>oopgesluit</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Beursie is <b>versleutel</b> en is tans <b>gesluit</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Coin Selection</source>
|
||||
<translation>Munt Keuse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>Hoeveelheid:</translation>
|
||||
@@ -334,6 +440,14 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Bedrag:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Fooi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>Stof:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Verander:</translation>
|
||||
@@ -477,13 +591,25 @@
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Kon nie die beursie oopsluit nie.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>New key generation failed.</source>
|
||||
<translation>Nuwe sleutel genereering het misluk.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
<message>
|
||||
<source>A new data directory will be created.</source>
|
||||
<translation>n Nuwe data lêer sal geskep word.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>name</source>
|
||||
<translation>naam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directory already exists. Add %1 if you intend to create a new directory here.</source>
|
||||
<translation>Lêer bestaan reeds. Voeg %1 indien u van plan is om n nuwe lêer hier te skep.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create data directory here.</source>
|
||||
<translation>Kan nie data gids hier skep nie.</translation>
|
||||
@@ -542,6 +668,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will also be stored in this directory.</source>
|
||||
<translation>Die beursie sal ook gestoor word in hierdie lêer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fout</translation>
|
||||
@@ -553,6 +683,10 @@
|
||||
<source>Form</source>
|
||||
<translation>Vorm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Vorderering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Steek weg</translation>
|
||||
@@ -642,6 +776,10 @@
|
||||
<source>Balances</source>
|
||||
<translation>Balans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total:</source>
|
||||
<translation>Totaal:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
@@ -655,6 +793,30 @@
|
||||
<source>Amount</source>
|
||||
<translation>Bedrag</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 d</source>
|
||||
<translation>%1 d</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 h</source>
|
||||
<translation>%1 h</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 m</source>
|
||||
<translation>%1 m</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 s</source>
|
||||
<translation>%1 s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Geen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 ms</source>
|
||||
<translation>%1 ms</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>onbekend</translation>
|
||||
@@ -752,6 +914,10 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Bedrag:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Fooi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Verander:</translation>
|
||||
@@ -768,6 +934,10 @@
|
||||
<source>Send to multiple recipients at once</source>
|
||||
<translation>Stuur aan vele ontvangers op eens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>Stof:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Balance:</source>
|
||||
<translation>Balans:</translation>
|
||||
@@ -1125,6 +1295,10 @@
|
||||
<source>Error: Disk space is low!</source>
|
||||
<translation>Fout: Hardeskyf spasie is baie laag!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Invoer proses tans besig..</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Informasie</translation>
|
||||
|
||||
@@ -3185,6 +3185,10 @@
|
||||
<source>Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)</source>
|
||||
<translation>Acceptér videresendte transaktioner, der modtages fra hvidlistede knuder, selv når transaktioner ikke videresendes (standard: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info)</source>
|
||||
<translation>Tilføj en knude at forbinde til og forsøg at holde forbindelsen åben (se hjælp for RPC-kommandoen “addnode” for mere info)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
|
||||
<translation>Tildel til den givne adresse og lyt altid på den. Brug [vært]:port-notation for IPv6</translation>
|
||||
|
||||
@@ -1810,7 +1810,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
|
||||
<translation>WARNUNG: Betrüger sind aktiv gewesen und erklären den Benutzern, hier Befehle einzugeben und ihre Brieftascheninhalte zu stehlen. Verwenden Sie diese Konsole nicht, ohne die Verzweigungen eines Befehls vollständig zu verstehen.</translation>
|
||||
<translation>WARNUNG: Betrüger sind aktiv gewesen, die Benutzer auffordern, hier Befehle einzugeben, um Brieftascheninhalte zu stehlen. Verwenden Sie diese Konsole nicht, ohne die Auswirkungen eines Befehls vollständig zu verstehen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled</source>
|
||||
@@ -1897,11 +1897,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Bech32 addresses (BIP-173) are cheaper to spend from and offer better protection against typos. When unchecked a P2SH wrapped SegWit address will be created, compatible with older wallets.</source>
|
||||
<translation>Bech32 Adressen (BIP-173) sind günstiger zum senden und besser geschützt gegen Tippfehler. Wenn nicht gewählt wird eine P2SH verpackte SegWit Adresse generiert, kompatibel mit älteren Wallets.</translation>
|
||||
<translation>Bech32-Adressen (BIP-173) sind günstiger zum Senden, und besser geschützt gegen Tippfehler. Wenn nicht gewählt, wird eine P2SH-verpackte SegWit-Adresse generiert, kompatibel mit älteren Wallets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate Bech32 address</source>
|
||||
<translation>Erzeuge Bech32 Adresse</translation>
|
||||
<translation>Erzeuge Bech32-Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the selected request (does the same as double clicking an entry)</source>
|
||||
@@ -2154,7 +2154,7 @@
|
||||
</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>Mit Replace-By-Fee (BIP-125) kann die Transaktionsgebühr nach dem senden erhöht werden. Ohne dies wird eine höhere Gebühr empfoohlen um das Risiko einer hohen Transaktionszeit zu reduzieren.</translation>
|
||||
<translation>Mit Replace-By-Fee (BIP-125) kann die Transaktionsgebühr nach dem Senden erhöht werden. Ohne dies wird eine höhere Gebühr empfohlen, um das Risiko einer hohen Transaktionszeit zu reduzieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
|
||||
@@ -326,6 +326,10 @@ Kérem a kulcsmondatban használjon <b> tíz vagy több véletlenszerű ka
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Kattintson a hálózati tevékenység újbóli engedélyezéséhez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)...</source>
|
||||
<translation>Fejlécek Szinkronizálása (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Lemezen lévő blokkok újraindexelése...</translation>
|
||||
|
||||
@@ -127,6 +127,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ulangi kata kunci baru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Tampilkan password</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Masukan kata sandi baru ke dompet.<br/>Mohon gunakan kata sandi <b>sepuluh karakter acak atau lebih</b>, atau <b> delapan atau lebih beberapa kata </b>.</translation>
|
||||
@@ -678,6 +682,10 @@
|
||||
<source>no</source>
|
||||
<translation>Tidak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can vary +/- %1 satoshi(s) per input.</source>
|
||||
<translation>Dapat bervariasi +/- %1 satoshi per input.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
|
||||
@@ -1023,6 +1023,18 @@
|
||||
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
|
||||
<translation>Mostra se il proxy SOCK5 di default che p stato fornito è usato per raggiungere i contatti attraverso questo tipo di rete.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor hidden services:</source>
|
||||
<translation>Usa una SOCKS&5 proxy differente per raggiungere peers usando servizi Tor hidden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide the icon from the system tray.</source>
|
||||
<translation>Nascondi l'icona nella barra delle applicazioni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>&Nascondi l'icona della barra delle applicazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
|
||||
<translation>Riduci ad icona invece di uscire dall'applicazione quando la finestra viene chiusa. Attivando questa opzione l'applicazione terminerà solo dopo aver selezionato Esci dal menu File.</translation>
|
||||
@@ -1088,6 +1100,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Mappa le porte tramite &UPnP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside.</source>
|
||||
<translation>Accetta connessione esterne.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>Accetta connessioni in entrata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
|
||||
<translation>Connessione alla rete Bitcoin attraverso un proxy SOCKS5.</translation>
|
||||
@@ -1168,6 +1188,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation>Specifica se le funzionalita di coin control saranno visualizzate.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>&URLs per transazioni terzi </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
@@ -1781,6 +1805,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Use up and down arrows to navigate history, and %1 to clear screen.</source>
|
||||
<translation>Usa le flecce su e giú per navigare nella storia, e %1 per pulire lo schermo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type %1 for an overview of available commands.</source>
|
||||
<translation>Digita %1 per una descrizione di comandi disponibili</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information on using this console type %1.</source>
|
||||
<translation>Per maggiori informazioni su come usare questa console digita %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
|
||||
<translation>ATTENZIONE: I truffatori sono stati attivi in quest'area, cercando di convincere gli utenti a digitare linee di comando e rubando i contenuti dei loro portafogli. Non usare questa console senza la piena consapevolezza delle ramificazioni di un comando.</translation>
|
||||
@@ -1868,6 +1900,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>&Request payment</source>
|
||||
<translation>&Richiedi pagamento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bech32 addresses (BIP-173) are cheaper to spend from and offer better protection against typos. When unchecked a P2SH wrapped SegWit address will be created, compatible with older wallets.</source>
|
||||
<translation>Indirizzi Bech32 (BIP-173) sono piu' economici per spendere e offrono maggior protezione contro errori di battitura. Quando non selezionati, un indirizzo di tipo P2SH wrapped SegWit sara' creato, compatibile con i portafogli precedenti. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate Bech32 address</source>
|
||||
<translation>Genera un indirizzo Bech32</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the selected request (does the same as double clicking an entry)</source>
|
||||
<translation>Mostra la richiesta selezionata (produce lo stesso effetto di un doppio click su una voce)</translation>
|
||||
@@ -2113,6 +2153,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Obiettivo del tempo di conferma:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Replace-By-Fee</source>
|
||||
<translation>Attiva Replace-By-Fee</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>Con Replace-By-Fee (BIP-125) si puo' aumentare la commissione sulla transazione dopo averla inviata. Senza questa, una commissione piu' alta e' consigliabile per compensare l'aumento del rischio dovuto al ritardo della transazione.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>Cancella &tutto</translation>
|
||||
@@ -2181,6 +2229,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Si puo' aumentare la commissione successivamente (segnalando Replace-By-Fee, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>Senza segnalare Replace-By-Fee, BIP-125.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Conferma invio coins</translation>
|
||||
@@ -3130,6 +3186,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)</source>
|
||||
<translation>Accetta le transazioni trasmesse ricevute da peers in whitelist anche se non si stanno trasmettendo transazioni (default: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info)</source>
|
||||
<translation>Aggiungi un nodo al quale connettersi e prova a tenere la connessione aperta (fare riferimento al comando di aiuto `addnode` RPC per maggiori informazioni) </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
|
||||
<translation>Associa all'indirizzo indicato e resta permanentemente in ascolto su di esso. Usa la notazione [host]:porta per l'IPv6</translation>
|
||||
@@ -3138,6 +3198,14 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>Non è possibile ottenere i dati sulla cartella %s. Probabilmente %s è già in esecuzione.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Non e' possibile fornire connessioni specifiche e contemporaneamente usare addrman per trovare connessioni uscenti. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -connect=0 disables automatic connections (the rules for this peer are the same as for -addnode)</source>
|
||||
<translation>Connettersi solamente a nodo(i) specificati; -connect=0 disattiva connessioni automatiche (le regole per questo peer sono le stesse di quelle per l' -addnode)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source>
|
||||
<translation>Elimina tutte le transazioni dal portamonete e recupera solo quelle che fanno parte della blockchain attraverso il comando -rescan all'avvio.</translation>
|
||||
@@ -3326,6 +3394,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Enable transaction replacement in the memory pool (default: %u)</source>
|
||||
<translation>Abilita la sostituzione della transazione nel pool della memoria (default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error creating %s: You can't create non-HD wallets with this version.</source>
|
||||
<translation>Errore durante la creazione %s: non e' possibile creare portafogli non-HD con questa versione.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing block database</source>
|
||||
<translation>Errore durante l'inizializzazione del database dei blocchi</translation>
|
||||
@@ -3362,6 +3434,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
|
||||
<translation>Nessuna porta disponibile per l'ascolto. Usa -listen=0 se vuoi procedere comunque.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Impossibile ripetere la scansione del portafoglio durante l'inizializzazione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Importazione...</translation>
|
||||
@@ -3442,6 +3518,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Rewinding blocks...</source>
|
||||
<translation>Verifica blocchi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (RPC only, default: %u)</source>
|
||||
<translation>Invia transazioni con full-RBF opt-in attivo (solo RPC, default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set database cache size in megabytes (%d to %d, default: %d)</source>
|
||||
<translation>Imposta la dimensione della cache del database in megabyte (%d a %d, predefinito: %d)</translation>
|
||||
@@ -3658,6 +3738,18 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Signing transaction failed</source>
|
||||
<translation>Firma transazione fallita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" does not exist</source>
|
||||
<translation>-walletdir "%s" specificata non esiste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is a relative path</source>
|
||||
<translation>-walletdir "%s" specificata e' un path relativo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is not a directory</source>
|
||||
<translation>-walletdir "%s" specificata non e' una directory</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation>L'importo della transazione è troppo basso per pagare la commissione</translation>
|
||||
@@ -3690,6 +3782,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
|
||||
<translation>Impossibile associarsi a %s su questo computer (l'associazione ha restituito l'errore %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Impossibile generare chiave iniziale</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrade wallet to latest format on startup</source>
|
||||
<translation>Aggiorna il wallet all'ultimo formato all'avvio</translation>
|
||||
@@ -3702,6 +3798,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Verifica portafoglio/i...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet %s resides outside wallet directory %s</source>
|
||||
<translation>Il portafoglio %s e' situato fuori dalla directory del portafoglio %s </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Attenzione</translation>
|
||||
@@ -3790,10 +3890,22 @@ Per specificare più URL separarli con una barra verticale "|".</translation>
|
||||
<source>Output debugging information (default: %u, supplying <category> is optional)</source>
|
||||
<translation>Emette informazioni di debug (predefinito: %u, fornire <category> è opzionale)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set maximum BIP141 block weight to this * 4. Deprecated, use blockmaxweight</source>
|
||||
<translation>Impostare massimo per il peso del blocco BIP141 a * 4. Obsoleto, usare blockmaxweight</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sets the serialization of raw transaction or block hex returned in non-verbose mode, non-segwit(0) or segwit(1) (default: %d)</source>
|
||||
<translation>Imposta che la serializzazione degli hex di transazioni o blocchi grezzi sia riportata in maniere non-verbose, non-segwit(0) o segwit(1) (predefinito: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify directory to hold wallets (default: <datadir>/wallets if it exists, otherwise <datadir>)</source>
|
||||
<translation>Specificare la directory dove i portafogli saranno conservati (default: 1/portafogli se esiste, altrimenti 2)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify location of debug log file: this can be an absolute path or a path relative to the data directory (default: %s)</source>
|
||||
<translation>Specificare la posizione del debug log file: questo puo' essere un percorso assoluto o un percorso relativo alla directory dei dati (default: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Support filtering of blocks and transaction with bloom filters (default: %u)</source>
|
||||
<translation>Supporta filtraggio di blocchi e transazioni con filtri bloom (default: %u)</translation>
|
||||
|
||||
@@ -766,6 +766,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will also be stored in this directory.</source>
|
||||
<translation>Il portafoglio sara' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Errore</translation>
|
||||
@@ -787,19 +791,51 @@
|
||||
<source>Options</source>
|
||||
<translation>Opzioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Configuration options</source>
|
||||
<translation>Opzioni di configurazione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Errore</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This change would require a client restart.</source>
|
||||
<translation>Questa modifica richiede un riavvio del client</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
<translation>Disponibile:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your current spendable balance</source>
|
||||
<translation>Saldo disponibile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent transactions</source>
|
||||
<translation>Transazioni recenti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
<source>Payment request rejected</source>
|
||||
<translation>Richiesta di pagamento rifiutata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Refund from %1</source>
|
||||
<translation>Rimborso da %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
<message>
|
||||
<source>Sent</source>
|
||||
<translation>Inviato</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
@@ -816,6 +852,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
<message>
|
||||
<source>Sent</source>
|
||||
<translation>Inviato</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
|
||||
@@ -1023,6 +1023,10 @@
|
||||
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
|
||||
<translation>このネットワークタイプ経由で、与えられたデフォルトのSOCKS5プロキシを使用してピアに到達した場合に表示する。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor hidden services:</source>
|
||||
<translation>Tor秘匿サービス経由でピアに接続するために専用のSOCKS5プロキシを利用する:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide the icon from the system tray.</source>
|
||||
<translation>システムトレイのアイコンを隠す</translation>
|
||||
@@ -1895,6 +1899,10 @@
|
||||
<source>&Request payment</source>
|
||||
<translation>支払をリクエストする (&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bech32 addresses (BIP-173) are cheaper to spend from and offer better protection against typos. When unchecked a P2SH wrapped SegWit address will be created, compatible with older wallets.</source>
|
||||
<translation>Bech32形式(BIP-173を参照)のアドレスを利用するとアドレスからの出金時に安い手数料で済み、また誤入力の可能性を減らすことができます。チェックを外すと、古いウォレットと互換性を保つことができるP2SH形式のセグウィットアドレスが作られます。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate Bech32 address</source>
|
||||
<translation>Bech32形式のアドレスを生成</translation>
|
||||
@@ -2148,6 +2156,10 @@
|
||||
<source>Enable Replace-By-Fee</source>
|
||||
<translation>Replace-By-Fee を有効</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>手数料の上乗せ(Replace-By-Fee: BIP-125を参照)によってトランザクションを送信した後でも手数料を上乗せすることができます。この機能を利用しない場合、予め手数料を多めに見積もっておかないと送金が遅れる可能性があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>すべてクリア (&A)</translation>
|
||||
@@ -2216,6 +2228,14 @@
|
||||
<source>or</source>
|
||||
<translation>または</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>手数料は後から上乗せすることができます(Replace-By-Feeのシグナル: BIP-125を参照)。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>BIP-125による手数料上乗せ機能を利用していません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>コインを送る確認</translation>
|
||||
@@ -2335,6 +2355,10 @@
|
||||
<source>S&ubtract fee from amount</source>
|
||||
<translation>送金額から手数料を差し引く (&U)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use available balance</source>
|
||||
<translation>利用可能な残額を使用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>メッセージ:</translation>
|
||||
@@ -2890,6 +2914,10 @@
|
||||
<source>Other</source>
|
||||
<translation>その他</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address, transaction id, or label to search</source>
|
||||
<translation>検索するアドレス、トランザクションID、またはラベルを入力してください</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Min amount</source>
|
||||
<translation>最小の額</translation>
|
||||
@@ -3165,6 +3193,10 @@
|
||||
<source>Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)</source>
|
||||
<translation>トランザクションの中継を行っていない場合でも、ホワイトリストのピアから受け取った中継トランザクションは受け取るようにする (デフォルト: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info)</source>
|
||||
<translation>ネットワークとの接続を開始・維持するためにノードを手動で追加する(addnodeのRPCコマンドヘルプを参照)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
|
||||
<translation>指定のアドレスへバインドし、その上で常にリッスンします。IPv6 は [ホスト名]:ポート番号 と表記します</translation>
|
||||
@@ -3173,6 +3205,14 @@
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>データ ディレクトリ %s のロックを取得することができません。おそらく %s は実行中です。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>特定の接続が利用できず、またaddrmanは外向き接続を見つけられませんでした。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -connect=0 disables automatic connections (the rules for this peer are the same as for -addnode)</source>
|
||||
<translation>特定のノードにのみ接続します: -connect=0オプションで自動接続を無効化します(このノードに対する接続ルールは-addnodeオプションで指定されるものと同様です)。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source>
|
||||
<translation>ウォレットの全トランザクションを削除し、これらを-rescanオプションを用いることで起動時にブロックチェインのデータのみからリカバリします。</translation>
|
||||
@@ -3362,6 +3402,10 @@
|
||||
<source>Enable transaction replacement in the memory pool (default: %u)</source>
|
||||
<translation>メモリプール内のトランザクションの置換を有効化する (デフォルト: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error creating %s: You can't create non-HD wallets with this version.</source>
|
||||
<translation>%sの作成に失敗しました。このバージョンではHDウォレット以外を作成することはできません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing block database</source>
|
||||
<translation>ブロック データベースの初期化中にエラー</translation>
|
||||
@@ -3398,6 +3442,10 @@
|
||||
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
|
||||
<translation>ポートのリッスンに失敗しました。必要であれば -listen=0 を使用してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>初期化の途中でウォレットの再スキャンに失敗しました</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>インポートしています……</translation>
|
||||
@@ -3478,6 +3526,10 @@
|
||||
<source>Rewinding blocks...</source>
|
||||
<translation>ブロックを巻き戻しています...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (RPC only, default: %u)</source>
|
||||
<translation>手数料上乗せ(RBF)がオプトイン形式で有効化されているときRBFを利用してトランザクションを送信する (RPCコマンドのみ。初期値: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set database cache size in megabytes (%d to %d, default: %d)</source>
|
||||
<translation>データベースのキャッシュサイズをメガバイトで設定 (%dから%d。初期値: %d)</translation>
|
||||
@@ -3726,6 +3778,10 @@
|
||||
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
|
||||
<translation>このコンピュータの %s にバインドすることができません (バインドが返したエラーは %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>初期化キーを生成できません</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrade wallet to latest format on startup</source>
|
||||
<translation>起動時にウォレットを最新のフォーマットにアップグレード</translation>
|
||||
@@ -3738,6 +3794,10 @@
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>ウォレットの確認中...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet %s resides outside wallet directory %s</source>
|
||||
<translation>ウォレット「%s」がウォレットフォルダ「%s」の外に存在します</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>警告</translation>
|
||||
@@ -3826,6 +3886,10 @@
|
||||
<source>Output debugging information (default: %u, supplying <category> is optional)</source>
|
||||
<translation>デバッグ情報を出力する (初期値: %u, <category> の指定は任意です)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set maximum BIP141 block weight to this * 4. Deprecated, use blockmaxweight</source>
|
||||
<translation>BIP141:SegWitの最大ブロックサイズはこれを4倍したものとします。注意: 非推奨です。代わりにblockmaxweightを使用してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sets the serialization of raw transaction or block hex returned in non-verbose mode, non-segwit(0) or segwit(1) (default: %d)</source>
|
||||
<translation>非冗長モードで返却する生トランザクションやブロックの16進数表現のシリアライゼーションフォーマットを非 segwit (0) または segwit (1) のものに設定する (デフォルト: %d)</translation>
|
||||
|
||||
@@ -3206,6 +3206,14 @@
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>%s 데이터 디렉토리에 락을 걸 수 없었습니다. %s가 이미 실행 중인 것으로 보입니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>특정 연결을 제공 할 수없고 addrman이 나가는 연결을 찾을 수 없습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -connect=0 disables automatic connections (the rules for this peer are the same as for -addnode)</source>
|
||||
<translation>지정된 노드에만 연결하십시오. -connect = 0은 자동 연결을 비활성화합니다 (이 피어의 규칙은 -addnode의 규칙과 동일합니다)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source>
|
||||
<translation>시작시 모든 지갑 거래를 삭제하고 -rescan을 통하여 블록체인만 복구합니다.</translation>
|
||||
@@ -3214,6 +3222,10 @@
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>%s 불러오기 오류: 주소 키는 모두 정확하게 로드되었으나 거래 데이터와 주소록 필드에서 누락이나 오류가 존재할 수 있습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>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.</source>
|
||||
<translation>카테고리에 대한 디버깅 정보를 제외하십시오. -debug = 1과 함께 사용하여 하나 이상의 지정된 범주를 제외한 모든 범주의 디버그 로그를 출력 할 수 있습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
|
||||
<translation>지갑 거래가 바뀌면 명령을 실행합니다.(%s 안의 명령어가 TxID로 바뀝니다)</translation>
|
||||
@@ -3238,6 +3250,10 @@
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>%s가 유용하다고 생각한다면 프로젝트에 공헌해주세요. 이 소프트웨어에 대한 보다 자세한 정보는 %s를 방문해주십시오.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect used)</source>
|
||||
<translation>DNS lookup를 통해 피어 주소에 대한 쿼리 보내기 (기본값: 1 -connect 예외)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
<translation>블록 생성시 거래가 포함되도록 최저 수수료율을 설정하십시오 (%s/kB 단위). (기본값: %s)</translation>
|
||||
@@ -3254,6 +3270,10 @@
|
||||
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
|
||||
<translation>출시 전의 테스트 빌드 입니다. - 스스로의 책임하에 사용하십시오 - 채굴이나 상업적 용도로 프로그램으로 사용하지 마십시오</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
|
||||
<translation>이것은 수수료 견적을 이용할 수 없을 때 지불 할 수 있는 거래 수수료입니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
|
||||
<translation>블록을 재생할 수 없습니다. -reindex-chainstate를 사용하여 데이터베이스를 다시 빌드 해야 합니다.</translation>
|
||||
@@ -3410,6 +3430,10 @@
|
||||
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
|
||||
<translation>어떤 포트도 반응하지 않습니다. 사용자 반응=0 만약 원한다면</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>지갑 스캔 오류</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>들여오기 중...</translation>
|
||||
@@ -3490,6 +3514,10 @@
|
||||
<source>Rewinding blocks...</source>
|
||||
<translation>블록 되감는중...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (RPC only, default: %u)</source>
|
||||
<translation>full-RBF opt-in이 활성화 된 거래을 전송합니다. (기본값: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set database cache size in megabytes (%d to %d, default: %d)</source>
|
||||
<translation>데이터베이스 케시 크기를 메가바이트로 설정(%d 부터 %d, 기본값: %d)</translation>
|
||||
@@ -3706,6 +3734,18 @@
|
||||
<source>Signing transaction failed</source>
|
||||
<translation>거래를 서명하는것을 실패하였습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" does not exist</source>
|
||||
<translation>애러: 지정한 지갑 폴더 "%s"은 존재하지 않습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is a relative path</source>
|
||||
<translation>애러: 지정한 지갑 폴더 "%s"은 상대 경로입니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is not a directory</source>
|
||||
<translation>애러: 지정한 지갑 폴더 "%s"은 디렉토리가 아닙니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation>거래액이 수수료를 지불하기엔 너무 작습니다</translation>
|
||||
|
||||
@@ -1027,6 +1027,14 @@
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor hidden services:</source>
|
||||
<translation>Bruk egen SOCKS&5-proxy for å nå noder via Tor hidden services:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide the icon from the system tray.</source>
|
||||
<translation>Skjul ikonet fra systemkurven.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>&Skjul systemkurvsikon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
|
||||
<translation>Minimer i stedet for å avslutte applikasjonen når vinduet lukkes. Når dette er valgt, vil applikasjonen avsluttes kun etter at Avslutte er valgt i menyen.</translation>
|
||||
@@ -1091,6 +1099,14 @@
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Sett opp port ved hjelp av &UPnP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside.</source>
|
||||
<translation>Tillat tilkoblinger fra utsiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>Tillatt innkommend&e tilkoblinger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
|
||||
<translation>Koble til Bitcoin-nettverket gjennom en SOCKS5 proxy.</translation>
|
||||
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Repetaţi noua frază de acces</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Arata parola</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Introduceţi noua parolă a portofelului electronic.<br/>Vă rugăm să folosiţi o parolă de<b>minimum 10 caractere aleatoare</b>, sau <b>minimum 8 cuvinte</b>.</translation>
|
||||
@@ -1015,6 +1019,18 @@
|
||||
<source>Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source>
|
||||
<translation>Arata daca proxy-ul SOCKS5 furnizat implicit este folosit pentru a gasi parteneri via acest tip de retea.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor hidden services:</source>
|
||||
<translation>Foloseste un proxy SOCKS&5 separat pentru a gasi parteneri via servicii TOR ascunse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide the icon from the system tray.</source>
|
||||
<translation>Ascunde icon-ul din system tray.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>&Ascunde icon-ul din system tray.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
|
||||
<translation>Minimizează fereastra în locul părăsirii programului în momentul închiderii ferestrei. Cînd acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii 'Închide aplicaţia' din menu.</translation>
|
||||
@@ -1079,6 +1095,14 @@
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Mapare port folosind &UPnP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside.</source>
|
||||
<translation>Acceptă conexiuni din exterior</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>Permite conexiuni de intrar&e</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
|
||||
<translation>Conectare la reţeaua Bitcoin printr-un proxy SOCKS.</translation>
|
||||
@@ -1159,6 +1183,10 @@
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation>Arată controlul caracteristicilor monedei sau nu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>URL-uri tranzacţii &terţe părţi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
@@ -1772,6 +1800,14 @@
|
||||
<source>Use up and down arrows to navigate history, and %1 to clear screen.</source>
|
||||
<translation>Folosiţi săgetile sus şi jos pentru a naviga în istoric şi %1 pentru a curăţa ecranul.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type %1 for an overview of available commands.</source>
|
||||
<translation>Tastati %1 pentru o recapitulare a comenzilor disponibile.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information on using this console type %1.</source>
|
||||
<translation>Pentru mai multe informatii despre folosirea acestei console tastati %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command.</source>
|
||||
<translation>ATENTIONARE: Sunt excroci care instruiesc userii sa introduca aici comenzi, pentru a le fura continutul portofelelor. Nu folositi aceasta consolă fara a intelege pe deplin ramificatiile unei comenzi.</translation>
|
||||
@@ -1859,6 +1895,14 @@
|
||||
<source>&Request payment</source>
|
||||
<translation>&Cerere plată</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bech32 addresses (BIP-173) are cheaper to spend from and offer better protection against typos. When unchecked a P2SH wrapped SegWit address will be created, compatible with older wallets.</source>
|
||||
<translation>Adresele de tip Bech32 (BIP-173) sunt mai ieftin de folosit si ofera o protectie mai buna impotriva greselilor de tastare. Daca nu este bifat se creaza o adresa SegWit impachetata in P2SH, compatibila cu portofelele mai vechi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate Bech32 address</source>
|
||||
<translation>Genereaza adresa Bech32</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the selected request (does the same as double clicking an entry)</source>
|
||||
<translation>Arată cererea selectată (acelaşi lucru ca şi dublu-clic pe o înregistrare)</translation>
|
||||
@@ -2104,6 +2148,14 @@
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Timp confirmare tinta:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Replace-By-Fee</source>
|
||||
<translation>Autorizeaza Replace-By-Fee</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>Cu Replace-By-Fee (BIP-125) se poate creste taxa unei tranzactii dupa ce a fost trimisa. Fara aceasta optiune, o taxa mai mare e posibil sa fie recomandata pentru a compensa riscul crescut de intarziere a tranzactiei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>Curăţă to&ate</translation>
|
||||
@@ -2172,6 +2224,14 @@
|
||||
<source>or</source>
|
||||
<translation>sau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Puteti creste taxa mai tarziu (semnaleaza Replace-By-Fee, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not signalling Replace-By-Fee, BIP-125.</source>
|
||||
<translation>Nu se semnalizeaza Replace-By-Fee, BIP-125</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Confirmă trimiterea monedelor</translation>
|
||||
@@ -2291,6 +2351,10 @@
|
||||
<source>S&ubtract fee from amount</source>
|
||||
<translation>S&cade taxa din suma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use available balance</source>
|
||||
<translation>Folosește balanța disponibilă</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Mesaj:</translation>
|
||||
@@ -2842,6 +2906,10 @@
|
||||
<source>Other</source>
|
||||
<translation>Altele</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address, transaction id, or label to search</source>
|
||||
<translation>Introduceți adresa, ID-ul tranzacției, sau eticheta pentru a căuta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Min amount</source>
|
||||
<translation>Suma minimă</translation>
|
||||
@@ -3117,6 +3185,10 @@
|
||||
<source>Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)</source>
|
||||
<translation>Accepta retransmiterea tranzactiilor primite de la parteneri din whitelist chiar si atunci cand nu se retransmit tranzactii (implicit: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info)</source>
|
||||
<translation>Adaugă un nod la care te poţi conecta pentru a menţine conexiunea deschisă (vezi ajutorul de comanda RPC 'addnode' pentru mai multe informatii)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
|
||||
<translation>Ataşaţi adresei date şi ascultaţi totdeauna pe ea. Folosiţi notaţia [host]:port pentru IPv6</translation>
|
||||
|
||||
@@ -2157,6 +2157,10 @@
|
||||
<source>Enable Replace-By-Fee</source>
|
||||
<translation>Povoliť dodatočné navýšenie poplatku (tzv. „Replace-By-Fee“)</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>S dodatočným navýšením poplatku (BIP-125, tzv. „Replace-By-Fee“), môžete zvýšiť poplatok aj po odoslaní. Bez toho, by mohol byť navrhnutý väčší transakčný poplatok, aby kompenzoval zvýšené riziko omeškania transakcie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>&Zmazať všetko</translation>
|
||||
@@ -3190,6 +3194,10 @@
|
||||
<source>Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: %d)</source>
|
||||
<translation>Akceptovať postúpené transakcie od povolených partnerov aj keď normálne nepostupujete transakcie (predvolené: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a node to connect to and attempt to keep the connection open (see the `addnode` RPC command help for more info)</source>
|
||||
<translation>Pridať uzol na pripojenie a pokus o udržanie otvoreného pripojenia (pre viac informácií si pozrite nápovedu pre RPC príkaz "addnode")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source>
|
||||
<translation>Spojiť s danou adresou a vždy na nej počúvať. Použite zápis [host]:port pre IPv6</translation>
|
||||
@@ -3200,7 +3208,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Nemôžete zadať konkrétne spojenia a zároveň mať nastavený addrman pre hľadanie odchádzajúcich spojení.</translation>
|
||||
<translation>Nemôžete zadať konkrétne spojenia a zároveň mať nastavený addrman pre hľadanie odchádzajúcich spojení.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -connect=0 disables automatic connections (the rules for this peer are the same as for -addnode)</source>
|
||||
<translation>Pripojiť sa iba k určenému uzlu(om); -connect=0 zakáže automatické pripojovanie (pravidlá pre tento uzol sú rovnaké ako pre -addnode)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source>
|
||||
@@ -3430,6 +3442,10 @@
|
||||
<source>Failed to listen on any port. Use -listen=0 if you want this.</source>
|
||||
<translation>Chyba počúvania na ktoromkoľvek porte. Použi -listen=0 ak toto chcete.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Počas inicializácie sa nepodarila pre-skenovať peňaženka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Prebieha import ...</translation>
|
||||
|
||||
@@ -61,10 +61,34 @@
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Imenik naslovov za prejemanje</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>To so vaši Bitcoin naslovi za pošiljanje. Pred pošiljanjem vedno preverite količino in prejemnikov naslov.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source>
|
||||
<translation>To so vaši Bitcoin naslovi za prejemanje. Priporočeno je, da za vsako transakcijo uporabite nov naslov.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopiraj naslov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Kopiraj &oznako</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Uredi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Izvozi seznam naslovov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Podatki ločenimi z vejico (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Podatkov ni bilo mogoče izvoziti.</translation>
|
||||
@@ -103,14 +127,50 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ponovite novo geslo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Pokaži geslo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Vnesite novo geslo za dostop do denarnice. Prosimo, da uporabite geslo sestavljeno iz <b>desetih ali več</b> naključnih znakov ali <b>osmih ali večih</b> besed.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Šifriraj denarnico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>To dejanje zahteva geslo za odklepanje vaše denarnice.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Odkleni denarnico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>To dejanje zahteva geslo za dešifriranje vaše denarnice.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Odšifriraj denarnico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Spremeni geslo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>Vnesite staro in novo geslo denarnice.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Potrdi šifriranje denarnice</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>Opozorilo: V primeru izgube gesla šifrirane denarnice, boste <b>IZGUBILI VSE SVOJE BITCOINE</b>!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
@@ -1594,6 +1654,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Podatki ločenimi z vejico (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Oznaka</translation>
|
||||
|
||||
@@ -37,6 +37,14 @@
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Zgjidh adresen ku do te dergoni monedhat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Zgjidh adresën ku do të merrni monedhat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>Zgjidh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Duke derguar adresen</translation>
|
||||
@@ -101,15 +109,19 @@
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation>Futni frazkalimin</translation>
|
||||
<translation>Futni fjalëkalimin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
<translation>Frazkalim i ri</translation>
|
||||
<translation>Fjalëkalimi i ri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Përsërisni frazkalimin e ri</translation>
|
||||
<translation>Përsërisni fjalëkalimin e ri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Trego fjalëkalimin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
@@ -117,11 +129,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Ky veprim ka nevojë per frazkalimin e portofolit tuaj që të ç'kyç portofolin.</translation>
|
||||
<translation>Ky veprim ka nevojë per fjalëkalimin e portofolit tuaj që të hapë portofolin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>ç'kyç portofolin.</translation>
|
||||
<translation>Hap portofolin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
@@ -133,7 +145,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Ndrysho frazkalimin</translation>
|
||||
<translation>Ndrysho fjalëkalimin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>Fusni fjalëkalimin e vjetër dhe fjalëkalimin e ri që të hapni portofolin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
|
||||
@@ -132,6 +132,10 @@ Var vänlig och försök igen.</translation>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Upprepa nytt lösenord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show password</source>
|
||||
<translation>Visa lösenord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Ange plånbokens nya lösenord. <br/> Använd ett lösenord på <b>tio eller fler slumpmässiga tecken,</b> eller <b>åtta eller fler ord.</b>.</translation>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>新增</translation>
|
||||
<translation>新增(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
@@ -19,11 +19,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>複製</translation>
|
||||
<translation>複製(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>關閉</translation>
|
||||
<translation>關閉(&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
@@ -35,11 +35,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>匯出</translation>
|
||||
<translation>匯出(&E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>刪掉</translation>
|
||||
<translation>刪掉(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
@@ -51,7 +51,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>選取</translation>
|
||||
<translation>選取(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
@@ -71,15 +71,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>複製位址</translation>
|
||||
<translation>複製位址(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>複製標記</translation>
|
||||
<translation>複製標記(&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>編輯</translation>
|
||||
<translation>編輯(&E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
@@ -239,7 +239,7 @@
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Sign &message...</source>
|
||||
<translation>簽署訊息...</translation>
|
||||
<translation>簽署訊息(&M)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network...</source>
|
||||
@@ -247,7 +247,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Overview</source>
|
||||
<translation>總覽</translation>
|
||||
<translation>總覽(&O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
@@ -259,7 +259,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Transactions</source>
|
||||
<translation>交易</translation>
|
||||
<translation>交易(&T)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse transaction history</source>
|
||||
@@ -267,7 +267,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>E&xit</source>
|
||||
<translation>結束</translation>
|
||||
<translation>結束(&X)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit application</source>
|
||||
@@ -275,7 +275,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&About %1</source>
|
||||
<translation>關於%1</translation>
|
||||
<translation>關於%1(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
@@ -291,7 +291,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Options...</source>
|
||||
<translation>選項...</translation>
|
||||
<translation>選項(&O)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
@@ -299,27 +299,27 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>加密錢包...</translation>
|
||||
<translation>加密錢包(&E)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Backup Wallet...</source>
|
||||
<translation>備份錢包...</translation>
|
||||
<translation>備份錢包(&B)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Change Passphrase...</source>
|
||||
<translation>改變密碼...</translation>
|
||||
<translation>改變密碼(&C)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses...</source>
|
||||
<translation>付款位址...</translation>
|
||||
<translation>付款位址(&S)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receiving addresses...</source>
|
||||
<translation>收款位址...</translation>
|
||||
<translation>收款位址(&R)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URI...</source>
|
||||
<translation>開啓 URI...</translation>
|
||||
<translation>開啓 &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
@@ -355,7 +355,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Debug window</source>
|
||||
<translation>除錯視窗</translation>
|
||||
<translation>除錯視窗(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open debugging and diagnostic console</source>
|
||||
@@ -363,7 +363,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Verify message...</source>
|
||||
<translation>驗證訊息...</translation>
|
||||
<translation>驗證訊息(&V)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitcoin</source>
|
||||
@@ -375,15 +375,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Send</source>
|
||||
<translation>付款</translation>
|
||||
<translation>付款(&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receive</source>
|
||||
<translation>收款</translation>
|
||||
<translation>收款(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Show / Hide</source>
|
||||
<translation>顯示或隱藏</translation>
|
||||
<translation>顯示或隱藏(&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show or hide the main Window</source>
|
||||
@@ -403,15 +403,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>檔案</translation>
|
||||
<translation>檔案(&F)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>設定</translation>
|
||||
<translation>設定(&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
<translation>說明</translation>
|
||||
<translation>說明(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tabs toolbar</source>
|
||||
@@ -435,7 +435,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Command-line options</source>
|
||||
<translation>命令列選項</translation>
|
||||
<translation>命令列選項(&C)</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
@@ -715,7 +715,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Label</source>
|
||||
<translation>標記</translation>
|
||||
<translation>標記(&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The label associated with this address list entry</source>
|
||||
@@ -727,7 +727,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Address</source>
|
||||
<translation>位址</translation>
|
||||
<translation>位址(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New receiving address</source>
|
||||
@@ -993,7 +993,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Main</source>
|
||||
<translation>主要</translation>
|
||||
<translation>主要(&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically start %1 after logging in to the system.</source>
|
||||
@@ -1001,11 +1001,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Start %1 on system login</source>
|
||||
<translation>系統登入時啟動 %1</translation>
|
||||
<translation>系統登入時啟動 %1 (&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation>資料庫快取大小</translation>
|
||||
<translation>資料庫快取大小(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MB</source>
|
||||
@@ -1013,7 +1013,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of script &verification threads</source>
|
||||
<translation>指令碼驗證執行緒數目</translation>
|
||||
<translation>指令碼驗證執行緒數目(&V)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
@@ -1025,7 +1025,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor hidden services:</source>
|
||||
<translation>透過另外的 SOCKS5 代理伺服器來連線到 Bitcoin 網路中的 Tor 隱藏服務。</translation>
|
||||
<translation>透過另外的 SOCKS&5 代理伺服器來連線到 Bitcoin 網路中的 Tor 隱藏服務:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide the icon from the system tray.</source>
|
||||
@@ -1033,7 +1033,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>隱藏通知區圖示</translation>
|
||||
<translation>隱藏通知區圖示(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source>
|
||||
@@ -1061,11 +1061,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset Options</source>
|
||||
<translation>重設選項</translation>
|
||||
<translation>重設選項(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Network</source>
|
||||
<translation>網路</translation>
|
||||
<translation>網路(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
@@ -1073,7 +1073,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
<translation>錢包</translation>
|
||||
<translation>錢包(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expert</source>
|
||||
@@ -1081,7 +1081,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable coin &control features</source>
|
||||
<translation>開啟錢幣控制功能</translation>
|
||||
<translation>開啟錢幣控制功能(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source>
|
||||
@@ -1089,7 +1089,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Spend unconfirmed change</source>
|
||||
<translation>可以花還沒確認的零錢</translation>
|
||||
<translation>可以花還沒確認的零錢(&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
|
||||
@@ -1105,7 +1105,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>接受外來連線</translation>
|
||||
<translation>接受外來連線(&G)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a SOCKS5 proxy.</source>
|
||||
@@ -1113,15 +1113,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Connect through SOCKS5 proxy (default proxy):</source>
|
||||
<translation>透過 SOCKS5 代理伺服器連線(預設代理伺服器):</translation>
|
||||
<translation>透過 SOCKS5 代理伺服器連線(預設代理伺服器 &C):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy &IP:</source>
|
||||
<translation>代理位址:</translation>
|
||||
<translation>代理位址(&I):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Port:</source>
|
||||
<translation>埠號:</translation>
|
||||
<translation>埠號(&P):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port of the proxy (e.g. 9050)</source>
|
||||
@@ -1149,7 +1149,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>視窗</translation>
|
||||
<translation>視窗(&W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show only a tray icon after minimizing the window.</source>
|
||||
@@ -1157,19 +1157,19 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Minimize to the tray instead of the taskbar</source>
|
||||
<translation>縮到最小到通知區而不是工作列</translation>
|
||||
<translation>縮到最小到通知區而不是工作列(&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>M&inimize on close</source>
|
||||
<translation>關閉時縮到最小</translation>
|
||||
<translation>關閉時縮到最小(&I)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Display</source>
|
||||
<translation>顯示</translation>
|
||||
<translation>顯示(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Interface &language:</source>
|
||||
<translation>使用界面語言:</translation>
|
||||
<translation>使用界面語言(&L):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
|
||||
@@ -1177,7 +1177,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unit to show amounts in:</source>
|
||||
<translation>金額顯示單位:</translation>
|
||||
<translation>金額顯示單位(&U):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
|
||||
@@ -1189,15 +1189,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>第三方交易網址連結</translation>
|
||||
<translation>第三方交易網址連結(&T)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>好</translation>
|
||||
<translation>好(&O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>取消</translation>
|
||||
<translation>取消(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default</source>
|
||||
@@ -1547,11 +1547,11 @@
|
||||
<name>QRImageWidget</name>
|
||||
<message>
|
||||
<source>&Save Image...</source>
|
||||
<translation>儲存圖片...</translation>
|
||||
<translation>儲存圖片(&S)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Image</source>
|
||||
<translation>複製圖片</translation>
|
||||
<translation>複製圖片(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
@@ -1574,7 +1574,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Information</source>
|
||||
<translation>資訊</translation>
|
||||
<translation>資訊(&I)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug window</source>
|
||||
@@ -1630,7 +1630,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset</source>
|
||||
<translation>重置</translation>
|
||||
<translation>重置(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received</source>
|
||||
@@ -1642,7 +1642,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Peers</source>
|
||||
<translation>節點</translation>
|
||||
<translation>節點(&P)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Banned peers</source>
|
||||
@@ -1738,15 +1738,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Open</source>
|
||||
<translation>開啓</translation>
|
||||
<translation>開啓(&O)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Console</source>
|
||||
<translation>主控台</translation>
|
||||
<translation>主控台(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Network Traffic</source>
|
||||
<translation>網路流量</translation>
|
||||
<translation>網路流量(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Totals</source>
|
||||
@@ -1770,23 +1770,23 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &hour</source>
|
||||
<translation>1 小時</translation>
|
||||
<translation>1 小時(&H)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &day</source>
|
||||
<translation>1 天</translation>
|
||||
<translation>1 天(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &week</source>
|
||||
<translation>1 星期</translation>
|
||||
<translation>1 星期(&W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &year</source>
|
||||
<translation>1 年</translation>
|
||||
<translation>1 年(&Y)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Disconnect</source>
|
||||
<translation>斷線</translation>
|
||||
<translation>斷線(&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ban for</source>
|
||||
@@ -1794,7 +1794,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unban</source>
|
||||
<translation>連線解禁</translation>
|
||||
<translation>連線解禁(&U)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to the %1 RPC console.</source>
|
||||
@@ -1857,15 +1857,15 @@
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
<message>
|
||||
<source>&Amount:</source>
|
||||
<translation>金額:</translation>
|
||||
<translation>金額(&A):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Label:</source>
|
||||
<translation>標記:</translation>
|
||||
<translation>標記(&L):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Message:</source>
|
||||
<translation>訊息:</translation>
|
||||
<translation>訊息(&M):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source>
|
||||
@@ -1897,7 +1897,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Request payment</source>
|
||||
<translation>要求付款</translation>
|
||||
<translation>要求付款(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bech32 addresses (BIP-173) are cheaper to spend from and offer better protection against typos. When unchecked a P2SH wrapped SegWit address will be created, compatible with older wallets.</source>
|
||||
@@ -1948,15 +1948,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &URI</source>
|
||||
<translation>複製 URI</translation>
|
||||
<translation>複製 &URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Address</source>
|
||||
<translation>複製位址</translation>
|
||||
<translation>複製位址(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Save Image...</source>
|
||||
<translation>儲存圖片...</translation>
|
||||
<translation>儲存圖片(&S)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Request payment to %1</source>
|
||||
@@ -2138,7 +2138,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Add &Recipient</source>
|
||||
<translation>增加收款人</translation>
|
||||
<translation>增加收款人(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
@@ -2162,7 +2162,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>全部清掉</translation>
|
||||
<translation>全部清掉(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Balance:</source>
|
||||
@@ -2174,7 +2174,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>S&end</source>
|
||||
<translation>付款</translation>
|
||||
<translation>付款(&E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
@@ -2305,15 +2305,15 @@
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
<source>A&mount:</source>
|
||||
<translation>金額:</translation>
|
||||
<translation>金額(&M):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pay &To:</source>
|
||||
<translation>付給:</translation>
|
||||
<translation>付給(&T):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Label:</source>
|
||||
<translation>標記:</translation>
|
||||
<translation>標記(&L):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose previously used address</source>
|
||||
@@ -2349,7 +2349,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>S&ubtract fee from amount</source>
|
||||
<translation>從付款金額減去手續費</translation>
|
||||
<translation>從付款金額減去手續費(&U)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use available balance</source>
|
||||
@@ -2414,7 +2414,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sign Message</source>
|
||||
<translation>簽署訊息</translation>
|
||||
<translation>簽署訊息(&S)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
|
||||
@@ -2458,7 +2458,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign &Message</source>
|
||||
<translation>簽署訊息</translation>
|
||||
<translation>簽署訊息(&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all sign message fields</source>
|
||||
@@ -2466,11 +2466,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>全部清掉</translation>
|
||||
<translation>全部清掉(&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Verify Message</source>
|
||||
<translation>驗證訊息</translation>
|
||||
<translation>驗證訊息(&V)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source>
|
||||
@@ -2486,7 +2486,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify &Message</source>
|
||||
<translation>驗證訊息</translation>
|
||||
<translation>驗證訊息(&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all verify message fields</source>
|
||||
@@ -3080,7 +3080,7 @@
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>匯出</translation>
|
||||
<translation>匯出(&E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
|
||||
@@ -256,7 +256,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
||||
// Always use a CCoinControl instance, use the CoinControlDialog instance if CoinControl has been enabled
|
||||
CCoinControl ctrl;
|
||||
if (model->getOptionsModel()->getCoinControlFeatures())
|
||||
ctrl = *CoinControlDialog::coinControl;
|
||||
ctrl = *CoinControlDialog::coinControl();
|
||||
|
||||
updateCoinControlState(ctrl);
|
||||
|
||||
@@ -367,7 +367,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
||||
if (sendStatus.status == WalletModel::OK)
|
||||
{
|
||||
accept();
|
||||
CoinControlDialog::coinControl->UnSelectAll();
|
||||
CoinControlDialog::coinControl()->UnSelectAll();
|
||||
coinControlUpdateLabels();
|
||||
}
|
||||
fNewRecipientAllowed = true;
|
||||
@@ -604,7 +604,7 @@ void SendCoinsDialog::useAvailableBalance(SendCoinsEntry* entry)
|
||||
// Get CCoinControl instance if CoinControl is enabled or create a new one.
|
||||
CCoinControl coin_control;
|
||||
if (model->getOptionsModel()->getCoinControlFeatures()) {
|
||||
coin_control = *CoinControlDialog::coinControl;
|
||||
coin_control = *CoinControlDialog::coinControl();
|
||||
}
|
||||
|
||||
// Calculate available amount to send.
|
||||
@@ -754,7 +754,7 @@ void SendCoinsDialog::coinControlFeatureChanged(bool checked)
|
||||
ui->frameCoinControl->setVisible(checked);
|
||||
|
||||
if (!checked && model) // coin control features disabled
|
||||
CoinControlDialog::coinControl->SetNull();
|
||||
CoinControlDialog::coinControl()->SetNull();
|
||||
|
||||
coinControlUpdateLabels();
|
||||
}
|
||||
@@ -773,7 +773,7 @@ void SendCoinsDialog::coinControlChangeChecked(int state)
|
||||
{
|
||||
if (state == Qt::Unchecked)
|
||||
{
|
||||
CoinControlDialog::coinControl->destChange = CNoDestination();
|
||||
CoinControlDialog::coinControl()->destChange = CNoDestination();
|
||||
ui->labelCoinControlChangeLabel->clear();
|
||||
}
|
||||
else
|
||||
@@ -789,7 +789,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
if (model && model->getAddressTableModel())
|
||||
{
|
||||
// Default to no change address until verified
|
||||
CoinControlDialog::coinControl->destChange = CNoDestination();
|
||||
CoinControlDialog::coinControl()->destChange = CNoDestination();
|
||||
ui->labelCoinControlChangeLabel->setStyleSheet("QLabel{color:red;}");
|
||||
|
||||
const CTxDestination dest = DecodeDestination(text.toStdString());
|
||||
@@ -812,7 +812,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
|
||||
|
||||
if(btnRetVal == QMessageBox::Yes)
|
||||
CoinControlDialog::coinControl->destChange = dest;
|
||||
CoinControlDialog::coinControl()->destChange = dest;
|
||||
else
|
||||
{
|
||||
ui->lineEditCoinControlChange->setText("");
|
||||
@@ -831,7 +831,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
else
|
||||
ui->labelCoinControlChangeLabel->setText(tr("(no label)"));
|
||||
|
||||
CoinControlDialog::coinControl->destChange = dest;
|
||||
CoinControlDialog::coinControl()->destChange = dest;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -843,7 +843,7 @@ void SendCoinsDialog::coinControlUpdateLabels()
|
||||
if (!model || !model->getOptionsModel())
|
||||
return;
|
||||
|
||||
updateCoinControlState(*CoinControlDialog::coinControl);
|
||||
updateCoinControlState(*CoinControlDialog::coinControl());
|
||||
|
||||
// set pay amounts
|
||||
CoinControlDialog::payAmounts.clear();
|
||||
@@ -861,7 +861,7 @@ void SendCoinsDialog::coinControlUpdateLabels()
|
||||
}
|
||||
}
|
||||
|
||||
if (CoinControlDialog::coinControl->HasSelected())
|
||||
if (CoinControlDialog::coinControl()->HasSelected())
|
||||
{
|
||||
// actual coin control calculation
|
||||
CoinControlDialog::updateLabels(model, this);
|
||||
|
||||
@@ -547,8 +547,10 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||
const CTransaction& tx = *ptx;
|
||||
const uint256 hash = tx.GetHash();
|
||||
AssertLockHeld(cs_main);
|
||||
if (pfMissingInputs)
|
||||
LOCK(pool.cs); // mempool "read lock" (held through GetMainSignals().TransactionAddedToMempool())
|
||||
if (pfMissingInputs) {
|
||||
*pfMissingInputs = false;
|
||||
}
|
||||
|
||||
if (!CheckTransaction(tx, state))
|
||||
return false; // state filled in by CheckTransaction
|
||||
@@ -581,8 +583,6 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||
|
||||
// Check for conflicts with in-memory transactions
|
||||
std::set<uint256> setConflicts;
|
||||
{
|
||||
LOCK(pool.cs); // protect pool.mapNextTx
|
||||
for (const CTxIn &txin : tx.vin)
|
||||
{
|
||||
auto itConflicting = pool.mapNextTx.find(txin.prevout);
|
||||
@@ -623,15 +623,12 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
CCoinsView dummy;
|
||||
CCoinsViewCache view(&dummy);
|
||||
|
||||
LockPoints lp;
|
||||
{
|
||||
LOCK(pool.cs);
|
||||
CCoinsViewMemPool viewMemPool(pcoinsTip.get(), pool);
|
||||
view.SetBackend(viewMemPool);
|
||||
|
||||
@@ -670,8 +667,6 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||
if (!CheckSequenceLocks(tx, STANDARD_LOCKTIME_VERIFY_FLAGS, &lp))
|
||||
return state.DoS(0, false, REJECT_NONSTANDARD, "non-BIP68-final");
|
||||
|
||||
} // end LOCK(pool.cs)
|
||||
|
||||
CAmount nFees = 0;
|
||||
if (!Consensus::CheckTxInputs(tx, state, view, GetSpendHeight(view), nFees)) {
|
||||
return error("%s: Consensus::CheckTxInputs: %s, %s", __func__, tx.GetHash().ToString(), FormatStateMessage(state));
|
||||
@@ -768,7 +763,6 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||
// If we don't hold the lock allConflicting might be incomplete; the
|
||||
// subsequent RemoveStaged() and addUnchecked() calls don't guarantee
|
||||
// mempool consistency for us.
|
||||
LOCK(pool.cs);
|
||||
const bool fReplacementTransaction = setConflicts.size();
|
||||
if (fReplacementTransaction)
|
||||
{
|
||||
@@ -2581,9 +2575,6 @@ bool CChainState::ActivateBestChain(CValidationState &state, const CChainParams&
|
||||
SyncWithValidationInterfaceQueue();
|
||||
}
|
||||
|
||||
if (ShutdownRequested())
|
||||
break;
|
||||
|
||||
const CBlockIndex *pindexFork;
|
||||
bool fInitialDownload;
|
||||
{
|
||||
@@ -2630,6 +2621,13 @@ bool CChainState::ActivateBestChain(CValidationState &state, const CChainParams&
|
||||
}
|
||||
|
||||
if (nStopAtHeight && pindexNewTip && pindexNewTip->nHeight >= nStopAtHeight) StartShutdown();
|
||||
|
||||
// We check shutdown only after giving ActivateBestChainStep a chance to run once so that we
|
||||
// never shutdown before connecting the genesis block during LoadChainTip(). Previously this
|
||||
// caused an assert() failure during shutdown in such cases as the UTXO DB flushing checks
|
||||
// that the best block hash is non-null.
|
||||
if (ShutdownRequested())
|
||||
break;
|
||||
} while (pindexNewTip != pindexMostWork);
|
||||
CheckBlockIndex(chainparams.GetConsensus());
|
||||
|
||||
|
||||
@@ -71,6 +71,28 @@ std::string DecodeDumpString(const std::string &str) {
|
||||
return ret.str();
|
||||
}
|
||||
|
||||
bool GetWalletAddressesForKey(CWallet * const pwallet, const CKeyID &keyid, std::string &strAddr, std::string &strLabel)
|
||||
{
|
||||
bool fLabelFound = false;
|
||||
CKey key;
|
||||
pwallet->GetKey(keyid, key);
|
||||
for (const auto& dest : GetAllDestinationsForKey(key.GetPubKey())) {
|
||||
if (pwallet->mapAddressBook.count(dest)) {
|
||||
if (!strAddr.empty()) {
|
||||
strAddr += ",";
|
||||
}
|
||||
strAddr += EncodeDestination(dest);
|
||||
strLabel = EncodeDumpString(pwallet->mapAddressBook[dest].name);
|
||||
fLabelFound = true;
|
||||
}
|
||||
}
|
||||
if (!fLabelFound) {
|
||||
strAddr = EncodeDestination(GetDestinationForKey(key.GetPubKey(), g_address_type));
|
||||
}
|
||||
return fLabelFound;
|
||||
}
|
||||
|
||||
|
||||
UniValue importprivkey(const JSONRPCRequest& request)
|
||||
{
|
||||
CWallet * const pwallet = GetWalletForJSONRPCRequest(request);
|
||||
@@ -729,12 +751,13 @@ UniValue dumpwallet(const JSONRPCRequest& request)
|
||||
for (std::vector<std::pair<int64_t, CKeyID> >::const_iterator it = vKeyBirth.begin(); it != vKeyBirth.end(); it++) {
|
||||
const CKeyID &keyid = it->second;
|
||||
std::string strTime = EncodeDumpTime(it->first);
|
||||
std::string strAddr = EncodeDestination(keyid);
|
||||
std::string strAddr;
|
||||
std::string strLabel;
|
||||
CKey key;
|
||||
if (pwallet->GetKey(keyid, key)) {
|
||||
file << strprintf("%s %s ", CBitcoinSecret(key).ToString(), strTime);
|
||||
if (pwallet->mapAddressBook.count(keyid)) {
|
||||
file << strprintf("label=%s", EncodeDumpString(pwallet->mapAddressBook[keyid].name));
|
||||
if (GetWalletAddressesForKey(pwallet, keyid, strAddr, strLabel)) {
|
||||
file << strprintf("label=%s", strLabel);
|
||||
} else if (keyid == masterKeyID) {
|
||||
file << "hdmaster=1";
|
||||
} else if (mapKeyPool.count(keyid)) {
|
||||
|
||||
@@ -23,7 +23,7 @@ class UacommentTest(BitcoinTestFramework):
|
||||
|
||||
self.log.info("test -uacomment max length")
|
||||
self.stop_node(0)
|
||||
expected = "Total length of network version string (286) exceeds maximum length (256). Reduce the number or size of uacomments."
|
||||
expected = "exceeds maximum length (256). Reduce the number or size of uacomments."
|
||||
self.assert_start_raises_init_error(0, ["-uacomment=" + 'a' * 256], expected)
|
||||
|
||||
self.log.info("test -uacomment unsafe characters")
|
||||
|
||||
@@ -20,6 +20,7 @@ def read_dump(file_name, addrs, script_addrs, hd_master_addr_old):
|
||||
found_script_addr = 0
|
||||
found_addr_chg = 0
|
||||
found_addr_rsv = 0
|
||||
witness_addr_ret = None
|
||||
hd_master_addr_ret = None
|
||||
for line in inputfile:
|
||||
# only read non comment lines
|
||||
@@ -47,7 +48,14 @@ def read_dump(file_name, addrs, script_addrs, hd_master_addr_old):
|
||||
|
||||
# count key types
|
||||
for addrObj in addrs:
|
||||
if addrObj['address'] == addr and addrObj['hdkeypath'] == keypath and keytype == "label=":
|
||||
if addrObj['address'] == addr.split(",")[0] and addrObj['hdkeypath'] == keypath and keytype == "label=":
|
||||
# a labled entry in the wallet should contain both a native address
|
||||
# and the p2sh-p2wpkh address that was added at wallet setup
|
||||
if len(addr.split(",")) == 2:
|
||||
addr_list = addr.split(",")
|
||||
# the entry should be of the first key in the wallet
|
||||
assert_equal(addrs[0]['address'], addr_list[0])
|
||||
witness_addr_ret = addr_list[1]
|
||||
found_addr += 1
|
||||
break
|
||||
elif keytype == "change=1":
|
||||
@@ -63,7 +71,7 @@ def read_dump(file_name, addrs, script_addrs, hd_master_addr_old):
|
||||
found_script_addr += 1
|
||||
break
|
||||
|
||||
return found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_ret
|
||||
return found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_ret, witness_addr_ret
|
||||
|
||||
|
||||
class WalletDumpTest(BitcoinTestFramework):
|
||||
@@ -83,6 +91,8 @@ class WalletDumpTest(BitcoinTestFramework):
|
||||
tmpdir = self.options.tmpdir
|
||||
|
||||
# generate 20 addresses to compare against the dump
|
||||
# but since we add a p2sh-p2wpkh address for the first pubkey in the
|
||||
# wallet, we will expect 21 addresses in the dump
|
||||
test_addr_count = 20
|
||||
addrs = []
|
||||
for i in range(0,test_addr_count):
|
||||
@@ -101,12 +111,13 @@ class WalletDumpTest(BitcoinTestFramework):
|
||||
result = self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.unencrypted.dump")
|
||||
assert_equal(result['filename'], os.path.abspath(tmpdir + "/node0/wallet.unencrypted.dump"))
|
||||
|
||||
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_unenc = \
|
||||
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_unenc, witness_addr_ret = \
|
||||
read_dump(tmpdir + "/node0/wallet.unencrypted.dump", addrs, script_addrs, None)
|
||||
assert_equal(found_addr, test_addr_count) # all keys must be in the dump
|
||||
assert_equal(found_script_addr, 2) # all scripts must be in the dump
|
||||
assert_equal(found_addr_chg, 50) # 50 blocks where mined
|
||||
assert_equal(found_addr_rsv, 90*2) # 90 keys plus 100% internal keys
|
||||
assert_equal(witness_addr_ret, witness_addr) # p2sh-p2wsh address added to the first key
|
||||
|
||||
#encrypt wallet, restart, unlock and dump
|
||||
self.nodes[0].node_encrypt_wallet('test')
|
||||
@@ -116,12 +127,13 @@ class WalletDumpTest(BitcoinTestFramework):
|
||||
self.nodes[0].keypoolrefill()
|
||||
self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.encrypted.dump")
|
||||
|
||||
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, _ = \
|
||||
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, _, witness_addr_ret = \
|
||||
read_dump(tmpdir + "/node0/wallet.encrypted.dump", addrs, script_addrs, hd_master_addr_unenc)
|
||||
assert_equal(found_addr, test_addr_count)
|
||||
assert_equal(found_script_addr, 2)
|
||||
assert_equal(found_addr_chg, 90*2 + 50) # old reserve keys are marked as change now
|
||||
assert_equal(found_addr_rsv, 90*2)
|
||||
assert_equal(witness_addr_ret, witness_addr)
|
||||
|
||||
# Overwriting should fail
|
||||
assert_raises_rpc_error(-8, "already exists", self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump")
|
||||
|
||||
Reference in New Issue
Block a user