mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-22 00:00:55 +01:00
Compare commits
174 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
150612ecb5 | ||
|
|
02857b121c | ||
|
|
5138e9e615 | ||
|
|
f503ff1ecd | ||
|
|
52965fbaef | ||
|
|
b9ca77863b | ||
|
|
a4a0adbc70 | ||
|
|
91be5e3c1e | ||
|
|
fc61c8322b | ||
|
|
60b967ec41 | ||
|
|
7a643511b4 | ||
|
|
5e408d99a2 | ||
|
|
cc23438af0 | ||
|
|
ff274d3b00 | ||
|
|
76f9cf9ac9 | ||
|
|
12adedff0b | ||
|
|
d2ec96909a | ||
|
|
3612219f9a | ||
|
|
692dbb0288 | ||
|
|
87a21d5922 | ||
|
|
28b8b8b603 | ||
|
|
ff13f592c5 | ||
|
|
e23cef0c94 | ||
|
|
a40d69e0b8 | ||
|
|
1b864c9820 | ||
|
|
77de9bbc57 | ||
|
|
aca4b6dbcb | ||
|
|
e05799a381 | ||
|
|
ee1a60d156 | ||
|
|
d289b564e3 | ||
|
|
04226938a3 | ||
|
|
98bd0c338b | ||
|
|
99e5dbd0aa | ||
|
|
74653a41fe | ||
|
|
bfd1cf6713 | ||
|
|
5bc75bb8ee | ||
|
|
c25d0a8739 | ||
|
|
f5efe82a83 | ||
|
|
4943d7a9fe | ||
|
|
18c109ddb1 | ||
|
|
fe51c8924e | ||
|
|
3ad00b4b32 | ||
|
|
21e1ed4898 | ||
|
|
6ad45b8f8b | ||
|
|
e9a0d89bf7 | ||
|
|
2ea035832f | ||
|
|
c94e262d4b | ||
|
|
ef810c4cd4 | ||
|
|
4a41de4585 | ||
|
|
9e3ad50078 | ||
|
|
ff3f9a807d | ||
|
|
18476423fb | ||
|
|
ae479bc45b | ||
|
|
3d395d6815 | ||
|
|
4bc99c3b28 | ||
|
|
222f3775cf | ||
|
|
7da133772d | ||
|
|
9ac40e853c | ||
|
|
1e936d7e87 | ||
|
|
0aee4a132b | ||
|
|
44a17f278a | ||
|
|
321419bc06 | ||
|
|
37a8fc54d4 | ||
|
|
ffb0c4b035 | ||
|
|
f2a96e7d02 | ||
|
|
71463a7d18 | ||
|
|
964a185cc8 | ||
|
|
51c787dfb4 | ||
|
|
d28d583820 | ||
|
|
38ab0a7465 | ||
|
|
33fadc20ba | ||
|
|
348a71701d | ||
|
|
30fa231011 | ||
|
|
3c796026e5 | ||
|
|
06909df179 | ||
|
|
b7caa30c48 | ||
|
|
55f641ca19 | ||
|
|
24d74332c2 | ||
|
|
226a9cb35d | ||
|
|
39febb8c6d | ||
|
|
df82ea914f | ||
|
|
920acbcca8 | ||
|
|
47d24c85b7 | ||
|
|
ea060c7495 | ||
|
|
d947afc0f7 | ||
|
|
0e5133cb2e | ||
|
|
d6867689d1 | ||
|
|
ab864d3e49 | ||
|
|
a44a6a15f9 | ||
|
|
2fea10ad03 | ||
|
|
f15268db3b | ||
|
|
0b5e162b84 | ||
|
|
fa6b5fc1cc | ||
|
|
e4c9a90fe9 | ||
|
|
f59e3dfc59 | ||
|
|
ecc523288c | ||
|
|
04c21afcdf | ||
|
|
a296c6009f | ||
|
|
10028fb555 | ||
|
|
b5c3440b05 | ||
|
|
b768202695 | ||
|
|
fa7555b16a | ||
|
|
142fbb2fec | ||
|
|
fc3d7db580 | ||
|
|
e9611d10b6 | ||
|
|
ddc2dd1612 | ||
|
|
4d8e66017f | ||
|
|
37bf0d5b38 | ||
|
|
eeeeacd600 | ||
|
|
ccb47bf830 | ||
|
|
fa8c6ddbef | ||
|
|
4e2502bb51 | ||
|
|
d2548a4f97 | ||
|
|
2cd2cd51f7 | ||
|
|
569596cc51 | ||
|
|
43a987c1cb | ||
|
|
ccf5e43ce0 | ||
|
|
589cd63b30 | ||
|
|
a80dc94554 | ||
|
|
eff783a0fe | ||
|
|
5e70912234 | ||
|
|
ad24256a65 | ||
|
|
58800e3556 | ||
|
|
8d2d08efaa | ||
|
|
1825a03f81 | ||
|
|
289204fbe0 | ||
|
|
1f83663bc2 | ||
|
|
a48b998ff3 | ||
|
|
08e0690f3f | ||
|
|
5aaac4d09e | ||
|
|
775cf54d0e | ||
|
|
69832aaad5 | ||
|
|
50953c2aad | ||
|
|
29bae0c6c5 | ||
|
|
50ae5c711a | ||
|
|
eddaa6b35d | ||
|
|
3584902eae | ||
|
|
fa230fde64 | ||
|
|
f00429666c | ||
|
|
95e68dfe35 | ||
|
|
3b2f7fdcae | ||
|
|
847e3753a6 | ||
|
|
99fd85cb44 | ||
|
|
05e906dbc6 | ||
|
|
749fe95fdc | ||
|
|
260c71cbb8 | ||
|
|
599c69abe3 | ||
|
|
9d3f9d2a59 | ||
|
|
9072395e5f | ||
|
|
7d75a5a93c | ||
|
|
e22c0671c7 | ||
|
|
ae1c4e24a6 | ||
|
|
3972a8efb2 | ||
|
|
861cb0c83d | ||
|
|
6552729f38 | ||
|
|
40c754cb38 | ||
|
|
2afefeade6 | ||
|
|
973e345f7f | ||
|
|
f873564231 | ||
|
|
04396bcc05 | ||
|
|
6187091411 | ||
|
|
1577f0731a | ||
|
|
871e19ac84 | ||
|
|
6d61a2b8c5 | ||
|
|
42f5f21287 | ||
|
|
268c390d02 | ||
|
|
1a02ecc73a | ||
|
|
f68e4414d7 | ||
|
|
bc69f34b35 | ||
|
|
7abe7bbf61 | ||
|
|
3e4d7bfcb7 | ||
|
|
96c7f2c345 | ||
|
|
e2073424fd | ||
|
|
c5adf8f267 |
@@ -38,6 +38,7 @@ env:
|
||||
|
||||
before_install:
|
||||
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
|
||||
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/pyenv/d' | tr "\n" ":" | sed "s|::|:|g")
|
||||
install:
|
||||
- if [ -n "$PPA" ]; then travis_retry sudo add-apt-repository "$PPA" -y; fi
|
||||
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
|
||||
|
||||
@@ -76,9 +76,6 @@ $(BITCOIN_WIN_INSTALLER): all-recursive
|
||||
echo error: could not build $@
|
||||
@echo built $@
|
||||
|
||||
$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE
|
||||
$(MAKE) -C src $(patsubst src/%,%,$@)
|
||||
|
||||
$(OSX_APP)/Contents/PkgInfo:
|
||||
$(MKDIR_P) $(@D)
|
||||
@echo "APPL????" > $@
|
||||
|
||||
@@ -57,8 +57,14 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
|
||||
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
|
||||
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
|
||||
m4_if([$4], [], [ax_cxx_compile_cxx$1_try_default=true],
|
||||
[$4], [default], [ax_cxx_compile_cxx$1_try_default=true],
|
||||
[$4], [nodefault], [ax_cxx_compile_cxx$1_try_default=false],
|
||||
[m4_fatal([invalid fourth argument `$4' to AX_CXX_COMPILE_STDCXX])])
|
||||
AC_LANG_PUSH([C++])dnl
|
||||
ac_success=no
|
||||
|
||||
m4_if([$4], [nodefault], [], [dnl
|
||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
||||
ax_cv_cxx_compile_cxx$1,
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
||||
@@ -66,7 +72,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
[ax_cv_cxx_compile_cxx$1=no])])
|
||||
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
||||
ac_success=yes
|
||||
fi
|
||||
fi])
|
||||
|
||||
m4_if([$2], [noext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
|
||||
34
configure.ac
34
configure.ac
@@ -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, 13)
|
||||
define(_CLIENT_VERSION_REVISION, 99)
|
||||
define(_CLIENT_VERSION_MINOR, 14)
|
||||
define(_CLIENT_VERSION_REVISION, 3)
|
||||
define(_CLIENT_VERSION_BUILD, 0)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, false)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2017)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||
@@ -55,7 +55,7 @@ case $host in
|
||||
;;
|
||||
esac
|
||||
dnl Require C++11 compiler (no GNU extensions)
|
||||
AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
|
||||
AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory], [nodefault])
|
||||
dnl Check if -latomic is required for <std::atomic>
|
||||
CHECK_ATOMIC
|
||||
|
||||
@@ -192,6 +192,13 @@ AC_ARG_ENABLE([debug],
|
||||
[enable_debug=$enableval],
|
||||
[enable_debug=no])
|
||||
|
||||
# Turn warnings into errors
|
||||
AC_ARG_ENABLE([werror],
|
||||
[AS_HELP_STRING([--enable-werror],
|
||||
[Treat certain compiler warnings as errors (default is no)])],
|
||||
[enable_werror=$enableval],
|
||||
[enable_werror=no])
|
||||
|
||||
AC_LANG_PUSH([C++])
|
||||
AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
|
||||
|
||||
@@ -206,10 +213,19 @@ if test "x$enable_debug" = xyes; then
|
||||
fi
|
||||
fi
|
||||
|
||||
ERROR_CXXFLAGS=
|
||||
if test "x$enable_werror" = "xyes"; then
|
||||
if test "x$CXXFLAG_WERROR" = "x"; then
|
||||
AC_MSG_ERROR("enable-werror set but -Werror is not usable")
|
||||
fi
|
||||
AX_CHECK_COMPILE_FLAG([-Werror=vla],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=vla"],,[[$CXXFLAG_WERROR]])
|
||||
fi
|
||||
|
||||
if test "x$CXXFLAGS_overridden" = "xno"; then
|
||||
AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wvla],[CXXFLAGS="$CXXFLAGS -Wvla"],,[[$CXXFLAG_WERROR]])
|
||||
AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
|
||||
|
||||
## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
|
||||
@@ -541,6 +557,14 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
|
||||
[ AC_MSG_RESULT(no)]
|
||||
)
|
||||
|
||||
dnl Check for mallopt(M_ARENA_MAX) (to set glibc arenas)
|
||||
AC_MSG_CHECKING(for mallopt M_ARENA_MAX)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <malloc.h>]],
|
||||
[[ mallopt(M_ARENA_MAX, 1); ]])],
|
||||
[ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MALLOPT_ARENA_MAX, 1,[Define this symbol if you have mallopt with M_ARENA_MAX]) ],
|
||||
[ AC_MSG_RESULT(no)]
|
||||
)
|
||||
|
||||
AC_MSG_CHECKING([for visibility attribute])
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
||||
int foo_def( void ) __attribute__((visibility("default")));
|
||||
@@ -1066,6 +1090,7 @@ AC_SUBST(BITCOIN_CLI_NAME)
|
||||
AC_SUBST(BITCOIN_TX_NAME)
|
||||
|
||||
AC_SUBST(RELDFLAGS)
|
||||
AC_SUBST(ERROR_CXXFLAGS)
|
||||
AC_SUBST(HARDENED_CXXFLAGS)
|
||||
AC_SUBST(HARDENED_CPPFLAGS)
|
||||
AC_SUBST(HARDENED_LDFLAGS)
|
||||
@@ -1155,6 +1180,7 @@ echo " with test = $use_tests"
|
||||
echo " with bench = $use_bench"
|
||||
echo " with upnp = $use_upnp"
|
||||
echo " debug enabled = $enable_debug"
|
||||
echo " werror = $enable_werror"
|
||||
echo
|
||||
echo " target os = $TARGET_OS"
|
||||
echo " build os = $BUILD_OS"
|
||||
|
||||
@@ -1,3 +1,122 @@
|
||||
bitcoin (0.14.1-trusty4) trusty; urgency=medium
|
||||
|
||||
* Re-enable UPnP support.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Fri, 05 May 2017 13:28:00 -0400
|
||||
|
||||
bitcoin (0.14.1-trusty3) trusty; urgency=medium
|
||||
|
||||
* Build with qt5 if we are on a non-Ubuntu (ie non-Unity) distro.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Thu, 04 May 2017 17:13:00 -0400
|
||||
|
||||
bitcoin (0.14.1-trusty2) trusty; urgency=medium
|
||||
|
||||
* Bump minimum boost version in deps.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Thu, 04 May 2017 17:12:00 -0400
|
||||
|
||||
bitcoin (0.14.1-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Sat, 22 Apr 2017 17:10:00 -0400
|
||||
|
||||
bitcoin (0.14.0-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Wed, 08 Mar 2017 10:30:00 -0500
|
||||
|
||||
bitcoin (0.13.2-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Thu, 05 Jan 2017 09:59:00 -0500
|
||||
|
||||
bitcoin (0.13.1-trusty2) trusty; urgency=medium
|
||||
|
||||
* Revert to Qt4, due to https://github.com/bitcoin/bitcoin/issues/9038
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Mon, 31 Oct 2016 11:16:00 -0400
|
||||
|
||||
bitcoin (0.13.1-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
* Backport updated bitcoin-qt.desktop from upstream master
|
||||
* Add zmq dependency
|
||||
* Switch to Qt5 (breaks precise, but that was already broken by C++11)
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Thu, 27 Oct 2016 17:32:00 -0400
|
||||
|
||||
bitcoin (0.13.0-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Sun, 04 Sep 2016 22:09:00 -0400
|
||||
|
||||
bitcoin (0.12.1-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Mon, 18 Apr 2016 14:26:00 -0700
|
||||
|
||||
bitcoin (0.12.0-trusty6) trusty; urgency=medium
|
||||
|
||||
* Fix program-options dep.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Fri, 25 Mar 2016 21:41:00 -0700
|
||||
|
||||
bitcoin (0.12.0-trusty5) trusty; urgency=medium
|
||||
|
||||
* Test explicit --with-gui
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Tue, 23 Feb 2015 23:25:00 -0800
|
||||
|
||||
bitcoin (0.12.0-trusty4) trusty; urgency=medium
|
||||
|
||||
* Fix libevent-dev dep.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Tue, 23 Feb 2015 23:25:00 -0800
|
||||
|
||||
bitcoin (0.12.0-trusty3) trusty; urgency=medium
|
||||
|
||||
* Fix precise boost dep.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Tue, 23 Feb 2015 19:55:00 -0800
|
||||
|
||||
bitcoin (0.12.0-trusty2) trusty; urgency=medium
|
||||
|
||||
* Fix libevent dep.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Tue, 23 Feb 2015 19:53:00 -0800
|
||||
|
||||
bitcoin (0.12.0-trusty1) trusty; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
* Various updates to contrib/debian were merged, a few were not
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Tue, 23 Feb 2015 19:29:00 -0800
|
||||
|
||||
bitcoin (0.11.2-trusty1) trusty; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Fri, 13 Nov 2015 18:39:00 -0800
|
||||
|
||||
bitcoin (0.11.1-trusty2) trusty; urgency=low
|
||||
|
||||
* Remove minupnpc builddep.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Wed, 14 Oct 2015 23:06:00 -1000
|
||||
|
||||
bitcoin (0.11.1-trusty1) trusty; urgency=high
|
||||
|
||||
* New upstream release.
|
||||
* Disable all UPnP support.
|
||||
|
||||
-- Matt Corallo (BlueMatt) <matt@mattcorallo.com> Wed, 14 Oct 2015 13:57:00 -1000
|
||||
|
||||
bitcoin (0.11.0-precise1) precise; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
@@ -179,7 +298,7 @@ bitcoin (0.5.3-natty0) natty; urgency=low
|
||||
bitcoin (0.5.2-natty1) natty; urgency=low
|
||||
|
||||
* Remove mentions on anonymity in package descriptions and manpage.
|
||||
These should never have been there, bitcoin isn't anonymous without
|
||||
These should never have been there, bitcoin isnt anonymous without
|
||||
a ton of work that virtually no users will ever be willing and
|
||||
capable of doing
|
||||
|
||||
@@ -220,7 +339,7 @@ bitcoin (0.5.0~rc1-natty1) natty; urgency=low
|
||||
|
||||
* Add test_bitcoin to build test
|
||||
* Fix clean
|
||||
* Remove unnecessary build-dependancies
|
||||
* Remove uneccessary build-dependancies
|
||||
|
||||
-- Matt Corallo <matt@bluematt.me> Wed, 26 Oct 2011 14:37:18 -0400
|
||||
|
||||
@@ -380,7 +499,7 @@ bitcoin (0.3.20.01~dfsg-1) unstable; urgency=low
|
||||
|
||||
bitcoin (0.3.19~dfsg-6) unstable; urgency=low
|
||||
|
||||
* Fix override aggressive optimizations.
|
||||
* Fix override agressive optimizations.
|
||||
* Fix tighten build-dependencies to really fit backporting to Lenny:
|
||||
+ Add fallback build-dependency on libdb4.6++-dev.
|
||||
+ Tighten unversioned Boost build-dependencies to recent versions,
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
Source: bitcoin
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Maintainer: Jonas Smedegaard <dr@jones.dk>
|
||||
Uploaders: Micah Anderson <micah@debian.org>
|
||||
Maintainer: Matt Corallo <matt@mattcorallo.com>
|
||||
Uploaders: Matt Corallo <matt@mattcorallo.com>
|
||||
Build-Depends: debhelper,
|
||||
devscripts,
|
||||
automake,
|
||||
libtool,
|
||||
bash-completion,
|
||||
libboost-system-dev (>> 1.35) | libboost-system1.35-dev,
|
||||
libdb4.8++-dev,
|
||||
libssl-dev,
|
||||
pkg-config,
|
||||
libminiupnpc8-dev | libminiupnpc-dev (>> 1.6),
|
||||
libboost-filesystem-dev (>> 1.35) | libboost-filesystem1.35-dev,
|
||||
libboost-program-options-dev (>> 1.35) | libboost-program-options1.35-dev,
|
||||
libboost-thread-dev (>> 1.35) | libboost-thread1.35-dev,
|
||||
libboost-test-dev (>> 1.35) | libboost-test1.35-dev,
|
||||
qt4-qmake,
|
||||
libqt4-dev,
|
||||
libevent-dev,
|
||||
libboost-system1.48-dev | libboost-system-dev (>> 1.47),
|
||||
libboost-filesystem1.48-dev | libboost-filesystem-dev (>> 1.47),
|
||||
libboost-program-options1.48-dev | libboost-program-options-dev (>> 1.47),
|
||||
libboost-thread1.48-dev | libboost-thread-dev (>> 1.47),
|
||||
libboost-test1.48-dev | libboost-test-dev (>> 1.47),
|
||||
libboost-chrono1.48-dev | libboost-chrono-dev (>> 1.47),
|
||||
libminiupnpc8-dev | libminiupnpc-dev,
|
||||
qt4-qmake, libqt4-dev,
|
||||
qttools5-dev-tools, qttools5-dev,
|
||||
libqrencode-dev,
|
||||
libprotobuf-dev, protobuf-compiler,
|
||||
python
|
||||
python,
|
||||
libzmq3-dev
|
||||
Standards-Version: 3.9.2
|
||||
Homepage: https://bitcoincore.org/
|
||||
Vcs-Git: git://github.com/bitcoin/bitcoin.git
|
||||
@@ -31,11 +34,11 @@ Package: bitcoind
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: peer-to-peer network based digital currency - daemon
|
||||
Bitcoin is an experimental new digital currency that enables instant
|
||||
payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer
|
||||
technology to operate with no central authority: managing transactions
|
||||
and issuing money are carried out collectively by the network. Bitcoin Core
|
||||
is the name of the open source software which enables the use of this currency.
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that
|
||||
is completely decentralized, without the need for a central server or
|
||||
trusted parties. Users hold the crypto keys to their own money and
|
||||
transact directly with each other, with the help of a P2P network to
|
||||
check for double-spending.
|
||||
.
|
||||
This package provides the daemon, bitcoind, and the CLI tool
|
||||
bitcoin-cli to interact with the daemon.
|
||||
@@ -44,11 +47,11 @@ Package: bitcoin-qt
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: peer-to-peer network based digital currency - Qt GUI
|
||||
Bitcoin is an experimental new digital currency that enables instant
|
||||
payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer
|
||||
technology to operate with no central authority: managing transactions
|
||||
and issuing money are carried out collectively by the network. Bitcoin Core
|
||||
is the name of the open source software which enables the use of this currency.
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that
|
||||
is completely decentralized, without the need for a central server or
|
||||
trusted parties. Users hold the crypto keys to their own money and
|
||||
transact directly with each other, with the help of a P2P network to
|
||||
check for double-spending.
|
||||
.
|
||||
This package provides Bitcoin-Qt, a GUI for Bitcoin based on Qt.
|
||||
|
||||
@@ -56,11 +59,11 @@ Package: bitcoin-tx
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: peer-to-peer digital currency - standalone transaction tool
|
||||
Bitcoin is an experimental new digital currency that enables instant
|
||||
payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer
|
||||
technology to operate with no central authority: managing transactions
|
||||
and issuing money are carried out collectively by the network. Bitcoin Core
|
||||
is the name of the open source software which enables the use of this currency.
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that
|
||||
is completely decentralized, without the need for a central server or
|
||||
trusted parties. Users hold the crypto keys to their own money and
|
||||
transact directly with each other, with the help of a P2P network to
|
||||
check for double-spending.
|
||||
.
|
||||
This package provides bitcoin-tx, a command-line transaction creation
|
||||
tool which can be used without a bitcoin daemon. Some means of
|
||||
|
||||
@@ -12,10 +12,12 @@ override_dh_auto_clean:
|
||||
if [ -f Makefile ]; then $(MAKE) distclean; fi
|
||||
rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/bitcoin-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in
|
||||
|
||||
QT=$(shell dpkg-vendor --derives-from Ubuntu && echo qt4 || echo qt5)
|
||||
|
||||
# Yea, autogen should be run on the source archive, but I like doing git archive
|
||||
override_dh_auto_configure:
|
||||
./autogen.sh
|
||||
./configure
|
||||
./configure --with-gui=$(QT)
|
||||
|
||||
override_dh_auto_test:
|
||||
make check
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: "bitcoin-linux-0.13"
|
||||
name: "bitcoin-linux-0.14"
|
||||
enable_cache: true
|
||||
suites:
|
||||
- "trusty"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: "bitcoin-osx-0.13"
|
||||
name: "bitcoin-osx-0.14"
|
||||
enable_cache: true
|
||||
suites:
|
||||
- "trusty"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: "bitcoin-win-0.13"
|
||||
name: "bitcoin-win-0.14"
|
||||
enable_cache: true
|
||||
suites:
|
||||
- "trusty"
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#BITCOIND_NICE=0
|
||||
|
||||
# Additional options (avoid -conf and -datadir, use flags above)
|
||||
BITCOIND_OPTS="-disablewallet"
|
||||
#BITCOIND_OPTS=""
|
||||
|
||||
# The timeout in seconds OpenRC will wait for bitcoind to terminate
|
||||
# after a SIGTERM has been raised.
|
||||
|
||||
@@ -8,7 +8,7 @@ and remove old versions as necessary.
|
||||
|
||||
The seeds compiled into the release are created from sipa's DNS seed data, like this:
|
||||
|
||||
curl -s http://bitcoin.sipa.be/seeds.txt > seeds_main.txt
|
||||
curl -s http://bitcoin.sipa.be/seeds.txt.gz | gzip -dc > seeds_main.txt
|
||||
python3 makeseeds.py < seeds_main.txt > nodes_main.txt
|
||||
python3 generate-seeds.py . > ../../src/chainparamsseeds.h
|
||||
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
a06ede9a138d0fb86b0de17c42b936d9fe6e2158
|
||||
923dc447eaa8e017985b2afbbb12dd1283fbea0e
|
||||
71148b8947fe8b4d756822420a7f31c380159425
|
||||
6696b4635ceb9b47aaa63244bff9032fa7b08354
|
||||
812714fd80e96e28cd288c553c83838cecbfc2d9
|
||||
8a445c5651edb9a1f51497055b7ddf4402be9188
|
||||
e126d0c12ca66278d9e7b12187c5ff4fc02a7e6c
|
||||
3908fc4728059719bed0e1c7b1c8b388c2d4a8da
|
||||
8b66bf74e2a349e71eaa183af81fa63eaee76ad2
|
||||
05950427d310654774031764a7141a1a4fd9c6e4
|
||||
07fd147b9f12e9205afd66a624edce357977d615
|
||||
12e31127948fa4bb01c3bddc1b8c85b432f7465b
|
||||
8c87f175d335e9d9e93f987d871ae9f05f6a10a7
|
||||
46b249e578e8a3dfbe85bc7253a12e82ef4b658b
|
||||
a55716abe5662ec74c2f8af93023f1e7cca901fc
|
||||
f646275b90b1de93bc62b4c4d045d75ac0b96eee
|
||||
c252685aa5867631e9a5ef07ccae7c7c25cae8ff
|
||||
a7d55c93385359952d85decd5037843ac70ba3d4
|
||||
7dac1e5e9e887f5f6ff146e812a05bd3bf281eae
|
||||
2a524b8e8fe69ef487fd8ea1b4f7a03f473ed201
|
||||
ce5c1f4acae43477989cdf9a82ed33703919cda2
|
||||
2db4cbcc437f51f5dac82cc4de46f383b92e6f11
|
||||
7aa700424cbda387536373d8dfec88aee43f950e
|
||||
b99a093afed880f23fb279c443cc6ae5e379cc43
|
||||
b83264d9c7a8ddb79f64bd9540caddc8632ef31f
|
||||
57e337d40e94ba33d8cd265c134d6ef857b32b59
|
||||
a1dcf2e1087beaf3981739fd2bb74f35ecad630a
|
||||
d38b0d7a6b6056cba26999b702815775e2437d87
|
||||
815640ec6af9a38d6a2da4a4400056e2f4105080
|
||||
09c4fd157c5b88df2d97fad4826c79b094db90c9
|
||||
2efcfa5acfacb958973d9e8125e1d81f102e2dfd
|
||||
dc6dee41f7cf2ba93fcd0fea7c157e4b2775d439
|
||||
ad826b3df9f763b49f1e3e3d50c4efdd438c7547
|
||||
c1a52276848d8caa9a9789dff176408c1aa6b1ed
|
||||
3bf06e9bac57b5b5a746677b75e297a7b154bdbd
|
||||
72ae6f8cf0224370e8121d6769b21e612ca15d6f
|
||||
a143b88dbd4971ecfdd1d39a494489c8f2db0344
|
||||
76fec09d878d6dbf214bdb6228d480bd9195db4c
|
||||
93566e0c37c5ae104095474fea89f00dcb40f551
|
||||
407d9232ef5cb1ebf6cff21f3d13e07ea4158eeb
|
||||
9346f8429957e356d21c665bab59fe45bcf1f74e
|
||||
6eeac6e30d65f9a972067c1ea8c49978c8e631ac
|
||||
dc6b9406bdfab2af8c86cb080cb3e6cf8f2385d8
|
||||
9f554e03ebe5701c1b75ff03b3d6152095c0cad3
|
||||
05009935f9ac070197113954d680bc2c9150b9b3
|
||||
508404de98a8a5435f52916cef8f328e82651961
|
||||
ed0cc50afed146c27f6d8129c683c225fb940093
|
||||
6429cfa8a70308241c576aeb92ffe3db5203b2ef
|
||||
6898213409811b140843c3d89af43328c3b22fad
|
||||
5b2ea29cf4fd298346437bb16a54407f8c1f9dca
|
||||
e2a1a1ee895149c544d4ae295466611f0cec3094
|
||||
e82fb872ff5cc8fd22d43327c1ee3e755f61c562
|
||||
19b0f33de0efd9da788e8e4f3fdc2a9e159abdb1
|
||||
89de1538ce1f8c00f80e8d11f43e1b77e24d7dea
|
||||
de07fdcf77e97b8613091285e4d0a734f5de7492
|
||||
01680195f8aa586c55c44767397380def3a23b54
|
||||
05e1c85fb687c82ae477c72d4a7e2d6b0c692167
|
||||
c072b8fd95cd4fa84f08189a0cd8b173ea2dbb8e
|
||||
9a0ed08b40b15ae2b791aa8549b53e69934b4ea7
|
||||
53f8f226bd1d627c4a6dec5862a1d4ea5a933e45
|
||||
9d0f43b7ca7241d8a018fd35dd3bc01555235ec6
|
||||
f12d2b5a8ac397e4bcaefcc19898f8ff5705dea5
|
||||
8250de13587ed05ca45df3e12c5dc9bcb1500e2c
|
||||
d727f77e390426e9e463336bda08d50c451c7086
|
||||
484312bda2d43e3ea60047be076332299463adf8
|
||||
c7e05b35ab0a791c7a8e2d863e716fdec6f3f671
|
||||
b9c1cd81848da9de1baf9c2f29c19c50e549de13
|
||||
8ea7d31e384975019733b5778feabbd9955c79d8
|
||||
f798b891bcecea9548eedacae70eeb9906c1ddbf
|
||||
ebefe7a00b46579cdd1e033a8c7fd8ce9aa578e4
|
||||
ad087638ee4864d6244ec9381ff764bfa6ee5086
|
||||
66db2d62d59817320c9182fc18e75a93b76828ea
|
||||
7ce9ac5c83b1844a518ef2e12e87aae3cacdfe58
|
||||
4286f43025149cf44207c3ad98e4a1f068520ada
|
||||
cd0c5135ab2291aaa5410ac919bad3fc87249a4a
|
||||
66ed450d771a8fc01c159a8402648ebd1c35eb4c
|
||||
a82f03393a32842d49236e8666ee57805ca701f8
|
||||
f972b04d63eb8af79ff3cec1dc561ed13dfa6053
|
||||
ec45cc5e27668171b55271b0c735194c70e7da41
|
||||
715e9fd7454f7a48d7adba7d42f662c20a3e3367
|
||||
2e0a99037dcc35bc63ba0d54371bc678af737c8e
|
||||
7fa8d758598407f3bf0beb0118dc122ea5340736
|
||||
6a22373771edbc3c7513cacb9355f880c73c2cbf
|
||||
b89ef131147f71a96152a7b5c4374266cdf539b2
|
||||
01d8359983e2f77b5118fede3ffa947072c666c8
|
||||
58f0c929a3d70a4bff79cc200f1c186f71ef1675
|
||||
950be19727a581970591d8f8138dfe4725750382
|
||||
425278d17bd0edf8a3a7cc81e55016f7fd8e7726
|
||||
c028c7b7557da2baff7af8840108e8be4db8e0c6
|
||||
47a7cfb0aa2498f6801026d258a59f9de48f60b0
|
||||
f6b7df3155ddb4cedfbcf5d3eb3383d4614b3a85
|
||||
d72098038f3b55a714ed8adb34fab547b15eb0d5
|
||||
c49c825bd9f4764536b45df5a684d97173673fc7
|
||||
33799afe83eec4200ff140e9bf5eae83701a4d7f
|
||||
5c3f8ddcaa1164079105c452429fccf8127b01b6
|
||||
1f01443567b03ac75a91c810f1733f5c21b5699d
|
||||
b3e42b6d02e8d19658a9135e427ebceab5367779
|
||||
69b3a6dd9d9a0adf5506c8b9fde42187356bd4a8
|
||||
bafd075c5e6a1088ef0f1aa0b0b224e026a3d3e0
|
||||
7daa3adb242d9c8728fdb15c6af6596aaad5502f
|
||||
514993554c370f4cf30a109ac28d5d64893dbf0a
|
||||
c8d2473e6cb042e7275a10c49d3f6a4a91bf0166
|
||||
386f4385ab04b0b2c3d47bddc0dc0f2de7354964
|
||||
9f33dba05c01ecc5c56eb1284ab7d64d42f55171
|
||||
|
||||
@@ -12,17 +12,13 @@ for LINE in $(echo "$INPUT" | gpg --trust-model always "$@" 2>/dev/null); do
|
||||
case "$LINE" in
|
||||
"[GNUPG:] VALIDSIG "*)
|
||||
while read KEY; do
|
||||
case "$LINE" in "[GNUPG:] VALIDSIG $KEY "*) VALID=true;; esac
|
||||
[ "${LINE#?GNUPG:? VALIDSIG * * * * * * * * * }" = "$KEY" ] && VALID=true
|
||||
done < ./contrib/verify-commits/trusted-keys
|
||||
;;
|
||||
"[GNUPG:] REVKEYSIG "*)
|
||||
[ "$BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1
|
||||
while read KEY; do
|
||||
case "$LINE" in "[GNUPG:] REVKEYSIG ${KEY#????????????????????????} "*)
|
||||
REVSIG=true
|
||||
GOODREVSIG="[GNUPG:] GOODSIG ${KEY#????????????????????????} "
|
||||
esac
|
||||
done < ./contrib/verify-commits/trusted-keys
|
||||
REVSIG=true
|
||||
GOODREVSIG="[GNUPG:] GOODSIG ${LINE#* * *}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
71A3B16735405025D447E8F274810B012346C9A6
|
||||
3F1888C6DCA92A6499C4911FDBA1A67379A1A931
|
||||
133EAC179436F14A5CF1B794860FEB804E669320
|
||||
32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC
|
||||
FE09B823E6D83A3BC7983EAA2D7F2372E50FE137
|
||||
B8B3F1C0E58C15DB6A81D30C3648A882F4316B9B
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package=miniupnpc
|
||||
$(package)_version=2.0
|
||||
$(package)_version=2.0.20170509
|
||||
$(package)_download_path=http://miniupnp.free.fr/files
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=d434ceb8986efbe199c5ca53f90ed53eab290b1e6d0530b717eb6fa49d61f93b
|
||||
$(package)_sha256_hash=d3c368627f5cdfb66d3ebd64ca39ba54d6ff14a61966dbecb8dd296b7039f16a
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_build_opts=CC="$($(package)_cc)"
|
||||
|
||||
@@ -38,7 +38,8 @@ $(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cd $($(package)_build_subdir); ./autogen.sh
|
||||
cd $($(package)_build_subdir); ./autogen.sh && \
|
||||
sed -i.old "/define HAVE_PTHREADS/d" ld64/src/ld/InputFiles.h
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
||||
@@ -7,8 +7,10 @@ $(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca11
|
||||
define $(package)_set_vars
|
||||
$(package)_build_opts= CC="$($(package)_cc)"
|
||||
$(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
|
||||
$(package)_build_opts+=AR="$($(package)_ar)"
|
||||
$(package)_build_opts+=RANLIB="$($(package)_ranlib)"
|
||||
$(package)_build_opts+=AR="$($(package)_ar)"
|
||||
$(package)_build_opts_darwin+=AR="$($(package)_libtool)"
|
||||
$(package)_build_opts_darwin+=ARFLAGS="-o"
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = "Bitcoin Core"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 0.13.99
|
||||
PROJECT_NUMBER = 0.14.2
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Bitcoin Core 0.13.99
|
||||
Bitcoin Core 0.14.2
|
||||
=====================
|
||||
|
||||
Setup
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Bitcoin Core 0.13.99
|
||||
Bitcoin Core 0.14.2
|
||||
=====================
|
||||
|
||||
Intro
|
||||
|
||||
@@ -20,6 +20,7 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.13.0**):
|
||||
* [`BIP 66`](https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki): The strict DER rules and associated version 3 blocks have been implemented since **v0.10.0** ([PR #5713](https://github.com/bitcoin/bitcoin/pull/5713)).
|
||||
* [`BIP 68`](https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki): Sequence locks have been implemented as of **v0.12.1** ([PR #7184](https://github.com/bitcoin/bitcoin/pull/7184)), and have been activated since *block 419328*.
|
||||
* [`BIP 70`](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki) [`71`](https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki) [`72`](https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki): Payment Protocol support has been available in Bitcoin Core GUI since **v0.9.0** ([PR #5216](https://github.com/bitcoin/bitcoin/pull/5216)).
|
||||
* [`BIP 90`](https://github.com/bitcoin/bips/blob/master/bip-0090.mediawiki): Trigger mechanism for activation of BIPs 34, 65, and 66 has been simplified to block height checks since **v0.14.0** ([PR #8391](https://github.com/bitcoin/bitcoin/pull/8391)).
|
||||
* [`BIP 111`](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki): `NODE_BLOOM` service bit added, and enforced for all peer versions as of **v0.13.0** ([PR #6579](https://github.com/bitcoin/bitcoin/pull/6579) and [PR #6641](https://github.com/bitcoin/bitcoin/pull/6641)).
|
||||
* [`BIP 112`](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki): The CHECKSEQUENCEVERIFY opcode has been implemented since **v0.12.1** ([PR #7524](https://github.com/bitcoin/bitcoin/pull/7524)) and has been activated since *block 419328*.
|
||||
* [`BIP 113`](https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki): Median time past lock-time calculations have been implemented since **v0.12.1** ([PR #6566](https://github.com/bitcoin/bitcoin/pull/6566)) and have been activated since *block 419328*.
|
||||
|
||||
@@ -11,14 +11,14 @@ Install the OS X command line tools:
|
||||
|
||||
When the popup appears, click `Install`.
|
||||
|
||||
Then install [Homebrew](http://brew.sh).
|
||||
Then install [Homebrew](https://brew.sh).
|
||||
|
||||
Dependencies
|
||||
----------------------
|
||||
|
||||
brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf --c++11 qt5 libevent
|
||||
brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf qt libevent
|
||||
|
||||
In case you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG
|
||||
If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG
|
||||
|
||||
brew install librsvg
|
||||
|
||||
|
||||
@@ -321,8 +321,10 @@ Clang is installed by default as `cc` compiler, this makes it easier to get
|
||||
started than on [OpenBSD](build-openbsd.md). Installing dependencies:
|
||||
|
||||
pkg install autoconf automake libtool pkgconf
|
||||
pkg install boost-libs openssl libevent2
|
||||
pkg install boost-libs openssl libevent
|
||||
pkg install gmake
|
||||
|
||||
You need to use GNU make (`gmake`) instead of `make`.
|
||||
(`libressl` instead of `openssl` will also work)
|
||||
|
||||
For the wallet (optional):
|
||||
@@ -338,7 +340,7 @@ Then build using:
|
||||
|
||||
./autogen.sh
|
||||
./configure --with-incompatible-bdb BDB_CFLAGS="-I/usr/local/include/db5" BDB_LIBS="-L/usr/local/lib -ldb_cxx-5"
|
||||
make
|
||||
gmake
|
||||
|
||||
*Note on debugging*: The version of `gdb` installed by default is [ancient and considered harmful](https://wiki.freebsd.org/GdbRetirement).
|
||||
It is not suitable for debugging a multi-threaded C++ program, not even for getting backtraces. Please install the package `gdb` and
|
||||
|
||||
@@ -1 +1,13 @@
|
||||
dist_man1_MANS=bitcoind.1 bitcoin-qt.1 bitcoin-cli.1 bitcoin-tx.1
|
||||
dist_man1_MANS=
|
||||
|
||||
if BUILD_BITCOIND
|
||||
dist_man1_MANS+=bitcoind.1
|
||||
endif
|
||||
|
||||
if ENABLE_QT
|
||||
dist_man1_MANS+=bitcoin-qt.1
|
||||
endif
|
||||
|
||||
if BUILD_BITCOIN_UTILS
|
||||
dist_man1_MANS+=bitcoin-cli.1 bitcoin-tx.1
|
||||
endif
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.5.
|
||||
.TH BITCOIN-CLI "1" "September 2016" "bitcoin-cli v0.13.0.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
|
||||
.TH BITCOIN-CLI "1" "September 2018" "bitcoin-cli v0.14.3.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.13.0.0
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.14.3.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v0.13.0.0
|
||||
Bitcoin Core RPC client version v0.14.3.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoin\-cli [options] <command> [params]
|
||||
Send command to Bitcoin Core
|
||||
.TP
|
||||
bitcoin\-cli [options] help
|
||||
List commands
|
||||
.TP
|
||||
bitcoin\-cli [options] help <command>
|
||||
Get help for a command
|
||||
.IP
|
||||
bitcoin\-cli [options] \fB\-named\fR <command> [name=value] ... Send command to Bitcoin Core (with named arguments)
|
||||
bitcoin\-cli [options] help List commands
|
||||
bitcoin\-cli [options] help <command> Get help for a command
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -40,6 +38,10 @@ Enter regression test mode, which uses a special chain in which blocks
|
||||
can be solved instantly. This is intended for regression testing
|
||||
tools and app development.
|
||||
.HP
|
||||
\fB\-named\fR
|
||||
.IP
|
||||
Pass named instead of positional arguments (default: false)
|
||||
.HP
|
||||
\fB\-rpcconnect=\fR<ip>
|
||||
.IP
|
||||
Send commands to node running on <ip> (default: 127.0.0.1)
|
||||
@@ -69,7 +71,7 @@ Timeout during HTTP requests (default: 900)
|
||||
Read extra arguments from standard input, one per line until EOF/Ctrl\-D
|
||||
(recommended for sensitive information such as passphrases)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2016 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
@@ -77,8 +79,8 @@ The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <http://www.opensource.org/licenses/mit-license.php>.
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
|
||||
This product includes software developed by the OpenSSL Project for use in the
|
||||
OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written
|
||||
by Eric Young and UPnP software written by Thomas Bernard.
|
||||
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
|
||||
Eric Young and UPnP software written by Thomas Bernard.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.5.
|
||||
.TH BITCOIN-QT "1" "September 2016" "bitcoin-qt v0.13.0.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
|
||||
.TH BITCOIN-QT "1" "September 2018" "bitcoin-qt v0.14.3.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.13.0.0
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.14.3.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v0.13.0.0 (64\-bit)
|
||||
Bitcoin Core version v0.14.3.0 (64\-bit)
|
||||
Usage:
|
||||
.IP
|
||||
bitcoin\-qt [command\-line options]
|
||||
@@ -27,13 +27,14 @@ long fork (%s in cmd is replaced by message)
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-checkblocks=\fR<n>
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
How many blocks to check at startup (default: 288, 0 = all)
|
||||
.HP
|
||||
\fB\-checklevel=\fR<n>
|
||||
.IP
|
||||
How thorough the block verification of \fB\-checkblocks\fR is (0\-4, default: 3)
|
||||
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:
|
||||
00000000000000000013176bf8d7dfeab4e1db31dc93bc311b436e82ab226b90,
|
||||
testnet:
|
||||
00000000000128796ee387cf110ccb9d2f36cffaf7f73079c995377c65ac0dcc)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
@@ -45,7 +46,7 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in megabytes (4 to 16384, default: 300)
|
||||
Set database cache size in megabytes (4 to 16384, default: 450)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
@@ -62,7 +63,12 @@ Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
72)
|
||||
336)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
@@ -75,13 +81,15 @@ Specify pid file (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
Reduce storage requirements by enabling pruning (deleting) of old blocks.
|
||||
This allows the pruneblockchain RPC to be called to delete specific blocks,
|
||||
and enables automatic pruning of old blocks if a target size in MiB is
|
||||
provided. This mode is incompatible with \fB\-txindex\fR and \fB\-rescan\fR.
|
||||
Warning: Reverting this setting requires re\-downloading the entire blockchain.
|
||||
(default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >550 =
|
||||
automatically prune block files to stay under the specified target size in MiB)
|
||||
Reduce storage requirements by enabling pruning (deleting) of old
|
||||
blocks. This allows the pruneblockchain RPC to be called to
|
||||
delete specific blocks, and enables automatic pruning of old
|
||||
blocks if a target size in MiB is provided. This mode is
|
||||
incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
|
||||
setting requires re\-downloading the entire blockchain. (default:
|
||||
0 = disable pruning blocks, 1 = allow manual pruning via RPC,
|
||||
>550 = automatically prune block files to stay under the
|
||||
specified target size in MiB)
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
@@ -123,7 +131,8 @@ for IPv6
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node(s)
|
||||
Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
|
||||
disable automatic connections
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
@@ -137,7 +146,7 @@ Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (def
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR)
|
||||
unless \fB\-connect\fR/\-noconnect)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
@@ -149,7 +158,8 @@ Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR or
|
||||
\fB\-connect\fR/\-noconnect)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
@@ -204,6 +214,11 @@ Connect through SOCKS5 proxy
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-rpcserialversion\fR
|
||||
.IP
|
||||
Sets the serialization of raw transaction or block hex returned in
|
||||
non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect
|
||||
@@ -221,17 +236,22 @@ Tor control port to use if onion listening enabled (default:
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-upnp\fR
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
.HP
|
||||
\fB\-whitelist=\fR<netmask>
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given netmask or IP address. Can be
|
||||
specified multiple times. Whitelisted peers cannot be DoS banned
|
||||
and their transactions are always relayed, even if they are
|
||||
already in the mempool, useful e.g. for a gateway
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
@@ -240,7 +260,7 @@ not relaying transactions (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even they violate
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 1)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
@@ -287,13 +307,17 @@ Spend unconfirmed change when sending transactions (default: 1)
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 2)
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-usehd\fR
|
||||
.IP
|
||||
Use hierarchical deterministic key generation (HD) after BIP32. Only has
|
||||
effect during wallet creation/first start (default: 1)
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (default: 0)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
Upgrade wallet to latest format on startup
|
||||
@@ -347,9 +371,9 @@ Append comment to the user agent string
|
||||
Output debugging information (default: 0, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information.<category> can be: addrman,
|
||||
alert, bench, coindb, db, http, libevent, lock, mempool,
|
||||
mempoolrej, net, proxy, prune, rand, reindex, rpc, selectcoins,
|
||||
tor, zmq, qt.
|
||||
alert, bench, cmpctblock, coindb, db, http, libevent, lock,
|
||||
mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
|
||||
selectcoins, tor, zmq, qt.
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
@@ -422,6 +446,11 @@ Set maximum block size in bytes (default: 750000)
|
||||
.IP
|
||||
Set maximum size of high\-priority/low\-fee transactions in bytes
|
||||
(default: 0)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kB) for transactions to be included in block
|
||||
creation. (default: 0.00001)
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
@@ -455,8 +484,10 @@ Password for JSON\-RPC connections
|
||||
.IP
|
||||
Username and hashed password for JSON\-RPC connections. The field
|
||||
<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcuser. This option
|
||||
can be specified multiple times
|
||||
canonical python script is included in share/rpcuser. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
@@ -500,7 +531,7 @@ Show splash screen on startup (default: 1)
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2016 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
@@ -508,8 +539,8 @@ The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <http://www.opensource.org/licenses/mit-license.php>.
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
|
||||
This product includes software developed by the OpenSSL Project for use in the
|
||||
OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written
|
||||
by Eric Young and UPnP software written by Thomas Bernard.
|
||||
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
|
||||
Eric Young and UPnP software written by Thomas Bernard.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.5.
|
||||
.TH BITCOIN-TX "1" "September 2016" "bitcoin-tx v0.13.0.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
|
||||
.TH BITCOIN-TX "1" "September 2018" "bitcoin-tx v0.14.3.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.13.0.0
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.14.3.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v0.13.0.0
|
||||
Bitcoin Core bitcoin\-tx utility version v0.14.3.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoin\-tx [options] <hex\-tx> [commands]
|
||||
@@ -67,13 +67,28 @@ outaddr=VALUE:ADDRESS
|
||||
.IP
|
||||
Add address\-based output to TX
|
||||
.IP
|
||||
outpubkey=VALUE:PUBKEY[:FLAGS]
|
||||
.IP
|
||||
Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outdata=[VALUE:]DATA
|
||||
.IP
|
||||
Add data\-based output to TX
|
||||
.IP
|
||||
outscript=VALUE:SCRIPT
|
||||
outscript=VALUE:SCRIPT[:FLAGS]
|
||||
.IP
|
||||
Add raw script output to TX
|
||||
Add raw script output to TX. Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
|
||||
.IP
|
||||
Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS.
|
||||
Optionally add the "W" flag to produce a
|
||||
pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to
|
||||
wrap the output in a pay\-to\-script\-hash.
|
||||
.IP
|
||||
sign=SIGHASH\-FLAGS
|
||||
.IP
|
||||
@@ -92,7 +107,7 @@ set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2016 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
@@ -100,8 +115,8 @@ The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <http://www.opensource.org/licenses/mit-license.php>.
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
|
||||
This product includes software developed by the OpenSSL Project for use in the
|
||||
OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written
|
||||
by Eric Young and UPnP software written by Thomas Bernard.
|
||||
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
|
||||
Eric Young and UPnP software written by Thomas Bernard.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.5.
|
||||
.TH BITCOIND "1" "September 2016" "bitcoind v0.13.0.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
|
||||
.TH BITCOIND "1" "September 2018" "bitcoind v0.14.3.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind v0.13.0.0
|
||||
bitcoind \- manual page for bitcoind v0.14.3.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core Daemon version v0.13.0.0
|
||||
Bitcoin Core Daemon version v0.14.3.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
bitcoind [options]
|
||||
@@ -28,13 +28,14 @@ long fork (%s in cmd is replaced by message)
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
block hash)
|
||||
.HP
|
||||
\fB\-checkblocks=\fR<n>
|
||||
\fB\-assumevalid=\fR<hex>
|
||||
.IP
|
||||
How many blocks to check at startup (default: 288, 0 = all)
|
||||
.HP
|
||||
\fB\-checklevel=\fR<n>
|
||||
.IP
|
||||
How thorough the block verification of \fB\-checkblocks\fR is (0\-4, default: 3)
|
||||
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:
|
||||
00000000000000000013176bf8d7dfeab4e1db31dc93bc311b436e82ab226b90,
|
||||
testnet:
|
||||
00000000000128796ee387cf110ccb9d2f36cffaf7f73079c995377c65ac0dcc)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
@@ -50,7 +51,7 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in megabytes (4 to 16384, default: 300)
|
||||
Set database cache size in megabytes (4 to 16384, default: 450)
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
@@ -67,7 +68,12 @@ Keep the transaction memory pool below <n> megabytes (default: 300)
|
||||
\fB\-mempoolexpiry=\fR<n>
|
||||
.IP
|
||||
Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
72)
|
||||
336)
|
||||
.HP
|
||||
\fB\-blockreconstructionextratxn=\fR<n>
|
||||
.IP
|
||||
Extra transactions to keep in memory for compact block reconstructions
|
||||
(default: 100)
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
@@ -80,13 +86,15 @@ Specify pid file (default: bitcoind.pid)
|
||||
.HP
|
||||
\fB\-prune=\fR<n>
|
||||
.IP
|
||||
Reduce storage requirements by enabling pruning (deleting) of old blocks.
|
||||
This allows the pruneblockchain RPC to be called to delete specific blocks,
|
||||
and enables automatic pruning of old blocks if a target size in MiB is
|
||||
provided. This mode is incompatible with \fB\-txindex\fR and \fB\-rescan\fR.
|
||||
Warning: Reverting this setting requires re\-downloading the entire blockchain.
|
||||
(default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >550 =
|
||||
automatically prune block files to stay under the specified target size in MiB)
|
||||
Reduce storage requirements by enabling pruning (deleting) of old
|
||||
blocks. This allows the pruneblockchain RPC to be called to
|
||||
delete specific blocks, and enables automatic pruning of old
|
||||
blocks if a target size in MiB is provided. This mode is
|
||||
incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this
|
||||
setting requires re\-downloading the entire blockchain. (default:
|
||||
0 = disable pruning blocks, 1 = allow manual pruning via RPC,
|
||||
>550 = automatically prune block files to stay under the
|
||||
specified target size in MiB)
|
||||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
@@ -128,7 +136,8 @@ for IPv6
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
Connect only to the specified node(s)
|
||||
Connect only to the specified node(s); \fB\-noconnect\fR or \fB\-connect\fR=\fI\,0\/\fR alone to
|
||||
disable automatic connections
|
||||
.HP
|
||||
\fB\-discover\fR
|
||||
.IP
|
||||
@@ -142,7 +151,7 @@ Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (def
|
||||
\fB\-dnsseed\fR
|
||||
.IP
|
||||
Query for peer addresses via DNS lookup, if low on addresses (default: 1
|
||||
unless \fB\-connect\fR)
|
||||
unless \fB\-connect\fR/\-noconnect)
|
||||
.HP
|
||||
\fB\-externalip=\fR<ip>
|
||||
.IP
|
||||
@@ -154,7 +163,8 @@ Always query for peer addresses via DNS lookup (default: 0)
|
||||
.HP
|
||||
\fB\-listen\fR
|
||||
.IP
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR)
|
||||
Accept connections from outside (default: 1 if no \fB\-proxy\fR or
|
||||
\fB\-connect\fR/\-noconnect)
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
@@ -209,6 +219,11 @@ Connect through SOCKS5 proxy
|
||||
Randomize credentials for every proxy connection. This enables Tor
|
||||
stream isolation (default: 1)
|
||||
.HP
|
||||
\fB\-rpcserialversion\fR
|
||||
.IP
|
||||
Sets the serialization of raw transaction or block hex returned in
|
||||
non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1)
|
||||
.HP
|
||||
\fB\-seednode=\fR<ip>
|
||||
.IP
|
||||
Connect to a node to retrieve peer addresses, and disconnect
|
||||
@@ -226,17 +241,22 @@ Tor control port to use if onion listening enabled (default:
|
||||
.IP
|
||||
Tor control port password (default: empty)
|
||||
.HP
|
||||
\fB\-upnp\fR
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
.HP
|
||||
\fB\-whitelist=\fR<netmask>
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given netmask or IP address. Can be
|
||||
specified multiple times. Whitelisted peers cannot be DoS banned
|
||||
and their transactions are always relayed, even if they are
|
||||
already in the mempool, useful e.g. for a gateway
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
@@ -245,7 +265,7 @@ not relaying transactions (default: 1)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even they violate
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 1)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
@@ -292,13 +312,17 @@ Spend unconfirmed change when sending transactions (default: 1)
|
||||
\fB\-txconfirmtarget=\fR<n>
|
||||
.IP
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 2)
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-usehd\fR
|
||||
.IP
|
||||
Use hierarchical deterministic key generation (HD) after BIP32. Only has
|
||||
effect during wallet creation/first start (default: 1)
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (default: 0)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
Upgrade wallet to latest format on startup
|
||||
@@ -352,9 +376,9 @@ Append comment to the user agent string
|
||||
Output debugging information (default: 0, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information.<category> can be: addrman,
|
||||
alert, bench, coindb, db, http, libevent, lock, mempool,
|
||||
mempoolrej, net, proxy, prune, rand, reindex, rpc, selectcoins,
|
||||
tor, zmq.
|
||||
alert, bench, cmpctblock, coindb, db, http, libevent, lock,
|
||||
mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc,
|
||||
selectcoins, tor, zmq.
|
||||
.HP
|
||||
\fB\-help\-debug\fR
|
||||
.IP
|
||||
@@ -427,6 +451,11 @@ Set maximum block size in bytes (default: 750000)
|
||||
.IP
|
||||
Set maximum size of high\-priority/low\-fee transactions in bytes
|
||||
(default: 0)
|
||||
.HP
|
||||
\fB\-blockmintxfee=\fR<amt>
|
||||
.IP
|
||||
Set lowest fee rate (in BTC/kB) for transactions to be included in block
|
||||
creation. (default: 0.00001)
|
||||
.PP
|
||||
RPC server options:
|
||||
.HP
|
||||
@@ -460,8 +489,10 @@ Password for JSON\-RPC connections
|
||||
.IP
|
||||
Username and hashed password for JSON\-RPC connections. The field
|
||||
<userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A
|
||||
canonical python script is included in share/rpcuser. This option
|
||||
can be specified multiple times
|
||||
canonical python script is included in share/rpcuser. The client
|
||||
then connects normally using the
|
||||
rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This
|
||||
option can be specified multiple times
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
@@ -479,7 +510,7 @@ option can be specified multiple times
|
||||
.IP
|
||||
Set the number of threads to service RPC calls (default: 4)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2016 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2017 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
@@ -487,8 +518,8 @@ The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
Distributed under the MIT software license, see the accompanying file COPYING
|
||||
or <http://www.opensource.org/licenses/mit-license.php>.
|
||||
or <https://opensource.org/licenses/MIT>
|
||||
|
||||
This product includes software developed by the OpenSSL Project for use in the
|
||||
OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written
|
||||
by Eric Young and UPnP software written by Thomas Bernard.
|
||||
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
|
||||
Eric Young and UPnP software written by Thomas Bernard.
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
(note: this is a temporary file, to be added-to by anybody, and moved to
|
||||
release-notes at release time)
|
||||
Bitcoin Core version 0.14.3 is now available from:
|
||||
|
||||
Bitcoin Core version *version* is now available from:
|
||||
<https://bitcoin.org/bin/bitcoin-core-0.14.3/>
|
||||
|
||||
<https://bitcoin.org/bin/bitcoin-core-*version*/>
|
||||
|
||||
This is a new major version release, including new features, various bugfixes
|
||||
and performance improvements, as well as updated translations.
|
||||
This is a new minor version release, including various bugfixes and
|
||||
performance improvements.
|
||||
|
||||
Please report bugs using the issue tracker at github:
|
||||
|
||||
@@ -22,9 +19,9 @@ Compatibility
|
||||
Bitcoin Core is extensively tested on multiple operating systems using
|
||||
the Linux kernel, macOS 10.8+, and Windows Vista and later.
|
||||
|
||||
Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support).
|
||||
Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support),
|
||||
No attempt is made to prevent installing or running the software on Windows XP, you
|
||||
can still do so at your own risk but be aware that there are known instabilities.
|
||||
can still do so at your own risk but be aware that there are known instabilities and issues.
|
||||
Please do not report issues about Windows XP to the issue tracker.
|
||||
|
||||
Bitcoin Core should also work on most other Unix-like systems but is not
|
||||
@@ -33,72 +30,23 @@ frequently tested on them.
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
Low-level RPC changes
|
||||
----------------------
|
||||
Denial-of-Service vulnerability CVE-2018-17144
|
||||
-------------------------------
|
||||
|
||||
- `importprunedfunds` only accepts two required arguments. Some versions accept
|
||||
an optional third arg, which was always ignored. Make sure to never pass more
|
||||
than two arguments.
|
||||
A denial-of-service vulnerability exploitable by miners has been discovered in
|
||||
Bitcoin Core versions 0.14.0 up to 0.16.2. It is recommended to upgrade any of
|
||||
the vulnerable versions to 0.14.3, 0.15.2 or 0.16.3 as soon as possible.
|
||||
|
||||
Fee Estimation Changes
|
||||
----------------------
|
||||
Known Bugs
|
||||
==========
|
||||
|
||||
- Since 0.13.2 fee estimation for a confirmation target of 1 block has been
|
||||
disabled. This is only a minor behavior change as there was often insufficient
|
||||
data for this target anyway. `estimatefee 1` will now always return -1 and
|
||||
`estimatesmartfee 1` will start searching at a target of 2.
|
||||
Since 0.14.0 the approximate transaction fee shown in Bitcoin-Qt when using coin
|
||||
control and smart fee estimation does not reflect any change in target from the
|
||||
smart fee slider. It will only present an approximate fee calculated using the
|
||||
default target. The fee calculated using the correct target is still applied to
|
||||
the transaction and shown in the final send confirmation dialog.
|
||||
|
||||
- The default target for fee estimation is changed to 6 blocks in both the GUI
|
||||
(previously 25) and for RPC calls (previously 2).
|
||||
|
||||
Removal of Priority Estimation
|
||||
-------------------------------
|
||||
|
||||
- Estimation of "priority" needed for a transaction to be included within a target
|
||||
number of blocks has been removed. The rpc calls are deprecated and will either
|
||||
return -1 or 1e24 appropriately. The format for `fee_estimates.dat` has also
|
||||
changed to no longer save these priority estimates. It will automatically be
|
||||
converted to the new format which is not readable by prior versions of the
|
||||
software.
|
||||
|
||||
- The concept of "priority" (coin age) transactions is planned to be removed in
|
||||
the next major version. To prepare for this, the default for the rate limit of
|
||||
priority transactions (`-limitfreerelay`) has been set to `0` kB/minute. This
|
||||
is not to be confused with the `prioritisetransaction` RPC which will remain
|
||||
supported for adding fee deltas to transactions.
|
||||
|
||||
P2P connection management
|
||||
--------------------------
|
||||
|
||||
- Peers manually added through the addnode option or addnode RPC now have their own
|
||||
limit of eight connections which does not compete with other inbound or outbound
|
||||
connection usage and is not subject to the maxconnections limitation.
|
||||
|
||||
- New connections to manually added peers are much faster.
|
||||
|
||||
Introduction of assumed-valid blocks
|
||||
-------------------------------------
|
||||
|
||||
- A significant portion of the initial block download time is spent verifying
|
||||
scripts/signatures. Although the verification must pass to ensure the security
|
||||
of the system, no other result from this verification is needed: If the node
|
||||
knew the history of a given block were valid it could skip checking scripts
|
||||
for its ancestors.
|
||||
|
||||
- A new configuration option 'assumevalid' is provided to express this knowledge
|
||||
to the software. Unlike the 'checkpoints' in the past this setting does not
|
||||
force the use of a particular chain: chains that are consistent with it are
|
||||
processed quicker, but other chains are still accepted if they'd otherwise
|
||||
be chosen as best. Also unlike 'checkpoints' the user can configure which
|
||||
block history is assumed true, this means that even outdated software can
|
||||
sync more quickly if the setting is updated by the user.
|
||||
|
||||
- Because the validity of a chain history is a simple objective fact it is much
|
||||
easier to review this setting. As a result the software ships with a default
|
||||
value adjusted to match the current chain shortly before release. The use
|
||||
of this default value can be disabled by setting -assumevalid=0
|
||||
|
||||
0.14.0 Change log
|
||||
0.14.3 Change log
|
||||
=================
|
||||
|
||||
Detailed release notes follow. This overview includes changes that affect
|
||||
@@ -106,48 +54,60 @@ behavior, not code moves, refactors and string updates. For convenience in locat
|
||||
the code changes and accompanying discussion, both the pull request and
|
||||
git merge commit are mentioned.
|
||||
|
||||
### RPC and REST
|
||||
### Consensus
|
||||
- #14247 `52965fb` Fix crash bug with duplicate inputs within a transaction (TheBlueMatt, sdaftuar)
|
||||
|
||||
### RPC and other APIs
|
||||
|
||||
UTXO set query (`GET /rest/getutxos/<checkmempool>/<txid>-<n>/<txid>-<n>/.../<txid>-<n>.<bin|hex|json>`) responses
|
||||
were changed to return status code HTTP_BAD_REQUEST (400) instead of HTTP_INTERNAL_SERVER_ERROR (500) when requests
|
||||
contain invalid parameters.
|
||||
- #10445 `87a21d5` Fix: make CCoinsViewDbCursor::Seek work for missing keys (Pieter Wuille, Gregory Maxwell)
|
||||
- #9853 Return correct error codes in setban(), fundrawtransaction(), removeprunedfunds(), bumpfee(), blockchain.cpp (John Newbery)
|
||||
|
||||
The first boolean argument to `getaddednodeinfo` has been removed. This is an incompatible change.
|
||||
|
||||
Call "getmininginfo" loses the "testnet" field in favor of the more generic "chain" (which has been present for years).
|
||||
|
||||
### Configuration and command-line options
|
||||
|
||||
### Block and transaction handling
|
||||
|
||||
### P2P protocol and network code
|
||||
|
||||
### Validation
|
||||
- #10234 `d289b56` [net] listbanned RPC and QT should show correct banned subnets (John Newbery)
|
||||
|
||||
### Build system
|
||||
|
||||
### Wallet
|
||||
|
||||
0.14.0 Fundrawtransaction change address reuse
|
||||
==============================================
|
||||
### Miscellaneous
|
||||
|
||||
Before 0.14, `fundrawtransaction` was by default wallet stateless. In almost all cases `fundrawtransaction` does add a change-output to the outputs of the funded transaction. Before 0.14, the used keypool key was never marked as change-address key and directly returned to the keypool (leading to address reuse).
|
||||
Before 0.14, calling `getnewaddress` directly after `fundrawtransaction` did generate the same address as the change-output address.
|
||||
|
||||
Since 0.14, fundrawtransaction does reserve the change-output-key from the keypool by default (optional by setting `reserveChangeKey`, default = `true`)
|
||||
|
||||
Users should also consider using `getrawchangeaddress()` in conjunction with `fundrawtransaction`'s `changeAddress` option.
|
||||
- #10451 `3612219` contrib/init/bitcoind.openrcconf: Don't disable wallet by default (Luke Dashjr)
|
||||
- #10250 `e23cef0` Fix some empty vector references (Pieter Wuille)
|
||||
- #10196 `d28d583` PrioritiseTransaction updates the mempool tx counter (Suhas Daftuar)
|
||||
- #9497 `e207342` Fix CCheckQueue IsIdle (potential) race condition and remove dangerous constructors. (Jeremy Rubin)
|
||||
|
||||
### GUI
|
||||
|
||||
### Tests
|
||||
- #9481 `7abe7bb` Give fallback fee a reasonable indent (Luke Dashjr)
|
||||
- #9481 `3e4d7bf` Qt/Send: Figure a decent warning colour from theme (Luke Dashjr)
|
||||
- #9481 `e207342` Show more significant warning if we fall back to the default fee (Jonas Schnelli)
|
||||
|
||||
### Miscellaneous
|
||||
### Wallet
|
||||
|
||||
- #10308 `28b8b8b` Securely erase potentially sensitive keys/values (tjps)
|
||||
- #10265 `ff13f59` Make sure pindex is non-null before possibly referencing in LogPrintf call. (Karl-Johan Alm)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
|
||||
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
|
||||
- Cory Fields
|
||||
- CryptAxe
|
||||
- fanquake
|
||||
- Jeremy Rubin
|
||||
- John Newbery
|
||||
- Jonas Schnelli
|
||||
- Gregory Maxwell
|
||||
- Karl-Johan Alm
|
||||
- Luke Dashjr
|
||||
- MarcoFalke
|
||||
- Matt Corallo
|
||||
- Mikerah
|
||||
- Pieter Wuille
|
||||
- practicalswift
|
||||
- Suhas Daftuar
|
||||
- Thomas Snider
|
||||
- Tjps
|
||||
- Wladimir J. van der Laan
|
||||
|
||||
143
doc/release-notes/release-notes-0.14.1.md
Normal file
143
doc/release-notes/release-notes-0.14.1.md
Normal file
@@ -0,0 +1,143 @@
|
||||
Bitcoin Core version 0.14.1 is now available from:
|
||||
|
||||
<https://bitcoin.org/bin/bitcoin-core-0.14.1/>
|
||||
|
||||
This is a new minor version release, including various bugfixes and
|
||||
performance improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at github:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is extensively tested on multiple operating systems using
|
||||
the Linux kernel, macOS 10.8+, and Windows Vista and later.
|
||||
|
||||
Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support),
|
||||
No attempt is made to prevent installing or running the software on Windows XP, you
|
||||
can still do so at your own risk but be aware that there are known instabilities and issues.
|
||||
Please do not report issues about Windows XP to the issue tracker.
|
||||
|
||||
Bitcoin Core should also work on most other Unix-like systems but is not
|
||||
frequently tested on them.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
RPC changes
|
||||
-----------
|
||||
|
||||
- The first positional argument of `createrawtransaction` was renamed from
|
||||
`transactions` to `inputs`.
|
||||
|
||||
- The argument of `disconnectnode` was renamed from `node` to `address`.
|
||||
|
||||
These interface changes break compatibility with 0.14.0, when the named
|
||||
arguments functionality, introduced in 0.14.0, is used. Client software
|
||||
using these calls with named arguments needs to be updated.
|
||||
|
||||
Mining
|
||||
------
|
||||
|
||||
In previous versions, getblocktemplate required segwit support from downstream
|
||||
clients/miners once the feature activated on the network. In this version, it
|
||||
now supports non-segwit clients even after activation, by removing all segwit
|
||||
transactions from the returned block template. This allows non-segwit miners to
|
||||
continue functioning correctly even after segwit has activated.
|
||||
|
||||
Due to the limitations in previous versions, getblocktemplate also recommended
|
||||
non-segwit clients to not signal for the segwit version-bit. Since this is no
|
||||
longer an issue, getblocktemplate now always recommends signalling segwit for
|
||||
all miners. This is safe because ability to enforce the rule is the only
|
||||
required criteria for safe activation, not actually producing segwit-enabled
|
||||
blocks.
|
||||
|
||||
UTXO memory accounting
|
||||
----------------------
|
||||
|
||||
Memory usage for the UTXO cache is being calculated more accurately, so that
|
||||
the configured limit (`-dbcache`) will be respected when memory usage peaks
|
||||
during cache flushes. The memory accounting in prior releases is estimated to
|
||||
only account for half the actual peak utilization.
|
||||
|
||||
The default `-dbcache` has also been changed in this release to 450MiB. Users
|
||||
who currently set `-dbcache` to a high value (e.g. to keep the UTXO more fully
|
||||
cached in memory) should consider increasing this setting in order to achieve
|
||||
the same cache performance as prior releases. Users on low-memory systems
|
||||
(such as systems with 1GB or less) should consider specifying a lower value for
|
||||
this parameter.
|
||||
|
||||
Additional information relating to running on low-memory systems can be found
|
||||
here:
|
||||
[reducing-bitcoind-memory-usage.md](https://gist.github.com/laanwj/efe29c7661ce9b6620a7).
|
||||
|
||||
0.14.1 Change log
|
||||
=================
|
||||
|
||||
Detailed release notes follow. This overview includes changes that affect
|
||||
behavior, not code moves, refactors and string updates. For convenience in locating
|
||||
the code changes and accompanying discussion, both the pull request and
|
||||
git merge commit are mentioned.
|
||||
|
||||
### RPC and other APIs
|
||||
- #10084 `142fbb2` Rename first named arg of createrawtransaction (MarcoFalke)
|
||||
- #10139 `f15268d` Remove auth cookie on shutdown (practicalswift)
|
||||
- #10146 `2fea10a` Better error handling for submitblock (rawodb, gmaxwell)
|
||||
- #10144 `d947afc` Prioritisetransaction wasn't always updating ancestor fee (sdaftuar)
|
||||
- #10204 `3c79602` Rename disconnectnode argument (jnewbery)
|
||||
|
||||
### Block and transaction handling
|
||||
- #10126 `0b5e162` Compensate for memory peak at flush time (sipa)
|
||||
- #9912 `fc3d7db` Optimize GetWitnessHash() for non-segwit transactions (sdaftuar)
|
||||
- #10133 `ab864d3` Clean up calculations of pcoinsTip memory usage (morcos)
|
||||
|
||||
### P2P protocol and network code
|
||||
- #9953/#10013 `d2548a4` Fix shutdown hang with >= 8 -addnodes set (TheBlueMatt)
|
||||
- #10176 `30fa231` net: gracefully handle NodeId wrapping (theuni)
|
||||
|
||||
### Build system
|
||||
- #9973 `e9611d1` depends: fix zlib build on osx (theuni)
|
||||
|
||||
### GUI
|
||||
- #10060 `ddc2dd1` Ensure an item exists on the rpcconsole stack before adding (achow101)
|
||||
|
||||
### Mining
|
||||
- #9955/#10006 `569596c` Don't require segwit in getblocktemplate for segwit signalling or mining (sdaftuar)
|
||||
- #9959/#10127 `b5c3440` Prevent slowdown in CreateNewBlock on large mempools (sdaftuar)
|
||||
|
||||
### Tests and QA
|
||||
- #10157 `55f641c` Fix the `mempool_packages.py` test (sdaftuar)
|
||||
|
||||
### Miscellaneous
|
||||
- #10037 `4d8e660` Trivial: Fix typo in help getrawtransaction RPC (keystrike)
|
||||
- #10120 `e4c9a90` util: Work around (virtual) memory exhaustion on 32-bit w/ glibc (laanwj)
|
||||
- #10130 `ecc5232` bitcoin-tx input verification (awemany, jnewbery)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Alex Morcos
|
||||
- Andrew Chow
|
||||
- Awemany
|
||||
- Cory Fields
|
||||
- Gregory Maxwell
|
||||
- James Evans
|
||||
- John Newbery
|
||||
- MarcoFalke
|
||||
- Matt Corallo
|
||||
- Pieter Wuille
|
||||
- practicalswift
|
||||
- rawodb
|
||||
- Suhas Daftuar
|
||||
- Wladimir J. van der Laan
|
||||
|
||||
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
|
||||
|
||||
@@ -129,7 +129,7 @@ def test_segwit_bumpfee_succeeds(rbf_node, dest_address):
|
||||
def test_nonrbf_bumpfee_fails(peer_node, dest_address):
|
||||
# cannot replace a non RBF transaction (from node which did not enable RBF)
|
||||
not_rbfid = create_fund_sign_send(peer_node, {dest_address: 0.00090000})
|
||||
assert_raises_message(JSONRPCException, "not BIP 125 replaceable", peer_node.bumpfee, not_rbfid)
|
||||
assert_raises_jsonrpc(-4, "not BIP 125 replaceable", peer_node.bumpfee, not_rbfid)
|
||||
|
||||
|
||||
def test_notmine_bumpfee_fails(rbf_node, peer_node, dest_address):
|
||||
@@ -149,7 +149,7 @@ def test_notmine_bumpfee_fails(rbf_node, peer_node, dest_address):
|
||||
signedtx = rbf_node.signrawtransaction(rawtx)
|
||||
signedtx = peer_node.signrawtransaction(signedtx["hex"])
|
||||
rbfid = rbf_node.sendrawtransaction(signedtx["hex"])
|
||||
assert_raises_message(JSONRPCException, "Transaction contains inputs that don't belong to this wallet",
|
||||
assert_raises_jsonrpc(-4, "Transaction contains inputs that don't belong to this wallet",
|
||||
rbf_node.bumpfee, rbfid)
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ def test_bumpfee_with_descendant_fails(rbf_node, rbf_node_address, dest_address)
|
||||
tx = rbf_node.createrawtransaction([{"txid": parent_id, "vout": 0}], {dest_address: 0.00020000})
|
||||
tx = rbf_node.signrawtransaction(tx)
|
||||
txid = rbf_node.sendrawtransaction(tx["hex"])
|
||||
assert_raises_message(JSONRPCException, "Transaction has descendants in the wallet", rbf_node.bumpfee, parent_id)
|
||||
assert_raises_jsonrpc(-8, "Transaction has descendants in the wallet", rbf_node.bumpfee, parent_id)
|
||||
|
||||
|
||||
def test_small_output_fails(rbf_node, dest_address):
|
||||
@@ -175,7 +175,7 @@ def test_small_output_fails(rbf_node, dest_address):
|
||||
Decimal("0.00100000"),
|
||||
{dest_address: 0.00080000,
|
||||
get_change_address(rbf_node): Decimal("0.00010000")})
|
||||
assert_raises_message(JSONRPCException, "Change output is too small", rbf_node.bumpfee, rbfid, {"totalFee": 20001})
|
||||
assert_raises_jsonrpc(-4, "Change output is too small", rbf_node.bumpfee, rbfid, {"totalFee": 20001})
|
||||
|
||||
|
||||
def test_dust_to_fee(rbf_node, dest_address):
|
||||
@@ -210,7 +210,7 @@ def test_rebumping(rbf_node, dest_address):
|
||||
rbf_node.settxfee(Decimal("0.00001000"))
|
||||
rbfid = create_fund_sign_send(rbf_node, {dest_address: 0.00090000})
|
||||
bumped = rbf_node.bumpfee(rbfid, {"totalFee": 1000})
|
||||
assert_raises_message(JSONRPCException, "already bumped", rbf_node.bumpfee, rbfid, {"totalFee": 2000})
|
||||
assert_raises_jsonrpc(-4, "already bumped", rbf_node.bumpfee, rbfid, {"totalFee": 2000})
|
||||
rbf_node.bumpfee(bumped["txid"], {"totalFee": 2000})
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ def test_rebumping_not_replaceable(rbf_node, dest_address):
|
||||
# check that re-bumping a non-replaceable bump tx fails
|
||||
rbfid = create_fund_sign_send(rbf_node, {dest_address: 0.00090000})
|
||||
bumped = rbf_node.bumpfee(rbfid, {"totalFee": 10000, "replaceable": False})
|
||||
assert_raises_message(JSONRPCException, "Transaction is not BIP 125 replaceable", rbf_node.bumpfee, bumped["txid"],
|
||||
assert_raises_jsonrpc(-4, "Transaction is not BIP 125 replaceable", rbf_node.bumpfee, bumped["txid"],
|
||||
{"totalFee": 20000})
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ def test_bumpfee_metadata(rbf_node, dest_address):
|
||||
def test_locked_wallet_fails(rbf_node, dest_address):
|
||||
rbfid = create_fund_sign_send(rbf_node, {dest_address: 0.00090000})
|
||||
rbf_node.walletlock()
|
||||
assert_raises_message(JSONRPCException, "Please enter the wallet passphrase with walletpassphrase first.",
|
||||
assert_raises_jsonrpc(-13, "Please enter the wallet passphrase with walletpassphrase first.",
|
||||
rbf_node.bumpfee, rbfid)
|
||||
|
||||
|
||||
@@ -316,9 +316,7 @@ def submit_block_with_tx(node, tx):
|
||||
block.rehash()
|
||||
block.hashMerkleRoot = block.calc_merkle_root()
|
||||
block.solve()
|
||||
error = node.submitblock(bytes_to_hex_str(block.serialize(True)))
|
||||
if error is not None:
|
||||
raise Exception(error)
|
||||
node.submitblock(bytes_to_hex_str(block.serialize(True)))
|
||||
return block
|
||||
|
||||
|
||||
|
||||
@@ -54,6 +54,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
self.nodes[0].generate(121)
|
||||
self.sync_all()
|
||||
|
||||
# ensure that setting changePosition in fundraw with an exact match is handled properly
|
||||
rawmatch = self.nodes[2].createrawtransaction([], {self.nodes[2].getnewaddress():50})
|
||||
rawmatch = self.nodes[2].fundrawtransaction(rawmatch, {"changePosition":1, "subtractFeeFromOutputs":[0]})
|
||||
assert_equal(rawmatch["changepos"], -1)
|
||||
|
||||
watchonly_address = self.nodes[0].getnewaddress()
|
||||
watchonly_pubkey = self.nodes[0].validateaddress(watchonly_address)["pubkey"]
|
||||
watchonly_amount = Decimal(200)
|
||||
@@ -181,12 +186,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
||||
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
||||
|
||||
try:
|
||||
self.nodes[2].fundrawtransaction(rawtx, {'foo': 'bar'})
|
||||
raise AssertionError("Accepted invalid option foo")
|
||||
except JSONRPCException as e:
|
||||
assert("Unexpected key foo" in e.error['message'])
|
||||
|
||||
assert_raises_jsonrpc(-3, "Unexpected key foo", self.nodes[2].fundrawtransaction, rawtx, {'foo':'bar'})
|
||||
|
||||
############################################################
|
||||
# test a fundrawtransaction with an invalid change address #
|
||||
@@ -199,12 +199,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
||||
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
||||
|
||||
try:
|
||||
self.nodes[2].fundrawtransaction(rawtx, {'changeAddress': 'foobar'})
|
||||
raise AssertionError("Accepted invalid bitcoin address")
|
||||
except JSONRPCException as e:
|
||||
assert("changeAddress must be a valid bitcoin address" in e.error['message'])
|
||||
|
||||
assert_raises_jsonrpc(-5, "changeAddress must be a valid bitcoin address", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':'foobar'})
|
||||
|
||||
############################################################
|
||||
# test a fundrawtransaction with a provided change address #
|
||||
@@ -218,12 +213,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
assert_equal(utx['txid'], dec_tx['vin'][0]['txid'])
|
||||
|
||||
change = self.nodes[2].getnewaddress()
|
||||
try:
|
||||
rawtxfund = self.nodes[2].fundrawtransaction(rawtx, {'changeAddress': change, 'changePosition': 2})
|
||||
except JSONRPCException as e:
|
||||
assert('changePosition out of bounds' == e.error['message'])
|
||||
else:
|
||||
assert(False)
|
||||
assert_raises_jsonrpc(-8, "changePosition out of bounds", self.nodes[2].fundrawtransaction, rawtx, {'changeAddress':change, 'changePosition':2})
|
||||
rawtxfund = self.nodes[2].fundrawtransaction(rawtx, {'changeAddress': change, 'changePosition': 0})
|
||||
dec_tx = self.nodes[2].decoderawtransaction(rawtxfund['hex'])
|
||||
out = dec_tx['vout'][0]
|
||||
@@ -332,12 +322,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
rawtx = self.nodes[2].createrawtransaction(inputs, outputs)
|
||||
dec_tx = self.nodes[2].decoderawtransaction(rawtx)
|
||||
|
||||
try:
|
||||
rawtxfund = self.nodes[2].fundrawtransaction(rawtx)
|
||||
raise AssertionError("Spent more than available")
|
||||
except JSONRPCException as e:
|
||||
assert("Insufficient" in e.error['message'])
|
||||
|
||||
assert_raises_jsonrpc(-4, "Insufficient funds", self.nodes[2].fundrawtransaction, rawtx)
|
||||
|
||||
############################################################
|
||||
#compare fee of a standard pubkeyhash transaction
|
||||
@@ -469,7 +454,9 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
# locked wallet test
|
||||
self.nodes[1].encryptwallet("test")
|
||||
self.nodes.pop(1)
|
||||
stop_nodes(self.nodes)
|
||||
stop_node(self.nodes[0], 0)
|
||||
stop_node(self.nodes[1], 2)
|
||||
stop_node(self.nodes[2], 3)
|
||||
|
||||
self.nodes = start_nodes(self.num_nodes, self.options.tmpdir)
|
||||
# This test is not meant to test fee estimation and we'd like
|
||||
@@ -491,21 +478,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
rawTx = self.nodes[1].createrawtransaction(inputs, outputs)
|
||||
# fund a transaction that requires a new key for the change output
|
||||
# creating the key must be impossible because the wallet is locked
|
||||
try:
|
||||
fundedTx = self.nodes[1].fundrawtransaction(rawTx)
|
||||
raise AssertionError("Wallet unlocked without passphrase")
|
||||
except JSONRPCException as e:
|
||||
assert('Keypool ran out' in e.error['message'])
|
||||
assert_raises_jsonrpc(-4, "Insufficient funds", self.nodes[1].fundrawtransaction, rawtx)
|
||||
|
||||
#refill the keypool
|
||||
self.nodes[1].walletpassphrase("test", 100)
|
||||
self.nodes[1].walletlock()
|
||||
|
||||
try:
|
||||
self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.2)
|
||||
raise AssertionError("Wallet unlocked without passphrase")
|
||||
except JSONRPCException as e:
|
||||
assert('walletpassphrase' in e.error['message'])
|
||||
assert_raises_jsonrpc(-13, "walletpassphrase", self.nodes[1].sendtoaddress, self.nodes[0].getnewaddress(), 1.2)
|
||||
|
||||
oldBalance = self.nodes[0].getbalance()
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
"""Test rescan behavior of importaddress, importpubkey, importprivkey, and
|
||||
importmulti RPCs with different types of keys and rescan options.
|
||||
|
||||
In the first part of the test, node 0 creates an address for each type of
|
||||
import RPC call and sends BTC to it. Then other nodes import the addresses,
|
||||
and the test makes listtransactions and getbalance calls to confirm that the
|
||||
importing node either did or did not execute rescans picking up the send
|
||||
transactions.
|
||||
In the first part of the test, node 1 creates an address for each type of
|
||||
import RPC call and node 0 sends BTC to it. Then other nodes import the
|
||||
addresses, and the test makes listtransactions and getbalance calls to confirm
|
||||
that the importing node either did or did not execute rescans picking up the
|
||||
send transactions.
|
||||
|
||||
In the second part of the test, node 0 sends more BTC to each address, and the
|
||||
test makes more listtransactions and getbalance calls to confirm that the
|
||||
@@ -81,6 +81,12 @@ class Variant(collections.namedtuple("Variant", "call data rescan prune")):
|
||||
assert_equal(tx["txid"], txid)
|
||||
assert_equal(tx["confirmations"], confirmations)
|
||||
assert_equal("trusted" not in tx, True)
|
||||
# Verify the transaction is correctly marked watchonly depending on
|
||||
# whether the transaction pays to an imported public key or
|
||||
# imported private key. The test setup ensures that transaction
|
||||
# inputs will not be from watchonly keys (important because
|
||||
# involvesWatchonly will be true if either the transaction output
|
||||
# or inputs are watchonly).
|
||||
if self.data != Data.priv:
|
||||
assert_equal(tx["involvesWatchonly"], True)
|
||||
else:
|
||||
@@ -106,11 +112,11 @@ RESCAN_WINDOW = 2 * 60 * 60
|
||||
class ImportRescanTest(BitcoinTestFramework):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.num_nodes = 1 + len(IMPORT_NODES)
|
||||
self.num_nodes = 2 + len(IMPORT_NODES)
|
||||
|
||||
def setup_network(self):
|
||||
extra_args = [["-debug=1"] for _ in range(self.num_nodes)]
|
||||
for i, import_node in enumerate(IMPORT_NODES, 1):
|
||||
for i, import_node in enumerate(IMPORT_NODES, 2):
|
||||
if import_node.prune:
|
||||
extra_args[i] += ["-prune=1"]
|
||||
|
||||
@@ -123,9 +129,9 @@ class ImportRescanTest(BitcoinTestFramework):
|
||||
# each possible type of wallet import RPC.
|
||||
for i, variant in enumerate(IMPORT_VARIANTS):
|
||||
variant.label = "label {} {}".format(i, variant)
|
||||
variant.address = self.nodes[0].validateaddress(self.nodes[0].getnewaddress(variant.label))
|
||||
variant.key = self.nodes[0].dumpprivkey(variant.address["address"])
|
||||
variant.initial_amount = 25 - (i + 1) / 4.0
|
||||
variant.address = self.nodes[1].validateaddress(self.nodes[1].getnewaddress(variant.label))
|
||||
variant.key = self.nodes[1].dumpprivkey(variant.address["address"])
|
||||
variant.initial_amount = 10 - (i + 1) / 4.0
|
||||
variant.initial_txid = self.nodes[0].sendtoaddress(variant.address["address"], variant.initial_amount)
|
||||
|
||||
# Generate a block containing the initial transactions, then another
|
||||
@@ -142,7 +148,7 @@ class ImportRescanTest(BitcoinTestFramework):
|
||||
for variant in IMPORT_VARIANTS:
|
||||
variant.expect_disabled = variant.rescan == Rescan.yes and variant.prune and variant.call == Call.single
|
||||
expect_rescan = variant.rescan == Rescan.yes and not variant.expect_disabled
|
||||
variant.node = self.nodes[1 + IMPORT_NODES.index(ImportNode(variant.prune, expect_rescan))]
|
||||
variant.node = self.nodes[2 + IMPORT_NODES.index(ImportNode(variant.prune, expect_rescan))]
|
||||
variant.do_import(timestamp)
|
||||
if expect_rescan:
|
||||
variant.expected_balance = variant.initial_amount
|
||||
@@ -156,7 +162,7 @@ class ImportRescanTest(BitcoinTestFramework):
|
||||
# Create new transactions sending to each address.
|
||||
fee = self.nodes[0].getnetworkinfo()["relayfee"]
|
||||
for i, variant in enumerate(IMPORT_VARIANTS):
|
||||
variant.sent_amount = 25 - (2 * i + 1) / 8.0
|
||||
variant.sent_amount = 10 - (2 * i + 1) / 8.0
|
||||
variant.sent_txid = self.nodes[0].sendtoaddress(variant.address["address"], variant.sent_amount)
|
||||
|
||||
# Generate a block containing the new transactions.
|
||||
|
||||
@@ -76,12 +76,7 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||
self.sync_all()
|
||||
|
||||
#Import with no affiliated address
|
||||
try:
|
||||
self.nodes[1].importprunedfunds(rawtxn1, proof1)
|
||||
except JSONRPCException as e:
|
||||
assert('No addresses' in e.error['message'])
|
||||
else:
|
||||
assert(False)
|
||||
assert_raises_jsonrpc(-5, "No addresses", self.nodes[1].importprunedfunds, rawtxn1, proof1)
|
||||
|
||||
balance1 = self.nodes[1].getbalance("", 0, True)
|
||||
assert_equal(balance1, Decimal(0))
|
||||
@@ -112,12 +107,7 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
||||
assert_equal(address_info['ismine'], True)
|
||||
|
||||
#Remove transactions
|
||||
try:
|
||||
self.nodes[1].removeprunedfunds(txnid1)
|
||||
except JSONRPCException as e:
|
||||
assert('does not exist' in e.error['message'])
|
||||
else:
|
||||
assert(False)
|
||||
assert_raises_jsonrpc(-8, "Transaction does not exist in wallet.", self.nodes[1].removeprunedfunds, txnid1)
|
||||
|
||||
balance1 = self.nodes[1].getbalance("*", 0, True)
|
||||
assert_equal(balance1, Decimal('0.075'))
|
||||
|
||||
@@ -102,6 +102,18 @@ class MempoolPackagesTest(BitcoinTestFramework):
|
||||
assert_equal(mempool[x], v_descendants[x])
|
||||
assert(chain[0] not in v_descendants.keys())
|
||||
|
||||
# Check that ancestor modified fees includes fee deltas from
|
||||
# prioritisetransaction
|
||||
self.nodes[0].prioritisetransaction(chain[0], 0, 1000)
|
||||
mempool = self.nodes[0].getrawmempool(True)
|
||||
ancestor_fees = 0
|
||||
for x in chain:
|
||||
ancestor_fees += mempool[x]['fee']
|
||||
assert_equal(mempool[x]['ancestorfees'], ancestor_fees * COIN + 1000)
|
||||
|
||||
# Undo the prioritisetransaction for later tests
|
||||
self.nodes[0].prioritisetransaction(chain[0], 0, -1000)
|
||||
|
||||
# Check that descendant modified fees includes fee deltas from
|
||||
# prioritisetransaction
|
||||
self.nodes[0].prioritisetransaction(chain[-1], 0, 1000)
|
||||
|
||||
@@ -7,79 +7,83 @@
|
||||
# Test node handling
|
||||
#
|
||||
|
||||
from test_framework.mininode import wait_until
|
||||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import *
|
||||
from test_framework.util import (assert_equal,
|
||||
assert_raises_jsonrpc,
|
||||
connect_nodes_bi,
|
||||
start_node,
|
||||
stop_node,
|
||||
)
|
||||
|
||||
import urllib.parse
|
||||
|
||||
class NodeHandlingTest (BitcoinTestFramework):
|
||||
class NodeHandlingTest(BitcoinTestFramework):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.num_nodes = 4
|
||||
self.num_nodes = 2
|
||||
self.setup_clean_chain = False
|
||||
|
||||
def setup_network(self):
|
||||
self.nodes = self.setup_nodes()
|
||||
connect_nodes_bi(self.nodes, 0, 1)
|
||||
|
||||
def run_test(self):
|
||||
###########################
|
||||
# setban/listbanned tests #
|
||||
###########################
|
||||
assert_equal(len(self.nodes[2].getpeerinfo()), 4) #we should have 4 nodes at this point
|
||||
self.nodes[2].setban("127.0.0.1", "add")
|
||||
time.sleep(3) #wait till the nodes are disconected
|
||||
assert_equal(len(self.nodes[2].getpeerinfo()), 0) #all nodes must be disconnected at this point
|
||||
assert_equal(len(self.nodes[2].listbanned()), 1)
|
||||
self.nodes[2].clearbanned()
|
||||
assert_equal(len(self.nodes[2].listbanned()), 0)
|
||||
self.nodes[2].setban("127.0.0.0/24", "add")
|
||||
assert_equal(len(self.nodes[2].listbanned()), 1)
|
||||
try:
|
||||
self.nodes[2].setban("127.0.0.1", "add") #throws exception because 127.0.0.1 is within range 127.0.0.0/24
|
||||
except:
|
||||
pass
|
||||
assert_equal(len(self.nodes[2].listbanned()), 1) #still only one banned ip because 127.0.0.1 is within the range of 127.0.0.0/24
|
||||
try:
|
||||
self.nodes[2].setban("127.0.0.1", "remove")
|
||||
except:
|
||||
pass
|
||||
assert_equal(len(self.nodes[2].listbanned()), 1)
|
||||
self.nodes[2].setban("127.0.0.0/24", "remove")
|
||||
assert_equal(len(self.nodes[2].listbanned()), 0)
|
||||
self.nodes[2].clearbanned()
|
||||
assert_equal(len(self.nodes[2].listbanned()), 0)
|
||||
assert_equal(len(self.nodes[1].getpeerinfo()), 2) # node1 should have 2 connections to node0 at this point
|
||||
self.nodes[1].setban("127.0.0.1", "add")
|
||||
assert wait_until(lambda: len(self.nodes[1].getpeerinfo()) == 0, timeout=10)
|
||||
assert_equal(len(self.nodes[1].getpeerinfo()), 0) # all nodes must be disconnected at this point
|
||||
assert_equal(len(self.nodes[1].listbanned()), 1)
|
||||
self.nodes[1].clearbanned()
|
||||
assert_equal(len(self.nodes[1].listbanned()), 0)
|
||||
self.nodes[1].setban("127.0.0.0/24", "add")
|
||||
assert_equal(len(self.nodes[1].listbanned()), 1)
|
||||
# This will throw an exception because 127.0.0.1 is within range 127.0.0.0/24
|
||||
assert_raises_jsonrpc(-23, "IP/Subnet already banned", self.nodes[1].setban, "127.0.0.1", "add")
|
||||
# This will throw an exception because 127.0.0.1/42 is not a real subnet
|
||||
assert_raises_jsonrpc(-30, "Error: Invalid IP/Subnet", self.nodes[1].setban, "127.0.0.1/42", "add")
|
||||
assert_equal(len(self.nodes[1].listbanned()), 1) # still only one banned ip because 127.0.0.1 is within the range of 127.0.0.0/24
|
||||
# This will throw an exception because 127.0.0.1 was not added above
|
||||
assert_raises_jsonrpc(-30, "Error: Unban failed", self.nodes[1].setban, "127.0.0.1", "remove")
|
||||
assert_equal(len(self.nodes[1].listbanned()), 1)
|
||||
self.nodes[1].setban("127.0.0.0/24", "remove")
|
||||
assert_equal(len(self.nodes[1].listbanned()), 0)
|
||||
self.nodes[1].clearbanned()
|
||||
assert_equal(len(self.nodes[1].listbanned()), 0)
|
||||
|
||||
##test persisted banlist
|
||||
self.nodes[2].setban("127.0.0.0/32", "add")
|
||||
self.nodes[2].setban("127.0.0.0/24", "add")
|
||||
self.nodes[2].setban("192.168.0.1", "add", 1) #ban for 1 seconds
|
||||
self.nodes[2].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) #ban for 1000 seconds
|
||||
listBeforeShutdown = self.nodes[2].listbanned()
|
||||
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address']) #must be here
|
||||
time.sleep(2) #make 100% sure we expired 192.168.0.1 node time
|
||||
# test persisted banlist
|
||||
self.nodes[1].setban("127.0.0.0/32", "add")
|
||||
self.nodes[1].setban("127.0.0.0/24", "add")
|
||||
self.nodes[1].setban("192.168.0.1", "add", 1) # ban for 1 seconds
|
||||
self.nodes[1].setban("2001:4d48:ac57:400:cacf:e9ff:fe1d:9c63/19", "add", 1000) # ban for 1000 seconds
|
||||
listBeforeShutdown = self.nodes[1].listbanned()
|
||||
assert_equal("192.168.0.1/32", listBeforeShutdown[2]['address'])
|
||||
assert wait_until(lambda: len(self.nodes[1].listbanned()) == 3, timeout=10)
|
||||
|
||||
#stop node
|
||||
stop_node(self.nodes[2], 2)
|
||||
stop_node(self.nodes[1], 1)
|
||||
|
||||
self.nodes[2] = start_node(2, self.options.tmpdir)
|
||||
listAfterShutdown = self.nodes[2].listbanned()
|
||||
self.nodes[1] = start_node(1, self.options.tmpdir)
|
||||
listAfterShutdown = self.nodes[1].listbanned()
|
||||
assert_equal("127.0.0.0/24", listAfterShutdown[0]['address'])
|
||||
assert_equal("127.0.0.0/32", listAfterShutdown[1]['address'])
|
||||
assert_equal("/19" in listAfterShutdown[2]['address'], True)
|
||||
|
||||
# Clear ban lists
|
||||
self.nodes[1].clearbanned()
|
||||
connect_nodes_bi(self.nodes, 0, 1)
|
||||
|
||||
###########################
|
||||
# RPC disconnectnode test #
|
||||
###########################
|
||||
url = urllib.parse.urlparse(self.nodes[1].url)
|
||||
self.nodes[0].disconnectnode(url.hostname+":"+str(p2p_port(1)))
|
||||
time.sleep(2) #disconnecting a node needs a little bit of time
|
||||
for node in self.nodes[0].getpeerinfo():
|
||||
assert(node['addr'] != url.hostname+":"+str(p2p_port(1)))
|
||||
address1 = self.nodes[0].getpeerinfo()[0]['addr']
|
||||
self.nodes[0].disconnectnode(address=address1)
|
||||
assert wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1, timeout=10)
|
||||
assert not [node for node in self.nodes[0].getpeerinfo() if node['addr'] == address1]
|
||||
|
||||
connect_nodes_bi(self.nodes,0,1) #reconnect the node
|
||||
found = False
|
||||
for node in self.nodes[0].getpeerinfo():
|
||||
if node['addr'] == url.hostname+":"+str(p2p_port(1)):
|
||||
found = True
|
||||
assert(found)
|
||||
connect_nodes_bi(self.nodes, 0, 1) # reconnect the node
|
||||
assert [node for node in self.nodes[0].getpeerinfo() if node['addr'] == address1]
|
||||
|
||||
if __name__ == '__main__':
|
||||
NodeHandlingTest ().main ()
|
||||
NodeHandlingTest().main()
|
||||
|
||||
@@ -199,11 +199,8 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
assert_equal(x['status'], "headers-only")
|
||||
|
||||
# But this block should be accepted by node0 since it has more work.
|
||||
try:
|
||||
self.nodes[0].getblock(blocks_h3[0].hash)
|
||||
print("Unrequested more-work block accepted from non-whitelisted peer")
|
||||
except:
|
||||
raise AssertionError("Unrequested more work block was not processed")
|
||||
self.nodes[0].getblock(blocks_h3[0].hash)
|
||||
print("Unrequested more-work block accepted from non-whitelisted peer")
|
||||
|
||||
# Node1 should have accepted and reorged.
|
||||
assert_equal(self.nodes[1].getblockcount(), 3)
|
||||
@@ -227,26 +224,17 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
tips[j] = next_block
|
||||
|
||||
time.sleep(2)
|
||||
for x in all_blocks:
|
||||
try:
|
||||
self.nodes[0].getblock(x.hash)
|
||||
if x == all_blocks[287]:
|
||||
raise AssertionError("Unrequested block too far-ahead should have been ignored")
|
||||
except:
|
||||
if x == all_blocks[287]:
|
||||
print("Unrequested block too far-ahead not processed")
|
||||
else:
|
||||
raise AssertionError("Unrequested block with more work should have been accepted")
|
||||
# Blocks 1-287 should be accepted, block 288 should be ignored because it's too far ahead
|
||||
for x in all_blocks[:-1]:
|
||||
self.nodes[0].getblock(x.hash)
|
||||
assert_raises_jsonrpc(-1, "Block not found on disk", self.nodes[0].getblock, all_blocks[-1].hash)
|
||||
|
||||
headers_message.headers.pop() # Ensure the last block is unrequested
|
||||
white_node.send_message(headers_message) # Send headers leading to tip
|
||||
white_node.send_message(msg_block(tips[1])) # Now deliver the tip
|
||||
try:
|
||||
white_node.sync_with_ping()
|
||||
self.nodes[1].getblock(tips[1].hash)
|
||||
print("Unrequested block far ahead of tip accepted from whitelisted peer")
|
||||
except:
|
||||
raise AssertionError("Unrequested block from whitelisted peer not accepted")
|
||||
white_node.sync_with_ping()
|
||||
self.nodes[1].getblock(tips[1].hash)
|
||||
print("Unrequested block far ahead of tip accepted from whitelisted peer")
|
||||
|
||||
# 5. Test handling of unrequested block on the node that didn't process
|
||||
# Should still not be processed (even though it has a child that has more
|
||||
|
||||
@@ -1701,9 +1701,11 @@ class SegWitTest(BitcoinTestFramework):
|
||||
for node in [self.nodes[0], self.nodes[2]]:
|
||||
gbt_results = node.getblocktemplate()
|
||||
block_version = gbt_results['version']
|
||||
# If we're not indicating segwit support, we should not be signalling
|
||||
# for segwit activation, nor should we get a witness commitment.
|
||||
assert_equal(block_version & (1 << VB_WITNESS_BIT), 0)
|
||||
# If we're not indicating segwit support, we will still be
|
||||
# signalling for segwit activation.
|
||||
assert_equal((block_version & (1 << VB_WITNESS_BIT) != 0), node == self.nodes[0])
|
||||
# If we don't specify the segwit rule, then we won't get a default
|
||||
# commitment.
|
||||
assert('default_witness_commitment' not in gbt_results)
|
||||
|
||||
# Workaround:
|
||||
|
||||
@@ -16,7 +16,7 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.setup_clean_chain = True
|
||||
self.num_nodes = 1
|
||||
self.num_nodes = 2
|
||||
|
||||
self.txouts = gen_return_txouts()
|
||||
|
||||
@@ -25,8 +25,11 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
|
||||
self.is_network_split = False
|
||||
|
||||
self.nodes.append(start_node(0, self.options.tmpdir, ["-debug", "-printpriority=1"]))
|
||||
self.nodes.append(start_node(1, self.options.tmpdir, ["-debug", "-printpriority=1"]))
|
||||
connect_nodes(self.nodes[0], 1)
|
||||
self.relayfee = self.nodes[0].getnetworkinfo()['relayfee']
|
||||
|
||||
|
||||
def run_test(self):
|
||||
utxo_count = 90
|
||||
utxos = create_confirmed_utxos(self.relayfee, self.nodes[0], utxo_count)
|
||||
@@ -139,5 +142,16 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
|
||||
assert_equal(self.nodes[0].sendrawtransaction(tx2_hex), tx2_id)
|
||||
assert(tx2_id in self.nodes[0].getrawmempool())
|
||||
|
||||
# Test that calling prioritisetransaction is sufficient to trigger
|
||||
# getblocktemplate to (eventually) return a new block.
|
||||
mock_time = int(time.time())
|
||||
self.nodes[0].setmocktime(mock_time)
|
||||
template = self.nodes[0].getblocktemplate()
|
||||
self.nodes[0].prioritisetransaction(txid, 0, -int(self.relayfee*COIN))
|
||||
self.nodes[0].setmocktime(mock_time+10)
|
||||
new_template = self.nodes[0].getblocktemplate()
|
||||
|
||||
assert(template != new_template)
|
||||
|
||||
if __name__ == '__main__':
|
||||
PrioritiseTransactionTest().main()
|
||||
|
||||
@@ -18,6 +18,11 @@ import os
|
||||
|
||||
MIN_BLOCKS_TO_KEEP = 288
|
||||
|
||||
# Rescans start at the earliest block up to 2 hours before a key timestamp, so
|
||||
# the manual prune RPC avoids pruning blocks in the same window to be
|
||||
# compatible with pruning based on key creation time.
|
||||
RESCAN_WINDOW = 2 * 60 * 60
|
||||
|
||||
|
||||
def calc_usage(blockdir):
|
||||
return sum(os.path.getsize(blockdir+f) for f in os.listdir(blockdir) if os.path.isfile(blockdir+f)) / (1024. * 1024.)
|
||||
@@ -181,11 +186,8 @@ class PruneTest(BitcoinTestFramework):
|
||||
|
||||
def reorg_back(self):
|
||||
# Verify that a block on the old main chain fork has been pruned away
|
||||
try:
|
||||
self.nodes[2].getblock(self.forkhash)
|
||||
raise AssertionError("Old block wasn't pruned so can't test redownload")
|
||||
except JSONRPCException as e:
|
||||
print("Will need to redownload block",self.forkheight)
|
||||
assert_raises_jsonrpc(-1, "Block not available (pruned data)", self.nodes[2].getblock, self.forkhash)
|
||||
print("Will need to redownload block",self.forkheight)
|
||||
|
||||
# Verify that we have enough history to reorg back to the fork point
|
||||
# Although this is more than 288 blocks, because this chain was written more recently
|
||||
@@ -230,7 +232,7 @@ class PruneTest(BitcoinTestFramework):
|
||||
# at this point, node has 995 blocks and has not yet run in prune mode
|
||||
node = self.nodes[node_number] = start_node(node_number, self.options.tmpdir, ["-debug=0"], timewait=900)
|
||||
assert_equal(node.getblockcount(), 995)
|
||||
assert_raises_message(JSONRPCException, "not in prune mode", node.pruneblockchain, 500)
|
||||
assert_raises_jsonrpc(-1, "not in prune mode", node.pruneblockchain, 500)
|
||||
self.stop_node(node_number)
|
||||
|
||||
# now re-start in manual pruning mode
|
||||
@@ -239,7 +241,7 @@ class PruneTest(BitcoinTestFramework):
|
||||
|
||||
def height(index):
|
||||
if use_timestamp:
|
||||
return node.getblockheader(node.getblockhash(index))["time"]
|
||||
return node.getblockheader(node.getblockhash(index))["time"] + RESCAN_WINDOW
|
||||
else:
|
||||
return index
|
||||
|
||||
@@ -262,14 +264,14 @@ class PruneTest(BitcoinTestFramework):
|
||||
return os.path.isfile(self.options.tmpdir + "/node{}/regtest/blocks/blk{:05}.dat".format(node_number, index))
|
||||
|
||||
# should not prune because chain tip of node 3 (995) < PruneAfterHeight (1000)
|
||||
assert_raises_message(JSONRPCException, "Blockchain is too short for pruning", node.pruneblockchain, height(500))
|
||||
assert_raises_jsonrpc(-1, "Blockchain is too short for pruning", node.pruneblockchain, height(500))
|
||||
|
||||
# mine 6 blocks so we are at height 1001 (i.e., above PruneAfterHeight)
|
||||
node.generate(6)
|
||||
assert_equal(node.getblockchaininfo()["blocks"], 1001)
|
||||
|
||||
# negative heights should raise an exception
|
||||
assert_raises_message(JSONRPCException, "Negative", node.pruneblockchain, -10)
|
||||
assert_raises_jsonrpc(-8, "Negative", node.pruneblockchain, -10)
|
||||
|
||||
# height=100 too low to prune first block file so this is a no-op
|
||||
prune(100)
|
||||
@@ -315,12 +317,9 @@ class PruneTest(BitcoinTestFramework):
|
||||
def wallet_test(self):
|
||||
# check that the pruning node's wallet is still in good shape
|
||||
print("Stop and start pruning node to trigger wallet rescan")
|
||||
try:
|
||||
self.stop_node(2)
|
||||
start_node(2, self.options.tmpdir, ["-debug=1","-prune=550"])
|
||||
print("Success")
|
||||
except Exception as detail:
|
||||
raise AssertionError("Wallet test: unable to re-start the pruning node")
|
||||
self.stop_node(2)
|
||||
start_node(2, self.options.tmpdir, ["-debug=1","-prune=550"])
|
||||
print("Success")
|
||||
|
||||
# check that wallet loads loads successfully when restarting a pruned node after IBD.
|
||||
# this was reported to fail in #7494.
|
||||
@@ -328,12 +327,9 @@ class PruneTest(BitcoinTestFramework):
|
||||
connect_nodes(self.nodes[0], 5)
|
||||
nds = [self.nodes[0], self.nodes[5]]
|
||||
sync_blocks(nds, wait=5, timeout=300)
|
||||
try:
|
||||
self.stop_node(5) #stop and start to trigger rescan
|
||||
start_node(5, self.options.tmpdir, ["-debug=1","-prune=550"])
|
||||
print ("Success")
|
||||
except Exception as detail:
|
||||
raise AssertionError("Wallet test: unable to re-start node5")
|
||||
self.stop_node(5) #stop and start to trigger rescan
|
||||
start_node(5, self.options.tmpdir, ["-debug=1","-prune=550"])
|
||||
print ("Success")
|
||||
|
||||
def run_test(self):
|
||||
print("Warning! This test requires 4GB of disk space and takes over 30 mins (up to 2 hours)")
|
||||
|
||||
@@ -61,13 +61,8 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
rawtx = self.nodes[2].createrawtransaction(inputs, outputs)
|
||||
rawtx = self.nodes[2].signrawtransaction(rawtx)
|
||||
|
||||
try:
|
||||
rawtx = self.nodes[2].sendrawtransaction(rawtx['hex'])
|
||||
except JSONRPCException as e:
|
||||
assert("Missing inputs" in e.error['message'])
|
||||
else:
|
||||
assert(False)
|
||||
|
||||
# This will raise an exception since there are missing inputs
|
||||
assert_raises_jsonrpc(-25, "Missing inputs", self.nodes[2].sendrawtransaction, rawtx['hex'])
|
||||
|
||||
#########################
|
||||
# RAW TX MULTISIG TESTS #
|
||||
@@ -161,13 +156,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
assert_equal(self.nodes[0].getrawtransaction(txHash, True)["hex"], rawTxSigned['hex'])
|
||||
|
||||
# 6. invalid parameters - supply txid and string "Flase"
|
||||
assert_raises(JSONRPCException, self.nodes[0].getrawtransaction, txHash, "Flase")
|
||||
assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, "Flase")
|
||||
|
||||
# 7. invalid parameters - supply txid and empty array
|
||||
assert_raises(JSONRPCException, self.nodes[0].getrawtransaction, txHash, [])
|
||||
assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, [])
|
||||
|
||||
# 8. invalid parameters - supply txid and empty dict
|
||||
assert_raises(JSONRPCException, self.nodes[0].getrawtransaction, txHash, {})
|
||||
assert_raises_jsonrpc(-3,"Invalid type", self.nodes[0].getrawtransaction, txHash, {})
|
||||
|
||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
|
||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||
@@ -175,13 +170,15 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
decrawtx= self.nodes[0].decoderawtransaction(rawtx)
|
||||
assert_equal(decrawtx['vin'][0]['sequence'], 1000)
|
||||
|
||||
# 9. invalid parameters - sequence number out of range
|
||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : -1}]
|
||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||
assert_raises(JSONRPCException, self.nodes[0].createrawtransaction, inputs, outputs)
|
||||
assert_raises_jsonrpc(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
|
||||
|
||||
# 10. invalid parameters - sequence number out of range
|
||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967296}]
|
||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||
assert_raises(JSONRPCException, self.nodes[0].createrawtransaction, inputs, outputs)
|
||||
assert_raises_jsonrpc(-8, 'Invalid parameter, sequence number is out of range', self.nodes[0].createrawtransaction, inputs, outputs)
|
||||
|
||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967294}]
|
||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||
|
||||
@@ -35,11 +35,9 @@ class RPCBindTest(BitcoinTestFramework):
|
||||
base_args += ['-rpcallowip=' + x for x in allow_ips]
|
||||
binds = ['-rpcbind='+addr for addr in addresses]
|
||||
self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, [base_args + binds], connect_to)
|
||||
try:
|
||||
pid = bitcoind_processes[0].pid
|
||||
assert_equal(set(get_bind_addrs(pid)), set(expected))
|
||||
finally:
|
||||
stop_nodes(self.nodes)
|
||||
pid = bitcoind_processes[0].pid
|
||||
assert_equal(set(get_bind_addrs(pid)), set(expected))
|
||||
stop_nodes(self.nodes)
|
||||
|
||||
def run_allowip_test(self, allow_ips, rpchost, rpcport):
|
||||
'''
|
||||
@@ -48,13 +46,10 @@ class RPCBindTest(BitcoinTestFramework):
|
||||
'''
|
||||
base_args = ['-disablewallet', '-nolisten'] + ['-rpcallowip='+x for x in allow_ips]
|
||||
self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, [base_args])
|
||||
try:
|
||||
# connect to node through non-loopback interface
|
||||
node = get_rpc_proxy(rpc_url(0, "%s:%d" % (rpchost, rpcport)), 0)
|
||||
node.getnetworkinfo()
|
||||
finally:
|
||||
node = None # make sure connection will be garbage collected and closed
|
||||
stop_nodes(self.nodes)
|
||||
# connect to node through non-loopback interface
|
||||
node = get_rpc_proxy(rpc_url(0, "%s:%d" % (rpchost, rpcport)), 0)
|
||||
node.getnetworkinfo()
|
||||
stop_nodes(self.nodes)
|
||||
|
||||
def run_test(self):
|
||||
# due to OS-specific network stats queries, this test works only on Linux
|
||||
|
||||
@@ -11,9 +11,9 @@ from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import *
|
||||
from test_framework.mininode import sha256, ripemd160, CTransaction, CTxIn, COutPoint, CTxOut
|
||||
from test_framework.address import script_to_p2sh, key_to_p2pkh
|
||||
from test_framework.script import CScript, OP_HASH160, OP_CHECKSIG, OP_0, hash160, OP_EQUAL, OP_DUP, OP_EQUALVERIFY, OP_1, OP_2, OP_CHECKMULTISIG
|
||||
from test_framework.script import CScript, OP_HASH160, OP_CHECKSIG, OP_0, hash160, OP_EQUAL, OP_DUP, OP_EQUALVERIFY, OP_1, OP_2, OP_CHECKMULTISIG, OP_TRUE
|
||||
from io import BytesIO
|
||||
from test_framework.mininode import FromHex
|
||||
from test_framework.mininode import ToHex, FromHex, COIN
|
||||
|
||||
NODE_0 = 0
|
||||
NODE_1 = 1
|
||||
@@ -130,10 +130,14 @@ class SegWitTest(BitcoinTestFramework):
|
||||
print("Verify sigops are counted in GBT with pre-BIP141 rules before the fork")
|
||||
txid = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 1)
|
||||
tmpl = self.nodes[0].getblocktemplate({})
|
||||
assert(tmpl['sizelimit'] == 1000000)
|
||||
assert('weightlimit' not in tmpl)
|
||||
assert(tmpl['sigoplimit'] == 20000)
|
||||
assert(tmpl['transactions'][0]['hash'] == txid)
|
||||
assert(tmpl['transactions'][0]['sigops'] == 2)
|
||||
tmpl = self.nodes[0].getblocktemplate({'rules':['segwit']})
|
||||
assert(tmpl['sizelimit'] == 1000000)
|
||||
assert('weightlimit' not in tmpl)
|
||||
assert(tmpl['sigoplimit'] == 20000)
|
||||
assert(tmpl['transactions'][0]['hash'] == txid)
|
||||
assert(tmpl['transactions'][0]['sigops'] == 2)
|
||||
@@ -241,22 +245,60 @@ class SegWitTest(BitcoinTestFramework):
|
||||
print("Verify sigops are counted in GBT with BIP141 rules after the fork")
|
||||
txid = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 1)
|
||||
tmpl = self.nodes[0].getblocktemplate({'rules':['segwit']})
|
||||
assert(tmpl['sizelimit'] >= 3999577) # actual maximum size is lower due to minimum mandatory non-witness data
|
||||
assert(tmpl['weightlimit'] == 4000000)
|
||||
assert(tmpl['sigoplimit'] == 80000)
|
||||
assert(tmpl['transactions'][0]['txid'] == txid)
|
||||
assert(tmpl['transactions'][0]['sigops'] == 8)
|
||||
|
||||
print("Verify non-segwit miners get a valid GBT response after the fork")
|
||||
send_to_witness(1, self.nodes[0], find_unspent(self.nodes[0], 50), self.pubkey[0], False, Decimal("49.998"))
|
||||
try:
|
||||
tmpl = self.nodes[0].getblocktemplate({})
|
||||
assert(len(tmpl['transactions']) == 1) # Doesn't include witness tx
|
||||
assert(tmpl['sigoplimit'] == 20000)
|
||||
assert(tmpl['transactions'][0]['hash'] == txid)
|
||||
assert(tmpl['transactions'][0]['sigops'] == 2)
|
||||
assert(('!segwit' in tmpl['rules']) or ('segwit' not in tmpl['rules']))
|
||||
except JSONRPCException:
|
||||
# This is an acceptable outcome
|
||||
pass
|
||||
self.nodes[0].generate(1) # Mine a block to clear the gbt cache
|
||||
|
||||
print("Non-segwit miners are able to use GBT response after activation.")
|
||||
# Create a 3-tx chain: tx1 (non-segwit input, paying to a segwit output) ->
|
||||
# tx2 (segwit input, paying to a non-segwit output) ->
|
||||
# tx3 (non-segwit input, paying to a non-segwit output).
|
||||
# tx1 is allowed to appear in the block, but no others.
|
||||
txid1 = send_to_witness(1, self.nodes[0], find_unspent(self.nodes[0], 50), self.pubkey[0], False, Decimal("49.996"))
|
||||
hex_tx = self.nodes[0].gettransaction(txid)['hex']
|
||||
tx = FromHex(CTransaction(), hex_tx)
|
||||
assert(tx.wit.is_null()) # This should not be a segwit input
|
||||
assert(txid1 in self.nodes[0].getrawmempool())
|
||||
|
||||
# Now create tx2, which will spend from txid1.
|
||||
tx = CTransaction()
|
||||
tx.vin.append(CTxIn(COutPoint(int(txid1, 16), 0), b''))
|
||||
tx.vout.append(CTxOut(int(49.99*COIN), CScript([OP_TRUE])))
|
||||
tx2_hex = self.nodes[0].signrawtransaction(ToHex(tx))['hex']
|
||||
txid2 = self.nodes[0].sendrawtransaction(tx2_hex)
|
||||
tx = FromHex(CTransaction(), tx2_hex)
|
||||
assert(not tx.wit.is_null())
|
||||
|
||||
# Now create tx3, which will spend from txid2
|
||||
tx = CTransaction()
|
||||
tx.vin.append(CTxIn(COutPoint(int(txid2, 16), 0), b""))
|
||||
tx.vout.append(CTxOut(int(49.95*COIN), CScript([OP_TRUE]))) # Huge fee
|
||||
tx.calc_sha256()
|
||||
txid3 = self.nodes[0].sendrawtransaction(ToHex(tx))
|
||||
assert(tx.wit.is_null())
|
||||
assert(txid3 in self.nodes[0].getrawmempool())
|
||||
|
||||
# Now try calling getblocktemplate() without segwit support.
|
||||
template = self.nodes[0].getblocktemplate()
|
||||
|
||||
# Check that tx1 is the only transaction of the 3 in the template.
|
||||
template_txids = [ t['txid'] for t in template['transactions'] ]
|
||||
assert(txid2 not in template_txids and txid3 not in template_txids)
|
||||
assert(txid1 in template_txids)
|
||||
|
||||
# Check that running with segwit support results in all 3 being included.
|
||||
template = self.nodes[0].getblocktemplate({"rules": ["segwit"]})
|
||||
template_txids = [ t['txid'] for t in template['transactions'] ]
|
||||
assert(txid1 in template_txids)
|
||||
assert(txid2 in template_txids)
|
||||
assert(txid3 in template_txids)
|
||||
|
||||
# Mine a block to clear the gbt cache again.
|
||||
self.nodes[0].generate(1)
|
||||
|
||||
print("Verify behaviour of importaddress, addwitnessaddress and listunspent")
|
||||
|
||||
|
||||
@@ -375,28 +375,19 @@ def stop_node(node, i):
|
||||
node.stop()
|
||||
except http.client.CannotSendRequest as e:
|
||||
print("WARN: Unable to stop node: " + repr(e))
|
||||
bitcoind_processes[i].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
|
||||
return_code = bitcoind_processes[i].wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
|
||||
assert_equal(return_code, 0)
|
||||
del bitcoind_processes[i]
|
||||
|
||||
def stop_nodes(nodes):
|
||||
for node in nodes:
|
||||
try:
|
||||
node.stop()
|
||||
except http.client.CannotSendRequest as e:
|
||||
print("WARN: Unable to stop node: " + repr(e))
|
||||
del nodes[:] # Emptying array closes connections as a side effect
|
||||
wait_bitcoinds()
|
||||
for i, node in enumerate(nodes):
|
||||
stop_node(node, i)
|
||||
assert not bitcoind_processes.values() # All connections must be gone now
|
||||
|
||||
def set_node_times(nodes, t):
|
||||
for node in nodes:
|
||||
node.setmocktime(t)
|
||||
|
||||
def wait_bitcoinds():
|
||||
# Wait for all bitcoinds to cleanly exit
|
||||
for bitcoind in bitcoind_processes.values():
|
||||
bitcoind.wait(timeout=BITCOIND_PROC_WAIT_TIMEOUT)
|
||||
bitcoind_processes.clear()
|
||||
|
||||
def connect_nodes(from_connection, node_num):
|
||||
ip_port = "127.0.0.1:"+str(p2p_port(node_num))
|
||||
from_connection.addnode(ip_port, "onetry")
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
DIST_SUBDIRS = secp256k1 univalue
|
||||
|
||||
AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) $(HARDENED_LDFLAGS)
|
||||
AM_CXXFLAGS = $(HARDENED_CXXFLAGS)
|
||||
AM_CXXFLAGS = $(HARDENED_CXXFLAGS) $(ERROR_CXXFLAGS)
|
||||
AM_CPPFLAGS = $(HARDENED_CPPFLAGS)
|
||||
EXTRA_LIBRARIES =
|
||||
|
||||
@@ -457,6 +457,14 @@ DISTCLEANFILES = obj/build.h
|
||||
|
||||
EXTRA_DIST = $(CTAES_DIST)
|
||||
|
||||
|
||||
config/bitcoin-config.h: config/stamp-h1
|
||||
@$(MAKE) -C $(top_builddir) $(subdir)/$(@)
|
||||
config/stamp-h1: $(top_srcdir)/$(subdir)/config/bitcoin-config.h.in $(top_builddir)/config.status
|
||||
$(AM_V_at)$(MAKE) -C $(top_builddir) $(subdir)/$(@)
|
||||
$(top_srcdir)/$(subdir)/config/bitcoin-config.h.in: $(am__configure_deps)
|
||||
$(AM_V_at)$(MAKE) -C $(top_srcdir) $(subdir)/config/bitcoin-config.h.in
|
||||
|
||||
clean-local:
|
||||
-$(MAKE) -C secp256k1 clean
|
||||
-$(MAKE) -C univalue clean
|
||||
|
||||
@@ -89,6 +89,7 @@ BITCOIN_TESTS =\
|
||||
test/blockencodings_tests.cpp \
|
||||
test/bloom_tests.cpp \
|
||||
test/bswap_tests.cpp \
|
||||
test/checkqueue_tests.cpp \
|
||||
test/coins_tests.cpp \
|
||||
test/compress_tests.cpp \
|
||||
test/crypto_tests.cpp \
|
||||
|
||||
@@ -242,6 +242,9 @@ static void MutateTxAddOutAddr(CMutableTransaction& tx, const std::string& strIn
|
||||
std::vector<std::string> vStrInputParts;
|
||||
boost::split(vStrInputParts, strInput, boost::is_any_of(":"));
|
||||
|
||||
if (vStrInputParts.size() != 2)
|
||||
throw std::runtime_error("TX output missing or too many separators");
|
||||
|
||||
// Extract and validate VALUE
|
||||
CAmount value = ExtractAndValidateValue(vStrInputParts[0]);
|
||||
|
||||
@@ -264,6 +267,9 @@ static void MutateTxAddOutPubKey(CMutableTransaction& tx, const std::string& str
|
||||
std::vector<std::string> vStrInputParts;
|
||||
boost::split(vStrInputParts, strInput, boost::is_any_of(":"));
|
||||
|
||||
if (vStrInputParts.size() < 2 || vStrInputParts.size() > 3)
|
||||
throw std::runtime_error("TX output missing or too many separators");
|
||||
|
||||
// Extract and validate VALUE
|
||||
CAmount value = ExtractAndValidateValue(vStrInputParts[0]);
|
||||
|
||||
|
||||
@@ -127,6 +127,9 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
//! Mutex to ensure only one concurrent CCheckQueueControl
|
||||
boost::mutex ControlMutex;
|
||||
|
||||
//! Create a new check queue
|
||||
CCheckQueue(unsigned int nBatchSizeIn) : nIdle(0), nTotal(0), fAllOk(true), nTodo(0), fQuit(false), nBatchSize(nBatchSizeIn) {}
|
||||
|
||||
@@ -161,12 +164,6 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
bool IsIdle()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mutex);
|
||||
return (nTotal == nIdle && nTodo == 0 && fAllOk == true);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -177,16 +174,18 @@ template <typename T>
|
||||
class CCheckQueueControl
|
||||
{
|
||||
private:
|
||||
CCheckQueue<T>* pqueue;
|
||||
CCheckQueue<T> * const pqueue;
|
||||
bool fDone;
|
||||
|
||||
public:
|
||||
CCheckQueueControl(CCheckQueue<T>* pqueueIn) : pqueue(pqueueIn), fDone(false)
|
||||
CCheckQueueControl() = delete;
|
||||
CCheckQueueControl(const CCheckQueueControl&) = delete;
|
||||
CCheckQueueControl& operator=(const CCheckQueueControl&) = delete;
|
||||
explicit CCheckQueueControl(CCheckQueue<T> * const pqueueIn) : pqueue(pqueueIn), fDone(false)
|
||||
{
|
||||
// passed queue is supposed to be unused, or NULL
|
||||
if (pqueue != NULL) {
|
||||
bool isIdle = pqueue->IsIdle();
|
||||
assert(isIdle);
|
||||
ENTER_CRITICAL_SECTION(pqueue->ControlMutex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,6 +208,9 @@ public:
|
||||
{
|
||||
if (!fDone)
|
||||
Wait();
|
||||
if (pqueue != NULL) {
|
||||
LEAVE_CRITICAL_SECTION(pqueue->ControlMutex);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
|
||||
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
|
||||
#define CLIENT_VERSION_MAJOR 0
|
||||
#define CLIENT_VERSION_MINOR 13
|
||||
#define CLIENT_VERSION_REVISION 99
|
||||
#define CLIENT_VERSION_MINOR 14
|
||||
#define CLIENT_VERSION_REVISION 2
|
||||
#define CLIENT_VERSION_BUILD 0
|
||||
|
||||
//! Set to true for release, false for prerelease or test build
|
||||
#define CLIENT_VERSION_IS_RELEASE false
|
||||
#define CLIENT_VERSION_IS_RELEASE true
|
||||
|
||||
/**
|
||||
* Copyright year (2009-this)
|
||||
|
||||
@@ -25,9 +25,9 @@ public:
|
||||
static const size_t OUTPUT_SIZE = CSHA256::OUTPUT_SIZE;
|
||||
|
||||
void Finalize(unsigned char hash[OUTPUT_SIZE]) {
|
||||
unsigned char buf[sha.OUTPUT_SIZE];
|
||||
unsigned char buf[CSHA256::OUTPUT_SIZE];
|
||||
sha.Finalize(buf);
|
||||
sha.Reset().Write(buf, sha.OUTPUT_SIZE).Finalize(hash);
|
||||
sha.Reset().Write(buf, CSHA256::OUTPUT_SIZE).Finalize(hash);
|
||||
}
|
||||
|
||||
CHash256& Write(const unsigned char *data, size_t len) {
|
||||
@@ -49,9 +49,9 @@ public:
|
||||
static const size_t OUTPUT_SIZE = CRIPEMD160::OUTPUT_SIZE;
|
||||
|
||||
void Finalize(unsigned char hash[OUTPUT_SIZE]) {
|
||||
unsigned char buf[sha.OUTPUT_SIZE];
|
||||
unsigned char buf[CSHA256::OUTPUT_SIZE];
|
||||
sha.Finalize(buf);
|
||||
CRIPEMD160().Write(buf, sha.OUTPUT_SIZE).Finalize(hash);
|
||||
CRIPEMD160().Write(buf, CSHA256::OUTPUT_SIZE).Finalize(hash);
|
||||
}
|
||||
|
||||
CHash160& Write(const unsigned char *data, size_t len) {
|
||||
|
||||
@@ -112,7 +112,7 @@ static bool multiUserAuthorized(std::string strUserPass)
|
||||
std::string strSalt = vFields[1];
|
||||
std::string strHash = vFields[2];
|
||||
|
||||
unsigned int KEY_SIZE = 32;
|
||||
static const unsigned int KEY_SIZE = 32;
|
||||
unsigned char out[KEY_SIZE];
|
||||
|
||||
CHMAC_SHA256(reinterpret_cast<const unsigned char*>(strSalt.c_str()), strSalt.size()).Write(reinterpret_cast<const unsigned char*>(strPass.c_str()), strPass.size()).Finalize(out);
|
||||
|
||||
16
src/init.cpp
16
src/init.cpp
@@ -801,6 +801,19 @@ ServiceFlags nLocalServices = NODE_NETWORK;
|
||||
|
||||
}
|
||||
|
||||
[[noreturn]] static void new_handler_terminate()
|
||||
{
|
||||
// Rather than throwing std::bad-alloc if allocation fails, terminate
|
||||
// immediately to (try to) avoid chain corruption.
|
||||
// Since LogPrintf may itself allocate memory, set the handler directly
|
||||
// to terminate first.
|
||||
std::set_new_handler(std::terminate);
|
||||
LogPrintf("Error: Out of memory. Terminating.\n");
|
||||
|
||||
// The log was successful, terminate now.
|
||||
std::terminate();
|
||||
};
|
||||
|
||||
bool AppInitBasicSetup()
|
||||
{
|
||||
// ********************************************************* Step 1: setup
|
||||
@@ -853,6 +866,9 @@ bool AppInitBasicSetup()
|
||||
// Ignore SIGPIPE, otherwise it will bring the daemon down if the client closes unexpectedly
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
|
||||
std::set_new_handler(new_handler_terminate);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ uint256 CPartialMerkleTree::CalcHash(int height, unsigned int pos, const std::ve
|
||||
} else {
|
||||
// calculate left hash
|
||||
uint256 left = CalcHash(height-1, pos*2, vTxid), right;
|
||||
// calculate right hash if not beyond the end of the array - copy left hash otherwise1
|
||||
// calculate right hash if not beyond the end of the array - copy left hash otherwise
|
||||
if (pos*2+1 < CalcTreeWidth(height-1))
|
||||
right = CalcHash(height-1, pos*2+1, vTxid);
|
||||
else
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* storing a bit for each traversed node, signifying whether the node is the
|
||||
* parent of at least one matched leaf txid (or a matched txid itself). In
|
||||
* case we are at the leaf level, or this bit is 0, its merkle node hash is
|
||||
* stored, and its children are not explorer further. Otherwise, no hash is
|
||||
* stored, and its children are not explored further. Otherwise, no hash is
|
||||
* stored, but we recurse into both (or the only) child branch. During
|
||||
* decoding, the same depth-first traversal is performed, consuming bits and
|
||||
* hashes as they written during encoding.
|
||||
|
||||
@@ -127,8 +127,10 @@ void BlockAssembler::resetBlock()
|
||||
blockFinished = false;
|
||||
}
|
||||
|
||||
std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& scriptPubKeyIn)
|
||||
std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& scriptPubKeyIn, bool fMineWitnessTx)
|
||||
{
|
||||
int64_t nTimeStart = GetTimeMicros();
|
||||
|
||||
resetBlock();
|
||||
|
||||
pblocktemplate.reset(new CBlockTemplate());
|
||||
@@ -165,10 +167,14 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& sc
|
||||
// -promiscuousmempoolflags is used.
|
||||
// TODO: replace this with a call to main to assess validity of a mempool
|
||||
// transaction (which in most cases can be a no-op).
|
||||
fIncludeWitness = IsWitnessEnabled(pindexPrev, chainparams.GetConsensus());
|
||||
fIncludeWitness = IsWitnessEnabled(pindexPrev, chainparams.GetConsensus()) && fMineWitnessTx;
|
||||
|
||||
addPriorityTxs();
|
||||
addPackageTxs();
|
||||
int nPackagesSelected = 0;
|
||||
int nDescendantsUpdated = 0;
|
||||
addPackageTxs(nPackagesSelected, nDescendantsUpdated);
|
||||
|
||||
int64_t nTime1 = GetTimeMicros();
|
||||
|
||||
nLastBlockTx = nBlockTx;
|
||||
nLastBlockSize = nBlockSize;
|
||||
@@ -200,6 +206,9 @@ std::unique_ptr<CBlockTemplate> BlockAssembler::CreateNewBlock(const CScript& sc
|
||||
if (!TestBlockValidity(state, chainparams, *pblock, pindexPrev, false, false)) {
|
||||
throw std::runtime_error(strprintf("%s: TestBlockValidity failed: %s", __func__, FormatStateMessage(state)));
|
||||
}
|
||||
int64_t nTime2 = GetTimeMicros();
|
||||
|
||||
LogPrint("bench", "CreateNewBlock() packages: %.2fms (%d packages, %d updated descendants), validity: %.2fms (total %.2fms)\n", 0.001 * (nTime1 - nTimeStart), nPackagesSelected, nDescendantsUpdated, 0.001 * (nTime2 - nTime1), 0.001 * (nTime2 - nTimeStart));
|
||||
|
||||
return std::move(pblocktemplate);
|
||||
}
|
||||
@@ -340,9 +349,10 @@ void BlockAssembler::AddToBlock(CTxMemPool::txiter iter)
|
||||
}
|
||||
}
|
||||
|
||||
void BlockAssembler::UpdatePackagesForAdded(const CTxMemPool::setEntries& alreadyAdded,
|
||||
int BlockAssembler::UpdatePackagesForAdded(const CTxMemPool::setEntries& alreadyAdded,
|
||||
indexed_modified_transaction_set &mapModifiedTx)
|
||||
{
|
||||
int nDescendantsUpdated = 0;
|
||||
BOOST_FOREACH(const CTxMemPool::txiter it, alreadyAdded) {
|
||||
CTxMemPool::setEntries descendants;
|
||||
mempool.CalculateDescendants(it, descendants);
|
||||
@@ -350,6 +360,7 @@ void BlockAssembler::UpdatePackagesForAdded(const CTxMemPool::setEntries& alread
|
||||
BOOST_FOREACH(CTxMemPool::txiter desc, descendants) {
|
||||
if (alreadyAdded.count(desc))
|
||||
continue;
|
||||
++nDescendantsUpdated;
|
||||
modtxiter mit = mapModifiedTx.find(desc);
|
||||
if (mit == mapModifiedTx.end()) {
|
||||
CTxMemPoolModifiedEntry modEntry(desc);
|
||||
@@ -362,6 +373,7 @@ void BlockAssembler::UpdatePackagesForAdded(const CTxMemPool::setEntries& alread
|
||||
}
|
||||
}
|
||||
}
|
||||
return nDescendantsUpdated;
|
||||
}
|
||||
|
||||
// Skip entries in mapTx that are already in a block or are present
|
||||
@@ -402,7 +414,7 @@ void BlockAssembler::SortForBlock(const CTxMemPool::setEntries& package, CTxMemP
|
||||
// Each time through the loop, we compare the best transaction in
|
||||
// mapModifiedTxs with the next transaction in the mempool to decide what
|
||||
// transaction package to work on next.
|
||||
void BlockAssembler::addPackageTxs()
|
||||
void BlockAssembler::addPackageTxs(int &nPackagesSelected, int &nDescendantsUpdated)
|
||||
{
|
||||
// mapModifiedTx will store sorted packages after they are modified
|
||||
// because some of their txs are already in the block
|
||||
@@ -416,6 +428,13 @@ void BlockAssembler::addPackageTxs()
|
||||
|
||||
CTxMemPool::indexed_transaction_set::index<ancestor_score>::type::iterator mi = mempool.mapTx.get<ancestor_score>().begin();
|
||||
CTxMemPool::txiter iter;
|
||||
|
||||
// Limit the number of attempts to add transactions to the block when it is
|
||||
// close to full; this is just a simple heuristic to finish quickly if the
|
||||
// mempool has a lot of entries.
|
||||
const int64_t MAX_CONSECUTIVE_FAILURES = 1000;
|
||||
int64_t nConsecutiveFailed = 0;
|
||||
|
||||
while (mi != mempool.mapTx.get<ancestor_score>().end() || !mapModifiedTx.empty())
|
||||
{
|
||||
// First try to find a new transaction in mapTx to evaluate.
|
||||
@@ -477,6 +496,14 @@ void BlockAssembler::addPackageTxs()
|
||||
mapModifiedTx.get<ancestor_score>().erase(modit);
|
||||
failedTx.insert(iter);
|
||||
}
|
||||
|
||||
++nConsecutiveFailed;
|
||||
|
||||
if (nConsecutiveFailed > MAX_CONSECUTIVE_FAILURES && nBlockWeight >
|
||||
nBlockMaxWeight - 4000) {
|
||||
// Give up if we're close to full and haven't succeeded in a while
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -497,6 +524,9 @@ void BlockAssembler::addPackageTxs()
|
||||
continue;
|
||||
}
|
||||
|
||||
// This transaction will make it in; reset the failed counter.
|
||||
nConsecutiveFailed = 0;
|
||||
|
||||
// Package can be added. Sort the entries in a valid order.
|
||||
std::vector<CTxMemPool::txiter> sortedEntries;
|
||||
SortForBlock(ancestors, iter, sortedEntries);
|
||||
@@ -507,8 +537,10 @@ void BlockAssembler::addPackageTxs()
|
||||
mapModifiedTx.erase(sortedEntries[i]);
|
||||
}
|
||||
|
||||
++nPackagesSelected;
|
||||
|
||||
// Update transactions that depend on each of these
|
||||
UpdatePackagesForAdded(ancestors, mapModifiedTx);
|
||||
nDescendantsUpdated += UpdatePackagesForAdded(ancestors, mapModifiedTx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
13
src/miner.h
13
src/miner.h
@@ -165,7 +165,7 @@ private:
|
||||
public:
|
||||
BlockAssembler(const CChainParams& chainparams);
|
||||
/** Construct a new block template with coinbase to scriptPubKeyIn */
|
||||
std::unique_ptr<CBlockTemplate> CreateNewBlock(const CScript& scriptPubKeyIn);
|
||||
std::unique_ptr<CBlockTemplate> CreateNewBlock(const CScript& scriptPubKeyIn, bool fMineWitnessTx=true);
|
||||
|
||||
private:
|
||||
// utility functions
|
||||
@@ -177,8 +177,10 @@ private:
|
||||
// Methods for how to add transactions to a block.
|
||||
/** Add transactions based on tx "priority" */
|
||||
void addPriorityTxs();
|
||||
/** Add transactions based on feerate including unconfirmed ancestors */
|
||||
void addPackageTxs();
|
||||
/** Add transactions based on feerate including unconfirmed ancestors
|
||||
* Increments nPackagesSelected / nDescendantsUpdated with corresponding
|
||||
* statistics from the package selection (for logging statistics). */
|
||||
void addPackageTxs(int &nPackagesSelected, int &nDescendantsUpdated);
|
||||
|
||||
// helper function for addPriorityTxs
|
||||
/** Test if tx will still "fit" in the block */
|
||||
@@ -202,8 +204,9 @@ private:
|
||||
/** Sort the package in an order that is valid to appear in a block */
|
||||
void SortForBlock(const CTxMemPool::setEntries& package, CTxMemPool::txiter entry, std::vector<CTxMemPool::txiter>& sortedEntries);
|
||||
/** Add descendants of given transactions to mapModifiedTx with ancestor
|
||||
* state updated assuming given transactions are inBlock. */
|
||||
void UpdatePackagesForAdded(const CTxMemPool::setEntries& alreadyAdded, indexed_modified_transaction_set &mapModifiedTx);
|
||||
* state updated assuming given transactions are inBlock. Returns number
|
||||
* of updated descendants. */
|
||||
int UpdatePackagesForAdded(const CTxMemPool::setEntries& alreadyAdded, indexed_modified_transaction_set &mapModifiedTx);
|
||||
};
|
||||
|
||||
/** Modify the extranonce in a block */
|
||||
|
||||
53
src/net.cpp
53
src/net.cpp
@@ -143,7 +143,7 @@ static std::vector<CAddress> convertSeed6(const std::vector<SeedSpec6> &vSeedsIn
|
||||
// one by discovery.
|
||||
CAddress GetLocalAddress(const CNetAddr *paddrPeer, ServiceFlags nLocalServices)
|
||||
{
|
||||
CAddress ret(CService(CNetAddr(),GetListenPort()), NODE_NONE);
|
||||
CAddress ret(CService(CNetAddr(),GetListenPort()), nLocalServices);
|
||||
CService addr;
|
||||
if (GetLocal(addr, paddrPeer))
|
||||
{
|
||||
@@ -413,10 +413,10 @@ void CConnman::DumpBanlist()
|
||||
|
||||
CBanDB bandb;
|
||||
banmap_t banmap;
|
||||
SetBannedSetDirty(false);
|
||||
GetBanned(banmap);
|
||||
if (!bandb.Write(banmap))
|
||||
SetBannedSetDirty(true);
|
||||
if (bandb.Write(banmap)) {
|
||||
SetBannedSetDirty(false);
|
||||
}
|
||||
|
||||
LogPrint("net", "Flushed %d banned node ips/subnets to banlist.dat %dms\n",
|
||||
banmap.size(), GetTimeMillis() - nStart);
|
||||
@@ -536,6 +536,8 @@ bool CConnman::Unban(const CSubNet &subNet) {
|
||||
void CConnman::GetBanned(banmap_t &banMap)
|
||||
{
|
||||
LOCK(cs_setBanned);
|
||||
// Sweep the banlist so expired bans are not returned
|
||||
SweepBanned();
|
||||
banMap = setBanned; //create a thread safe copy
|
||||
}
|
||||
|
||||
@@ -1579,6 +1581,9 @@ void CConnman::ThreadDNSAddressSeed()
|
||||
LogPrintf("Loading addresses from DNS seeds (could take a while)\n");
|
||||
|
||||
BOOST_FOREACH(const CDNSSeedData &seed, vSeeds) {
|
||||
if (interruptNet) {
|
||||
return;
|
||||
}
|
||||
if (HaveNameProxy()) {
|
||||
AddOneShot(seed.host);
|
||||
} else {
|
||||
@@ -1596,6 +1601,9 @@ void CConnman::ThreadDNSAddressSeed()
|
||||
found++;
|
||||
}
|
||||
}
|
||||
if (interruptNet) {
|
||||
return;
|
||||
}
|
||||
// TODO: The seed name resolve may fail, yielding an IP of [::], which results in
|
||||
// addrman assigning the same source to results from different seeds.
|
||||
// This should switch to a hard-coded stable dummy IP for each seed name, so that the
|
||||
@@ -1716,11 +1724,17 @@ void CConnman::ThreadOpenConnections()
|
||||
// Only connect out to one peer per network group (/16 for IPv4).
|
||||
// Do this here so we don't have to critsect vNodes inside mapAddresses critsect.
|
||||
int nOutbound = 0;
|
||||
int nOutboundRelevant = 0;
|
||||
std::set<std::vector<unsigned char> > setConnected;
|
||||
{
|
||||
LOCK(cs_vNodes);
|
||||
BOOST_FOREACH(CNode* pnode, vNodes) {
|
||||
if (!pnode->fInbound && !pnode->fAddnode) {
|
||||
|
||||
// Count the peers that have all relevant services
|
||||
if (pnode->fSuccessfullyConnected && !pnode->fFeeler && ((pnode->nServices & nRelevantServices) == nRelevantServices)) {
|
||||
nOutboundRelevant++;
|
||||
}
|
||||
// Netgroups for inbound and addnode peers are not excluded because our goal here
|
||||
// is to not use multiple of our limited outbound slots on a single netgroup
|
||||
// but inbound and addnode peers do not use our outbound slots. Inbound peers
|
||||
@@ -1784,14 +1798,27 @@ void CConnman::ThreadOpenConnections()
|
||||
continue;
|
||||
|
||||
// only consider nodes missing relevant services after 40 failed attempts and only if less than half the outbound are up.
|
||||
if ((addr.nServices & nRelevantServices) != nRelevantServices && (nTries < 40 || nOutbound >= (nMaxOutbound >> 1)))
|
||||
ServiceFlags nRequiredServices = nRelevantServices;
|
||||
if (nTries >= 40 && nOutbound < (nMaxOutbound >> 1)) {
|
||||
nRequiredServices = REQUIRED_SERVICES;
|
||||
}
|
||||
|
||||
if ((addr.nServices & nRequiredServices) != nRequiredServices) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// do not allow non-default ports, unless after 50 invalid addresses selected already
|
||||
if (addr.GetPort() != Params().GetDefaultPort() && nTries < 50)
|
||||
continue;
|
||||
|
||||
addrConnect = addr;
|
||||
|
||||
// regardless of the services assumed to be available, only require the minimum if half or more outbound have relevant services
|
||||
if (nOutboundRelevant >= (nMaxOutbound >> 1)) {
|
||||
addrConnect.nServices = REQUIRED_SERVICES;
|
||||
} else {
|
||||
addrConnect.nServices = nRequiredServices;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2318,9 +2345,17 @@ void CConnman::Interrupt()
|
||||
interruptNet();
|
||||
InterruptSocks5(true);
|
||||
|
||||
if (semOutbound)
|
||||
for (int i=0; i<(nMaxOutbound + nMaxFeeler); i++)
|
||||
if (semOutbound) {
|
||||
for (int i=0; i<(nMaxOutbound + nMaxFeeler); i++) {
|
||||
semOutbound->post();
|
||||
}
|
||||
}
|
||||
|
||||
if (semAddnode) {
|
||||
for (int i=0; i<nMaxAddnode; i++) {
|
||||
semAddnode->post();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CConnman::Stop()
|
||||
@@ -2336,10 +2371,6 @@ void CConnman::Stop()
|
||||
if (threadSocketHandler.joinable())
|
||||
threadSocketHandler.join();
|
||||
|
||||
if (semAddnode)
|
||||
for (int i=0; i<nMaxAddnode; i++)
|
||||
semOutbound->post();
|
||||
|
||||
if (fAddressesInitialized)
|
||||
{
|
||||
DumpData();
|
||||
|
||||
@@ -92,7 +92,7 @@ static const ServiceFlags REQUIRED_SERVICES = NODE_NETWORK;
|
||||
// NOTE: When adjusting this, update rpcnet:setban's help ("24h")
|
||||
static const unsigned int DEFAULT_MISBEHAVING_BANTIME = 60 * 60 * 24; // Default 24-hour ban
|
||||
|
||||
typedef int NodeId;
|
||||
typedef int64_t NodeId;
|
||||
|
||||
struct AddedNodeInfo
|
||||
{
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef _BITCOIN_PREVECTOR_H_
|
||||
#define _BITCOIN_PREVECTOR_H_
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
@@ -170,10 +171,15 @@ private:
|
||||
}
|
||||
} else {
|
||||
if (!is_direct()) {
|
||||
/* FIXME: Because malloc/realloc here won't call new_handler if allocation fails, assert
|
||||
success. These should instead use an allocator or new/delete so that handlers
|
||||
are called as necessary, but performance would be slightly degraded by doing so. */
|
||||
_union.indirect = static_cast<char*>(realloc(_union.indirect, ((size_t)sizeof(T)) * new_capacity));
|
||||
assert(_union.indirect);
|
||||
_union.capacity = new_capacity;
|
||||
} else {
|
||||
char* new_indirect = static_cast<char*>(malloc(((size_t)sizeof(T)) * new_capacity));
|
||||
assert(new_indirect);
|
||||
T* src = direct_ptr(0);
|
||||
T* dst = reinterpret_cast<T*>(new_indirect);
|
||||
memcpy(dst, src, size() * sizeof(T));
|
||||
|
||||
@@ -69,6 +69,9 @@ uint256 CTransaction::ComputeHash() const
|
||||
|
||||
uint256 CTransaction::GetWitnessHash() const
|
||||
{
|
||||
if (!HasWitness()) {
|
||||
return GetHash();
|
||||
}
|
||||
return SerializeHash(*this, SER_GETHASH, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -478,6 +478,7 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel)
|
||||
connect(_clientModel, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int)));
|
||||
connect(_clientModel, SIGNAL(networkActiveChanged(bool)), this, SLOT(setNetworkActive(bool)));
|
||||
|
||||
modalOverlay->setKnownBestHeight(_clientModel->getHeaderTipHeight(), QDateTime::fromTime_t(_clientModel->getHeaderTipTime()));
|
||||
setNumBlocks(_clientModel->getNumBlocks(), _clientModel->getLastBlockDate(), _clientModel->getVerificationProgress(NULL), false);
|
||||
connect(_clientModel, SIGNAL(numBlocksChanged(int,QDateTime,double,bool)), this, SLOT(setNumBlocks(int,QDateTime,double,bool)));
|
||||
|
||||
@@ -505,8 +506,6 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel)
|
||||
// initialize the disable state of the tray icon with the current value in the model.
|
||||
setTrayIconVisible(optionsModel->getHideTrayIcon());
|
||||
}
|
||||
|
||||
modalOverlay->setKnownBestHeight(clientModel->getHeaderTipHeight(), QDateTime::fromTime_t(clientModel->getHeaderTipTime()));
|
||||
} else {
|
||||
// Disable possibility to show main window via action
|
||||
toggleHideAction->setEnabled(false);
|
||||
@@ -518,7 +517,10 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel)
|
||||
// Propagate cleared model to child objects
|
||||
rpcConsole->setClientModel(nullptr);
|
||||
#ifdef ENABLE_WALLET
|
||||
walletFrame->setClientModel(nullptr);
|
||||
if (walletFrame)
|
||||
{
|
||||
walletFrame->setClientModel(nullptr);
|
||||
}
|
||||
#endif // ENABLE_WALLET
|
||||
unitDisplayControl->setOptionsModel(nullptr);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ ClientModel::ClientModel(OptionsModel *_optionsModel, QObject *parent) :
|
||||
banTableModel(0),
|
||||
pollTimer(0)
|
||||
{
|
||||
cachedBestHeaderHeight = -1;
|
||||
cachedBestHeaderTime = -1;
|
||||
peerTableModel = new PeerTableModel(this);
|
||||
banTableModel = new BanTableModel(this);
|
||||
pollTimer = new QTimer(this);
|
||||
@@ -74,18 +76,28 @@ int ClientModel::getNumBlocks() const
|
||||
|
||||
int ClientModel::getHeaderTipHeight() const
|
||||
{
|
||||
LOCK(cs_main);
|
||||
if (!pindexBestHeader)
|
||||
return 0;
|
||||
return pindexBestHeader->nHeight;
|
||||
if (cachedBestHeaderHeight == -1) {
|
||||
// make sure we initially populate the cache via a cs_main lock
|
||||
// otherwise we need to wait for a tip update
|
||||
LOCK(cs_main);
|
||||
if (pindexBestHeader) {
|
||||
cachedBestHeaderHeight = pindexBestHeader->nHeight;
|
||||
cachedBestHeaderTime = pindexBestHeader->GetBlockTime();
|
||||
}
|
||||
}
|
||||
return cachedBestHeaderHeight;
|
||||
}
|
||||
|
||||
int64_t ClientModel::getHeaderTipTime() const
|
||||
{
|
||||
LOCK(cs_main);
|
||||
if (!pindexBestHeader)
|
||||
return 0;
|
||||
return pindexBestHeader->GetBlockTime();
|
||||
if (cachedBestHeaderTime == -1) {
|
||||
LOCK(cs_main);
|
||||
if (pindexBestHeader) {
|
||||
cachedBestHeaderHeight = pindexBestHeader->nHeight;
|
||||
cachedBestHeaderTime = pindexBestHeader->GetBlockTime();
|
||||
}
|
||||
}
|
||||
return cachedBestHeaderTime;
|
||||
}
|
||||
|
||||
quint64 ClientModel::getTotalBytesRecv() const
|
||||
@@ -283,6 +295,11 @@ static void BlockTipChanged(ClientModel *clientmodel, bool initialSync, const CB
|
||||
|
||||
int64_t& nLastUpdateNotification = fHeader ? nLastHeaderTipUpdateNotification : nLastBlockTipUpdateNotification;
|
||||
|
||||
if (fHeader) {
|
||||
// cache best headers time and height to reduce future cs_main locks
|
||||
clientmodel->cachedBestHeaderHeight = pIndex->nHeight;
|
||||
clientmodel->cachedBestHeaderTime = pIndex->GetBlockTime();
|
||||
}
|
||||
// if we are in-sync, update the UI regardless of last update time
|
||||
if (!initialSync || now - nLastUpdateNotification > MODEL_UPDATE_DELAY) {
|
||||
//pass a async signal to the UI thread
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include <QObject>
|
||||
#include <QDateTime>
|
||||
|
||||
#include <atomic>
|
||||
|
||||
class AddressTableModel;
|
||||
class BanTableModel;
|
||||
class OptionsModel;
|
||||
@@ -81,6 +83,10 @@ public:
|
||||
QString formatClientStartupTime() const;
|
||||
QString dataDir() const;
|
||||
|
||||
// caches for the best header
|
||||
mutable std::atomic<int> cachedBestHeaderHeight;
|
||||
mutable std::atomic<int64_t> cachedBestHeaderTime;
|
||||
|
||||
private:
|
||||
OptionsModel *optionsModel;
|
||||
PeerTableModel *peerTableModel;
|
||||
|
||||
@@ -759,11 +759,33 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="fallbackFeeWarningLabel">
|
||||
<property name="toolTip">
|
||||
<string>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until your have validated the complete chain.</string>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Warning: Fee estimation is currently not possible.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
|
||||
@@ -73,6 +73,10 @@
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Dupliseer Adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Kopieer &Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Verander</translation>
|
||||
@@ -199,6 +203,14 @@
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>U het die verkeerde wagwoord ingetik.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>Beursie-dekripsie het misluk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>Beursie wagwoordfrase is suksesvol verander.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
<translation>WAARSKUWING: Outomatiese Kapitalisering is aktief op u sleutelbord!</translation>
|
||||
@@ -206,6 +218,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
<message>
|
||||
<source>IP/Netmask</source>
|
||||
<translation>IP/Netmasker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Verban tot</translation>
|
||||
@@ -213,6 +229,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Sign &message...</source>
|
||||
<translation>Teken &boodskap...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network...</source>
|
||||
<translation>Netwerk-sinkronisasie...</translation>
|
||||
@@ -293,6 +313,18 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Oop & URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Kliek om netwerkaktiwiteit af te skakel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Netwerkaktiwiteit gedeaktiveer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Kliek om netwerkaktiwiteit weer aan te skakel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Besig met herindeksering van blokke op hardeskyf...</translation>
|
||||
@@ -309,6 +341,14 @@
|
||||
<source>Change the passphrase used for wallet encryption</source>
|
||||
<translation>Verander die wagwoord wat ek vir kodifikasie van my beursie gebruik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Debug window</source>
|
||||
<translation>&Ontfout venster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open debugging and diagnostic console</source>
|
||||
<translation>Maak ontfouting en diagnostiese konsole oop</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
<source>Create a new address</source>
|
||||
<translation>Skep 'n nuwe adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>&Nuwe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>Maak 'n kopie van die huidige adres na die stelsel klipbord</translation>
|
||||
@@ -17,6 +21,14 @@
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Verwyder die huidiglik gekieste address van die lys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Voer inligting uit van die huidige blad na n lêer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&Uitvoer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Verwyder</translation>
|
||||
@@ -25,6 +37,42 @@
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Kies die address na wie die muntstukke gestuur moet word</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>K&ies</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Stuur adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Ontvang adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopie adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Kopie &Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Wysig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Voer adres lys uit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Koma geskeide lêers (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Uitvoering Misluk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
@@ -660,6 +708,10 @@
|
||||
<source>Copy amount</source>
|
||||
<translation>Kopieer bedrag</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Koma geskeide lêers (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Datum</translation>
|
||||
@@ -680,6 +732,10 @@
|
||||
<source>ID</source>
|
||||
<translation>ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Uitvoering Misluk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Range:</source>
|
||||
<translation>Reeks:</translation>
|
||||
@@ -704,6 +760,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&Uitvoer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Voer inligting uit van die huidige blad na n lêer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Højreklik for at redigere adresse eller mærke</translation>
|
||||
<translation>Højreklik for at redigere adresse eller mærkat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -604,7 +604,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with label</source>
|
||||
<translation>Modtaget med mærke</translation>
|
||||
<translation>Modtaget med mærkat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with address</source>
|
||||
@@ -3123,7 +3123,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u = automatically prune block files to stay under the specified target size in MiB)</source>
|
||||
<translation>Reducér pladskravene ved at beskære (slette, "prune") gamle blokke. Dette tillader pruneblockchain-RPC'en at blive kaldt for at slette specifikke blokke, og det aktiverer automatisk beskæring af gamle blokke, hvis en målstørrelse i MiB er angivet. Denne tilstand er ikke kompatibel med -txindex og -rescan. Advarsel: Fortrydelse af denne indstilling kræver download af hele blokkæden igen. (standard: 0 = slå beskæring af blokke fra, 1 = tillad manuel beskæring via RPC, >%u = beskær automatisk blokfiler for at bliver under den angivne målstørrelse i MiB)</translation>
|
||||
<translation>Reducér pladskravene ved at beskære (slette, “prune”) gamle blokke. Dette tillader pruneblockchain-RPC'en at blive kaldt for at slette specifikke blokke, og det aktiverer automatisk beskæring af gamle blokke, hvis en målstørrelse i MiB er angivet. Denne tilstand er ikke kompatibel med -txindex og -rescan. Advarsel: Fortrydelse af denne indstilling kræver download af hele blokkæden igen. (standard: 0 = slå beskæring af blokke fra, 1 = tillad manuel beskæring via RPC, >%u = beskær automatisk blokfiler for at bliver under den angivne målstørrelse i MiB)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editieren</translation>
|
||||
<translation>B&earbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
@@ -133,7 +133,7 @@
|
||||
</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>Geben Sie die neue Passphrase für die Wallet ein.<br>Bitte benutzen Sie eine Passphrase bestehend aus <b>zehn oder mehr zufälligen Zeichen</b> oder <b>acht oder mehr Wörtern</b>.</translation>
|
||||
<translation>Geben Sie die neue Passphrase für die Brieftasche ein.<br>Bitte benutzen Sie eine Passphrase bestehend aus <b>zehn oder mehr zufälligen Zeichen</b> oder <b>acht oder mehr Wörtern</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
@@ -141,7 +141,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Dieser Vorgang benötigt ihre Passphrase, um die Wallet zu entsperren.</translation>
|
||||
<translation>Dieser Vorgang benötigt ihre Passphrase, um die Brieftasche zu entsperren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
@@ -149,11 +149,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Dieser Vorgang benötigt Ihre Passphrase, um die Wallet zu entschlüsseln.</translation>
|
||||
<translation>Dieser Vorgang benötigt Ihre Passphrase, um die Brieftasche zu entschlüsseln.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Wallet entschlüsseln</translation>
|
||||
<translation>Brieftasche entschlüsseln</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
@@ -161,39 +161,39 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>Geben Sie die alte und neue Wallet-Passphrase ein.</translation>
|
||||
<translation>Geben Sie die alte und neue Brieftschen-Passphrase ein.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Wallet-Verschlüsselung bestätigen</translation>
|
||||
<translation>Brieftaschen-Verschlüsselung bestätigen</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>Warnung: Wenn Sie Ihre Wallet verschlüsseln und Ihre Passphrase verlieren, werden Sie <b>alle Ihre Bitcoins verlieren</b>!</translation>
|
||||
<translation>Warnung: Wenn Sie Ihre Brieftasche verschlüsseln und Ihre Passphrase verlieren, werden Sie <b>alle Ihre Bitcoins verlieren</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>Sind Sie sich sicher, dass Sie Ihre Wallet verschlüsseln möchten?</translation>
|
||||
<translation>Sind Sie sich sicher, dass Sie Ihre Brieftasche verschlüsseln möchten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Wallet verschlüsselt</translation>
|
||||
<translation>Brieftasche verschlüsselt</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 wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Wallet-Verschlüsselung nicht vollständig vor Diebstahl Ihrer Bitcoins durch Schadprogramme schützt, die Ihren Computer befällt.</translation>
|
||||
<translation>%1 wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Brieftaschen-Verschlüsselung nicht vollständig vor Diebstahl Ihrer Bitcoins durch Schadprogramme schützt, die Ihren Computer befällt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>WICHTIG: Alle vorherigen Wallet-Sicherungen sollten durch die neu erzeugte, verschlüsselte Wallet ersetzt werden. Aus Sicherheitsgründen werden vorherige Sicherungen der unverschlüsselten Wallet nutzlos, sobald Sie die neue, verschlüsselte Wallet verwenden.</translation>
|
||||
<translation>WICHTIG: Alle vorherigen Brieftaschen-Sicherungen sollten durch die neu erzeugte, verschlüsselte Brieftasche ersetzt werden. Aus Sicherheitsgründen werden vorherige Sicherungen der unverschlüsselten Brieftasche nutzlos, sobald Sie die neue, verschlüsselte Brieftasche verwenden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>Wallet-Verschlüsselung fehlgeschlagen</translation>
|
||||
<translation>Brieftaschen-Verschlüsselung fehlgeschlagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
|
||||
<translation>Die Wallet-Verschlüsselung ist aufgrund eines internen Fehlers fehlgeschlagen. Ihre Wallet wurde nicht verschlüsselt.</translation>
|
||||
<translation>Die Brieftaschen-Verschlüsselung ist aufgrund eines internen Fehlers fehlgeschlagen. Ihre Brieftasche wurde nicht verschlüsselt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
@@ -201,19 +201,19 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>Wallet-Entsperrung fehlgeschlagen</translation>
|
||||
<translation>Brieftaschen-Entsperrung fehlgeschlagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>Die eingegebene Passphrase zur Wallet-Entschlüsselung war nicht korrekt.</translation>
|
||||
<translation>Die eingegebene Passphrase zur Brieftaschen-Entschlüsselung war nicht korrekt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>Wallet-Entschlüsselung fehlgeschlagen</translation>
|
||||
<translation>Brieftaschen-Entschlüsselung fehlgeschlagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>Die Wallet-Passphrase wurde erfolgreich geändert.</translation>
|
||||
<translation>Die Brieftaschen-Passphrase wurde erfolgreich geändert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
@@ -439,7 +439,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>Reindiziere Blöcke auf Datenträger...</translation>
|
||||
<translation>Indiziere Blöcke auf Datenträger...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Processing blocks on disk...</source>
|
||||
@@ -636,7 +636,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Transaktionskennung kopieren</translation>
|
||||
<translation>Transaktions-ID kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock unspent</source>
|
||||
@@ -660,7 +660,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Byte kopieren</translation>
|
||||
<translation>Bytes kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy dust</source>
|
||||
@@ -751,7 +751,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Wallet konnte nicht entsperrt werden.</translation>
|
||||
<translation>Brieftasche konnte nicht entsperrt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New key generation failed.</source>
|
||||
@@ -817,7 +817,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Set language, for example "de_DE" (default: system locale)</source>
|
||||
<translation>Sprache einstellen, zum Beispiel "de_DE" (default: system locale)</translation>
|
||||
<translation>Sprache einstellen, zum Beispiel "de_DE" (Standard: Systemgebietsschema)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start minimized</source>
|
||||
@@ -825,7 +825,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Set SSL root certificates for payment request (default: -system-)</source>
|
||||
<translation>SSL-Wurzelzertifikate für Zahlungsanforderungen festlegen (Standard: -system-)</translation>
|
||||
<translation>SSL-Wurzelzertifikate für Zahlungsanforderungen festlegen (Standard: Systemstandard)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show splash screen on startup (default: %u)</source>
|
||||
@@ -885,6 +885,14 @@
|
||||
<source>Form</source>
|
||||
<translation>Formular</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
|
||||
<translation>Neueste Transaktionen werden eventuell noch nicht angezeigt, daher könnte Ihr Kontostand veraltet sein. Er wird korrigiert, sobald Ihr Wallet die Synchronisation mit dem Bitcoin-Netzwerk erfolgreich abgeschlossen. Details dazu finden sich weiter unten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
|
||||
<translation>Versuche, Bitcoins aus noch nicht angezeigten Transaktionen auszugeben, werden vom Netzwerk nicht akzeptiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Anzahl verbleibender Blöcke</translation>
|
||||
@@ -2200,6 +2208,10 @@
|
||||
<source>Confirm custom change address</source>
|
||||
<translation>Bestätige benutzerdefinierte Wechselgeld-Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</source>
|
||||
<translation>Die ausgewählte Wechselgeld-Adresse ist nicht Bestandteil dieses Wallets. Einige oder alle Mittel aus Ihrem Wallet könnten an diese Adresse gesendet werden. Wollen Sie das wirklich?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(keine Bezeichnung)</translation>
|
||||
@@ -2997,6 +3009,10 @@
|
||||
<source>Accept connections from outside (default: 1 if no -proxy or -connect/-noconnect)</source>
|
||||
<translation>Eingehende Verbindungen annehmen (Standard: 1, wenn nicht -proxy oder -connect/-noconnect)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -noconnect or -connect=0 alone to disable automatic connections</source>
|
||||
<translation>Verbindungen nur zu spezifizierten Node(s); verwenden Sie -noconnect oder -connect=0 alleine um automatische Verbindungen zu deaktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
|
||||
<translation>Veröffentlicht unter der MIT-Softwarelizenz, siehe beiligende Datei %s oder %s.</translation>
|
||||
@@ -3073,6 +3089,14 @@
|
||||
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
|
||||
<translation>Befehl ausführen wenn sich eine Wallet-Transaktion verändert (%s im Befehl wird durch die Transaktions-ID ersetzt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extra transactions to keep in memory for compact block reconstructions (default: %u)</source>
|
||||
<translation>Zusätzliche Transaktionen für kompakten Block-Nachbau im Speicher vorhalten (default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>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: %s, testnet: %s)</source>
|
||||
<translation>Sofern dieser Block Bestandteil der Blockchain ist, nehme an das er und seine Vorgänger gültig sind und überspringe ggf. dessen Skriptverifikation (0 um alle zu verifizieren, default: %s, testnet: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
|
||||
<translation>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</translation>
|
||||
@@ -3089,6 +3113,14 @@
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Wenn sie %s nützlich finden, sind Helfer sehr gern gesehen. Besuchen Sie %s um mehr über das Softwareprojekt zu erfahren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u = automatically prune block files to stay under the specified target size in MiB)</source>
|
||||
<translation>Speicherplatzanforderung durch Kürzen (Pruning) alter Blöcke reduzieren. Dies erlaubt das Aufrufen des sogenannten Pruneblockchain RPC zum Löschen spezifischer Blöcke und und aktiviert das automatische Pruning alter Blöcke, sofern eine Zielgröße in MIB angegeben wird. Dieser Modus ist nicht mit -txindex und -resacan kompatibel. Warnung: Das Rücksetzen dieser Einstellung erfordert das erneute Herunterladen der gesamten Blockchain. (Standard: 0 = deaktiviert das Pruning, 1 = erlaubt manuelles Pruning via RPC, >%u = automatisches Pruning der Blockdateien, um angegebene Maximalgröße nicht zu überschreiten)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
<translation>Niedrigste Gebühr (in %s/kB) für Transaktionen einstellen, die bei der Blockerzeugung berücksichtigt werden sollen. (default: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source>
|
||||
<translation>Maximale Anzahl an Skript-Verifizierungs-Threads festlegen (%u bis %d, 0 = automatisch, <0 = so viele Kerne frei lassen, Standard: %d)</translation>
|
||||
@@ -3113,6 +3145,10 @@
|
||||
<source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This option can be specified multiple times</source>
|
||||
<translation>Benutzername und gehashtes Passwort für JSON-RPC Verbindungen. Das Feld <userpw> kommt im Format: <USERNAME>:<SALT>$<HASH>. Ein kanonisches Pythonskript ist in share/rpcuser inbegriffen. Der client benutzt wie gehabt, die rpcuser/rpcpassword Parameter. Diese Option kann mehrere Male spezifiziert werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet will not create transactions that violate mempool chain limits (default: %u)</source>
|
||||
<translation>Das Wallet erzeugt keine Transaktionen, die das Mempool Chain Limit überschreiten (Standardeinstellung: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
|
||||
<translation>Warnung: Das Netzwerk scheint nicht vollständig übereinzustimmen! Einige Miner scheinen Probleme zu haben.</translation>
|
||||
@@ -3153,6 +3189,10 @@
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation>Kann Adresse in -%s nicht auflösen: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chain selection options:</source>
|
||||
<translation>Chain Auswahloptionen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change index out of range</source>
|
||||
<translation>Position des Wechselgelds außerhalb des Bereichs</translation>
|
||||
@@ -3645,6 +3685,10 @@
|
||||
<source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect/-noconnect)</source>
|
||||
<translation>Adressen von Gegenstellen via DNS-Namensauflösung finden, falls zu wenige Adressen verfügbar sind (Standard: 1, außer bei -connect/-noconnect)</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>Setzt die Serialisierung von Rohtransaktionen oder Block Hex-Daten auf non-verbose mode, nicht-Segwit(0) oder Segwit(1) (default: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Support filtering of blocks and transaction with bloom filters (default: %u)</source>
|
||||
<translation>Unterstütze Blöcke und Transaktionen mit Bloomfiltern zu filtern (default: %u)</translation>
|
||||
@@ -3705,6 +3749,10 @@
|
||||
<source>Invalid -proxy address: '%s'</source>
|
||||
<translation>Ungültige Adresse in -proxy: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Der Keypool ist erschöpft. Bitte rufen Sie zunächst keypoolrefill auf.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source>
|
||||
<translation><port> nach JSON-RPC-Verbindungen abhören (Standard: %u oder Testnetz: %u)</translation>
|
||||
@@ -3773,6 +3821,14 @@
|
||||
<source>Spend unconfirmed change when sending transactions (default: %u)</source>
|
||||
<translation>Unbestätigtes Wechselgeld darf beim Senden von Transaktionen ausgegeben werden (Standard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Netzwerk-Threads werden gestartet...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will avoid paying less than the minimum relay fee.</source>
|
||||
<translation>Das Wallet verhindert Zahlungen, die die Mindesttransaktionsgebühr nicht berücksichtigen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the minimum transaction fee you pay on every transaction.</source>
|
||||
<translation>Dies ist die minimale Gebühr die beim Senden einer Transaktion fällig wird.</translation>
|
||||
@@ -3789,6 +3845,14 @@
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
<translation>Transaktionsbeträge dürfen nicht negativ sein.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction has too long of a mempool chain</source>
|
||||
<translation>Die Speicherpoolkette der Transaktion ist zu lang.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>Die Transaktion muss mindestens einen Empfänger enthalten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown network specified in -onlynet: '%s'</source>
|
||||
<translation>Unbekannter Netztyp in -onlynet angegeben: '%s'</translation>
|
||||
|
||||
@@ -41,10 +41,58 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Διαγραφή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Επιλέξτε διεύθυνση αποστολής των νομισμάτων σας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Επιλέξτε διεύθυνση παραλαβής νομισμάτων</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Διευθύνσεις αποστολής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Διευθύνσεις λήψης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Αντιγραφή Διεύθυνσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Αντιγραφή&Ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Διόρθωση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Εξαγωγή Λίστας Διεύθυνσεων</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Αποτυχία Εξαγωγής</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Διεύθυνση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(χωρίς ετικέτα)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -63,6 +111,18 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Επανέλαβε τον νέο κωδικό πρόσβασης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Ξεκλειδωσε το πορτοφολι</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Αλλάξτε Φράση Πρόσβασης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>Το Ξεκλείδωμα του Πορτοφολιού Απέτυχε</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
@@ -394,6 +454,26 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Επικυρωμένες</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Αντιγραφή διεύθυνσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Αντιγραφή ετικέτας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Αντιγραφή ποσού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Αντιγραφή ταυτότητας συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(χωρίς ετικέτα)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -417,6 +497,18 @@
|
||||
<source>&Address</source>
|
||||
<translation>&Διεύθυνση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New receiving address</source>
|
||||
<translation>Νέα Διεύθυνση Λήψης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New sending address</source>
|
||||
<translation>Νέα Διεύθυνση Αποστολής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit receiving address</source>
|
||||
<translation>Διόρθωση Διεύθυνσης Λήψης</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
@@ -1064,7 +1156,15 @@
|
||||
<source>Remove</source>
|
||||
<translation>Αφαίρεση</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Αντιγραφή ετικέτας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Αντιγραφή ποσού</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
@@ -1083,9 +1183,29 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Αποθήκευση εικόνας...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Διεύθυνση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Ετικέτα</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Ημερομήνια</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(χωρίς ετικέτα)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1209,7 +1329,15 @@
|
||||
<source>S&end</source>
|
||||
<translation>Αποστολη</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Αντιγραφή ποσού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(χωρίς ετικέτα)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1374,6 +1502,70 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Ανοιχτό μέχρι %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1/offline</source>
|
||||
<translation>%1/αποσυνδεδεμένο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>0/unconfirmed, %1</source>
|
||||
<translation>0/ανεπιβεβαίωτο, %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Ημερομηνία</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source</source>
|
||||
<translation>Πηγή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generated</source>
|
||||
<translation>Παράχθηκε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From</source>
|
||||
<translation>Από</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>Άγνωστο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To</source>
|
||||
<translation>Προς</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation>δική σας διεύθυνση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>παρακολούθηση-μόνο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>label</source>
|
||||
<translation>ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Credit</source>
|
||||
<translation>Πίστωση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>μη έγκυρο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total credit</source>
|
||||
<translation>Συνολική πίστωση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction fee</source>
|
||||
<translation>Κόστος συναλλαγής</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
@@ -1384,9 +1576,69 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Ημερομήνια</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Ανοιχτό μέχρι %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>παρακολούθηση-μόνο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(χωρίς ετικέτα)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Αντιγραφή διεύθυνσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Αντιγραφή ετικέτας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Αντιγραφή ποσού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Αντιγραφή ταυτότητας συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy raw transaction</source>
|
||||
<translation>Αντιγραφή ανεπεξέργαστης συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit label</source>
|
||||
<translation>Επεξεργασία ετικέτας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Ημερομήνια</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Ετικέτα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Διεύθυνση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Αποτυχία Εξαγωγής</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -304,12 +304,12 @@
|
||||
<translation>Sign &message...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+427"/>
|
||||
<location line="+429"/>
|
||||
<source>Synchronizing with network...</source>
|
||||
<translation>Synchronizing with network...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-505"/>
|
||||
<location line="-507"/>
|
||||
<source>&Overview</source>
|
||||
<translation>&Overview</translation>
|
||||
</message>
|
||||
@@ -404,7 +404,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+357"/>
|
||||
<location line="+359"/>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -429,7 +429,7 @@
|
||||
<translation>Reindexing blocks on disk...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-508"/>
|
||||
<location line="-510"/>
|
||||
<source>Send coins to a Bitcoin address</source>
|
||||
<translation>Send coins to a Bitcoin address</translation>
|
||||
</message>
|
||||
@@ -459,12 +459,12 @@
|
||||
<translation>&Verify message...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+514"/>
|
||||
<location line="+516"/>
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-739"/>
|
||||
<location line="-741"/>
|
||||
<source>Wallet</source>
|
||||
<translation>Wallet</translation>
|
||||
</message>
|
||||
@@ -549,7 +549,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location line="+354"/>
|
||||
<location line="+356"/>
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation>
|
||||
<numerusform>%n active connection to Bitcoin network</numerusform>
|
||||
@@ -610,12 +610,12 @@
|
||||
<translation>Up to date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-438"/>
|
||||
<location line="-440"/>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+197"/>
|
||||
<location line="+199"/>
|
||||
<source>%1 client</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -849,7 +849,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+183"/>
|
||||
<location line="+181"/>
|
||||
<source>yes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1499,7 +1499,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+25"/>
|
||||
<location line="+28"/>
|
||||
<source>The supplied proxy address is invalid.</source>
|
||||
<translation>The supplied proxy address is invalid.</translation>
|
||||
</message>
|
||||
@@ -1601,7 +1601,7 @@
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
<location filename="../paymentserver.cpp" line="+328"/>
|
||||
<location filename="../paymentserver.cpp" line="+326"/>
|
||||
<location line="+216"/>
|
||||
<location line="+42"/>
|
||||
<location line="+113"/>
|
||||
@@ -1760,7 +1760,7 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+759"/>
|
||||
<location line="+762"/>
|
||||
<source>%1 d</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -2030,7 +2030,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location line="+60"/>
|
||||
<location filename="../rpcconsole.cpp" line="+456"/>
|
||||
<location filename="../rpcconsole.cpp" line="+460"/>
|
||||
<location line="+719"/>
|
||||
<source>Select a peer to view detailed information.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
||||
@@ -41,10 +41,78 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Forigi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Elekti la adreson por sendi monerojn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Elekti la adreson ricevi monerojn kun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>&Elekti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Sendaj adresoj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Ricevaj adresoj</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>Jen viaj Bitmon-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson antaŭ ol sendi.</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>Jen viaj bitmonaj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ĉiu transakcio.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopii Adreson</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Kopii &Etikedon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Redakti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Eksporti Adresliston</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Perkome disigita dosiero (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>ekspotado malsukcesinta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Okazis eraron dum konservo de adreslisto al %1. Bonvolu provi denove.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etikedo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(neniu etikedo)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -386,6 +454,10 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Konfirmita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(neniu etikedo)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -934,9 +1006,25 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Konservi Bildon...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etikedo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etikedo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(neniu etikedo)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1016,7 +1104,11 @@
|
||||
<source>S&end</source>
|
||||
<translation>Ŝendi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(neniu etikedo)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1179,9 +1271,33 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etikedo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(neniu etikedo)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Perkome disigita dosiero (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etikedo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>ekspotado malsukcesinta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -485,6 +485,10 @@
|
||||
<source>%1 client</source>
|
||||
<translation>%1 cliente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers...</source>
|
||||
<translation>Conectando a pares...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Actualizando...</translation>
|
||||
@@ -891,7 +895,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Número de bloques dejados</translation>
|
||||
<translation>Número de bloques restantes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
@@ -1722,7 +1726,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 ramification of a command.</source>
|
||||
<translation>ADVERTENCIA: Los estafadores han sido activados, diciéndoles a los usuarios que escriban comandos aquí, robando el contenido de sus monederos. No utilice esta consola sin entender completamente la repercusión de un comando.</translation>
|
||||
<translation>ADVERTENCIA: Hay estafadores activos diciendo a los usuarios que escriban comandos aquí y robando el contenido de sus monederos. No utilice esta consola sin entender completamente la repercusión de un comando.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled</source>
|
||||
@@ -2473,6 +2477,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Abrir para %n bloque más</numerusform><numerusform>Abrir para %n bloques más</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Abierto hasta %1</translation>
|
||||
@@ -2517,6 +2525,10 @@
|
||||
<source>, has not been successfully broadcast yet</source>
|
||||
<translation>, no ha sido emitido con éxito aún</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>, broadcast through %n node(s)</source>
|
||||
<translation><numerusform>, transmitir a través de %n nodo</numerusform><numerusform>, transmitir a través de %n nodos</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Fecha</translation>
|
||||
@@ -2557,6 +2569,10 @@
|
||||
<source>Credit</source>
|
||||
<translation>Credito</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>matures in %n more block(s)</source>
|
||||
<translation><numerusform>disponible en %n bloque más</numerusform><numerusform>disponible en %n bloques más</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>no aceptada</translation>
|
||||
@@ -2593,6 +2609,10 @@
|
||||
<source>Transaction ID</source>
|
||||
<translation>Identificador de transacción (ID)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction total size</source>
|
||||
<translation>Tamaño total de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output index</source>
|
||||
<translation>Indice de salida</translation>
|
||||
@@ -2655,6 +2675,10 @@
|
||||
<source>Label</source>
|
||||
<translation>Etiqueta</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Abrir para %n bloque más</numerusform><numerusform>Abrir para %n bloques más</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Abierto hasta %1</translation>
|
||||
@@ -2987,6 +3011,18 @@
|
||||
<translation>Aceptar comandos consola y JSON-RPC
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside (default: 1 if no -proxy or -connect/-noconnect)</source>
|
||||
<translation>Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect/-desconectar)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -noconnect or -connect=0 alone to disable automatic connections</source>
|
||||
<translation>Conectar sólo al nodo(s) especificado; -no conectar or -conectar=solo 0 para deshabilitar conexiones automáticas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
|
||||
<translation>Distribuido bajo la licencia de software MIT, vea el archivo adjunto %s o %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If <category> is not supplied or if <category> = 1, output all debugging information.</source>
|
||||
<translation>Si <category> no es proporcionado o si <category> =1, muestra toda la información de depuración.</translation>
|
||||
@@ -3064,6 +3100,14 @@
|
||||
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
|
||||
<translation>Ejecutar comando cuando una transacción del monedero cambia (%s en cmd se remplazará por TxID)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extra transactions to keep in memory for compact block reconstructions (default: %u)</source>
|
||||
<translation>Transacciones extra a mantener en la memoria para reconstrucciones de bloque compacto (predeterminado: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>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: %s, testnet: %s)</source>
|
||||
<translation>Si este bloque está en la cadena asuma que sus predecesores y él son válidos y potencialmente se saltan su script de verificación (0 para verificar todo, predeterminado: %s, testnet: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
|
||||
<translation>Ajuste máximo permitido del tiempo offset medio de pares. La perspectiva local de tiempo se verá influenciada por los pares anteriores y posteriores a esta cantidad. (Por defecto: %u segundos)</translation>
|
||||
@@ -3080,6 +3124,14 @@
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Contribuya si encuentra %s de utilidad. Visite %s para mas información acerca del programa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u = automatically prune block files to stay under the specified target size in MiB)</source>
|
||||
<translation>Reducir los requerimientos de almacenamiento habilitando la poda (eliminación) de los bloques viejos. Esto permite que la cadena de bloqueo RPC sea llamada para eliminar bloques específicos, y habilita la poda automática de bloques viejos si se provee el tamaño de un objetivo en MiB. Este modo es incompatible con -txindex and -rescan. Precaución: Revertir este ajuste requiere volver a descargar la cadena de bloqueo completa. (predefinido: 0 = deshabilita bloques de poda, 1 = permite la poda manual mediante RPC, >%u = elimina automáticamente los archivos de bloqueo para permanecer bajo el tamaño del objetivo especificado en MiB)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
<translation>Establecer la tasa más baja (en %s/kB) por transacciones para incluirse en la creación de bloque. (predeterminado: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source>
|
||||
<translation>Establecer el número de hilos (threads) de verificación de scripts (entre %u y %d, 0 = automático, <0 = dejar libres ese número de núcleos; predeterminado: %d)</translation>
|
||||
@@ -3088,6 +3140,10 @@
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>La base de datos de bloques contiene un bloque que parece ser del futuro. Esto puede ser porque la fecha y hora de tu ordenador están mal ajustados. Reconstruye la base de datos de bloques solo si estas seguro de que la fecha y hora de tu ordenador estan ajustados correctamente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
|
||||
<translation>Esta es una versión de prueba prelanzada - utilícelo a su propio riesgo - no lo utilice para aplicaciones de minería o comerciales</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
|
||||
<translation>No es posible reconstruir la base de datos a un estado anterior. Debe descargar de nuevo la cadena de bloques.</translation>
|
||||
@@ -3096,6 +3152,22 @@
|
||||
<source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source>
|
||||
<translation>Utiliza UPnP para asignar el puerto de escucha (predeterminado: 1 cuando esta escuchando sin -proxy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This option can be specified multiple times</source>
|
||||
<translation>Nombre de usuario y contraseña numerada para conexiones JSON-RPC. El campo <userpw> viene en el formato: <USERNAME>:<SALT>$<HASH>. Un script canónico de python está incluído en compartir/usuario rpc. Entonces el cliente se conecta normalmente utilizando la pareja de argumentos usuario rpc=<USERNAME>/contraseña rpc=<PASSWORD>. Esta opción puede ser especificada múltiples veces</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet will not create transactions that violate mempool chain limits (default: %u)</source>
|
||||
<translation>El monedero no creará transacciones que violen los límites de la cadena mempool (predeterminado: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
|
||||
<translation>Advertencia: ¡La red no parece coincidir del todo! Algunos mineros parecen estar experimentando problemas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source>
|
||||
<translation>Advertencia: ¡No parecemos estar del todo con nuestros pares! Puede que necesite actualizarse, o puede que otros nodos necesiten actualizarse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex-chainstate to change -txindex</source>
|
||||
<translation>Necesita reconstruir la base de datos usando -reindex-chainstate para cambiar -txindex</translation>
|
||||
@@ -3128,6 +3200,10 @@
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation>No se puede resolver -%s direccion: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chain selection options:</source>
|
||||
<translation>Opciones de selección en cadena:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change index out of range</source>
|
||||
<translation>Cambio de indice fuera de rango</translation>
|
||||
@@ -3324,6 +3400,10 @@
|
||||
<source>Use UPnP to map the listening port (default: %u)</source>
|
||||
<translation>Usar UPnP para asignar el puerto de escucha (predeterminado:: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use the test chain</source>
|
||||
<translation>Utilice la cadena de prueba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent comment (%s) contains unsafe characters.</source>
|
||||
<translation>El comentario del Agente de Usuario (%s) contiene caracteres inseguros.</translation>
|
||||
@@ -3618,6 +3698,10 @@
|
||||
<source>Output debugging information (default: %u, supplying <category> is optional)</source>
|
||||
<translation>Mostrar depuración (por defecto: %u, proporcionar <category> es opcional)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect/-noconnect)</source>
|
||||
<translation>Preguntar por direcciones pares al buscar DNS, si baja en las direcciones (predeterminado: 1 a menos que -connect/-noconnect)</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>https://www.transifex.com/joyful-world/breaking-english/
|
||||
@@ -3627,6 +3711,14 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
|
||||
<source>Support filtering of blocks and transaction with bloom filters (default: %u)</source>
|
||||
<translation>Admite filtrado de bloques, y transacciones con filtros Bloom. Reduce la carga de red. ( por defecto :%u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
|
||||
<translation>Esta es la tarifa de cuota que debe pagar cuando las estimaciones de tarifas no estén disponibles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit %s and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
|
||||
<translation>Este producto incluye software desarrollado por el Proyecto OpenSSL para utilizarlo en el juego de herramientas OpenSSL %s y software criptográfico escrito por Eric Young y software UPnP escrito por Thomas Bernard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
|
||||
<translation>La longitud total de la cadena de versión de red ( %i ) supera la longitud máxima ( %i ) . Reducir el número o tamaño de uacomments .</translation>
|
||||
@@ -3659,6 +3751,10 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
|
||||
<source>Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple times.</source>
|
||||
<translation>Los pares de listas blancas que se conectan desde la dirección IP dada (por ejemplo, 1.2.3.4) o la red marcada CIDR (por ejemplo, 1.2.3.0/24). Se puede especificar varias veces.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s is set very high!</source>
|
||||
<translation>¡%s se establece muy alto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(default: %s)</source>
|
||||
<translation>(predeterminado: %s)</translation>
|
||||
@@ -3679,6 +3775,10 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
|
||||
<source>Invalid -proxy address: '%s'</source>
|
||||
<translation>Dirección -proxy inválida: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Keypool se ha agotado, llame a keypoolrefill primero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source>
|
||||
<translation>Escuchar conexiones JSON-RPC en <puerto> (predeterminado: %u o testnet: %u)</translation>
|
||||
@@ -3715,6 +3815,10 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
|
||||
<source>Relay non-P2SH multisig (default: %u)</source>
|
||||
<translation>Relay non-P2SH multisig (default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (default: %u)</source>
|
||||
<translation>Enviar transacciones con full-RBF opt-in habilitado (predeterminado: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set key pool size to <n> (default: %u)</source>
|
||||
<translation>Ajustar el número de claves en reserva <n> (predeterminado: %u)</translation>
|
||||
@@ -3747,10 +3851,34 @@ Establecer la serialización de las transacciones sin procesar o el bloque hex d
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Iniciando funciones de red...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will avoid paying less than the minimum relay fee.</source>
|
||||
<translation>El monedero evitará pagar menos que la cuota de retransmisión mínima.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the minimum transaction fee you pay on every transaction.</source>
|
||||
<translation>Esta es la tarifa mínima de transacción que usted paga en cada transacción.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you will pay if you send a transaction.</source>
|
||||
<translation>Esta es la cuota de transacción que pagará si envía una transacción.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Threshold for disconnecting misbehaving peers (default: %u)</source>
|
||||
<translation>Umbral para la desconexión de pares con mal comportamiento (predeterminado: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
<translation>Las cantidades de transacción no deben ser negativa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction has too long of a mempool chain</source>
|
||||
<translation>La transacción tiene demasiado tiempo de una cadena de mempool</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>La transacción debe de tener al menos un receptor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown network specified in -onlynet: '%s'</source>
|
||||
<translation>La red especificada en -onlynet '%s' es desconocida</translation>
|
||||
|
||||
@@ -317,6 +317,22 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Abrir &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Haz click para desactivar la actividad de red.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Actividad de red desactivada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Haz click para reactivar la actividad de red.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)...</source>
|
||||
<translation>Sincronizando cabeceras (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Reindexando bloques en disco...</translation>
|
||||
@@ -519,7 +535,11 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>El monedero está <b>cifrado</b> y actualmente <b>bloqueado</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
|
||||
<translation>Ha ocurrido un error fatal. Bitcoin no puede continuar de manera segura y se cerrará.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -853,15 +873,43 @@
|
||||
<source>Form</source>
|
||||
<translation>Formulario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Número de bloques restantes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Desconocido...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Hora del último bloque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Progreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress increase per hour</source>
|
||||
<translation>Incremento del progreso por hora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>calculando...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Estimated time left until synced</source>
|
||||
<translation>Tiempo estimado restante hasta sincronización completa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Ocultar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1)...</source>
|
||||
<translation>Desconocido. Sincronizando cabeceras (%1)...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
@@ -1296,6 +1344,10 @@
|
||||
<source>Node/Service</source>
|
||||
<translation>Nodo/Servicio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NodeId</source>
|
||||
<translation>NodeId</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
@@ -1339,9 +1391,17 @@
|
||||
<source>%1 and %2</source>
|
||||
<translation>%1 y %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation>%1 aún no ha salido de manera segura...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject::QObject</name>
|
||||
<message>
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
<translation>Error: directorio especificado "%1" no existe.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
@@ -1936,6 +1996,10 @@
|
||||
<source>Dust:</source>
|
||||
<translation>Polvo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Tiempo objetivo de confirmación:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>Vaciar &todo</translation>
|
||||
@@ -3482,6 +3546,10 @@
|
||||
<source>Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup.</source>
|
||||
<translation>Aviso: fichero de monedero corrupto, datos recuperados! Original %s guardado como %s en %s; si su balance de transacciones es incorrecto, debe restaurar desde una copia de seguridad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s es demasiado alto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(default: %s)</source>
|
||||
<translation>(predeterminado: %s)</translation>
|
||||
@@ -3538,6 +3606,10 @@
|
||||
<source>Relay non-P2SH multisig (default: %u)</source>
|
||||
<translation>Relay non-P2SH multisig (default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (default: %u)</source>
|
||||
<translation>Enviar transaciones con RBF-completo opt-in activado (default: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set key pool size to <n> (default: %u)</source>
|
||||
<translation>Ajustar el número de claves en reserva <n> (predeterminado: %u)</translation>
|
||||
|
||||
@@ -87,6 +87,10 @@
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
<translation>Sisestatud paroolid ei kattu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>Rahakoti lahtilukustamine ebaõnnestus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>Rahakoti dekrüpteerimine ebaõnnestus</translation>
|
||||
@@ -109,6 +113,14 @@
|
||||
<source>&Overview</source>
|
||||
<translation>&Ülevaade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit application</source>
|
||||
<translation>Välju rakendusest</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Options...</source>
|
||||
<translation>&Valikud...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URI...</source>
|
||||
<translation>Ava &URI...</translation>
|
||||
@@ -125,14 +137,30 @@
|
||||
<source>Wallet</source>
|
||||
<translation>Rahakott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Send</source>
|
||||
<translation>&Saada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Show / Hide</source>
|
||||
<translation>&Näita / Peida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>&Fail</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>&Seaded</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
<translation>&Abi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Command-line options</source>
|
||||
<translation>&Käsurea valikud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>%1 ajast maas</translation>
|
||||
@@ -203,6 +231,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
<source>&Address</source>
|
||||
<translation>&Aadress</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New key generation failed.</source>
|
||||
<translation>Uue võtme genereerimine ebaõnnestus.</translation>
|
||||
|
||||
@@ -61,6 +61,14 @@
|
||||
<source>Receiving addresses</source>
|
||||
<translation>آدرس های گیرنده</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>اینها آدرس های شما برای فرستادن پرداخت هاست. همیشه قبل از فرستادن سکه ها مقدار و آدرس دریافت کننده را چک کنید.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>کپی کردن آدرس</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>کپی و برچسب&گذاری</translation>
|
||||
@@ -69,6 +77,14 @@
|
||||
<source>&Edit</source>
|
||||
<translation>&ویرایش</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>صدور لیست آدرس ها</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>صدور موفق نبود</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
@@ -107,14 +123,30 @@
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>رمزنگاری کیف پول</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>این عملیات نیاز به عبارت کیف پول شما برای بازگشایی کیف پول دارد</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>باز کردن قفل کیف پول</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>این عملیات نیاز به عبارت کیف پول شما برای رمزگشایی کیف پول دارد.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>رمزگشایی کیف پول</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>تغییر گذرواژه</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>عبارت کهنه و جدید کیف پول را وارد کنید.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>تأیید رمزنگاری کیف پول</translation>
|
||||
@@ -249,6 +281,18 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>باز کردن &آدرس</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>برای غیر فعال کردن فعالیت شبکه کلیک کنید.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>فعالیت شبکه غیر فعال شد.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>برای فعال کردن دوباره فعالیت شبکه کلیک کنید.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>بازنشانی بلوکها روی دیسک...</translation>
|
||||
@@ -506,6 +550,10 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>تأیید شده</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>کپی ادرس</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>کپی برچسب</translation>
|
||||
@@ -530,6 +578,18 @@
|
||||
<source>Copy quantity</source>
|
||||
<translation>کپی تعداد</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>رونوشت کارمزد</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>کپی کردن بایت ها</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>کپی کردن تغییر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(%1 locked)</source>
|
||||
<translation>(%1 قفل شده)</translation>
|
||||
@@ -697,10 +757,30 @@
|
||||
<source>Form</source>
|
||||
<translation>فرم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>مشخص نیست</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>زمان آخرین بلوک</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>پیشروی</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress increase per hour</source>
|
||||
<translation>پیشروی در هر ساعت بیشتر میشود</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>در حال محاسبه...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Estimated time left until synced</source>
|
||||
<translation>زمان تخمینی تا سینک شدن</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>پنهان کردن</translation>
|
||||
@@ -921,6 +1001,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
<source>Invalid payment request.</source>
|
||||
<translation>درخواست پرداخت نامعتبر.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
@@ -1084,6 +1168,10 @@
|
||||
<source>In:</source>
|
||||
<translation>در:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Out:</source>
|
||||
<translation>خروجی:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug log file</source>
|
||||
<translation>فایلِ لاگِ اشکال زدایی</translation>
|
||||
@@ -1092,6 +1180,26 @@
|
||||
<source>Clear console</source>
|
||||
<translation>پاکسازی کنسول</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &hour</source>
|
||||
<translation>1 ساعت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &day</source>
|
||||
<translation>1 روز</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &week</source>
|
||||
<translation>1 هفته</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &year</source>
|
||||
<translation>1 سال</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ban for</source>
|
||||
<translation>محدود شده برای</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source>
|
||||
<translation>دکمههای بالا و پایین برای پیمایش تاریخچه و <b>Ctrl-L</b> برای پاک کردن صفحه.</translation>
|
||||
@@ -1328,6 +1436,18 @@
|
||||
<source>Copy amount</source>
|
||||
<translation>کپی مقدار</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>رونوشت کارمزد</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>کپی کردن بایت ها</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>کپی کردن تغییر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(بدون برچسب)</translation>
|
||||
@@ -1514,6 +1634,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>کپی ادرس</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>کپی برچسب</translation>
|
||||
@@ -1534,6 +1658,10 @@
|
||||
<source>Address</source>
|
||||
<translation>آدرس</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>صدور موفق نبود</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -887,7 +887,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
|
||||
<translation>Les transactions récentes ne sont peut-être pas encore visibles, et par conséquent, le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste une fois que votre porte-monnaie aura fini de se synchroniser avec le réseau Bitcoin, tel que décrit ci-dessous. </translation>
|
||||
<translation>Les transactions récentes ne sont peut-être pas encore visibles, et par conséquent, le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste une fois que votre porte-monnaie aura fini de se synchroniser avec le réseau Bitcoin, comme décrit ci-dessous. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
|
||||
@@ -903,7 +903,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Horodatage du dernier bloc</translation>
|
||||
<translation>Estampille temporelle du dernier bloc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
@@ -1366,7 +1366,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>NodeId</source>
|
||||
<translation>NodeId</translation>
|
||||
<translation>ID de nœud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ping</source>
|
||||
@@ -1646,7 +1646,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Horodatage du dernier bloc</translation>
|
||||
<translation>Estampille temporelle du dernier bloc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Open</source>
|
||||
@@ -2178,7 +2178,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction was rejected with the following reason: %1</source>
|
||||
<translation>La transaction a été rejetée pour la raison suivante: %1</translation>
|
||||
<translation>La transaction a été rejetée pour la raison suivante : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fee higher than %1 is considered an absurdly high fee.</source>
|
||||
@@ -3795,7 +3795,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Prepend debug output with timestamp (default: %u)</source>
|
||||
<translation>Ajouter l'horodatage au début de la sortie de débogage (par défaut : %u)</translation>
|
||||
<translation>Ajouter l'estampille temporelle au début de la sortie de débogage (par défaut : %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Relay and mine data carrier transactions (default: %u)</source>
|
||||
|
||||
@@ -41,10 +41,46 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>C&oisir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Copier &Étiquette </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Éditer </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Exporter la liste d'adresses</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Valeurs séparées par des virgules (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Échec de l'export</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(aucune étiquette)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -63,6 +99,22 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Répétez la phrase de passe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Chiffrer le porte-monnaie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Déverrouiller le porte-monnaie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Décrypter le porte-monnaie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Porte-monnaie chiffré</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
@@ -414,6 +466,42 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Confirmée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Copier l'adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Copier l'étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Copier le montant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>Copier les frais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy after fee</source>
|
||||
<translation>Copier après les frais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Copier les octets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>yes</source>
|
||||
<translation>oui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>no</source>
|
||||
<translation>non</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(aucune étiquette)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -797,6 +885,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
<message>
|
||||
<source>&Copy Image</source>
|
||||
<translation>&Copier image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>Sauvegarder QR code</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
@@ -1055,7 +1151,15 @@
|
||||
<source>Remove</source>
|
||||
<translation>Retirer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Copier l'étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Copier le montant</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
@@ -1074,9 +1178,37 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Sauvegarder image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
<translation>Message</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
<translation>Message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(aucune étiquette)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1180,7 +1312,27 @@
|
||||
<source>S&end</source>
|
||||
<translation>E&voyer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Copier le montant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>Copier les frais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy after fee</source>
|
||||
<translation>Copier après les frais</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Copier les octets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(aucune étiquette)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1305,7 +1457,83 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation>État</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source</source>
|
||||
<translation>Source</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generated</source>
|
||||
<translation>Généré</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From</source>
|
||||
<translation>De</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>inconnu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To</source>
|
||||
<translation>Á</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation>Votre adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>Lecture uniquement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>label</source>
|
||||
<translation>Étiquette </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Credit</source>
|
||||
<translation>Crédit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debit</source>
|
||||
<translation>Débit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total debit</source>
|
||||
<translation>Débit total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total credit</source>
|
||||
<translation>Crédit total </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Net amount</source>
|
||||
<translation>Montant net</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
<translation>Message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comment</source>
|
||||
<translation>Commentaire </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>true</source>
|
||||
<translation>vrai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>false</source>
|
||||
<translation>faux</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
<message>
|
||||
@@ -1315,9 +1543,85 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>Lecture uniquement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(aucune étiquette)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>All</source>
|
||||
<translation>Toutes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Today</source>
|
||||
<translation>Aujourd'hui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This week</source>
|
||||
<translation>Cette semaine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This month</source>
|
||||
<translation>Ce mois</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last month</source>
|
||||
<translation>Mois dernier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This year</source>
|
||||
<translation>Cette année</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation>Autres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Copier l'adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Copier l'étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>Copier le montant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Valeurs séparées par des virgules (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Échec de l'export</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -41,10 +41,74 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Hapus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Pilih alamat untuk mengirim koin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Piih alamat untuk menerima koin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>&Pilih</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Alamat-alamat pengirim</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Alamat-alamat penerima</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>Ini adalah alamat- alamat Bitcoin Anda untuk mengirimkan pembayaran. Selalu periksa jumlah dan alamat penerima sebelum mengirimkan koin.</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>Ini adalah alamat- alamat Bitcoin Anda untuk menerima pembayaran. Dianjurkan untuk menggunakan alamat penerima yang baru setiap melakukan transaksi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Salin Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Salin& Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Ubah</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Ekspor Daftar Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>File yang berformat(*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Mengekspor Gagal</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -63,7 +127,95 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ulangi kata kunci baru</translation>
|
||||
</message>
|
||||
</context>
|
||||
<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>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Enkripsi dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Operasi ini memerlukan kata sandi dompet Anda untuk membuka dompet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Buka dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Operasi ini memerlukan kata sandi dompet Anda untuk mendekripsikan dompet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Dekripsi dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Ganti kata sandi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>Masukkan kata sandi lama dan kata sandi baru ke dompet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Konfirmasi pengenkripsian dompet</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>Peringatan: Jika Anda enkripsi dompet Anda dan lupa kata sandi anda, Anda akan <b>KEHILANGAN SEMUA BITCOIN ANDA</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>Apakah Anda yakin ingin enkripsi dompet Anda?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Dompet terenkripsi</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 sekarang akan ditutup untuk menyelesaikan proses enkripsi. Ingatlah bahwa mengenkripsi dompet Anda tidak dapat sepenuhnya melindungi komputer Anda dari pencurian malware yang menginfeksi komputer Anda.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>PENTING: Backup sebelumnya yang Anda buat dari file dompet Anda harus diganti dengan file dompet terenkripsi yang baru dibuat. Demi keamanan, backup file dompet sebelumnya yang tidak dienkripsi sebelumnya akan menjadi tidak berguna begitu Anda mulai menggunakan dompet terenkripsi yang baru.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>Pengenkripsian dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
|
||||
<translation>Pengenkripsian dompet gagal karena kesalahan internal. Dompet Anda tidak dienkripsi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
<translation>Kata sandi yang dimasukkan tidak cocok.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>Membuka dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>Kata sandi yang dimasukkan untuk dekripsi dompet salah.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>Dekripsi dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>Kata sandi berhasil diganti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
<translation>Peringatan: Tombol Caps Lock aktif!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
<message>
|
||||
@@ -113,6 +265,14 @@
|
||||
<source>Quit application</source>
|
||||
<translation>Keluar dari aplikasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&About %1</source>
|
||||
<translation>&Tentang%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Tampilkan informasi perihal %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Mengenai &Qt</translation>
|
||||
@@ -125,6 +285,10 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&Pilihan...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Pengubahan opsi konfigurasi untuk %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>&Enkripsi Dompet...</translation>
|
||||
@@ -149,6 +313,22 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Buka &URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Klik untuk menonaktifkan aktivitas jaringan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Aktivitas jaringan dinonaktifkan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Klik untuk mengaktifkan aktivitas jaringan lagi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)...</source>
|
||||
<translation>Menyinkronkan Header (%1%) ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Mengindex ulang blok di dalam disk...</translation>
|
||||
@@ -253,6 +433,14 @@
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation><numerusform>%n koneksi aktif ke jaringan Bitcoin</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>Pengindeksan blok pada disk ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>Memproses blok pada disk ...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>%n blok dari riwayat transaksi diproses.</numerusform></translation>
|
||||
@@ -285,6 +473,18 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Terbaru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Tampilkan %1 pesan bantuan untuk mendapatkan daftar opsi baris perintah Bitcoin yang memungkinkan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation>%1 klien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers...</source>
|
||||
<translation>Menghubungkan ke peer...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Menyusul...</translation>
|
||||
@@ -406,6 +606,22 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Terkonfirmasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Salin alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Salin label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>Salin biaya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1065,6 +1281,10 @@
|
||||
<source>Remove</source>
|
||||
<translation>Menghapus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Salin label</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
@@ -1084,13 +1304,29 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Simpan Gambaran...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>Jumlah</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1194,7 +1430,15 @@
|
||||
<source>S&end</source>
|
||||
<translation>K&irim</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>Salin biaya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1357,9 +1601,41 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tidak ada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Salin alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Salin label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Berkas yang berformat(*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Mengekspor Gagal</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -41,9 +41,21 @@
|
||||
<source>&Delete</source>
|
||||
<translation>Cancella</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Scegli l'indirizzo a cui inviare denaro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>Scegli</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Indirizzo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
@@ -132,6 +144,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Indirizzo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
@@ -168,6 +184,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Indirizzo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,10 @@
|
||||
<TS language="ms_MY" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Klik-kanan untuk edit alamat ataupun label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Cipta alamat baru</translation>
|
||||
@@ -17,6 +21,10 @@
|
||||
<source>&Copy</source>
|
||||
<translation>&Salin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>&Tutup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Padam alamat semasa yang dipilih dari senaraiyang dipilih dari senarai</translation>
|
||||
@@ -34,25 +42,301 @@ Alihkan fail data ke dalam tab semasa</translation>
|
||||
<source>&Delete</source>
|
||||
<translation>&Padam</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Pilih alamat untuk hantar koin kepada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Pilih alamat untuk menerima koin dengan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>&Pilih</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>alamat-alamat penghantaran</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>alamat-alamat penerimaan</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>Ini adalah alamat Bitcoin anda untuk pembayaran. Periksa jumlah dan alamat penerima sebelum membuat penghantaran koin sentiasa.</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>Ini adalah alamat Bitcoin anda untuk menerima pembayaraan. Anda disyorkan untuk menguna alamat menerima untuk setiap transaksi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Salin Aamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Salin & Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Edit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Eskport Senarai Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Fail dibahagi oleh koma(*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Mengeksport Gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Terdapat ralat semasa cubaan menyimpan senarai alamat kepada %1. Sila cuba lagi.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tiada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Passphrase Dialog</source>
|
||||
<translation>Dialog frasa laluan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation>memasukkan frasa laluan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
<translation>Frasa laluan baru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ulangi frasa laluan baru</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>Memasukkan frasa laluan baru kepada dompet.<br/>Sila mengunakkan frasa laluan yang<b>mengandungi 10 atau lebih aksara rawak</b>,ataupun<b>lapan atau lebih perkataan.</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Dompet encrypt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Operasi ini perlukan frasa laluan dompet anda untuk membuka kunci dompet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Membuka kunci dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Operasi ini memerlukan frasa laluan dompet anda untuk menyahsulit dompet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Menyahsulit dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Menukar frasa laluan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>Memasukkan frasa laluan lama dan frasa laluan baru untuk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Mengesahkan enkripsi dompet</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>Amaran: Jika anda enkripkan dompet anda dan hilangkan frasa laluan, anda akan <b>ANDA AKAN HILANGKAN SEMUA BITCOIN ANDA</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>Anda pasti untuk membuat enkripsi dompet anda?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Dompet dienkripsi</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 akan tutup untuk menyelesaikan proses enkripsi. Ingat bahawa enkripsi tidak boleh melidungi sepenuhnya bitcoins anda daripada dicuri oleh malware yang menjangkiti komputer anda.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>PENTING: Apa-apa sandaran yang anda buat sebelum ini untuk fail dompet anda hendaklah digantikan dengan fail dompet enkripsi yang dijana baru. Untuk sebab-sebab keselamatan , sandaran fail dompet yang belum dibuat enkripsi sebelum ini akan menjadi tidak berguna secepat anda mula guna dompet enkripsi baru.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>Enkripsi dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
|
||||
<translation>Enkripsi dompet gagal kerana ralat dalaman. Dompet anda tidak dienkripkan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
<translation>Frasa laluan yang dibekalkan tidak sepadan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>Pembukaan kunci dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>Frasa laluan dimasukki untuk dekripsi dompet adalah tidak betul.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>Dekripsi dompet gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>Frasa laluan dompet berjaya ditukar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
<translation>Amaran: Kunci Caps Lock buka!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>IP/Netmask</source>
|
||||
<translation>IP/Netmask</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Diharamkan sehingga</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>Sign &message...</source>
|
||||
<translation>Tandatangan & mesej...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing with network...</source>
|
||||
<translation>Penyegerakan dengan rangkaian...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Overview</source>
|
||||
<translation>&Gambaran Keseluruhan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation>Nod</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show general overview of wallet</source>
|
||||
<translation>Tunjuk gambaran keseluruhan umum dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Transactions</source>
|
||||
<translation>&Transaksi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse transaction history</source>
|
||||
<translation>Menyemak imbas sejarah transaksi </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>E&xit</source>
|
||||
<translation>&Keluar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit application</source>
|
||||
<translation>Berhenti aplikasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&About %1</source>
|
||||
<translation>&Mengenai%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Menunjuk informasi mengenai%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Mengenai &Qt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about Qt</source>
|
||||
<translation>Menunjuk informasi megenai Qt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Options...</source>
|
||||
<translation>Pilihan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Mengubah suai pilihan konfigurasi untuk %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>&Enkripsi Dompet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Backup Wallet...</source>
|
||||
<translation>&Dompet Sandaran...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Change Passphrase...</source>
|
||||
<translation>&Menukar frasa-laluan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses...</source>
|
||||
<translation>&Menghantar frasa-laluan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receiving addresses...</source>
|
||||
<translation>&Menerima frasa-laluan...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URI...</source>
|
||||
<translation>Buka &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Reindexi blok pada cakera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send coins to a Bitcoin address</source>
|
||||
<translation>Menghantar koin kepada alamat Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup wallet to another location</source>
|
||||
<translation>Wallet sandaran ke lokasi lain</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tiada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -113,9 +397,25 @@ Alihkan fail data ke dalam tab semasa</translation>
|
||||
<source>Copy &Address</source>
|
||||
<translation>&Salin Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tiada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -123,7 +423,11 @@ Alihkan fail data ke dalam tab semasa</translation>
|
||||
<source>Balance:</source>
|
||||
<translation>Baki</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tiada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
@@ -150,9 +454,33 @@ Alihkan fail data ke dalam tab semasa</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(tiada label)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Fail dibahagi oleh koma(*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Alamat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Mengeksport Gagal</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -41,10 +41,74 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Slett</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Velg adressen å sende mynter til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Velg adressen til å motta mynter med</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Utsendingsadresser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Mottaksadresser</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>Dette er dine Bitcoin-adresser for sending av betalinger. Sjekk alltid beløpet og mottakeradressen før sending av mynter.</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>Dette er dine Bitcoin-adresser for å sende betalinger med. Det er anbefalt å bruke en ny mottaksadresse for hver transaksjon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopier Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Kopier &Merkelapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Rediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Eksporter adresseliste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Kommaseparert fil (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Eksportering feilet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Det oppstod en feil under lagring av adresselisten til %1. Vennligst prøv på nytt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Merkelapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(ingen merkelapp)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -63,6 +127,26 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Gjenta ny adgangsfrase</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>Oppgi adgangsfrasen til lommeboken.<br/>Vennligst bruk en adgangsfrase med <b>ti eller flere tilfeldige tegn</b>, eller <b>åtte eller flere ord</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Krypter lommebok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Lås opp lommebok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Dekrypter lommebok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Endre adgangsfrase</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
@@ -422,6 +506,10 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Bekreftet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(ingen merkelapp)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1302,9 +1390,25 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Lagre Bilde...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Merkelapp</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Merkelapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(ingen merkelapp)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1448,7 +1552,11 @@
|
||||
<source>S&end</source>
|
||||
<translation>S&end</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(ingen merkelapp)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1651,9 +1759,33 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Merkelapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(ingen merkelapp)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Kommaseparert fil (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Merkelapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Eksportering feilet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -41,6 +41,23 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&amp;मेटाउनुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>छनौट गर्नुहोस्...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>पठाउने ठेगानाहरू...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>प्राप्त गर्ने ठेगानाहरू...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>ठेगाना कपी गर्नुहोस्
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
@@ -192,6 +209,11 @@
|
||||
<source>Amount</source>
|
||||
<translation>रकम</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>ठेगाना कपी गर्नुहोस्
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -204,6 +226,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>%1 will download and store a copy of the Bitcoin block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source>
|
||||
<translation>%1 ले बिटकोइन ब्लक चेनको एउटा प्रतिलिपि डाउनलोड र भण्डारण गर्नेछ । यो निर्देशिकामा कम्तिमा पनि %2GB डाटा भण्डारण गरिनेछ, र यो समयसँगै बढ्नेछ । वालेटलाई पनि यो निर्देशिकामा भण्डारण गरिनेछ ।</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
@@ -213,6 +239,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
|
||||
<translation>इन्टरफेसमा र सिक्का पठाउँदा देखिने डिफल्ट उपविभाजन एकाइ चयन गर्नुहोस् ।</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
@@ -281,6 +311,10 @@
|
||||
<source>Amount</source>
|
||||
<translation>रकम</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter a Bitcoin address (e.g. %1)</source>
|
||||
<translation>कृपया बिटकोइन ठेगाना प्रवेश गर्नुहोस् (उदाहरण %1)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject::QObject</name>
|
||||
@@ -310,13 +344,25 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>Choose...</source>
|
||||
<translation>छनौट गर्नुहोस्...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
<source>Choose previously used address</source>
|
||||
<translation>पहिला प्रयोग गरिएको ठेगाना प्रयोग गर्नुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
|
||||
<translation>पठाइँदै गरेको रकमबाट शुल्क कटौती गरिनेछ । प्राप्तकर्ताले तपाईंले रकम क्षेत्रमा प्रवेष गरेको भन्दा थोरै बिटकोइन प्राप्त गर्ने छन् । धेरै प्राप्तकर्ता चयन गरिएको छ भने समान रूपमा शुल्क विभाजित गरिनेछ ।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter a label for this address to add it to the list of used addresses</source>
|
||||
<translation>यो ठेगानालाई प्रयोग गरिएको ठेगानाको सूचीमा थप्न एउटा लेबल प्रविष्ट गर्नुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A message that was attached to the bitcoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Bitcoin network.</source>
|
||||
<translation>बिटकोइनमा संलग्न गरिएको सन्देश: तपाईंको मध्यस्थको लागि कारोबारको साथमा भण्डारण गरिने URI । नोट: यो सन्देश बिटकोइन नेटवर्क मार्फत पठाइने छैन ।</translation>
|
||||
@@ -334,6 +380,18 @@
|
||||
<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>
|
||||
<translation>आफ्नो ठेगानामा पठाइएको बिटकोइन प्राप्त गर्न सकिन्छ भनेर प्रमाणित गर्न तपाईंले ती ठेगानाले सन्देश/सम्झौताहरूमा हस्ताक्षर गर्न सक्नुहुन्छ । फिसिङ आक्रमणले तपाईंलाई छक्याएर अरूका लागि तपाईंको परिचयमा हस्ताक्षर गराउने प्रयास गर्न सक्ने भएकाले अस्पष्ट वा जथाभावीमा हस्ताक्षर गर्दा ध्यान दिनुहोस् । आफू सहमत भएको पूर्ण विस्तृत-कथनमा मात्र हस्ताक्षर गर्नुहोस् ।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose previously used address</source>
|
||||
<translation>पहिला प्रयोग गरिएको ठेगाना प्रयोग गर्नुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the current signature to the system clipboard</source>
|
||||
<translation>वर्तमान हस्ताक्षरलाई प्रणाली क्लिपबोर्डमा कपी गर्नुहोस्</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>
|
||||
<translation>सन्देश प्रमाणित गर्न, तल दिइएको स्थानमा प्राप्तकर्ता ठेगाना, सन्देश (लाइन ब्रेक, स्पेस, ट्याब, आदि उस्तै गरी कपी गर्ने कुरा सुनिश्चित गर्नुहोस्) र हस्ताक्षर &apos;s प्रविष्ट गर्नुहोस् । बीचमा-मानिसको-आक्रमणबाट बच्न हस्ताक्षर पढ्दा हस्ताक्षर गरिएको सन्देशमा जे छ त्यो भन्दा धेरै कुरामा ध्यान नदिनुहोस् । यो कार्यले हस्ताक्षर गर्ने पक्षले मात्र यो ठेगानाले प्राप्त गर्छ भन्ने कुरा प्रमाणित गर्छ, यसले कुनै पनि कारोबारको प्रेषककर्तालाई प्रमाणित गर्न सक्दैन भन्ने कुरा याद गर्नुहोस्!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SplashScreen</name>
|
||||
@@ -352,6 +410,11 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>ठेगाना कपी गर्नुहोस्
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
@@ -364,9 +427,22 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&amp;निर्यात गर्नुहोस्
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>वर्तमान ट्याबको डाटालाई फाइलमा निर्यात गर्नुहोस्</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup</source>
|
||||
<translation>वालेटको सबै कारोबार मेटाउनुहोस् र -स्टार्टअपको पुनः स्क्यान मार्फत ब्लकचेनका ती भागहरूलाई मात्र पुनः प्राप्त गर्नुहोस्</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>ब्लक डाटाबेसमा भविष्यबाट आए जस्तो देखिने एउटा ब्लक हुन्छ । तपाईंको कम्प्युटरको मिति र समय गलत तरिकाले सेट गरिएकाले यस्तो हुन सक्छ । तपाईं आफ्नो कम्प्युटरको मिति र समय सही छ भनेर पक्का हुनुहुन्छ भने मात्र ब्लक डाटाबेस पुनर्निर्माण गर्नुहोस् ।</translation>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Klik met de rechtermuisknop om het adres of label te wijzigen</translation>
|
||||
<translation>Rechtermuisklik om het adres of label te wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -317,6 +317,22 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Open &URI...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Klik om de netwerkactiviteit te stoppen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Netwerkactiviteit gestopt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Klik om de netwerkactiviteit opnieuw te starten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)...</source>
|
||||
<translation>Kopteksten synchroniseren (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Bezig met herindexeren van blokken op harde schijf...</translation>
|
||||
@@ -469,6 +485,10 @@
|
||||
<source>%1 client</source>
|
||||
<translation>%1 client</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers...</source>
|
||||
<translation>Gelijke worden verbonden...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Aan het bijwerken...</translation>
|
||||
@@ -511,6 +531,14 @@
|
||||
<source>Incoming transaction</source>
|
||||
<translation>Binnenkomende transactie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>enabled</b></source>
|
||||
<translation>HD sleutel voortbrenging is <b>ingeschakeld</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>disabled</b></source>
|
||||
<translation>HD sleutel voortbrenging is <b>uitgeschakeld</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>unlocked</b></source>
|
||||
<translation>Portemonnee is <b>versleuteld</b> en momenteel <b>geopend</b></translation>
|
||||
@@ -519,7 +547,11 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Portemonnee is <b>versleuteld</b> en momenteel <b>gesloten</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
|
||||
<translation>Een fatale fout heeft zich voorgedaan. Bitcoin kan niet veilig worden verdergezet en wordt afgesloten.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -853,15 +885,51 @@
|
||||
<source>Form</source>
|
||||
<translation>Vorm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the bitcoin network, as detailed below.</source>
|
||||
<translation>Recente transacties zijn mogelijk nog niet zichtbaar. De balans van de geldbeugel is daarom mogelijk niet correct. Deze informatie is correct van zodra de synchronisatie met het Bitcoin-netwerk werd voltooid, zoals onderaan beschreven.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attempting to spend bitcoins that are affected by not-yet-displayed transactions will not be accepted by the network.</source>
|
||||
<translation>Poging om bitcoins te besteden die door "nog niet weergegeven" transacties worden beïnvloed, worden niet door het netwerk geaccepteerd.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Aantal blokken resterend.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Onbekend...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Tijd laatste blok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Vooruitgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress increase per hour</source>
|
||||
<translation>Vooruitgang per uur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>Berekenen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Estimated time left until synced</source>
|
||||
<translation>Geschatte tijd tot volledig synchroon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Verbergen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1)...</source>
|
||||
<translation>Onbekend. Kopteksten synchroniseren (%1%)...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
@@ -1296,7 +1364,15 @@
|
||||
<source>Node/Service</source>
|
||||
<translation>Node/Dienst</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>NodeId</source>
|
||||
<translation>Node ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ping</source>
|
||||
<translation>Ping</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
@@ -1335,14 +1411,54 @@
|
||||
<source>%1 ms</source>
|
||||
<translation>%1 ms</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation><numerusform>%n seconde</numerusform><numerusform>%n seconden</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n minute(s)</source>
|
||||
<translation><numerusform>%n minuut</numerusform><numerusform>%n minuten</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n hour(s)</source>
|
||||
<translation><numerusform>%n uur</numerusform><numerusform>%n uren</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n day(s)</source>
|
||||
<translation><numerusform>%n dag</numerusform><numerusform>%n dagen</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>%n week</numerusform><numerusform>%n weken</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 and %2</source>
|
||||
<translation>%1 en %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message numerus="yes">
|
||||
<source>%n year(s)</source>
|
||||
<translation><numerusform>%n jaar</numerusform><numerusform>%n jaren</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation>%1 sloot nog niet veilig af...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject::QObject</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
<translation>Fout: Opgegeven gegevensmap "%1" bestaat niet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Cannot parse configuration file: %1. Only use key=value syntax.</source>
|
||||
<translation>Fout: Kan configuratiebestand niet verwerken: %1. Gebruik enkel de key=value syntax.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Fout: %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
<message>
|
||||
@@ -1520,6 +1636,10 @@
|
||||
<source>Ping Wait</source>
|
||||
<translation>Pingwachttijd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Min Ping</source>
|
||||
<translation>Min Ping</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Time Offset</source>
|
||||
<translation>Tijdcompensatie</translation>
|
||||
@@ -1580,6 +1700,18 @@
|
||||
<source>1 &year</source>
|
||||
<translation>1 &jaar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Disconnect</source>
|
||||
<translation>&Verbreek verbinding</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ban for</source>
|
||||
<translation>Ban Node voor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unban</source>
|
||||
<translation>&Maak ban voor Node ongedaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to the %1 RPC console.</source>
|
||||
<translation>Welkom bij de %1 RPC-console.</translation>
|
||||
@@ -1592,6 +1724,14 @@
|
||||
<source>Type <b>help</b> for an overview of available commands.</source>
|
||||
<translation>Typ <b>help</b> voor een overzicht van de beschikbare opdrachten.</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 ramification of a command.</source>
|
||||
<translation>WAARSCHUWING: Er zijn Scammers actief geweest, die gebruikers vragen om hier commando's te typen, waardoor de inhoud van hun portefeuille werd gestolen. Gebruik deze console niet zonder de toedracht van een opdracht volledig te begrijpen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled</source>
|
||||
<translation>Netwerkactiviteit uitgeschakeld</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 B</source>
|
||||
<translation>%1 B</translation>
|
||||
@@ -1711,6 +1851,10 @@
|
||||
<source>Remove</source>
|
||||
<translation>Verwijder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URI</source>
|
||||
<translation>Kopieer URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy label</source>
|
||||
<translation>Kopieer label</translation>
|
||||
@@ -1936,6 +2080,10 @@
|
||||
<source>Dust:</source>
|
||||
<translation>Stof:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Bevestigingstijddoel:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear &All</source>
|
||||
<translation>Verwijder &Alles</translation>
|
||||
@@ -2028,6 +2176,10 @@
|
||||
<source>Transaction creation failed!</source>
|
||||
<translation>Transactiecreatie mislukt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction was rejected with the following reason: %1</source>
|
||||
<translation>De transactie werd afgewezen om de volgende reden: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fee higher than %1 is considered an absurdly high fee.</source>
|
||||
<translation>Een vergoeding van meer dan %1 wordt beschouwd als een absurd hoge vergoeding.</translation>
|
||||
@@ -2036,10 +2188,18 @@
|
||||
<source>Payment request expired.</source>
|
||||
<translation>Betalingsverzoek verlopen.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n block(s)</source>
|
||||
<translation><numerusform>%n blok</numerusform><numerusform>%n blokken</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pay only the required fee of %1</source>
|
||||
<translation>Betaal alleen de verplichte transactiekosten van %1</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Estimated to begin confirmation within %n block(s).</source>
|
||||
<translation><numerusform>Schatting is dat bevestiging begint over %n blok.</numerusform><numerusform>Schatting is dat bevestiging begint over %n blokken.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Invalid Bitcoin address</source>
|
||||
<translation>Waarschuwing: Ongeldig Bitcoinadres</translation>
|
||||
@@ -2048,6 +2208,14 @@
|
||||
<source>Warning: Unknown change address</source>
|
||||
<translation>Waarschuwing: Onbekend wisselgeldadres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm custom change address</source>
|
||||
<translation>Bevestig aangepast wisselgeldadres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</source>
|
||||
<translation>Het wisselgeldadres dat u heeft geselecteerd maakt geen deel uit van deze portemonnee. Een deel of zelfs alle geld in uw portemonnee kan mogelijk naar dit adres worden verzonden. Weet je het zeker?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(geen label)</translation>
|
||||
@@ -2309,6 +2477,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Open voor nog %n blok</numerusform><numerusform>Open voor nog %n blokken</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Open tot %1</translation>
|
||||
@@ -2393,6 +2565,10 @@
|
||||
<source>Credit</source>
|
||||
<translation>Credit</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>matures in %n more block(s)</source>
|
||||
<translation><numerusform>komt beschikbaar na %n nieuwe blok</numerusform><numerusform>komt beschikbaar na %n nieuwe blokken</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>niet geaccepteerd</translation>
|
||||
@@ -2429,6 +2605,10 @@
|
||||
<source>Transaction ID</source>
|
||||
<translation>Transactie-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction total size</source>
|
||||
<translation>Transactie totale grootte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output index</source>
|
||||
<translation>Output index</translation>
|
||||
@@ -2491,6 +2671,10 @@
|
||||
<source>Label</source>
|
||||
<translation>Label</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Open for %n more block(s)</source>
|
||||
<translation><numerusform>Open voor nog %n blok</numerusform><numerusform>Open voor nog %n blokken</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>Open tot %1</translation>
|
||||
@@ -2821,6 +3005,18 @@
|
||||
<source>Accept command line and JSON-RPC commands</source>
|
||||
<translation>Aanvaard opdrachtregel- en JSON-RPC-opdrachten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside (default: 1 if no -proxy or -connect/-noconnect)</source>
|
||||
<translation>Accepteer verbindingen van buitenaf (standaard: 1 indien geen -proxy of -connect/-noconnect werd opgegeven)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect only to the specified node(s); -noconnect or -connect=0 alone to disable automatic connections</source>
|
||||
<translation>Verbind enkel met de opgegeven knooppunt(en); -noconnect of -connect = 0 alleen om automatische verbindingen uit te schakelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distributed under the MIT software license, see the accompanying file %s or %s</source>
|
||||
<translation>Uitgegeven onder de MIT software licentie, zie het bijgevoegde bestand %s of %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If <category> is not supplied or if <category> = 1, output all debugging information.</source>
|
||||
<translation>Als er geen <categorie> is opgegeven of als de <categorie> 1 is, laat dan alle debugginginformatie zien.</translation>
|
||||
@@ -2897,6 +3093,14 @@
|
||||
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
|
||||
<translation>Voer opdracht uit zodra een portemonneetransactie verandert (%s in cmd wordt vervangen door TxID)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extra transactions to keep in memory for compact block reconstructions (default: %u)</source>
|
||||
<translation>Extra transacties wordt bijgehouden voor compacte blokreconstructie (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>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: %s, testnet: %s)</source>
|
||||
<translation>Als dit blok in de keten staat, gaat het ervan uit dat dit blok en zijn voorouders geldig zijn en mogelijk hun script verificatie overslaan (0 om alles te verifiëren, standaard:%s, testnet:%s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
|
||||
<translation>Maximum toegestane peer tijd compensatie. Lokaal perspectief van tijd mag worden beinvloed door peers die met deze hoeveelheid voor of achter lopen. (standaard: %u seconden)</translation>
|
||||
@@ -2913,6 +3117,14 @@
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Gelieve bij te dragen als je %s nuttig vindt. Bezoek %s voor meer informatie over de software.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u = automatically prune block files to stay under the specified target size in MiB)</source>
|
||||
<translation>Beperk benodigde opslag door trimmen (verwijderen) van oude blokken in te schakelen. Dit maakt het mogelijk om de pruneblockchain RPC aan te roepen om specifieke blokken te verwijderen, en maakt het automatische trimmen van oude blokken mogelijk wanneer een doelgrootte in MiB is voorzien. Deze modus is niet compatibele met -txindex en -rescan. Waarschuwing: Terugzetten van deze instellingen vereist het opnieuw downloaden van gehele de blokketen. (standaard:0 = uitzetten trimmodus, 1 = manueel trimmen via RPC toestaan, >%u = automatisch blokbestanden trimmen om beneden de gespecificeerde doelgrootte in MiB te blijven)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
<translation>Specificeer het laagste tarief (in %s/kB) voor transacties die bij het maken van een blok moeten worden in rekening worden gebracht (standaard: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source>
|
||||
<translation>Kies het aantal scriptverificatie processen (%u tot %d, 0 = auto, <0 = laat dit aantal kernen vrij, standaard: %d)</translation>
|
||||
@@ -2921,6 +3133,10 @@
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>De blokdatabase bevat een blok dat lijkt uit de toekomst te komen. Dit kan gebeuren omdat de datum en tijd van uw computer niet goed staat. Herbouw de blokdatabase pas nadat u de datum en tijd van uw computer correct heeft ingesteld.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
|
||||
<translation>Dit is een pre-release testversie - gebruik op eigen risico! Gebruik deze niet voor het delven van munten of handelsdoeleinden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
|
||||
<translation>Niet mogelijk om de databank terug te draaien naar een staat voor de vork. Je zal je blokketen opnieuw moeten downloaden</translation>
|
||||
@@ -2929,6 +3145,22 @@
|
||||
<source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source>
|
||||
<translation>Gebruik UPnP om de luisterende poort te mappen (standaard: 1 als er geluisterd worden en geen -proxy is meegegeven)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This option can be specified multiple times</source>
|
||||
<translation>Gebruikersnaam en gehasht wachtwoord voor JSON-RPC-verbindingen. De velden <userpw> is in het formaat: <GEBRUIKERSNAAM>:<SALT>$<HASH>. Een kanoniek Pythonscript is inbegrepen in de share/rpcuser. De klant connecteert dan normaal via de rpcuser=<GEBRUIKERSNAAM>/rpcpassword=<PASWOORD> argumenten. Deze optie kan meerdere keren worden meegegeven</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet will not create transactions that violate mempool chain limits (default: %u)</source>
|
||||
<translation>Portemonnee creëert geen transacties die mempool-ketenlimieten schenden (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
|
||||
<translation>Waarschuwing: Het lijkt erop dat het netwerk geen consensus kan vinden! Sommige delvers lijken problemen te ondervinden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source>
|
||||
<translation>Waarschuwing: Het lijkt erop dat we geen consensus kunnen vinden met onze peers! Mogelijk dient u te upgraden, of andere nodes moeten wellicht upgraden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex-chainstate to change -txindex</source>
|
||||
<translation>Om -txindex te kunnen veranderen dient u de database opnieuw te bouwen met gebruik van -reindex-chainstate.</translation>
|
||||
@@ -2961,6 +3193,10 @@
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation>Kan -%s adres niet herleiden: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chain selection options:</source>
|
||||
<translation>Keten selectie opties:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change index out of range</source>
|
||||
<translation>Wijzigingsindex buiten bereik</translation>
|
||||
@@ -3157,6 +3393,10 @@
|
||||
<source>Use UPnP to map the listening port (default: %u)</source>
|
||||
<translation>Gebruik UPnP om de luisterende poort te mappen (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use the test chain</source>
|
||||
<translation>Gebruik de test keten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent comment (%s) contains unsafe characters.</source>
|
||||
<translation>User Agentcommentaar (%s) bevat onveilige karakters.</translation>
|
||||
@@ -3449,10 +3689,22 @@
|
||||
<source>Output debugging information (default: %u, supplying <category> is optional)</source>
|
||||
<translation>Output extra debugginginformatie (standaard: %u, het leveren van <categorie> is optioneel)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect/-noconnect)</source>
|
||||
<translation>Query voor peer-adressen via DNS-lookup , indien laag aan adressen (default: 1 unless -connect/-noconnect)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Support filtering of blocks and transaction with bloom filters (default: %u)</source>
|
||||
<translation>Ondersteun filtering van blokken en transacties met bloomfilters (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
|
||||
<translation>Dit is de transactiekost die je mogelijk betaald indien geschatte tarief niet beschikbaar is</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit %s and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
|
||||
<translation>Dit product bevat software dat ontwikkeld is door het OpenSSL Project voor gebruik in de OpenSSL Toolkit %s en cryptografische software geschreven door Eric Young en UPnP software geschreven door Thomas Bernard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
|
||||
<translation>Totale lengte van netwerkversiestring (%i) overschrijdt maximale lengte (%i). Verminder het aantal of grootte van uacomments.</translation>
|
||||
@@ -3481,6 +3733,14 @@
|
||||
<source>Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup.</source>
|
||||
<translation>Waarschuwing: portomonee bestand is corrupt, data is veiliggesteld! Originele %s is opgeslagen als %s in %s; als uw balans of transacties incorrect zijn dient u een backup terug te zetten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple times.</source>
|
||||
<translation>Goedgekeurde peers die verbinden vanaf een bepaald IP adres (vb. 1.2.3.4) of CIDR genoteerd netwerk (vb. 1.2.3.0/24). Kan meerdere keren worden gespecificeerd.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s is zeer hoog ingesteld!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(default: %s)</source>
|
||||
<translation>(standaard: %s)</translation>
|
||||
@@ -3501,6 +3761,10 @@
|
||||
<source>Invalid -proxy address: '%s'</source>
|
||||
<translation>Ongeldig -proxy adres: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Keypool op geraakt, roep alsjeblieft eerst keypoolrefill functie aan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source>
|
||||
<translation>Luister naar JSON-RPC-verbindingen op <poort> (standaard: %u of testnet: %u)</translation>
|
||||
@@ -3537,6 +3801,10 @@
|
||||
<source>Relay non-P2SH multisig (default: %u)</source>
|
||||
<translation>Geef non-P2SH multisig door (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions with full-RBF opt-in enabled (default: %u)</source>
|
||||
<translation>Verstuur transacties met full-RBF opt-in ingeschakeld (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set key pool size to <n> (default: %u)</source>
|
||||
<translation>Stel sleutelpoelgrootte in op <n> (standaard: %u)</translation>
|
||||
@@ -3569,10 +3837,34 @@
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Netwerkthread starten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will avoid paying less than the minimum relay fee.</source>
|
||||
<translation>De portemonnee vermijdt minder te betalen dan het minimale relay vergoeding.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the minimum transaction fee you pay on every transaction.</source>
|
||||
<translation>Dit is het minimum transactietarief dat je betaald op elke transactie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you will pay if you send a transaction.</source>
|
||||
<translation>Dit is het transactietarief dat je betaald wanneer je een transactie verstuurt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Threshold for disconnecting misbehaving peers (default: %u)</source>
|
||||
<translation>Drempel om verbinding te verbreken naar zich misdragende peers (standaard: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
<translation>Transactiebedragen moeten positief zijn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction has too long of a mempool chain</source>
|
||||
<translation>Transactie heeft een te lange mempoolketen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>Transactie moet ten minste één ontvanger hebben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown network specified in -onlynet: '%s'</source>
|
||||
<translation>Onbekend netwerk gespecificeerd in -onlynet: '%s'</translation>
|
||||
|
||||
@@ -419,7 +419,7 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n active connection(s) to Bitcoin network</source>
|
||||
<translation><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform></translation>
|
||||
<translation><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform><numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
@@ -431,7 +431,7 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>Przetworzono %n bloków historii transakcji.</numerusform><numerusform>Przetworzono %n bloków historii transakcji.</numerusform><numerusform>Przetworzono %n bloków historii transakcji.</numerusform></translation>
|
||||
<translation><numerusform>Przetworzono %n bloków historii transakcji.</numerusform><numerusform>Przetworzono %n bloków historii transakcji.</numerusform><numerusform>Przetworzono %n bloków historii transakcji.</numerusform><numerusform>Przetworzono %n bloków historii transakcji.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
@@ -832,11 +832,11 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n GB of free space available</source>
|
||||
<translation><numerusform>%n GB dostępnego wolnego miejsca</numerusform><numerusform>%n GB dostępnego wolnego miejsca</numerusform><numerusform>%n GB dostępnego wolnego miejsca</numerusform></translation>
|
||||
<translation><numerusform>%n GB dostępnego wolnego miejsca</numerusform><numerusform>%n GB dostępnego wolnego miejsca</numerusform><numerusform>%n GB dostępnego wolnego miejsca</numerusform><numerusform>%n GB dostępnego wolnego miejsca</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>(of %n GB needed)</source>
|
||||
<translation><numerusform>(z %n GB potrzebnych)</numerusform><numerusform>(z %n GB potrzebnych)</numerusform><numerusform>(z %n GB potrzebnych)</numerusform></translation>
|
||||
<translation><numerusform>(z %n GB potrzebnych)</numerusform><numerusform>(z %n GB potrzebnych)</numerusform><numerusform>(z %n GB potrzebnych)</numerusform><numerusform>(z %n GB potrzebnych)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1325,11 +1325,11 @@
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation><numerusform>%n sekunda</numerusform><numerusform>%n sekund</numerusform><numerusform>%n sekund</numerusform></translation>
|
||||
<translation><numerusform>%n sekunda</numerusform><numerusform>%n sekund</numerusform><numerusform>%n sekund</numerusform><numerusform>%n sekund</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n minute(s)</source>
|
||||
<translation><numerusform>%n minuta</numerusform><numerusform>%n minut</numerusform><numerusform>%n minut</numerusform></translation>
|
||||
<translation><numerusform>%n minuta</numerusform><numerusform>%n minut</numerusform><numerusform>%n minut</numerusform><numerusform>%n minut</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 and %2</source>
|
||||
|
||||
@@ -329,6 +329,10 @@
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Кликните, чтобы снова разрешить сетевую активность.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing Headers (%1%)...</source>
|
||||
<translation>Синхронизация заголовков (%1%)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Идёт переиндексация блоков на диске...</translation>
|
||||
@@ -3089,6 +3093,14 @@
|
||||
<source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source>
|
||||
<translation>Выполнить команду, когда меняется транзакция в бумажнике (%s в команде заменяется на TxID)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extra transactions to keep in memory for compact block reconstructions (default: %u)</source>
|
||||
<translation>Хранить в памяти дополнительные транзакции для реконструкции компактных блоков (по умолчанию: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>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: %s, testnet: %s)</source>
|
||||
<translation>Если этот блок в цепи, считать его и последующие блоки верными и потенциально пропускать проверку их скриптов (0 для проверки всех, по умолчанию: %s, тестовая сеть: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: %u seconds)</source>
|
||||
<translation>Максимально допустимое среднее отклонение времени участников. Локальное представление времени может меняться вперед или назад на это количество. (по умолчанию: %u секунд)</translation>
|
||||
@@ -3105,6 +3117,14 @@
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Пожалуйста, внести свой вклад, если вы найдете %s полезными. Посетите %s для получения дополнительной информации о программном обеспечении.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u = automatically prune block files to stay under the specified target size in MiB)</source>
|
||||
<translation>Уменьшить размер хранилища за счёт обрезания (удаления) старых блоков. Будет разрешён вызов RPC метода pruneblockchain для удаления определённых блоков и разрешено автоматическое обрезание старых блоков, если указан целевой размер в Мб. Этот режим несовместим с -txindex и -rescan. Внимание: переключение этой опции обратно потребует полной загрузки цепи блоков. (по умолчанию: 0 = отключить обрезание блоков, 1 = разрешить ручное обрезание через RPC, >%u = автоматически обрезать файлы блоков, чтобы они были меньше указанного размера в Мб)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set lowest fee rate (in %s/kB) for transactions to be included in block creation. (default: %s)</source>
|
||||
<translation>Задать минимальный курс комиссии (в %s/Кб) для транзакцийб включаемых в создаваемый блок. (по умолчанию: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source>
|
||||
<translation>Задать число потоков проверки скрипта (от %u до %d, 0=авто, <0 = оставить столько ядер свободными, по умолчанию: %d)</translation>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Кликните правой кнопкой мыши для редоктирования адреса или ярлыка</translation>
|
||||
<translation>Кликните правой кнопкой мыши для редактирования адреса или метки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -15,7 +15,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>Copy the currently selected address to the system clipboardый адрес в буфер</translation>
|
||||
<translation>Скопировать текущий выбранный адрес в буфер обмена системы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
@@ -41,6 +41,14 @@
|
||||
<source>&Delete</source>
|
||||
<translation>Удалить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Выбрать адрес для отправки монет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Выбрать адрес для получения монет</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -540,7 +540,11 @@ Var vänlig och försök igen.</translation>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Denna plånbok är <b>krypterad</b> och för närvarande <b>låst</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
|
||||
<translation>Ett kritiskt fel uppstod. Bitcoin kan inte fortsätta att köra säkert och kommer att avslutas.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -679,7 +683,7 @@ Var vänlig och försök igen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directory already exists. Add %1 if you intend to create a new directory here.</source>
|
||||
<translation>Katalogen finns redan. Läggtill %1 om du vill skapa en ny katalog här.</translation>
|
||||
<translation>Katalogen finns redan. Lägg till %1 om du vill skapa en ny katalog här.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path already exists, and is not a directory.</source>
|
||||
@@ -2099,6 +2103,18 @@ Var vänlig och försök igen.</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
<translation>Ange en adress eller etikett att söka efter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Min amount</source>
|
||||
<translation>Minsta belopp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Abandon transaction</source>
|
||||
<translation>Avbryt transaktionen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>Kopiera adress</translation>
|
||||
|
||||
@@ -295,15 +295,15 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>Cüzdanı &Şifrele...</translation>
|
||||
<translation>&Cüzdanı Şifrele...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Backup Wallet...</source>
|
||||
<translation>Cüzdanı &Yedekle...</translation>
|
||||
<translation>&Cüzdanı Yedekle...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Change Passphrase...</source>
|
||||
<translation>Parolayı &Değiştir...</translation>
|
||||
<translation>&Parolayı Değiştir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses...</source>
|
||||
|
||||
@@ -41,10 +41,62 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Видалити</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Оберіть адресу для відправки монет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Оберіть адресу для отримання монет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>О&брати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Адреса відправлення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Адреса отримання</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Зкопіювати&Створити мітку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Редагувати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Експотувати список адрес</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Файли (*.csv) розділеі комами</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Експортування пройшло не успішно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Виникла помилка при спрбі збереження списку адрес %1. Будь-ласка, спробувати пізніше. </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Мітка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(немає мітки)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -410,6 +462,10 @@
|
||||
<source>Confirmed</source>
|
||||
<translation>Підтверджені</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>немає мітки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1270,9 +1326,21 @@
|
||||
<source>&Save Image...</source>
|
||||
<translation>&Зберегти зображення...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Мітка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Мітка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>немає мітки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
@@ -1416,7 +1484,11 @@
|
||||
<source>S&end</source>
|
||||
<translation>&Відправити</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>немає мітки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
<message>
|
||||
@@ -1619,9 +1691,29 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Мітка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>немає мітки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Файли (*.csv) розділеі комами</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Мітка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>Експортування пройшло не успішно</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -41,9 +41,25 @@
|
||||
<source>&Delete</source>
|
||||
<translation>مٹا</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>کوئین وصول کرنے والے کا پتہ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>کوئین وصول کرنے والے کا پتہ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>چننا</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation> پتہ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
@@ -152,6 +168,10 @@
|
||||
<source>Copy &Address</source>
|
||||
<translation>کاپی پتہ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation> پتہ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
@@ -200,6 +220,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation> پتہ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
|
||||
@@ -41,6 +41,26 @@
|
||||
<source>&Delete</source>
|
||||
<translation>&Xó&a</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Chọn địa chỉ để gửi coin đến</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Chọn địa chỉ để nhận coin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>Chọn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Địa chỉ gửi đến</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Địa chỉ nhận</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
|
||||
@@ -3240,6 +3240,10 @@
|
||||
<source>Wallet %s resides outside data directory %s</source>
|
||||
<translation>钱包 %s 在外部的数据目录 %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet debugging/testing options:</source>
|
||||
<translation>钱包调试/测试选项:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet options:</source>
|
||||
<translation>钱包选项:</translation>
|
||||
|
||||
@@ -41,10 +41,70 @@
|
||||
<source>&Delete</source>
|
||||
<translation>刪除 &D</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>選擇要付錢過去的地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>選擇要收錢的地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>選擇 &h</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>付款地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>收款地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>複製地址 &C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>複製標記 &L</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>編輯 &E</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>匯出地址清單</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>逗號分隔檔 (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>匯出失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>儲存地址列表到 %1 時發生錯誤。請再試一次。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>標記</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(無標記)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
@@ -63,7 +123,91 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>重複新密碼</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>加密錢包</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>這個動作需要你的錢包密碼來將錢包解鎖。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>解鎖錢包</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>這個動作需要你的錢包密碼來將錢包解密。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>解密錢包</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>更改密碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase to the wallet.</source>
|
||||
<translation>輸入舊密碼和新密碼至錢包。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>確認錢包加密</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source>
|
||||
<translation>警告: 如果你將錢包加密後又忘記密碼,你就會<b>失去所有 Bitcoin 了</b>!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>你確定要把錢包加密嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>錢包已加密</translation>
|
||||
</message>
|
||||
<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 現在要關閉來完成加密程序。請記得將錢包加密不能完全防止你的 Bitcoins 經被入侵電腦的惡意程式偷取。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>重要: 請改用新產生的加密錢包檔,來取代所以舊錢包檔的備份。為安全計,當你開始使用新的加密錢包檔後,舊錢包檔的備份就不能再使用了。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>錢包加密失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
|
||||
<translation>因內部錯誤導致錢包加密失敗,你的錢包尚未加密。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
<translation>提供的密碼不一致。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>錢包解鎖失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>用來解密錢包的密碼不對。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>錢包解密失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>錢包密碼已成功更改。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
<translation>警告: Caps Lock 已啟用!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
<message>
|
||||
@@ -113,6 +257,14 @@
|
||||
<source>Quit application</source>
|
||||
<translation>結束應用程式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&About %1</source>
|
||||
<translation>關於 %1 &A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>顯示 %1 的相關資訊</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>關於 Qt &Q</translation>
|
||||
@@ -125,6 +277,10 @@
|
||||
<source>&Options...</source>
|
||||
<translation>選項... &O</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>修正 %1 的設定選項</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>加密錢包... &E</translation>
|
||||
@@ -201,9 +357,51 @@
|
||||
<source>Show or hide the main Window</source>
|
||||
<translation>顯示或隱藏主視窗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>檔案 &F</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>設定 &S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
<translation>說明 &H</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
|
||||
<translation>要求付款 (產生QR碼 bitcoin: URIs)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>正在為磁碟區塊建立索引...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>資訊</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
<translation>日期: %1
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(無標記)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -216,6 +414,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
@@ -237,28 +439,144 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Enter a Bitcoin address (e.g. %1)</source>
|
||||
<translation>輸入一個 Bitcoin 位址 (例如 %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 d</source>
|
||||
<translation>%1 日</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 h</source>
|
||||
<translation>%1 小時</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 m</source>
|
||||
<translation>%1 分</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 s</source>
|
||||
<translation>%1 秒</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>沒有</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>N/A</source>
|
||||
<translation>N/A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 ms</source>
|
||||
<translation>%1 亳秒</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation><numerusform>%n 秒</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n minute(s)</source>
|
||||
<translation><numerusform>%n 分鐘</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n hour(s)</source>
|
||||
<translation><numerusform>%n 小時</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n day(s)</source>
|
||||
<translation><numerusform>%n 日</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>%n 星期</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 and %2</source>
|
||||
<translation>%1 和 %2</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n year(s)</source>
|
||||
<translation><numerusform>%n 年</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject::QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>儲存 QR 碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PNG Image (*.png)</source>
|
||||
<translation>PNG 影像(*.png)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
<message>
|
||||
<source>N/A</source>
|
||||
<translation>N/A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Information</source>
|
||||
<translation>資訊 &I</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug window</source>
|
||||
<translation>除錯視窗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation>一般</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received</source>
|
||||
<translation>已接收</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sent</source>
|
||||
<translation>已送出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>版本</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>標記</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>標記</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(無標記)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(無標記)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
@@ -279,15 +597,47 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>開放至 %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>標記</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open until %1</source>
|
||||
<translation>開放至 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(無標記)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>逗號分隔檔 (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>標記</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>地址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>匯出失敗</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
@@ -303,5 +653,17 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>資訊</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -55,8 +55,6 @@ const char* BIP70_MESSAGE_PAYMENTREQUEST = "PaymentRequest";
|
||||
const char* BIP71_MIMETYPE_PAYMENT = "application/bitcoin-payment";
|
||||
const char* BIP71_MIMETYPE_PAYMENTACK = "application/bitcoin-paymentack";
|
||||
const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/bitcoin-paymentrequest";
|
||||
// BIP70 max payment request size in bytes (DoS protection)
|
||||
const qint64 BIP70_MAX_PAYMENTREQUEST_SIZE = 50000;
|
||||
|
||||
struct X509StoreDeleter {
|
||||
void operator()(X509_STORE* b) {
|
||||
|
||||
@@ -53,7 +53,7 @@ class QUrl;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
// BIP70 max payment request size in bytes (DoS protection)
|
||||
extern const qint64 BIP70_MAX_PAYMENTREQUEST_SIZE;
|
||||
static const qint64 BIP70_MAX_PAYMENTREQUEST_SIZE = 50000;
|
||||
|
||||
class PaymentServer : public QObject
|
||||
{
|
||||
|
||||
@@ -166,7 +166,7 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
|
||||
switch(index.column())
|
||||
{
|
||||
case NetNodeId:
|
||||
return rec->nodeStats.nodeid;
|
||||
return (qint64)rec->nodeStats.nodeid;
|
||||
case Address:
|
||||
return QString::fromStdString(rec->nodeStats.addrName);
|
||||
case Subversion:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user