diff --git a/.travis.yml b/.travis.yml index 1630c1d02a4da..65fd0433ddf45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,17 @@ # - A travis bug causes caches to trample eachother when using the same # compiler key (which we don't use anyway). This is worked around for now by # replacing the "compilers" with a build name prefixed by the no-op ":" -# command. See: https://github.com/travis-ci/casher/issues/6 +# command. See: https://github.com/travis-ci/travis-ci/issues/4393 +# - sudo/dist/group are set so as to get Blue Box VMs, necessary for [loopback] +# IPv6 support + +sudo: required +dist: precise +group: legacy os: linux language: cpp +compiler: gcc env: global: - MAKEJOBS=-j3 @@ -38,13 +45,15 @@ matrix: env: HOST=x86_64-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2" - compiler: ": Win32" env: HOST=i686-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2" + exclude: + - compiler: gcc install: - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi before_script: - unset CC; unset CXX - mkdir -p depends/SDKs depends/sdk-sources - - if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then wget $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -O depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi + - if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi - if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi - make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS script: diff --git a/COPYING b/COPYING index 6219bd75a6497..9fd32666224ea 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2009-2014 Bitcoin Developers +Copyright (c) 2009-2015 Bitcoin Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile.am b/Makefile.am index b51f477b7856d..470d0574cc627 100644 --- a/Makefile.am +++ b/Makefile.am @@ -190,6 +190,8 @@ check-local: @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1 endif +dist_noinst_SCRIPTS = autogen.sh + EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.sh qa/pull-tester/run-bitcoin-cli qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) diff --git a/README.md b/README.md index cf650fe543334..d59767d4ccfa6 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,6 @@ Bitcoin Core integration/staging tree https://www.bitcoin.org -Copyright (c) 2009-2014 Bitcoin Core Developers - What is Bitcoin? ---------------- @@ -36,7 +34,7 @@ development team members simply pulls it. If it is a *more complicated or potentially controversial* change, then the patch submitter will be asked to start a discussion (if they haven't already) on the -[mailing list](http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development). +[mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev) The patch will be accepted if there is broad consensus that it is a good thing. Developers should expect to rework and resubmit patches if the code doesn't diff --git a/configure.ac b/configure.ac index 173c93c538e06..aa03489d9da3b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) -define(_CLIENT_VERSION_MINOR, 9) -define(_CLIENT_VERSION_REVISION, 99) +define(_CLIENT_VERSION_MINOR, 10) +define(_CLIENT_VERSION_REVISION, 4) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_IS_RELEASE, false) -define(_COPYRIGHT_YEAR, 2014) +define(_CLIENT_VERSION_IS_RELEASE, true) +define(_COPYRIGHT_YEAR, 2015) AC_INIT([Bitcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@bitcoin.org],[bitcoin]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_HEADERS([src/config/bitcoin-config.h]) @@ -167,7 +167,7 @@ fi ## compatibility with the legacy buildsystem. ## if test "x$CXXFLAGS_overridden" = "xno"; then - CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter" + CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wno-self-assign" fi CPPFLAGS="$CPPFLAGS -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" @@ -701,11 +701,34 @@ else fi fi +AC_CHECK_LIB([crypto],[RAND_egd],[],[ + AC_ARG_WITH([libressl], + [AS_HELP_STRING([--with-libressl],[Build with system LibreSSL (default is no; DANGEROUS; NOT SUPPORTED)])], + [AC_MSG_WARN([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])], + [AC_MSG_ERROR([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])] + ) +]) + CFLAGS_TEMP="$CFLAGS" LIBS_TEMP="$LIBS" CFLAGS="$CFLAGS $SSL_CFLAGS $CRYPTO_CFLAGS" LIBS="$LIBS $SSL_LIBS $CRYPTO_LIBS" AC_CHECK_HEADER([openssl/ec.h],, AC_MSG_ERROR(OpenSSL ec header missing),) + +AC_MSG_CHECKING(for a supported OpenSSL version) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include + ]], + [[RAND_egd(NULL);]])], + [AC_MSG_RESULT(yes)], + [ + AC_ARG_WITH([libressl], + [AS_HELP_STRING([--with-libressl],[Build with system LibreSSL (default is no; DANGEROUS; NOT SUPPORTED)])], + [AC_MSG_WARN([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])], + [AC_MSG_ERROR([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])] + )] +) + CFLAGS="$CFLAGS_TEMP" LIBS="$LIBS_TEMP" diff --git a/contrib/debian/bitcoin-tx.install b/contrib/debian/bitcoin-tx.install new file mode 100644 index 0000000000000..2c21052a6876b --- /dev/null +++ b/contrib/debian/bitcoin-tx.install @@ -0,0 +1 @@ +usr/local/bin/bitcoin-tx usr/bin diff --git a/contrib/debian/changelog b/contrib/debian/changelog index fe910b65a5578..2843fb904e9ad 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,39 @@ +bitcoin (0.10.2-precise1) precise; urgency=medium + + * New upstream release. + + -- Matt Corallo (BlueMatt) Mon, 29 Jun 2015 17:33:00 -1000 + +bitcoin (0.10.1-precise3) precise; urgency=medium + + * Fix build dep (include python). + + -- Matt Corallo (BlueMatt) Tue, 5 May 2015 09:28:00 -1000 + +bitcoin (0.10.1-precise2) precise; urgency=medium + + * Fix miniupnpc dep. + + -- Matt Corallo (BlueMatt) Tue, 5 May 2015 00:33:00 -1000 + +bitcoin (0.10.1-precise1) precise; urgency=medium + + * New upstream release. + + -- Matt Corallo (BlueMatt) Tue, 5 May 2015 00:07:00 -1000 + +bitcoin (0.10.0-precise1) precise; urgency=medium + + * New upstream releases. + + -- Matt Corallo (BlueMatt) Wed, 18 Feb 2015 13:22:00 -1000 + +bitcoin (0.9.4-precise1) precise; urgency=high + + * New upstream releases. + + -- Matt Corallo (laptop - only while traveling) Mon, 12 Jan 2015 23:30:00 -1000 + bitcoin (0.9.3-precise1) precise; urgency=medium * New upstream releases. @@ -137,7 +173,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 isnt anonymous without + These should never have been there, bitcoin isn't anonymous without a ton of work that virtually no users will ever be willing and capable of doing @@ -178,7 +214,7 @@ bitcoin (0.5.0~rc1-natty1) natty; urgency=low * Add test_bitcoin to build test * Fix clean - * Remove uneccessary build-dependancies + * Remove unnecessary build-dependancies -- Matt Corallo Wed, 26 Oct 2011 14:37:18 -0400 @@ -338,7 +374,7 @@ bitcoin (0.3.20.01~dfsg-1) unstable; urgency=low bitcoin (0.3.19~dfsg-6) unstable; urgency=low - * Fix override agressive optimizations. + * Fix override aggressive 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, diff --git a/contrib/debian/control b/contrib/debian/control index a653260ad30ee..fff4e472a7c0a 100644 --- a/contrib/debian/control +++ b/contrib/debian/control @@ -20,11 +20,12 @@ Build-Depends: debhelper, qt4-qmake, libqt4-dev, libqrencode-dev, - libprotobuf-dev, protobuf-compiler + libprotobuf-dev, protobuf-compiler, + python Standards-Version: 3.9.2 -Homepage: http://www.bitcoin.org/ +Homepage: https://www.bitcoin.org/ Vcs-Git: git://github.com/bitcoin/bitcoin.git -Vcs-Browser: http://github.com/bitcoin/bitcoin +Vcs-Browser: https://github.com/bitcoin/bitcoin Package: bitcoind Architecture: any @@ -56,3 +57,17 @@ Description: peer-to-peer network based digital currency - Qt GUI requires 20+ GB of space, slowly growing. . This package provides Bitcoin-Qt, a GUI for Bitcoin based on Qt. + +Package: bitcoin-tx +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: peer-to-peer digital currency - standalone transaction tool + 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 + exchanging minimal transaction data with peers is still required. diff --git a/contrib/debian/copyright b/contrib/debian/copyright index a6ee201991cc4..b45222e5d30fd 100644 --- a/contrib/debian/copyright +++ b/contrib/debian/copyright @@ -2,8 +2,7 @@ Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=174 Upstream-Name: Bitcoin Upstream-Contact: Satoshi Nakamoto irc://#bitcoin@freenode.net -Source: http://sourceforge.net/projects/bitcoin/files/ - https://github.com/bitcoin/bitcoin +Source: https://github.com/bitcoin/bitcoin Files: * Copyright: 2009-2012, Bitcoin Core Developers diff --git a/contrib/debian/examples/bitcoin.conf b/contrib/debian/examples/bitcoin.conf index 31cca981e0a2a..2fc46fb60f6ef 100644 --- a/contrib/debian/examples/bitcoin.conf +++ b/contrib/debian/examples/bitcoin.conf @@ -54,7 +54,7 @@ # JSON-RPC options (for controlling a running Bitcoin/bitcoind process) # -# server=1 tells Bitcoin-QT and bitcoind to accept JSON-RPC commands +# server=1 tells Bitcoin-Qt and bitcoind to accept JSON-RPC commands #server=0 # You must set rpcuser and rpcpassword to secure the JSON-RPC api @@ -72,7 +72,7 @@ # NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED, # because the rpcpassword is transmitted over the network unencrypted. -# server=1 tells Bitcoin-QT to accept JSON-RPC commands. +# server=1 tells Bitcoin-Qt to accept JSON-RPC commands. # it is also read by bitcoind to determine if RPC should be enabled #rpcallowip=10.1.1.34/255.255.255.0 #rpcallowip=1.2.3.4/24 diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index bba2104edb7ae..d23398ed28a04 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -6,6 +6,7 @@ suites: architectures: - "amd64" packages: +- "curl" - "g++-multilib" - "git-core" - "pkg-config" @@ -23,7 +24,7 @@ files: [] script: | WRAP_DIR=$HOME/wrapped HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu" - CONFIGFLAGS="--enable-upnp-default --enable-glibc-back-compat" + CONFIGFLAGS="--enable-glibc-back-compat" FAKETIME_HOST_PROGS="" FAKETIME_PROGS="date ar ranlib nm strip" @@ -79,7 +80,7 @@ script: | mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST + find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" @@ -99,7 +100,7 @@ script: | find . -name "lib*.la" -delete find . -name "lib*.a" -delete rm -rf ${DISTNAME}/lib/pkgconfig - find . | sort | tar --no-recursion -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz + find ${DISTNAME} | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz cd ../../ done mkdir -p $OUTDIR/src diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml index db9b4af93d0ef..1792f9de3f576 100644 --- a/contrib/gitian-descriptors/gitian-osx-signer.yml +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml @@ -10,7 +10,7 @@ packages: reference_datetime: "2013-06-01 00:00:00" remotes: [] files: -- "bitcoin-0.9.99-osx-unsigned.tar.gz" +- "bitcoin-osx-unsigned.tar.gz" - "signature.tar.gz" script: | WRAP_DIR=$HOME/wrapped @@ -28,8 +28,8 @@ script: | chmod +x ${WRAP_DIR}/${prog} done - UNSIGNED=`echo bitcoin-*.tar.gz` - SIGNED=`echo ${UNSIGNED} | sed 's/.tar.*//' | sed 's/-unsigned//'`.dmg + UNSIGNED=bitcoin-osx-unsigned.tar.gz + SIGNED=bitcoin-osx-signed.dmg tar -xf ${UNSIGNED} ./detached-sig-apply.sh ${UNSIGNED} signature.tar.gz diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index eb6df2096eb1f..b7b7df96d79fa 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -7,6 +7,7 @@ architectures: - "amd64" packages: - "g++-multilib" +- "curl" - "git-core" - "pkg-config" - "autoconf2.13" @@ -27,7 +28,7 @@ files: script: | WRAP_DIR=$HOME/wrapped HOSTS="x86_64-apple-darwin11" - CONFIGFLAGS="--enable-upnp-default GENISOIMAGE=$WRAP_DIR/genisoimage" + CONFIGFLAGS="GENISOIMAGE=$WRAP_DIR/genisoimage" FAKETIME_HOST_PROGS="" FAKETIME_PROGS="ar ranlib date dmg genisoimage" @@ -90,7 +91,7 @@ script: | mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST + find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" @@ -116,7 +117,7 @@ script: | cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff mv dist unsigned-app-${i} pushd unsigned-app-${i} - find . | sort | tar --no-recursion -czf ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz -T - + find . | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz popd make deploy @@ -126,7 +127,7 @@ script: | find . -name "lib*.la" -delete find . -name "lib*.a" -delete rm -rf ${DISTNAME}/lib/pkgconfig - find . | sort | tar --no-recursion -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz + find ${DISTNAME} | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz cd ../../ done mkdir -p $OUTDIR/src diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index 97c823cde6943..ff62d9140fdaf 100644 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -6,6 +6,7 @@ suites: architectures: - "amd64" packages: +- "curl" - "g++" - "git-core" - "pkg-config" @@ -26,7 +27,7 @@ files: [] script: | WRAP_DIR=$HOME/wrapped HOSTS="x86_64-w64-mingw32 i686-w64-mingw32" - CONFIGFLAGS="--enable-upnp-default" + CONFIGFLAGS="" FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip" FAKETIME_PROGS="date makensis zip" @@ -83,7 +84,7 @@ script: | mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST + find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" @@ -106,7 +107,7 @@ script: | find . -name "lib*.la" -delete find . -name "lib*.a" -delete rm -rf ${DISTNAME}/lib/pkgconfig - find . -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip + find ${DISTNAME} -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip cd ../.. done mkdir -p $OUTDIR/src diff --git a/contrib/gitian-downloader/bluematt-key.pgp b/contrib/gitian-downloader/bluematt-key.pgp index fb6d9eb28423d..2389d4657fb7f 100644 Binary files a/contrib/gitian-downloader/bluematt-key.pgp and b/contrib/gitian-downloader/bluematt-key.pgp differ diff --git a/contrib/gitian-downloader/linux-download-config b/contrib/gitian-downloader/linux-download-config index f5e6382b846d1..4c037795267dc 100644 --- a/contrib/gitian-downloader/linux-download-config +++ b/contrib/gitian-downloader/linux-download-config @@ -3,7 +3,7 @@ name: bitcoin urls: - http://bitcoin.org/bitcoin-latest-linux-gitian.zip rss: -- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss +- url: xpath: //item/link/text() pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip signers: diff --git a/contrib/gitian-downloader/win32-download-config b/contrib/gitian-downloader/win32-download-config index 06c164180d507..083bce5de815c 100644 --- a/contrib/gitian-downloader/win32-download-config +++ b/contrib/gitian-downloader/win32-download-config @@ -3,7 +3,7 @@ name: bitcoin urls: - http://bitcoin.org/bitcoin-latest-win32-gitian.zip rss: -- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss +- url: xpath: //item/link/text() pattern: bitcoin-\d+.\d+.\d+-win32-gitian.zip signers: diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index f9a0c277e2e7f..bc88201f0faec 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -1,11 +1,8 @@ ### Seeds ### -Utility to generate the pnSeed[] array that is compiled into the client -(see [src/net.cpp](/src/net.cpp)). +Utility to generate the seeds.txt list that is compiled into the client +(see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and [share/seeds](/share/seeds)). -The 600 seeds compiled into the 0.8 release were created from sipa's DNS seed data, like this: +The 512 seeds compiled into the 0.10 release were created from sipa's DNS seed data, like this: - curl -s http://bitcoin.sipa.be/seeds.txt | head -1000 | makeseeds.py - -The input to makeseeds.py is assumed to be approximately sorted from most-reliable to least-reliable, -with IP:port first on each line (lines that don't match IPv4:port are ignored). + curl -s http://bitcoin.sipa.be/seeds.txt | makeseeds.py diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index 1d01fd7d209fa..b831395f2c717 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -1,32 +1,118 @@ #!/usr/bin/env python # -# Generate pnSeed[] from Pieter's DNS seeder +# Generate seeds.txt from Pieter's DNS seeder # -NSEEDS=600 +NSEEDS=512 + +MAX_SEEDS_PER_ASN=2 + +MIN_BLOCKS = 337600 + +# These are hosts that have been observed to be behaving strangely (e.g. +# aggressively connecting to every node). +SUSPICIOUS_HOSTS = set([ + "130.211.129.106", "178.63.107.226", + "83.81.130.26", "88.198.17.7", "148.251.238.178", "176.9.46.6", + "54.173.72.127", "54.174.10.182", "54.183.64.54", "54.194.231.211", + "54.66.214.167", "54.66.220.137", "54.67.33.14", "54.77.251.214", + "54.94.195.96", "54.94.200.247" +]) import re import sys -from subprocess import check_output +import dns.resolver + +PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):8333$") +PATTERN_AGENT = re.compile(r"^(\/Satoshi:0.8.6\/|\/Satoshi:0.9.(2|3)\/|\/Satoshi:0.10.\d{1,2}\/)$") + +def parseline(line): + sline = line.split() + if len(sline) < 11: + return None + # Match only IPv4 + m = PATTERN_IPV4.match(sline[0]) + if m is None: + return None + # Do IPv4 sanity check + ip = 0 + for i in range(0,4): + if int(m.group(i+2)) < 0 or int(m.group(i+2)) > 255: + return None + ip = ip + (int(m.group(i+2)) << (8*(3-i))) + if ip == 0: + return None + # Skip bad results. + if sline[1] == 0: + return None + # Extract uptime %. + uptime30 = float(sline[7][:-1]) + # Extract Unix timestamp of last success. + lastsuccess = int(sline[2]) + # Extract protocol version. + version = int(sline[10]) + # Extract user agent. + agent = sline[11][1:-1] + # Extract service flags. + service = int(sline[9], 16) + # Extract blocks. + blocks = int(sline[8]) + # Construct result. + return { + 'ip': m.group(1), + 'ipnum': ip, + 'uptime': uptime30, + 'lastsuccess': lastsuccess, + 'version': version, + 'agent': agent, + 'service': service, + 'blocks': blocks, + } + +# Based on Greg Maxwell's seed_filter.py +def filterbyasn(ips, max_per_asn, max_total): + result = [] + asn_count = {} + for ip in ips: + if len(result) == max_total: + break + try: + asn = int([x.to_text() for x in dns.resolver.query('.'.join(reversed(ip['ip'].split('.'))) + '.origin.asn.cymru.com', 'TXT').response.answer][0].split('\"')[1].split(' ')[0]) + if asn not in asn_count: + asn_count[asn] = 0 + if asn_count[asn] == max_per_asn: + continue + asn_count[asn] += 1 + result.append(ip) + except: + sys.stderr.write('ERR: Could not resolve ASN for "' + ip['ip'] + '"\n') + return result def main(): lines = sys.stdin.readlines() + ips = [parseline(line) for line in lines] + + # Skip entries with valid IPv4 address. + ips = [ip for ip in ips if ip is not None] + # Skip entries from suspicious hosts. + ips = [ip for ip in ips if ip['ip'] not in SUSPICIOUS_HOSTS] + # Enforce minimal number of blocks. + ips = [ip for ip in ips if ip['blocks'] >= MIN_BLOCKS] + # Require service bit 1. + ips = [ip for ip in ips if (ip['service'] & 1) == 1] + # Require at least 50% 30-day uptime. + ips = [ip for ip in ips if ip['uptime'] > 50] + # Require a known and recent user agent. + ips = [ip for ip in ips if PATTERN_AGENT.match(ip['agent'])] + # Sort by availability (and use last success as tie breaker) + ips.sort(key=lambda x: (x['uptime'], x['lastsuccess'], x['ip']), reverse=True) + # Look up ASNs and limit results, both per ASN and globally. + ips = filterbyasn(ips, MAX_SEEDS_PER_ASN, NSEEDS) + # Sort the results by IP address (for deterministic output). + ips.sort(key=lambda x: (x['ipnum'])) - ips = [] - pattern = re.compile(r"^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}):8333") - for line in lines: - m = pattern.match(line) - if m is None: - continue - ip = 0 - for i in range(0,4): - ip = ip + (int(m.group(i+1)) << (8*(i))) - if ip == 0: - continue - ips.append(ip) - - for row in range(0, min(NSEEDS,len(ips)), 8): - print " " + ", ".join([ "0x%08x"%i for i in ips[row:row+8] ]) + "," + for ip in ips: + print ip['ip'] if __name__ == '__main__': main() diff --git a/depends/Makefile b/depends/Makefile index 5de015971429e..e2ef7ee49bd67 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -31,6 +31,7 @@ endif base_build_dir=$(BASEDIR)/work/build base_staging_dir=$(BASEDIR)/work/staging +base_download_dir=$(BASEDIR)/work/download canonical_host:=$(shell ./config.sub $(HOST)) build:=$(shell ./config.sub $(BUILD)) @@ -122,5 +123,12 @@ $(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_ $(AT)touch $@ install: $(host_prefix)/share/config.site -download: $(all_sources) -.PHONY: install cached +download-one: $(all_sources) +download-osx: + @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one +download-linux: + @$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one +download-win: + @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one +download: download-osx download-linux download-win +.PHONY: install cached download-one download-osx download-linux download-win download diff --git a/depends/README.usage b/depends/README.usage index e768feecf76a5..f5aa5314a1f32 100644 --- a/depends/README.usage +++ b/depends/README.usage @@ -29,4 +29,7 @@ If some packages are not built, for example 'make NO_WALLET=1', the appropriate options will be passed to bitcoin's configure. In this case, --disable-wallet. Additional targets: -download: run 'make download' to fetch sources without building them +download: run 'make download' to fetch all sources without building them +download-osx: run 'make download-osx' to fetch all sources needed for osx builds +download-win: run 'make download-win' to fetch all sources needed for win builds +download-linux: run 'make download-linux' to fetch all sources needed for linux builds diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk index b366460e64bc1..200d6ed22a230 100644 --- a/depends/builders/darwin.mk +++ b/depends/builders/darwin.mk @@ -7,7 +7,7 @@ build_darwin_OTOOL: = $(shell xcrun -f otool) build_darwin_NM: = $(shell xcrun -f nm) build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) build_darwin_SHA256SUM = shasum -a 256 -build_darwin_DOWNLOAD = curl --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o +build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o #darwin host on darwin builder. overrides darwin host preferences. darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk index 98d0e9de348fc..b03f42401047a 100644 --- a/depends/builders/linux.mk +++ b/depends/builders/linux.mk @@ -1,2 +1,2 @@ build_linux_SHA256SUM = sha256sum -build_linux_DOWNLOAD = wget --timeout=$(DOWNLOAD_CONNECT_TIMEOUT) --tries=$(DOWNLOAD_RETRIES) -nv -O +build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o diff --git a/depends/config.guess b/depends/config.guess index 1f5c50c0d1529..553731934eb73 100755 --- a/depends/config.guess +++ b/depends/config.guess @@ -1099,7 +1099,7 @@ EOF # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; diff --git a/depends/funcs.mk b/depends/funcs.mk index c1fc0a0e33169..337634253f5bd 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -20,18 +20,19 @@ $(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dep endef define fetch_file -(test -f $(SOURCES_PATH)/$(4) || \ - ( mkdir -p $$($(1)_extract_dir) && \ - ( $(build_DOWNLOAD) "$$($(1)_extract_dir)/$(4).temp" "$(2)/$(3)" || \ - $(build_DOWNLOAD) "$$($(1)_extract_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \ - echo "$(5) $$($(1)_extract_dir)/$(4).temp" > $$($(1)_extract_dir)/.$(4).hash && \ - $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$(4).hash && \ - mv $$($(1)_extract_dir)/$(4).temp $(SOURCES_PATH)/$(4) )) +(test -f $$($(1)_source_dir)/$(4) || \ + ( mkdir -p $$($(1)_download_dir) && echo Fetching $(1)... && \ + ( $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" || \ + $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \ + echo "$(5) $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \ + $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \ + mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \ + rm -rf $$($(1)_download_dir) )) endef define int_get_build_recipe_hash -$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) -$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM))) +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1)) +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1)) endef define int_get_build_id @@ -45,17 +46,19 @@ final_build_id_long+=$($(package)_build_id_long) #compute package-specific paths $(1)_build_subdir?=. $(1)_download_file?=$($(1)_file_name) -$(1)_source:=$(SOURCES_PATH)/$($(1)_file_name) +$(1)_source_dir:=$(SOURCES_PATH) +$(1)_source:=$$($(1)_source_dir)/$($(1)_file_name) $(1)_staging_dir=$(base_staging_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) $(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix) $(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) +$(1)_download_dir:=$(base_download_dir)/$(1)-$($(1)_version) $(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir) $(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id) $(1)_prefixbin:=$($($(1)_type)_prefix)/bin/ $(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz #stamps -$(1)_fetched=$$($(1)_extract_dir)/.stamp_fetched +$(1)_fetched=$$($(1)_source_dir)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name) $(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted $(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed $(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned @@ -150,7 +153,6 @@ endef define int_add_cmds $($(1)_fetched): - $(AT)echo Fetching $(1)... $(AT)mkdir -p $$(@D) $(SOURCES_PATH) $(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1)) $(AT)touch $$@ diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk index 00101f1b91af4..77bae10c793db 100644 --- a/depends/packages/miniupnpc.mk +++ b/depends/packages/miniupnpc.mk @@ -1,8 +1,8 @@ package=miniupnpc -$(package)_version=1.9.20140701 +$(package)_version=1.9.20151008 $(package)_download_path=http://miniupnp.free.fr/files $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 +$(package)_sha256_hash=e444ac3b587ce82709c4d0cfca1fe71f44f9fc433e9f946b12b9e1bfe667a633 define $(package)_set_vars $(package)_build_opts=CC="$($(package)_cc)" diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index ad989cb544bec..1675afe78131b 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -39,11 +39,11 @@ $(package)_ldflags+=-m32 -Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib $(package)_ldflags+=-L$$(native_cctools_extract_dir)/clang+llvm-3.2-x86-linux-ubuntu-12.04/lib endef define $(package)_extract_cmds - tar --strip-components=1 -xf $(SOURCES_PATH)/$($(package)_toolchain4_file_name) && \ + tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_toolchain4_file_name) && \ ln -sf $($(package)_source) cctools2odcctools/$($(package)_file_name) && \ - ln -sf $(SOURCES_PATH)/$($(package)_ld64_file_name) cctools2odcctools/$($(package)_ld64_file_name) && \ - ln -sf $(SOURCES_PATH)/$($(package)_dyld_file_name) cctools2odcctools/$($(package)_dyld_file_name) && \ - tar xf $(SOURCES_PATH)/$($(package)_clang_file_name) && \ + ln -sf $($(package)_source_dir)/$($(package)_ld64_file_name) cctools2odcctools/$($(package)_ld64_file_name) && \ + ln -sf $($(package)_source_dir)/$($(package)_dyld_file_name) cctools2odcctools/$($(package)_dyld_file_name) && \ + tar xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ mkdir -p $(SDK_PATH) sdks &&\ cd sdks; ln -sf $(OSX_SDK) MacOSX$(OSX_SDK_VERSION).sdk endef diff --git a/depends/packages/native_cdrkit.mk b/depends/packages/native_cdrkit.mk index 2cc388b4b30c3..cf694edb30e92 100644 --- a/depends/packages/native_cdrkit.mk +++ b/depends/packages/native_cdrkit.mk @@ -1,6 +1,6 @@ package=native_cdrkit $(package)_version=1.1.11 -$(package)_download_path=http://distro.ibiblio.org/fatdog/source/c +$(package)_download_path=http://distro.ibiblio.org/fatdog/source/600/c $(package)_file_name=cdrkit-$($(package)_version).tar.bz2 $(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564 $(package)_patches=cdrkit-deterministic.patch diff --git a/depends/packages/native_comparisontool.mk b/depends/packages/native_comparisontool.mk index 3d430d4306a58..d1b86dc2de594 100644 --- a/depends/packages/native_comparisontool.mk +++ b/depends/packages/native_comparisontool.mk @@ -17,5 +17,5 @@ endef define $(package)_stage_cmds mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \ - mv $(SOURCES_PATH)/$($(package)_file_name) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename) + cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename) endef diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk index 6d7a556c1100b..492994b715739 100644 --- a/depends/packages/openssl.mk +++ b/depends/packages/openssl.mk @@ -1,8 +1,8 @@ package=openssl -$(package)_version=1.0.1j +$(package)_version=1.0.1k $(package)_download_path=https://www.openssl.org/source $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=1b60ca8789ba6f03e8ef20da2293b8dc131c39d83814e775069f02d26354edf3 +$(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" @@ -10,7 +10,7 @@ $(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/o $(package)_config_opts+=no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 $(package)_config_opts+=no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 $(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags) -$(package)_config_opts_linux=-fPIC +$(package)_config_opts_linux=-fPIC -Wa,--noexecstack $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 @@ -20,7 +20,7 @@ $(package)_config_opts_i686_mingw32=mingw endef define $(package)_preprocess_cmds - sed -i.old "/define DATE/d" crypto/Makefile && \ + sed -i.old "/define DATE/d" util/mkbuildinf.pl && \ sed -i.old "s|engines apps test|engines|" Makefile.org endef diff --git a/doc/Doxyfile b/doc/Doxyfile index e0339e652eb07..0133be2a6183e 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -34,7 +34,7 @@ PROJECT_NAME = Bitcoin # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 0.9.99 +PROJECT_NUMBER = 0.10.4 # 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 diff --git a/doc/README.md b/doc/README.md index d5d61738e87ce..1dea631ce0192 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,16 +1,13 @@ -Bitcoin 0.9.99 BETA +Bitcoin Core 0.10.4 ===================== -Copyright (c) 2009-2014 Bitcoin Developers - - Setup --------------------- [Bitcoin Core](http://bitcoin.org/en/download) is the original Bitcoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more. Thankfully you only have to do this once. If you would like the process to go faster you can [download the blockchain directly](bootstrap.md). Running --------------------- -The following are some helpful notes on how to run Bitcoin on your native platform. +The following are some helpful notes on how to run Bitcoin on your native platform. ### Unix @@ -29,7 +26,7 @@ Unpack the files into a directory and run: Unpack the files into a directory, and then run bitcoin-qt.exe. -### OSX +### OS X Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt. @@ -44,7 +41,7 @@ Building --------------------- The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc. -- [OSX Build Notes](build-osx.md) +- [OS X Build Notes](build-osx.md) - [Unix Build Notes](build-unix.md) Development diff --git a/doc/README_osx.txt b/doc/README_osx.txt index d56234f7d9408..40b0bdf9ced4d 100644 --- a/doc/README_osx.txt +++ b/doc/README_osx.txt @@ -1,12 +1,12 @@ -Deterministic OSX Dmg Notes. +Deterministic OS X Dmg Notes. -Working OSX DMG's are created in Linux by combining a recent clang, +Working OS X DMGs are created in Linux by combining a recent clang, the Apple's binutils (ld, ar, etc), and DMG authoring tools. Apple uses clang extensively for development and has upstreamed the necessary functionality so that a vanilla clang can take advantage. It supports the use of -F, -target, -mmacosx-version-min, and --sysroot, which are all necessary -when building for OSX. A pre-compiled version of 3.2 is used because it was not +when building for OS X. A pre-compiled version of 3.2 is used because it was not available in the Precise repositories at the time this work was started. In the future, it can be switched to use system packages instead. @@ -35,11 +35,11 @@ This file is several gigabytes in size, but only a single directory inside is needed: Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk Unfortunately, the usual linux tools (7zip, hpmount, loopback mount) are incapable of opening this file. -To create a tarball suitable for gitian input, mount the dmg in OSX, then create it with: +To create a tarball suitable for Gitian input, mount the dmg in OS X, then create it with: $ tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.7.sdk.tar.gz MacOSX10.7.sdk -The gitian descriptors build 2 sets of files: Linux tools, then Apple binaries +The Gitian descriptors build 2 sets of files: Linux tools, then Apple binaries which are created using these tools. The build process has been designed to avoid including the SDK's files in Gitian's outputs. All interim tarballs are fully deterministic and may be freely redistributed. @@ -63,20 +63,20 @@ Ideally, the creation could be fixed and genisoimage would no longer be necessar Background images and other features can be added to DMG files by inserting a .DS_Store before creation. The easiest way to create this file is to build a -DMG without one, move it to a device running OSX, customize the layout, then +DMG without one, move it to a device running OS X, customize the layout, then grab the .DS_Store file for later use. That is the approach taken here. -As of OSX Mavericks (10.9), using an Apple-blessed key to sign binaries is a +As of OS X Mavericks (10.9), using an Apple-blessed key to sign binaries is a requirement in order to satisfy the new Gatekeeper requirements. Because this private key cannot be shared, we'll have to be a bit creative in order for the build process to remain somewhat deterministic. Here's how it works: -- Builders use gitian to create an unsigned release. This outputs an unsigned +- Builders use Gitian to create an unsigned release. This outputs an unsigned dmg which users may choose to bless and run. It also outputs an unsigned app structure in the form of a tarball, which also contains all of the tools that have been previously (deterministically) built in order to create a final dmg. - The Apple keyholder uses this unsigned app to create a detached signature, using the script that is also included there. -- Builders feed the unsigned app + detached signature back into gitian. It +- Builders feed the unsigned app + detached signature back into Gitian. It uses the pre-built tools to recombine the pieces into a deterministic dmg. diff --git a/doc/README_windows.txt b/doc/README_windows.txt index 368f2b45e1fbc..f5e09a4615965 100644 --- a/doc/README_windows.txt +++ b/doc/README_windows.txt @@ -1,13 +1,5 @@ -Bitcoin 0.9.99 BETA - -Copyright (c) 2009-2014 Bitcoin Core Developers - -Distributed under the MIT/X11 software license, see the accompanying -file COPYING or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (https://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com). - +Bitcoin Core 0.10.4 +===================== Intro ----- diff --git a/doc/build-osx.md b/doc/build-osx.md index c41820f2b1be0..68d73db60e42d 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -1,6 +1,6 @@ Mac OS X Build Instructions and Notes ==================================== -This guide will show you how to build bitcoind(headless client) for OSX. +This guide will show you how to build bitcoind(headless client) for OS X. Notes ----- @@ -13,8 +13,8 @@ built-in one is located in `/Applications/Utilities`. Preparation ----------- -You need to install XCode with all the options checked so that the compiler -and everything is available in /usr not just /Developer. XCode should be +You need to install Xcode with all the options checked so that the compiler +and everything is available in /usr not just /Developer. Xcode should be available on your OS X installation media, but if not, you can get the current version from https://developer.apple.com/xcode/. If you install Xcode 4.3 or later, you'll need to install its command line tools. This can @@ -65,7 +65,7 @@ After exiting, you'll get a warning that the install is keg-only, which means it ### Building `bitcoind` -1. Clone the github tree to get the source code and go into the directory. +1. Clone the GitHub tree to get the source code and go into the directory. git clone https://github.com/bitcoin/bitcoin.git cd bitcoin @@ -89,7 +89,7 @@ Use Qt Creator as IDE You can use Qt Creator as IDE, for debugging and for manipulating forms, etc. Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process). -1. Make sure you installed everything through homebrew mentioned above +1. Make sure you installed everything through Homebrew mentioned above 2. Do a proper ./configure --with-gui=qt5 --enable-debug 3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project 4. Enter "bitcoin-qt" as project name, enter src/qt as location diff --git a/doc/coding.md b/doc/coding.md index 43294dbe4c116..c0631ce3fe2ed 100644 --- a/doc/coding.md +++ b/doc/coding.md @@ -57,7 +57,7 @@ As Doxygen recognizes the comments by the delimiters (`/**` and `*/` in this cas To describe a class use the same construct above the class definition: ```c++ -/** +/** * Alerts are for notifying old versions if they become too obsolete and * need to upgrade. The message is displayed in the status bar. * @see GetWarnings() diff --git a/doc/dnsseed-policy.md b/doc/dnsseed-policy.md index 66a1757ac5e76..e6b4e6df5af6d 100644 --- a/doc/dnsseed-policy.md +++ b/doc/dnsseed-policy.md @@ -45,7 +45,8 @@ related to the DNS seed operation. If these expectations cannot be satisfied the operator should discontinue providing services and contact the active Bitcoin -Core development team as well as posting on bitcoin-development. +Core development team as well as posting on +[bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev). Behavior outside of these expectations may be reasonable in some situations but should be discussed in public in advance. diff --git a/doc/files.md b/doc/files.md index 80195535bb748..ec767e0486da4 100644 --- a/doc/files.md +++ b/doc/files.md @@ -1,12 +1,16 @@ -Used in 0.8.0 ---------------------- -* wallet.dat: personal wallet (BDB) with keys and transactions -* peers.dat: peer IP address database (custom format); since 0.7.0 + +* bitcoin.conf: contains configuration settings for bitcoind or bitcoin-qt +* bitcoind.pid: stores the process id of bitcoind while running * blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0 * blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8) * blocks/index/*; block index (LevelDB); since 0.8.0 * chainstate/*; block chain state database (LevelDB); since 0.8.0 * database/*: BDB database environment; only used for wallet since 0.8.0 +* db.log: wallet database log file +* debug.log: contains debug information and general logging generated by bitcoind or bitcoin-qt +* fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0 +* peers.dat: peer IP address database (custom format); since 0.7.0 +* wallet.dat: personal wallet (BDB) with keys and transactions Only used in pre-0.8.0 --------------------- diff --git a/doc/gitian-building.md b/doc/gitian-building.md index b356a5d88d8d2..39f8d5218051b 100644 --- a/doc/gitian-building.md +++ b/doc/gitian-building.md @@ -1,7 +1,7 @@ Gitian building ================ -*Setup instructions for a gitian build of Bitcoin using a Debian VM or physical system.* +*Setup instructions for a Gitian build of Bitcoin using a Debian VM or physical system.* Gitian is the deterministic build process that is used to build the Bitcoin Core executables. It provides a way to be reasonably sure that the @@ -13,7 +13,7 @@ Multiple developers build the source code by following a specific descriptor These results are compared and only if they match, the build is accepted and uploaded to bitcoin.org. -More independent gitian builders are needed, which is why I wrote this +More independent Gitian builders are needed, which is why I wrote this guide. It is preferred to follow these steps yourself instead of using someone else's VM image to avoid 'contaminating' the build. @@ -22,9 +22,9 @@ Table of Contents - [Create a new VirtualBox VM](#create-a-new-virtualbox-vm) - [Connecting to the VM](#connecting-to-the-vm) -- [Setting up Debian for gitian building](#setting-up-debian-for-gitian-building) -- [Installing gitian](#installing-gitian) -- [Setting up gitian images](#setting-up-gitian-images) +- [Setting up Debian for Gitian building](#setting-up-debian-for-gitian-building) +- [Installing Gitian](#installing-gitian) +- [Setting up Gitian images](#setting-up-gitian-images) - [Getting and building the inputs](#getting-and-building-the-inputs) - [Building Bitcoin](#building-bitcoin) - [Building an alternative repository](#building-an-alternative-repository) @@ -60,28 +60,28 @@ In the VirtualBox GUI click "Create" and choose the following parameters in the ![](gitian-building/create_vm_hard_drive.png) - Hard Drive: Create a virtual hard drive now - + ![](gitian-building/create_vm_hard_drive_file_type.png) -- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image) +- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image) ![](gitian-building/create_vm_storage_physical_hard_drive.png) - -- Storage on Physical hard drive: Dynamically Allocated - + +- Storage on Physical hard drive: Dynamically Allocated + ![](gitian-building/create_vm_file_location_size.png) -- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side +- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side - Push the `Create` button -Get the [Debian 7.4 net installer](http://ftp.at.debian.org/debian-jigdo/current/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). +Get the [Debian 7.8 net installer](http://cdimage.debian.org/cdimage/archive/7.8.0/amd64/iso-cd/debian-7.8.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). This DVD image can be validated using a SHA256 hashing tool, for example on Unixy OSes by entering the following in a terminal: echo "b712a141bc60269db217d3b3e456179bd6b181645f90e4aac9c42ed63de492e9 debian-7.4.0-amd64-netinst.iso" | sha256sum -c # (must return OK) -After creating the VM, we need to configure it. +After creating the VM, we need to configure it. - Click the `Settings` button, then go to the `Network` tab. Adapter 1 should be attacked to `NAT`. @@ -125,22 +125,22 @@ and proceed, just press `Enter`. To select a different button, press `Tab`. ![](gitian-building/debian_install_4_configure_keyboard.png) - The VM will detect network settings using DHCP, this should all proceed automatically -- Configure the network: +- Configure the network: - System name `debian`. - Leave domain name empty. ![](gitian-building/debian_install_5_configure_the_network.png) -- Choose a root password and enter it twice (remember it for later) +- Choose a root password and enter it twice (remember it for later) ![](gitian-building/debian_install_6a_set_up_root_password.png) -- Name the new user `debian` (the full name doesn't matter, you can leave it empty) +- Name the new user `debian` (the full name doesn't matter, you can leave it empty) ![](gitian-building/debian_install_7_set_up_user_fullname.png) ![](gitian-building/debian_install_8_set_up_username.png) -- Choose a user password and enter it twice (remember it for later) +- Choose a user password and enter it twice (remember it for later) ![](gitian-building/debian_install_9_user_password.png) @@ -150,11 +150,11 @@ and proceed, just press `Enter`. To select a different button, press `Tab`. ![](gitian-building/debian_install_10_configure_clock.png) - Disk setup - - Partitioning method: Guided - Use the entire disk - + - Partitioning method: Guided - Use the entire disk + ![](gitian-building/debian_install_11_partition_disks.png) - - Select disk to partition: SCSI1 (0,0,0) + - Select disk to partition: SCSI1 (0,0,0) ![](gitian-building/debian_install_12_choose_disk.png) @@ -168,7 +168,7 @@ and proceed, just press `Enter`. To select a different button, press `Tab`. ![](gitian-building/debian_install_15_write_changes.png) - The base system will be installed, this will take a minute or so -- Choose a mirror (any will do) +- Choose a mirror (any will do) ![](gitian-building/debian_install_16_choose_a_mirror.png) @@ -217,7 +217,7 @@ Replace `root` with `debian` to log in as user. [1] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html [2] http://winscp.net/eng/index.php -Setting up Debian for gitian building +Setting up Debian for Gitian building -------------------------------------- In this section we will be setting up the Debian installation for Gitian building. @@ -237,7 +237,7 @@ Then set up LXC and the rest with the following, which is a complex jumble of se ```bash # the version of lxc-start in Debian 7.4 needs to run as root, so make sure -# that the build script can exectute it without providing a password +# that the build script can execute it without providing a password echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc # add cgroup for LXC echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab @@ -257,7 +257,7 @@ reboot At the end the VM is rebooted to make sure that the changes take effect. The steps in this section need only to be performed once. -Installing gitian +Installing Gitian ------------------ Re-login as the user `debian` that was created during installation. @@ -277,7 +277,7 @@ cd .. **Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*. -Clone the git repositories for bitcoin and gitian and then checkout the bitcoin version that you want to build. +Clone the git repositories for bitcoin and Gitian and then checkout the bitcoin version that you want to build. ```bash git clone https://github.com/devrandom/gitian-builder.git @@ -287,11 +287,11 @@ git checkout v${VERSION} cd .. ``` -Setting up gitian images +Setting up Gitian images ------------------------- Gitian needs virtual images of the operating system to build in. -Currently this is Ubuntu Precise for both x86 architectures. +Currently this is Ubuntu Precise for x86_64. These images will be copied and used every time that a build is started to make sure that the build is deterministic. Creating the images will take a while, but only has to be done once. @@ -300,7 +300,6 @@ Execute the following as user `debian`: ```bash cd gitian-builder -bin/make-base-vm --lxc --arch i386 --suite precise bin/make-base-vm --lxc --arch amd64 --suite precise ``` @@ -311,33 +310,25 @@ There will be a lot of warnings printed during build of the images. These can be Getting and building the inputs -------------------------------- -In [doc/release-process.md](release-process.md) in the bitcoin repository under 'Fetch and build inputs'. -you will find a list of `wget` commands that can be executed to get the dependencies. +Follow the instructions in [doc/release-process.md](release-process.md) in the bitcoin repository +under 'Fetch and build inputs' to install sources which require manual intervention. Also follow +the next step: 'Seed the Gitian sources cache', which will fetch all necessary source files allowing +for Gitian to work offline. -I needed to add `--no-check-certificate` to the OpenSSL wget line to make it work. -Likely this is because the ca-certificates in Debian 7.4 is fairly old. This does not create a -security issue as the gitian descriptors check the integrity of the input archives and refuse to work -if any one is corrupted. +Building Bitcoin +---------------- -After downloading the archives, execute the `gbuild` commands to build the dependencies. -This can take a long time, but only has to be done when the dependencies change, for example -to upgrade the used version. +To build Bitcoin (for Linux, OS X and Windows) just follow the steps under 'perform +Gitian builds' in [doc/release-process.md](release-process.md) in the bitcoin repository. -**Note**: Do not forget to copy the result from `build/out` to `inputs` after every gbuild command! This will save -you a lot of time. +This may take a long time as it also builds the dependencies needed for each descriptor. +These dependencies will be cached after a successful build to avoid rebuilding them when possible. At any time you can check the package installation and build progress with ```bash tail -f var/install.log tail -f var/build.log -``` - -Building Bitcoin ----------------- - -To build Bitcoin (for Linux, OSX and Windows) just follow the steps under 'perform -gitian builds' in [doc/release-process.md](release-process.md) in the bitcoin repository. Output from `gbuild` will look something like @@ -348,7 +339,7 @@ Output from `gbuild` will look something like Resolving deltas: 100% (25724/25724), done. From https://github.com/bitcoin/bitcoin ... (new tags, new branch etc) - --- Building for precise i386 --- + --- Building for precise x86_64 --- Stopping target if it is up Making a new image copy stdin: is not a tty @@ -363,14 +354,11 @@ Output from `gbuild` will look something like lxc-start: Connection refused - inotify event with no name (mask 32768) Running build script (log in var/build.log) -As when building the dependencies, the progress of package installation and building -can be inspected in `var/install.log` and `var/build.log`. - Building an alternative repository ----------------------------------- If you want to do a test build of a pull on GitHub it can be useful to point -the gitian builder at an alternative repository, using the same descriptors +the Gitian builder at an alternative repository, using the same descriptors and inputs. For example: @@ -400,7 +388,7 @@ in `gitian.sigs` to your signing machine and do ``` This will create the `.sig` files that can be committed together with the `.assert` files to assert your -gitian build. +Gitian build. Uploading signatures --------------------- diff --git a/doc/init.md b/doc/init.md index 1f0559d80643c..4d7ba01f08f37 100644 --- a/doc/init.md +++ b/doc/init.md @@ -34,9 +34,8 @@ generate one from the shell yourself like this: bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo' -Once you have a password in hand, set rpcpassword= in /etc/bitcoin/bitcoin.conf -For an example configuration file that describes the configuration settings, +For an example configuration file that describes the configuration settings, see contrib/debian/examples/bitcoin.conf. 3. Paths @@ -81,7 +80,7 @@ Drop bitcoind.conf in /etc/init. Test by running "service bitcoind start" it will automatically start on reboot. NOTE: This script is incompatible with CentOS 5 and Amazon Linux 2014 as they -use old versions of Upstart and do not supply the start-stop-daemon uitility. +use old versions of Upstart and do not supply the start-stop-daemon utility. 5. Auto-respawn ----------------------------------- @@ -89,4 +88,3 @@ use old versions of Upstart and do not supply the start-stop-daemon uitility. Auto respawning is currently only configured for Upstart and systemd. Reasonable defaults have been chosen but YMMV. - diff --git a/doc/release-notes.md b/doc/release-notes.md index f804e8c11b298..38a2c1347d0b8 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,12 +1,32 @@ -(note: this is a temporary file, to be added-to by anybody, and moved to -release-notes at release time) +Bitcoin Core version 0.10.4 is now available from: -Block file backwards-compatibility warning -=========================================== + -Because release 0.10.0 makes use of headers-first synchronization and parallel -block download, the block files and databases are not backwards-compatible -with older versions of Bitcoin Core: +This is a new minor version release, bringing bug fixes, the BIP65 +(CLTV) consensus change, and relay policy preparation for BIP113. It is +recommended to upgrade to this version as soon as possible. + +Please report bugs using the issue tracker at github: + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Downgrade warning +------------------ + +Because release 0.10.0 and later makes use of headers-first synchronization and +parallel block download (see further), the block files and databases are not +backwards-compatible with pre-0.10 versions of Bitcoin Core or other software: * Blocks will be stored on disk out of order (in the order they are received, really), which makes it incompatible with some tools or @@ -18,109 +38,135 @@ stored on disk, which earlier versions won't support. If you want to be able to downgrade smoothly, make a backup of your entire data directory. Without this your node will need start syncing (or importing from -bootstrap.dat) anew afterwards. - -This does not affect wallet forward or backward compatibility. - -Transaction fee changes -======================= - -This release automatically estimates how high a transaction fee (or how -high a priority) transactions require to be confirmed quickly. The default -settings will create transactions that confirm quickly; see the new -'txconfirmtarget' setting to control the tradeoff between fees and -confirmation times. - -Prior releases used hard-coded fees (and priorities), and would -sometimes create transactions that took a very long time to confirm. - -Statistics used to estimate fees and priorities are saved in the -data directory in the `fee_estimates.dat` file just before -program shutdown, and are read in at startup. - -New Command Line Options ---------------------------- - -- `-txconfirmtarget=n` : create transactions that have enough fees (or priority) -so they are likely to confirm within n blocks (default: 1). This setting -is over-ridden by the -paytxfee option. - -New RPC methods ----------------- - -- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for -a transaction to be confirmed within nblocks. Returns -1 if not enough -transactions have been observed to compute a good estimate. - -- `estimatepriority nblocks` : Returns approximate priority needed for -a zero-fee transaction to confirm within nblocks. Returns -1 if not -enough free transactions have been observed to compute a good -estimate. - -RPC access control changes -========================================== - -Subnet matching for the purpose of access control is now done -by matching the binary network address, instead of with string wildcard matching. -For the user this means that `-rpcallowip` takes a subnet specification, which can be - -- a single IP address (e.g. `1.2.3.4` or `fe80::0012:3456:789a:bcde`) -- a network/CIDR (e.g. `1.2.3.0/24` or `fe80::0000/64`) -- a network/netmask (e.g. `1.2.3.4/255.255.255.0` or `fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`) - -An arbitrary number of `-rpcallow` arguments can be given. An incoming connection will be accepted if its origin address -matches one of them. - -For example: - -| 0.9.x and before | 0.10.x | -|--------------------------------------------|---------------------------------------| -| `-rpcallowip=192.168.1.1` | `-rpcallowip=192.168.1.1` (unchanged) | -| `-rpcallowip=192.168.1.*` | `-rpcallowip=192.168.1.0/24` | -| `-rpcallowip=192.168.*` | `-rpcallowip=192.168.0.0/16` | -| `-rpcallowip=*` (dangerous!) | `-rpcallowip=::/0` | - -Using wildcards will result in the rule being rejected with the following error in debug.log: - - Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). - -RPC Server "Warm-Up" Mode -========================= - -The RPC server is started earlier now, before most of the expensive -intialisations like loading the block index. It is available now almost -immediately after starting the process. However, until all initialisations -are done, it always returns an immediate error with code -28 to all calls. - -This new behaviour can be useful for clients to know that a server is already -started and will be available soon (for instance, so that they do not -have to start it themselves). - -Improved signing security -========================= - -For 0.10 the security of signing against unusual attacks has been -improved by making the signatures constant time and deterministic. - -This change is a result of switching signing to use libsecp256k1 -instead of OpenSSL. Libsecp256k1 is a cryptographic library -optimized for the curve Bitcoin uses which was created by Bitcoin -Core developer Pieter Wuille. - -There exist attacks[1] against most ECC implementations where an -attacker on shared virtual machine hardware could extract a private -key if they could cause a target to sign using the same key hundreds -of times. While using shared hosts and reusing keys are inadvisable -for other reasons, it's a better practice to avoid the exposure. - -OpenSSL has code in their source repository for derandomization -and reduction in timing leaks, and we've eagerly wanted to use -it for a long time but this functionality has still not made its -way into a released version of OpenSSL. Libsecp256k1 achieves -significantly stronger protection: As far as we're aware this is -the only deployed implementation of constant time signing for -the curve Bitcoin uses and we have reason to believe that -libsecp256k1 is better tested and more thoroughly reviewed -than the implementation in OpenSSL. - -[1] https://eprint.iacr.org/2014/161.pdf +bootstrap.dat) anew afterwards. It is possible that the data from a completely +synchronised 0.10 node may be usable in older versions as-is, but this is not +supported and may break as soon as the older version attempts to reindex. + +This does not affect wallet forward or backward compatibility. There are no +known problems when downgrading from 0.11.x to 0.10.x. + +Notable changes since 0.10.3 +============================ + +BIP65 soft fork to enforce OP_CHECKLOCKTIMEVERIFY opcode +-------------------------------------------------------- + +This release includes several changes related to the [BIP65][] soft fork +which redefines the existing OP_NOP2 opcode as OP_CHECKLOCKTIMEVERIFY +(CLTV) so that a transaction output can be made unspendable until a +specified point in the future. + +1. This release will only relay and mine transactions spending a CLTV + output if they comply with the BIP65 rules as provided in code. + +2. This release will produce version 4 blocks by default. Please see the + *notice to miners* below. + +3. Once 951 out of a sequence of 1,001 blocks on the local node's best block + chain contain version 4 (or higher) blocks, this release will no + longer accept new version 3 blocks and it will only accept version 4 + blocks if they comply with the BIP65 rules for CLTV. + +For more information about the soft-forking change, please see + + +Graphs showing the progress towards block version 4 adoption may be +found at the URLs below: + +- Block versions over the last 50,000 blocks as progress towards BIP65 + consensus enforcement: + +- Block versions over the last 2,000 blocks showing the days to the + earliest possible BIP65 consensus-enforced block: + +**Notice to miners:** Bitcoin Core’s block templates are now for +version 4 blocks only, and any mining software relying on its +getblocktemplate must be updated in parallel to use libblkmaker either +version FIXME or any version from FIXME onward. + +- If you are solo mining, this will affect you the moment you upgrade + Bitcoin Core, which must be done prior to BIP65 achieving its 951/1001 + status. + +- If you are mining with the stratum mining protocol: this does not + affect you. + +- If you are mining with the getblocktemplate protocol to a pool: this + will affect you at the pool operator’s discretion, which must be no + later than BIP65 achieving its 951/1001 status. + +[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki + +Windows bug fix for corrupted UTXO database on unclean shutdowns +---------------------------------------------------------------- + +Several Windows users reported that they often need to reindex the +entire blockchain after an unclean shutdown of Bitcoin Core on Windows +(or an unclean shutdown of Windows itself). Although unclean shutdowns +remain unsafe, this release no longer relies on memory-mapped files for +the UTXO database, which significantly reduced the frequency of unclean +shutdowns leading to required reindexes during testing. + +For more information, see: + +Other fixes for database corruption on Windows are expected in the +next major release. + +0.10.4 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. + +- #6953 `8b3311f` alias -h for --help +- #6953 `97546fc` Change URLs to https in debian/control +- #6953 `38671bf` Update debian/changelog and slight tweak to debian/control +- #6953 `256321e` Correct spelling mistakes in doc folder +- #6953 `eae0350` Clarification of unit test build instructions +- #6953 `90897ab` Update bluematt-key, the old one is long-since revoked +- #6953 `a2f2fb6` build: disable -Wself-assign +- #6953 `cf67d8b` Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) +- #6953 `b3964e3` Drop "with minimal dependencies" from description +- #6953 `43c2789` Split bitcoin-tx into its own package +- #6953 `dfe0d4d` Include bitcoin-tx binary on Debian/Ubuntu +- #6953 `612efe8` [Qt] Raise debug window when requested +- #6953 `3ad96bd` Fix locking in GetTransaction +- #6953 `9c81005` Fix spelling of Qt +- #6946 `94b67e5` Update LevelDB +- #6706 `5dc72f8` CLTV: Add more tests to improve coverage +- #6706 `6a1343b` Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork +- #6706 `4137248` Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic +- #6706 `0e01d0f` Enable CHECKLOCKTIMEVERIFY as a standard script verify flag +- #6706 `6d01325` Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) +- #6706 `750d54f` Move LOCKTIME_THRESHOLD to src/script/script.h +- #6706 `6897468` Make CScriptNum() take nMaxNumSize as an argument +- #6867 `5297194` Set TCP_NODELAY on P2P sockets +- #6836 `fb818b6` Bring historical release notes up to date +- #6852 `0b3fd07` build: make sure OpenSSL heeds noexecstack + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- Alex Morcos +- Daniel Cousens +- Diego Viola +- Eric Lombrozo +- Esteban Ordano +- Gregory Maxwell +- Luke Dashjr +- MarcoFalke +- Matt Corallo +- Micha +- Mitchell Cash +- Peter Todd +- Pieter Wuille +- Wladimir J. van der Laan +- Zak Wilcox + +And those who contributed additional code review and/or security research. + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-notes/release-notes-0.10.0.md b/doc/release-notes/release-notes-0.10.0.md new file mode 100644 index 0000000000000..986b8832ec189 --- /dev/null +++ b/doc/release-notes/release-notes-0.10.0.md @@ -0,0 +1,762 @@ +Bitcoin Core version 0.10.0 is now available from: + + https://bitcoin.org/bin/0.10.0/ + +This is a new major version release, bringing both new features and +bug fixes. + +Please report bugs using the issue tracker at github: + + https://github.com/bitcoin/bitcoin/issues + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Downgrading warning +--------------------- + +Because release 0.10.0 makes use of headers-first synchronization and parallel +block download (see further), the block files and databases are not +backwards-compatible with older versions of Bitcoin Core or other software: + +* Blocks will be stored on disk out of order (in the order they are +received, really), which makes it incompatible with some tools or +other programs. Reindexing using earlier versions will also not work +anymore as a result of this. + +* The block index database will now hold headers for which no block is +stored on disk, which earlier versions won't support. + +If you want to be able to downgrade smoothly, make a backup of your entire data +directory. Without this your node will need start syncing (or importing from +bootstrap.dat) anew afterwards. It is possible that the data from a completely +synchronised 0.10 node may be usable in older versions as-is, but this is not +supported and may break as soon as the older version attempts to reindex. + +This does not affect wallet forward or backward compatibility. + + +Notable changes +=============== + +Faster synchronization +---------------------- + +Bitcoin Core now uses 'headers-first synchronization'. This means that we first +ask peers for block headers (a total of 27 megabytes, as of December 2014) and +validate those. In a second stage, when the headers have been discovered, we +download the blocks. However, as we already know about the whole chain in +advance, the blocks can be downloaded in parallel from all available peers. + +In practice, this means a much faster and more robust synchronization. On +recent hardware with a decent network link, it can be as little as 3 hours +for an initial full synchronization. You may notice a slower progress in the +very first few minutes, when headers are still being fetched and verified, but +it should gain speed afterwards. + +A few RPCs were added/updated as a result of this: +- `getblockchaininfo` now returns the number of validated headers in addition to +the number of validated blocks. +- `getpeerinfo` lists both the number of blocks and headers we know we have in +common with each peer. While synchronizing, the heights of the blocks that we +have requested from peers (but haven't received yet) are also listed as +'inflight'. +- A new RPC `getchaintips` lists all known branches of the block chain, +including those we only have headers for. + +Transaction fee changes +----------------------- + +This release automatically estimates how high a transaction fee (or how +high a priority) transactions require to be confirmed quickly. The default +settings will create transactions that confirm quickly; see the new +'txconfirmtarget' setting to control the tradeoff between fees and +confirmation times. Fees are added by default unless the 'sendfreetransactions' +setting is enabled. + +Prior releases used hard-coded fees (and priorities), and would +sometimes create transactions that took a very long time to confirm. + +Statistics used to estimate fees and priorities are saved in the +data directory in the `fee_estimates.dat` file just before +program shutdown, and are read in at startup. + +New command line options for transaction fee changes: +- `-txconfirmtarget=n` : create transactions that have enough fees (or priority) +so they are likely to begin confirmation within n blocks (default: 1). This setting +is over-ridden by the -paytxfee option. +- `-sendfreetransactions` : Send transactions as zero-fee transactions if possible +(default: 0) + +New RPC commands for fee estimation: +- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for +a transaction to begin confirmation within nblocks. Returns -1 if not enough +transactions have been observed to compute a good estimate. +- `estimatepriority nblocks` : Returns approximate priority needed for +a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not +enough free transactions have been observed to compute a good +estimate. + +RPC access control changes +-------------------------- + +Subnet matching for the purpose of access control is now done +by matching the binary network address, instead of with string wildcard matching. +For the user this means that `-rpcallowip` takes a subnet specification, which can be + +- a single IP address (e.g. `1.2.3.4` or `fe80::0012:3456:789a:bcde`) +- a network/CIDR (e.g. `1.2.3.0/24` or `fe80::0000/64`) +- a network/netmask (e.g. `1.2.3.4/255.255.255.0` or `fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff`) + +An arbitrary number of `-rpcallow` arguments can be given. An incoming connection will be accepted if its origin address +matches one of them. + +For example: + +| 0.9.x and before | 0.10.x | +|--------------------------------------------|---------------------------------------| +| `-rpcallowip=192.168.1.1` | `-rpcallowip=192.168.1.1` (unchanged) | +| `-rpcallowip=192.168.1.*` | `-rpcallowip=192.168.1.0/24` | +| `-rpcallowip=192.168.*` | `-rpcallowip=192.168.0.0/16` | +| `-rpcallowip=*` (dangerous!) | `-rpcallowip=::/0` (still dangerous!) | + +Using wildcards will result in the rule being rejected with the following error in debug.log: + + Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). + + +REST interface +-------------- + +A new HTTP API is exposed when running with the `-rest` flag, which allows +unauthenticated access to public node data. + +It is served on the same port as RPC, but does not need a password, and uses +plain HTTP instead of JSON-RPC. + +Assuming a local RPC server running on port 8332, it is possible to request: +- Blocks: http://localhost:8332/rest/block/*HASH*.*EXT* +- Blocks without transactions: http://localhost:8332/rest/block/notxdetails/*HASH*.*EXT* +- Transactions (requires `-txindex`): http://localhost:8332/rest/tx/*HASH*.*EXT* + +In every case, *EXT* can be `bin` (for raw binary data), `hex` (for hex-encoded +binary) or `json`. + +For more details, see the `doc/REST-interface.md` document in the repository. + +RPC Server "Warm-Up" Mode +------------------------- + +The RPC server is started earlier now, before most of the expensive +intialisations like loading the block index. It is available now almost +immediately after starting the process. However, until all initialisations +are done, it always returns an immediate error with code -28 to all calls. + +This new behaviour can be useful for clients to know that a server is already +started and will be available soon (for instance, so that they do not +have to start it themselves). + +Improved signing security +------------------------- + +For 0.10 the security of signing against unusual attacks has been +improved by making the signatures constant time and deterministic. + +This change is a result of switching signing to use libsecp256k1 +instead of OpenSSL. Libsecp256k1 is a cryptographic library +optimized for the curve Bitcoin uses which was created by Bitcoin +Core developer Pieter Wuille. + +There exist attacks[1] against most ECC implementations where an +attacker on shared virtual machine hardware could extract a private +key if they could cause a target to sign using the same key hundreds +of times. While using shared hosts and reusing keys are inadvisable +for other reasons, it's a better practice to avoid the exposure. + +OpenSSL has code in their source repository for derandomization +and reduction in timing leaks that we've eagerly wanted to use for a +long time, but this functionality has still not made its +way into a released version of OpenSSL. Libsecp256k1 achieves +significantly stronger protection: As far as we're aware this is +the only deployed implementation of constant time signing for +the curve Bitcoin uses and we have reason to believe that +libsecp256k1 is better tested and more thoroughly reviewed +than the implementation in OpenSSL. + +[1] https://eprint.iacr.org/2014/161.pdf + +Watch-only wallet support +------------------------- + +The wallet can now track transactions to and from wallets for which you know +all addresses (or scripts), even without the private keys. + +This can be used to track payments without needing the private keys online on a +possibly vulnerable system. In addition, it can help for (manual) construction +of multisig transactions where you are only one of the signers. + +One new RPC, `importaddress`, is added which functions similarly to +`importprivkey`, but instead takes an address or script (in hexadecimal) as +argument. After using it, outputs credited to this address or script are +considered to be received, and transactions consuming these outputs will be +considered to be sent. + +The following RPCs have optional support for watch-only: +`getbalance`, `listreceivedbyaddress`, `listreceivedbyaccount`, +`listtransactions`, `listaccounts`, `listsinceblock`, `gettransaction`. See the +RPC documentation for those methods for more information. + +Compared to using `getrawtransaction`, this mechanism does not require +`-txindex`, scales better, integrates better with the wallet, and is compatible +with future block chain pruning functionality. It does mean that all relevant +addresses need to added to the wallet before the payment, though. + +Consensus library +----------------- + +Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library. + +The purpose of this library is to make the verification functionality that is +critical to Bitcoin's consensus available to other applications, e.g. to language +bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or +alternative node implementations. + +This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows). +Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h). + +In its initial version the API includes two functions: + +- `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction +correctly spends the passed scriptPubKey under additional constraints indicated by flags +- `bitcoinconsensus_version` returns the API version, currently at an experimental `0` + +The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface +for existing methods should remain stable. + +Standard script rules relaxed for P2SH addresses +------------------------------------------------ + +The IsStandard() rules have been almost completely removed for P2SH +redemption scripts, allowing applications to make use of any valid +script type, such as "n-of-m OR y", hash-locked oracle addresses, etc. +While the Bitcoin protocol has always supported these types of script, +actually using them on mainnet has been previously inconvenient as +standard Bitcoin Core nodes wouldn't relay them to miners, nor would +most miners include them in blocks they mined. + +bitcoin-tx +---------- + +It has been observed that many of the RPC functions offered by bitcoind are +"pure functions", and operate independently of the bitcoind wallet. This +included many of the RPC "raw transaction" API functions, such as +createrawtransaction. + +bitcoin-tx is a newly introduced command line utility designed to enable easy +manipulation of bitcoin transactions. A summary of its operation may be +obtained via "bitcoin-tx --help" Transactions may be created or signed in a +manner similar to the RPC raw tx API. Transactions may be updated, deleting +inputs or outputs, or appending new inputs and outputs. Custom scripts may be +easily composed using a simple text notation, borrowed from the bitcoin test +suite. + +This tool may be used for experimenting with new transaction types, signing +multi-party transactions, and many other uses. Long term, the goal is to +deprecate and remove "pure function" RPC API calls, as those do not require a +server round-trip to execute. + +Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making +key and script operations easily accessible via command line. + +Mining and relay policy enhancements +------------------------------------ + +Bitcoin Core's block templates are now for version 3 blocks only, and any mining +software relying on its `getblocktemplate` must be updated in parallel to use +libblkmaker either version 0.4.2 or any version from 0.5.1 onward. +If you are solo mining, this will affect you the moment you upgrade Bitcoin +Core, which must be done prior to BIP66 achieving its 951/1001 status. +If you are mining with the stratum mining protocol: this does not affect you. +If you are mining with the getblocktemplate protocol to a pool: this will affect +you at the pool operator's discretion, which must be no later than BIP66 +achieving its 951/1001 status. + +The `prioritisetransaction` RPC method has been added to enable miners to +manipulate the priority of transactions on an individual basis. + +Bitcoin Core now supports BIP 22 long polling, so mining software can be +notified immediately of new templates rather than having to poll periodically. + +Support for BIP 23 block proposals is now available in Bitcoin Core's +`getblocktemplate` method. This enables miners to check the basic validity of +their next block before expending work on it, reducing risks of accidental +hardforks or mining invalid blocks. + +Two new options to control mining policy: +- `-datacarrier=0/1` : Relay and mine "data carrier" (OP_RETURN) transactions +if this is 1. +- `-datacarriersize=n` : Maximum size, in bytes, we consider acceptable for +"data carrier" outputs. + +The relay policy has changed to more properly implement the desired behavior of not +relaying free (or very low fee) transactions unless they have a priority above the +AllowFreeThreshold(), in which case they are relayed subject to the rate limiter. + +BIP 66: strict DER encoding for signatures +------------------------------------------ + +Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new +consensus rule, which prohibits non-DER signatures. Such transactions have been +non-standard since Bitcoin v0.8.0 (released in February 2013), but were +technically still permitted inside blocks. + +This change breaks the dependency on OpenSSL's signature parsing, and is +required if implementations would want to remove all of OpenSSL from the +consensus code. + +The same miner-voting mechanism as in BIP 34 is used: when 751 out of a +sequence of 1001 blocks have version number 3 or higher, the new consensus +rule becomes active for those blocks. When 951 out of a sequence of 1001 +blocks have version number 3 or higher, it becomes mandatory for all blocks. + +Backward compatibility with current mining software is NOT provided, thus miners +should read the first paragraph of "Mining and relay policy enhancements" above. + +0.10.0 Change log +================= + +Detailed release notes follow. This overview includes changes that affect external +behavior, not code moves, refactors or string updates. + +RPC: +- `f923c07` Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost +- `b641c9c` Fix addnode "onetry": Connect with OpenNetworkConnection +- `171ca77` estimatefee / estimatepriority RPC methods +- `b750cf1` Remove cli functionality from bitcoind +- `f6984e8` Add "chain" to getmininginfo, improve help in getblockchaininfo +- `99ddc6c` Add nLocalServices info to RPC getinfo +- `cf0c47b` Remove getwork() RPC call +- `2a72d45` prioritisetransaction +- `e44fea5` Add an option `-datacarrier` to allow users to disable relaying/mining data carrier transactions +- `2ec5a3d` Prevent easy RPC memory exhaustion attack +- `d4640d7` Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation +- `83f3543` Added argument to listaccounts to include watchonly addresses +- `952877e` Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address +- `d7d5d23` Added argument to listtransactions and listsinceblock to include watchonly addresses +- `f87ba3d` added includeWatchonly argument to 'gettransaction' because it affects balance calculation +- `0fa2f88` added includedWatchonly argument to listreceivedbyaddress/...account +- `6c37f7f` `getrawchangeaddress`: fail when keypool exhausted and wallet locked +- `ff6a7af` getblocktemplate: longpolling support +- `c4a321f` Add peerid to getpeerinfo to allow correlation with the logs +- `1b4568c` Add vout to ListTransactions output +- `b33bd7a` Implement "getchaintips" RPC command to monitor blockchain forks +- `733177e` Remove size limit in RPC client, keep it in server +- `6b5b7cb` Categorize rpc help overview +- `6f2c26a` Closely track mempool byte total. Add "getmempoolinfo" RPC +- `aa82795` Add detailed network info to getnetworkinfo RPC +- `01094bd` Don't reveal whether password is <20 or >20 characters in RPC +- `57153d4` rpc: Compute number of confirmations of a block from block height +- `ff36cbe` getnetworkinfo: export local node's client sub-version string +- `d14d7de` SanitizeString: allow '(' and ')' +- `31d6390` Fixed setaccount accepting foreign address +- `b5ec5fe` update getnetworkinfo help with subversion +- `ad6e601` RPC additions after headers-first +- `33dfbf5` rpc: Fix leveldb iterator leak, and flush before `gettxoutsetinfo` +- `2aa6329` Enable customising node policy for datacarrier data size with a -datacarriersize option +- `f877aaa` submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock +- `e69a587` submitblock: Support for returning specific rejection reasons +- `af82884` Add "warmup mode" for RPC server +- `e2655e0` Add unauthenticated HTTP REST interface to public blockchain data +- `683dc40` Disable SSLv3 (in favor of TLS) for the RPC client and server +- `44b4c0d` signrawtransaction: validate private key +- `9765a50` Implement BIP 23 Block Proposal +- `f9de17e` Add warning comment to getinfo + +Command-line options: +- `ee21912` Use netmasks instead of wildcards for IP address matching +- `deb3572` Add `-rpcbind` option to allow binding RPC port on a specific interface +- `96b733e` Add `-version` option to get just the version +- `1569353` Add `-stopafterblockimport` option +- `77cbd46` Let -zapwallettxes recover transaction meta data +- `1c750db` remove -tor compatibility code (only allow -onion) +- `4aaa017` rework help messages for fee-related options +- `4278b1d` Clarify error message when invalid -rpcallowip +- `6b407e4` -datadir is now allowed in config files +- `bdd5b58` Add option `-sysperms` to disable 077 umask (create new files with system default umask) +- `cbe39a3` Add "bitcoin-tx" command line utility and supporting modules +- `dbca89b` Trigger -alertnotify if network is upgrading without you +- `ad96e7c` Make -reindex cope with out-of-order blocks +- `16d5194` Skip reindexed blocks individually +- `ec01243` --tracerpc option for regression tests +- `f654f00` Change -genproclimit default to 1 +- `3c77714` Make -proxy set all network types, avoiding a connect leak +- `57be955` Remove -printblock, -printblocktree, and -printblockindex +- `ad3d208` remove -maxorphanblocks config parameter since it is no longer functional + +Block and transaction handling: +- `7a0e84d` ProcessGetData(): abort if a block file is missing from disk +- `8c93bf4` LoadBlockIndexDB(): Require block db reindex if any `blk*.dat` files are missing +- `77339e5` Get rid of the static chainMostWork (optimization) +- `4e0eed8` Allow ActivateBestChain to release its lock on cs_main +- `18e7216` Push cs_mains down in ProcessBlock +- `fa126ef` Avoid undefined behavior using CFlatData in CScript serialization +- `7f3b4e9` Relax IsStandard rules for pay-to-script-hash transactions +- `c9a0918` Add a skiplist to the CBlockIndex structure +- `bc42503` Use unordered_map for CCoinsViewCache with salted hash (optimization) +- `d4d3fbd` Do not flush the cache after every block outside of IBD (optimization) +- `ad08d0b` Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache +- `5734d4d` Only remove actualy failed blocks from setBlockIndexValid +- `d70bc52` Rework block processing benchmark code +- `714a3e6` Only keep setBlockIndexValid entries that are possible improvements +- `ea100c7` Reduce maximum coinscache size during verification (reduce memory usage) +- `4fad8e6` Reject transactions with excessive numbers of sigops +- `b0875eb` Allow BatchWrite to destroy its input, reducing copying (optimization) +- `92bb6f2` Bypass reloading blocks from disk (optimization) +- `2e28031` Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage) +- `ab15b2e` Avoid copying undo data (optimization) +- `341735e` Headers-first synchronization +- `afc32c5` Fix rebuild-chainstate feature and improve its performance +- `e11b2ce` Fix large reorgs +- `ed6d1a2` Keep information about all block files in memory +- `a48f2d6` Abstract context-dependent block checking from acceptance +- `7e615f5` Fixed mempool sync after sending a transaction +- `51ce901` Improve chainstate/blockindex disk writing policy +- `a206950` Introduce separate flushing modes +- `9ec75c5` Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true +- `868d041` Remove coinbase-dependant transactions during reorg +- `723d12c` Remove txn which are invalidated by coinbase maturity during reorg +- `0cb8763` Check against MANDATORY flags prior to accepting to mempool +- `8446262` Reject headers that build on an invalid parent +- `008138c` Bugfix: only track UTXO modification after lookup + +P2P protocol and network code: +- `f80cffa` Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails +- `c30329a` Add testnet DNS seed of Alex Kotenko +- `45a4baf` Add testnet DNS seed of Andreas Schildbach +- `f1920e8` Ping automatically every 2 minutes (unconditionally) +- `806fd19` Allocate receive buffers in on the fly +- `6ecf3ed` Display unknown commands received +- `aa81564` Track peers' available blocks +- `caf6150` Use async name resolving to improve net thread responsiveness +- `9f4da19` Use pong receive time rather than processing time +- `0127a9b` remove SOCKS4 support from core and GUI, use SOCKS5 +- `40f5cb8` Send rejects and apply DoS scoring for errors in direct block validation +- `dc942e6` Introduce whitelisted peers +- `c994d2e` prevent SOCKET leak in BindListenPort() +- `a60120e` Add built-in seeds for .onion +- `60dc8e4` Allow -onlynet=onion to be used +- `3a56de7` addrman: Do not propagate obviously poor addresses onto the network +- `6050ab6` netbase: Make SOCKS5 negotiation interruptible +- `604ee2a` Remove tx from AlreadyAskedFor list once we receive it, not when we process it +- `efad808` Avoid reject message feedback loops +- `71697f9` Separate protocol versioning from clientversion +- `20a5f61` Don't relay alerts to peers before version negotiation +- `b4ee0bd` Introduce preferred download peers +- `845c86d` Do not use third party services for IP detection +- `12a49ca` Limit the number of new addressses to accumulate +- `35e408f` Regard connection failures as attempt for addrman +- `a3a7317` Introduce 10 minute block download timeout +- `3022e7d` Require sufficent priority for relay of free transactions +- `58fda4d` Update seed IPs, based on bitcoin.sipa.be crawler data +- `18021d0` Remove bitnodes.io from dnsseeds. + +Validation: +- `6fd7ef2` Also switch the (unused) verification code to low-s instead of even-s +- `584a358` Do merkle root and txid duplicates check simultaneously +- `217a5c9` When transaction outputs exceed inputs, show the offending amounts so as to aid debugging +- `f74fc9b` Print input index when signature validation fails, to aid debugging +- `6fd59ee` script.h: set_vch() should shift a >32 bit value +- `d752ba8` Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only) +- `698c6ab` Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only) +- `ab9edbd` script: create sane error return codes for script validation and remove logging +- `219a147` script: check ScriptError values in script tests +- `0391423` Discourage NOPs reserved for soft-fork upgrades +- `98b135f` Make STRICTENC invalid pubkeys fail the script rather than the opcode +- `307f7d4` Report script evaluation failures in log and reject messages +- `ace39db` consensus: guard against openssl's new strict DER checks +- `12b7c44` Improve robustness of DER recoding code +- `76ce5c8` fail immediately on an empty signature + +Build system: +- `f25e3ad` Fix build in OS X 10.9 +- `65e8ba4` build: Switch to non-recursive make +- `460b32d` build: fix broken boost chrono check on some platforms +- `9ce0774` build: Fix windows configure when using --with-qt-libdir +- `ea96475` build: Add mention of --disable-wallet to bdb48 error messages +- `1dec09b` depends: add shared dependency builder +- `c101c76` build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix +- `e432a5f` build: add option for reducing exports (v2) +- `6134b43` Fixing condition 'sabotaging' MSVC build +- `af0bd5e` osx: fix signing to make Gatekeeper happy (again) +- `a7d1f03` build: fix dynamic boost check when --with-boost= is used +- `d5fd094` build: fix qt test build when libprotobuf is in a non-standard path +- `2cf5f16` Add libbitcoinconsensus library +- `914868a` build: add a deterministic dmg signer +- `2d375fe` depends: bump openssl to 1.0.1k +- `b7a4ecc` Build: Only check for boost when building code that requires it + +Wallet: +- `b33d1f5` Use fee/priority estimates in wallet CreateTransaction +- `4b7b1bb` Sanity checks for estimates +- `c898846` Add support for watch-only addresses +- `d5087d1` Use script matching rather than destination matching for watch-only +- `d88af56` Fee fixes +- `a35b55b` Dont run full check every time we decrypt wallet +- `3a7c348` Fix make_change to not create half-satoshis +- `f606bb9` fix a possible memory leak in CWalletDB::Recover +- `870da77` fix possible memory leaks in CWallet::EncryptWallet +- `ccca27a` Watch-only fixes +- `9b1627d` [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis +- `a53fd41` Deterministic signing +- `15ad0b5` Apply AreSane() checks to the fees from the network +- `11855c1` Enforce minRelayTxFee on wallet created tx and add a maxtxfee option + +GUI: +- `c21c74b` osx: Fix missing dock menu with qt5 +- `b90711c` Fix Transaction details shows wrong To: +- `516053c` Make links in 'About Bitcoin Core' clickable +- `bdc83e8` Ensure payment request network matches client network +- `65f78a1` Add GUI view of peer information +- `06a91d9` VerifyDB progress reporting +- `fe6bff2` Add BerkeleyDB version info to RPCConsole +- `b917555` PeerTableModel: Fix potential deadlock. #4296 +- `dff0e3b` Improve rpc console history behavior +- `95a9383` Remove CENT-fee-rule from coin control completely +- `56b07d2` Allow setting listen via GUI +- `d95ba75` Log messages with type>QtDebugMsg as non-debug +- `8969828` New status bar Unit Display Control and related changes +- `674c070` seed OpenSSL PNRG with Windows event data +- `509f926` Payment request parsing on startup now only changes network if a valid network name is specified +- `acd432b` Prevent balloon-spam after rescan +- `7007402` Implement SI-style (thin space) thoudands separator +- `91cce17` Use fixed-point arithmetic in amount spinbox +- `bdba2dd` Remove an obscure option no-one cares about +- `bd0aa10` Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution +- `94e1b9e` Re-work overviewpage UI +- `8bfdc9a` Better looking trayicon +- `b197bf3` disable tray interactions when client model set to 0 +- `1c5f0af` Add column Watch-only to transactions list +- `21f139b` Fix tablet crash. closes #4854 +- `e84843c` Broken addresses on command line no longer trigger testnet +- `a49f11d` Change splash screen to normal window +- `1f9be98` Disable App Nap on OSX 10.9+ +- `27c3e91` Add proxy to options overridden if necessary +- `4bd1185` Allow "emergency" shutdown during startup +- `d52f072` Don't show wallet options in the preferences menu when running with -disablewallet +- `6093aa1` Qt: QProgressBar CPU-Issue workaround +- `0ed9675` [Wallet] Add global boolean whether to send free transactions (default=true) +- `ed3e5e4` [Wallet] Add global boolean whether to pay at least the custom fee (default=true) +- `e7876b2` [Wallet] Prevent user from paying a non-sense fee +- `c1c9d5b` Add Smartfee to GUI +- `e0a25c5` Make askpassphrase dialog behave more sanely +- `94b362d` On close of splashscreen interrupt verifyDB +- `b790d13` English translation update +- `8543b0d` Correct tooltip on address book page + +Tests: +- `b41e594` Fix script test handling of empty scripts +- `d3a33fc` Test CHECKMULTISIG with m == 0 and n == 0 +- `29c1749` Let tx (in)valid tests use any SCRIPT_VERIFY flag +- `6380180` Add rejection of non-null CHECKMULTISIG dummy values +- `21bf3d2` Add tests for BoostAsioToCNetAddr +- `b5ad5e7` Add Python test for -rpcbind and -rpcallowip +- `9ec0306` Add CODESEPARATOR/FindAndDelete() tests +- `75ebced` Added many rpc wallet tests +- `0193fb8` Allow multiple regression tests to run at once +- `92a6220` Hook up sanity checks +- `3820e01` Extend and move all crypto tests to crypto_tests.cpp +- `3f9a019` added list/get received by address/ account tests +- `a90689f` Remove timing-based signature cache unit test +- `236982c` Add skiplist unit tests +- `f4b00be` Add CChain::GetLocator() unit test +- `b45a6e8` Add test for getblocktemplate longpolling +- `cdf305e` Set -discover=0 in regtest framework +- `ed02282` additional test for OP_SIZE in script_valid.json +- `0072d98` script tests: BOOLAND, BOOLOR decode to integer +- `833ff16` script tests: values that overflow to 0 are true +- `4cac5db` script tests: value with trailing 0x00 is true +- `89101c6` script test: test case for 5-byte bools +- `d2d9dc0` script tests: add tests for CHECKMULTISIG limits +- `d789386` Add "it works" test for bitcoin-tx +- `df4d61e` Add bitcoin-tx tests +- `aa41ac2` Test IsPushOnly() with invalid push +- `6022b5d` Make `script_{valid,invalid}.json` validation flags configurable +- `8138cbe` Add automatic script test generation, and actual checksig tests +- `ed27e53` Add coins_tests with a large randomized CCoinViewCache test +- `9df9cf5` Make SCRIPT_VERIFY_STRICTENC compatible with BIP62 +- `dcb9846` Extend getchaintips RPC test +- `554147a` Ensure MINIMALDATA invalid tests can only fail one way +- `dfeec18` Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule +- `2b62e17` Clearly separate PUSHDATA and numeric argument MINIMALDATA tests +- `16d78bd` Add valid invert of invalid every numeric opcode tests +- `f635269` tests: enable alertnotify test for Windows +- `7a41614` tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment +- `5122ea7` tests: fix forknotify.py on windows +- `fa7f8cd` tests: remove old pull-tester scripts +- `7667850` tests: replace the old (unused since Travis) tests with new rpc test scripts +- `f4e0aef` Do signature-s negation inside the tests +- `1837987` Optimize -regtest setgenerate block generation +- `2db4c8a` Fix node ranges in the test framework +- `a8b2ce5` regression test only setmocktime RPC call +- `daf03e7` RPC tests: create initial chain with specific timestamps +- `8656dbb` Port/fix txnmall.sh regression test +- `ca81587` Test the exact order of CHECKMULTISIG sig/pubkey evaluation +- `7357893` Prioritize and display -testsafemode status in UI +- `f321d6b` Add key generation/verification to ECC sanity check +- `132ea9b` miner_tests: Disable checkpoints so they don't fail the subsidy-change test +- `bc6cb41` QA RPC tests: Add tests block block proposals +- `f67a9ce` Use deterministically generated script tests +- `11d7a7d` [RPC] add rpc-test for http keep-alive (persistent connections) +- `34318d7` RPC-test based on invalidateblock for mempool coinbase spends +- `76ec867` Use actually valid transactions for script tests +- `c8589bf` Add actual signature tests +- `e2677d7` Fix smartfees test for change to relay policy +- `263b65e` tests: run sanity checks in tests too + +Miscellaneous: +- `122549f` Fix incorrect checkpoint data for testnet3 +- `5bd02cf` Log used config file to debug.log on startup +- `68ba85f` Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments +- `e5ee8f0` Remove -beta suffix +- `38405ac` Add comment regarding experimental-use service bits +- `be873f6` Issue warning if collecting RandSeed data failed +- `8ae973c` Allocate more space if necessary in RandSeedAddPerfMon +- `675bcd5` Correct comment for 15-of-15 p2sh script size +- `fda3fed` libsecp256k1 integration +- `2e36866` Show nodeid instead of addresses in log (for anonymity) unless otherwise requested +- `cd01a5e` Enable paranoid corruption checks in LevelDB >= 1.16 +- `9365937` Add comment about never updating nTimeOffset past 199 samples +- `403c1bf` contrib: remove getwork-based pyminer (as getwork API call has been removed) +- `0c3e101` contrib: Added systemd .service file in order to help distributions integrate bitcoind +- `0a0878d` doc: Add new DNSseed policy +- `2887bff` Update coding style and add .clang-format +- `5cbda4f` Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope +- `b4a72a7` contrib/linearize: split output files based on new-timestamp-year or max-file-size +- `e982b57` Use explicit fflush() instead of setvbuf() +- `234bfbf` contrib: Add init scripts and docs for Upstart and OpenRC +- `01c2807` Add warning about the merkle-tree algorithm duplicate txid flaw +- `d6712db` Also create pid file in non-daemon mode +- `772ab0e` contrib: use batched JSON-RPC in linarize-hashes (optimization) +- `7ab4358` Update bash-completion for v0.10 +- `6e6a36c` contrib: show pull # in prompt for github-merge script +- `5b9f842` Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293) +- `4e7c219` Catch UTXO set read errors and shutdown +- `867c600` Catch LevelDB errors during flush +- `06ca065` Fix CScriptID(const CScript& in) in empty script case + +Credits +======= + +Thanks to everyone who contributed to this release: + +- 21E14 +- Adam Weiss +- Aitor Pazos +- Alexander Jeng +- Alex Morcos +- Alon Muroch +- Andreas Schildbach +- Andrew Poelstra +- Andy Alness +- Ashley Holman +- Benedict Chan +- Ben Holden-Crowther +- Bryan Bishop +- BtcDrak +- Christian von Roques +- Clinton Christian +- Cory Fields +- Cozz Lovan +- daniel +- Daniel Kraft +- David Hill +- Derek701 +- dexX7 +- dllud +- Dominyk Tiller +- Doug +- elichai +- elkingtowa +- ENikS +- Eric Shaw +- Federico Bond +- Francis GASCHET +- Gavin Andresen +- Giuseppe Mazzotta +- Glenn Willen +- Gregory Maxwell +- gubatron +- HarryWu +- himynameismartin +- Huang Le +- Ian Carroll +- imharrywu +- Jameson Lopp +- Janusz Lenar +- JaSK +- Jeff Garzik +- JL2035 +- Johnathan Corgan +- Jonas Schnelli +- jtimon +- Julian Haight +- Kamil Domanski +- kazcw +- kevin +- kiwigb +- Kosta Zertsekel +- LongShao007 +- Luke Dashjr +- Mark Friedenbach +- Mathy Vanvoorden +- Matt Corallo +- Matthew Bogosian +- Micha +- Michael Ford +- Mike Hearn +- mrbandrews +- mruddy +- ntrgn +- Otto Allmendinger +- paveljanik +- Pavel Vasin +- Peter Todd +- phantomcircuit +- Philip Kaufmann +- Pieter Wuille +- pryds +- randy-waterhouse +- R E Broadley +- Rose Toomey +- Ross Nicoll +- Roy Badami +- Ruben Dario Ponticelli +- Rune K. Svendsen +- Ryan X. Charles +- Saivann +- sandakersmann +- SergioDemianLerner +- shshshsh +- sinetek +- Stuart Cardall +- Suhas Daftuar +- Tawanda Kembo +- Teran McKinney +- tm314159 +- Tom Harding +- Trevin Hofmann +- Whit J +- Wladimir J. van der Laan +- Yoichi Hirai +- Zak Wilcox + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). + diff --git a/doc/release-notes/release-notes-0.10.1.md b/doc/release-notes/release-notes-0.10.1.md new file mode 100644 index 0000000000000..8f59f1f68c690 --- /dev/null +++ b/doc/release-notes/release-notes-0.10.1.md @@ -0,0 +1,143 @@ +Bitcoin Core version 0.10.1 is now available from: + + + +This is a new minor version release, bringing bug fixes and translation +updates. It is recommended to upgrade to this version. + +Please report bugs using the issue tracker at github: + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Downgrade warning +------------------ + +Because release 0.10.0 and later makes use of headers-first synchronization and +parallel block download (see further), the block files and databases are not +backwards-compatible with pre-0.10 versions of Bitcoin Core or other software: + +* Blocks will be stored on disk out of order (in the order they are +received, really), which makes it incompatible with some tools or +other programs. Reindexing using earlier versions will also not work +anymore as a result of this. + +* The block index database will now hold headers for which no block is +stored on disk, which earlier versions won't support. + +If you want to be able to downgrade smoothly, make a backup of your entire data +directory. Without this your node will need start syncing (or importing from +bootstrap.dat) anew afterwards. It is possible that the data from a completely +synchronised 0.10 node may be usable in older versions as-is, but this is not +supported and may break as soon as the older version attempts to reindex. + +This does not affect wallet forward or backward compatibility. + +Notable changes +=============== + +This is a minor release and hence there are no notable changes. +For the notable changes in 0.10, refer to the release notes for the +0.10.0 release at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md + +0.10.1 Change log +================= + +Detailed release notes follow. This overview includes changes that affect external +behavior, not code moves, refactors or string updates. + +RPC: +- `7f502be` fix crash: createmultisig and addmultisigaddress +- `eae305f` Fix missing lock in submitblock + +Block (database) and transaction handling: +- `1d2cdd2` Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates +- `c91c660` fix InvalidateBlock to repopulate setBlockIndexCandidates +- `002c8a2` fix possible block db breakage during re-index +- `a1f425b` Add (optional) consistency check for the block chain data structures +- `1c62e84` Keep mempool consistent during block-reorgs +- `57d1f46` Fix CheckBlockIndex for reindex +- `bac6fca` Set nSequenceId when a block is fully linked + +P2P protocol and network code: +- `78f64ef` don't trickle for whitelisted nodes +- `ca301bf` Reduce fingerprinting through timestamps in 'addr' messages. +- `200f293` Ignore getaddr messages on Outbound connections. +- `d5d8998` Limit message sizes before transfer +- `aeb9279` Better fingerprinting protection for non-main-chain getdatas. +- `cf0218f` Make addrman's bucket placement deterministic (countermeasure 1 against eclipse attacks, see http://cs-people.bu.edu/heilman/eclipse/) +- `0c6f334` Always use a 50% chance to choose between tried and new entries (countermeasure 2 against eclipse attacks) +- `214154e` Do not bias outgoing connections towards fresh addresses (countermeasure 2 against eclipse attacks) +- `aa587d4` Scale up addrman (countermeasure 6 against eclipse attacks) +- `139cd81` Cap nAttempts penalty at 8 and switch to pow instead of a division loop + +Validation: +- `d148f62` Acquire CCheckQueue's lock to avoid race condition + +Build system: +- `8752b5c` 0.10 fix for crashes on OSX 10.6 + +Wallet: +- N/A + +GUI: +- `2c08406` some mac specifiy cleanup (memory handling, unnecessary code) +- `81145a6` fix OSX dock icon window reopening +- `786cf72` fix a issue where "command line options"-action overwrite "Preference"-action (on OSX) + +Tests: +- `1117378` add RPC test for InvalidateBlock + +Miscellaneous: +- `c9e022b` Initialization: set Boost path locale in main thread +- `23126a0` Sanitize command strings before logging them. +- `323de27` Initialization: setup environment before starting Qt tests +- `7494e09` Initialization: setup environment before starting tests +- `df45564` Initialization: set fallback locale as environment variable + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- Alex Morcos +- Cory Fields +- dexX7 +- fsb4000 +- Gavin Andresen +- Gregory Maxwell +- Ivan Pustogarov +- Jonas Schnelli +- Matt Corallo +- mrbandrews +- Pieter Wuille +- Ruben de Vries +- Suhas Daftuar +- Wladimir J. van der Laan + +And all those who contributed additional code review and/or security research: +- 21E14 +- Alison Kendler +- Aviv Zohar +- Ethan Heilman +- Evil-Knievel +- fanquake +- Jeff Garzik +- Jonas Nick +- Luke Dashjr +- Patrick Strateman +- Philip Kaufmann +- Sergio Demian Lerner +- Sharon Goldberg + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-notes/release-notes-0.10.2.md b/doc/release-notes/release-notes-0.10.2.md new file mode 100644 index 0000000000000..192ed69d29981 --- /dev/null +++ b/doc/release-notes/release-notes-0.10.2.md @@ -0,0 +1,86 @@ +Bitcoin Core version 0.10.2 is now available from: + + + +This is a new minor version release, bringing minor bug fixes and translation +updates. It is recommended to upgrade to this version. + +Please report bugs using the issue tracker at github: + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Downgrade warning +------------------ + +Because release 0.10.0 and later makes use of headers-first synchronization and +parallel block download (see further), the block files and databases are not +backwards-compatible with pre-0.10 versions of Bitcoin Core or other software: + +* Blocks will be stored on disk out of order (in the order they are +received, really), which makes it incompatible with some tools or +other programs. Reindexing using earlier versions will also not work +anymore as a result of this. + +* The block index database will now hold headers for which no block is +stored on disk, which earlier versions won't support. + +If you want to be able to downgrade smoothly, make a backup of your entire data +directory. Without this your node will need start syncing (or importing from +bootstrap.dat) anew afterwards. It is possible that the data from a completely +synchronised 0.10 node may be usable in older versions as-is, but this is not +supported and may break as soon as the older version attempts to reindex. + +This does not affect wallet forward or backward compatibility. + +Notable changes +=============== + +This fixes a serious problem on Windows with data directories that have non-ASCII +characters (https://github.com/bitcoin/bitcoin/issues/6078). + +For other platforms there are no notable changes. + +For the notable changes in 0.10, refer to the release notes +at https://github.com/bitcoin/bitcoin/blob/v0.10.0/doc/release-notes.md + +0.10.2 Change log +================= + +Detailed release notes follow. This overview includes changes that affect external +behavior, not code moves, refactors or string updates. + +Wallet: +- `824c011` fix boost::get usage with boost 1.58 + +Miscellaneous: +- `da65606` Avoid crash on start in TestBlockValidity with gen=1. +- `424ae66` don't imbue boost::filesystem::path with locale "C" on windows (fixes #6078) + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- Cory Fields +- Gregory Maxwell +- Jonas Schnelli +- Wladimir J. van der Laan + +And all those who contributed additional code review and/or security research: + +- dexX7 +- Pieter Wuille +- vayvanne + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-notes/release-notes-0.10.3.md b/doc/release-notes/release-notes-0.10.3.md new file mode 100644 index 0000000000000..8a110e562c453 --- /dev/null +++ b/doc/release-notes/release-notes-0.10.3.md @@ -0,0 +1,165 @@ +Bitcoin Core version 0.10.3 is now available from: + + + +This is a new minor version release, bringing security fixes and translation +updates. It is recommended to upgrade to this version as soon as possible. + +Please report bugs using the issue tracker at github: + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Downgrade warning +------------------ + +Because release 0.10.0 and later makes use of headers-first synchronization and +parallel block download (see further), the block files and databases are not +backwards-compatible with pre-0.10 versions of Bitcoin Core or other software: + +* Blocks will be stored on disk out of order (in the order they are +received, really), which makes it incompatible with some tools or +other programs. Reindexing using earlier versions will also not work +anymore as a result of this. + +* The block index database will now hold headers for which no block is +stored on disk, which earlier versions won't support. + +If you want to be able to downgrade smoothly, make a backup of your entire data +directory. Without this your node will need start syncing (or importing from +bootstrap.dat) anew afterwards. It is possible that the data from a completely +synchronised 0.10 node may be usable in older versions as-is, but this is not +supported and may break as soon as the older version attempts to reindex. + +This does not affect wallet forward or backward compatibility. + +Notable changes +=============== + +Fix buffer overflow in bundled upnp +------------------------------------ + +Bundled miniupnpc was updated to 1.9.20151008. This fixes a buffer overflow in +the XML parser during initial network discovery. + +Details can be found here: http://talosintel.com/reports/TALOS-2015-0035/ + +This applies to the distributed executables only, not when building from source or +using distribution provided packages. + +Additionally, upnp has been disabled by default. This may result in a lower +number of reachable nodes on IPv4, however this prevents future libupnpc +vulnerabilities from being a structural risk to the network +(see https://github.com/bitcoin/bitcoin/pull/6795). + +Test for LowS signatures before relaying +----------------------------------------- + +Make the node require the canonical 'low-s' encoding for ECDSA signatures when +relaying or mining. This removes a nuisance malleability vector. + +Consensus behavior is unchanged. + +If widely deployed this change would eliminate the last remaining known vector +for nuisance malleability on SIGHASH_ALL P2PKH transactions. On the down-side +it will block most transactions made by sufficiently out of date software. + +Unlike the other avenues to change txids on transactions this +one was randomly violated by all deployed bitcoin software prior to +its discovery. So, while other malleability vectors where made +non-standard as soon as they were discovered, this one has remained +permitted. Even BIP62 did not propose applying this rule to +old version transactions, but conforming implementations have become +much more common since BIP62 was initially written. + +Bitcoin Core has produced compatible signatures since a28fb70e in +September 2013, but this didn't make it into a release until 0.9 +in March 2014; Bitcoinj has done so for a similar span of time. +Bitcoinjs and electrum have been more recently updated. + +This does not replace the need for BIP62 or similar, as miners can +still cooperate to break transactions. Nor does it replace the +need for wallet software to handle malleability sanely[1]. This +only eliminates the cheap and irritating DOS attack. + +[1] On the Malleability of Bitcoin Transactions +Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek +http://fc15.ifca.ai/preproceedings/bitcoin/paper_9.pdf + +Minimum relay fee default increase +----------------------------------- + +The default for the `-minrelaytxfee` setting has been increased from `0.00001` +to `0.00005`. + +This is necessitated by the current transaction flooding, causing +outrageous memory usage on nodes due to the mempool ballooning. This is a +temporary measure, bridging the time until a dynamic method for determining +this fee is merged (which will be in 0.12). + +(see https://github.com/bitcoin/bitcoin/pull/6793, as well as the 0.11.0 +release notes, in which this value was suggested) + +0.10.3 Change log +================= + +Detailed release notes follow. This overview includes changes that affect external +behavior, not code moves, refactors or string updates. + +- #6186 `e4a7d51` Fix two problems in CSubnet parsing +- #6153 `ebd7d8d` Parameter interaction: disable upnp if -proxy set +- #6203 `ecc96f5` Remove P2SH coinbase flag, no longer interesting +- #6226 `181771b` json: fail read_string if string contains trailing garbage +- #6244 `09334e0` configure: Detect (and reject) LibreSSL +- #6276 `0fd8464` Fix getbalance * 0 +- #6274 `be64204` Add option `-alerts` to opt out of alert system +- #6319 `3f55638` doc: update mailing list address +- #6438 `7e66e9c` openssl: avoid config file load/race +- #6439 `255eced` Updated URL location of netinstall for Debian +- #6412 `0739e6e` Test whether created sockets are select()able +- #6694 `f696ea1` [QT] fix thin space word wrap line brake issue +- #6704 `743cc9e` Backport bugfixes to 0.10 +- #6769 `1cea6b0` Test LowS in standardness, removes nuisance malleability vector. +- #6789 `093d7b5` Update miniupnpc to 1.9.20151008 +- #6795 `f2778e0` net: Disable upnp by default +- #6797 `91ef4d9` Do not store more than 200 timedata samples +- #6793 `842c48d` Bump minrelaytxfee default + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- Adam Weiss +- Alex Morcos +- Casey Rodarmor +- Cory Fields +- fanquake +- Gregory Maxwell +- Jonas Schnelli +- J Ross Nicoll +- Luke Dashjr +- Pavel Vasin +- Pieter Wuille +- randy-waterhouse +- ฿tcDrak +- Tom Harding +- Veres Lajos +- Wladimir J. van der Laan + +And all those who contributed additional code review and/or security research: + +- timothy on IRC for reporting the issue +- Vulnerability in miniupnp discovered by Aleksandar Nikolic of Cisco Talos + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-notes/release-notes-0.9.4.md b/doc/release-notes/release-notes-0.9.4.md new file mode 100644 index 0000000000000..7ee73246a9b04 --- /dev/null +++ b/doc/release-notes/release-notes-0.9.4.md @@ -0,0 +1,95 @@ +Bitcoin Core version 0.9.4 is now available from: + + https://bitcoin.org/bin/0.9.4/ + +This is a new minor version release, bringing only bug fixes and updated +translations. Upgrading to this release is recommended. + +Please report bugs using the issue tracker at github: + + https://github.com/bitcoin/bitcoin/issues + +How to Upgrade +=============== + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +OpenSSL Warning +================ + +OpenSSL 1.0.0p / 1.0.1k was recently released and is being pushed out by +various operating system maintainers. Review by Gregory Maxwell determined that +this update is incompatible with the Bitcoin system and could lead to consensus +forks. + +Bitcoin Core released binaries from https://bitcoin.org are unaffected, +as are any built with the gitian deterministic build system. + +However, if you are running either + +- The Ubuntu PPA from https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin +- A third-party or self-compiled Bitcoin Core + +upgrade to Bitcoin Core 0.9.4, which includes a workaround, **before** updating +OpenSSL. + +The incompatibility is due to the OpenSSL update changing the +behavior of ECDSA validation to reject any signature which is +not encoded in a very rigid manner. This was a result of +OpenSSL's change for CVE-2014-8275 "Certificate fingerprints +can be modified". + +We are specifically aware of potential hard-forks due to signature +encoding handling and had been hoping to close them via BIP62 in 0.10. +BIP62's purpose is to improve transaction malleability handling and +as a side effect rigidly defines the encoding for signatures, but the +overall scope of BIP62 has made it take longer than we'd like to +deploy. + +0.9.4 changelog +================ + +Validation: +- `b8e81b7` consensus: guard against openssl's new strict DER checks +- `60c51f1` fail immediately on an empty signature +- `037bfef` Improve robustness of DER recoding code + +Command-line options: +- `cd5164a` Make -proxy set all network types, avoiding a connect leak. + +P2P: +- `bb424e4` Limit the number of new addressses to accumulate + +RPC: +- `0a94661` Disable SSLv3 (in favor of TLS) for the RPC client and server. + +Build system: +- `f047dfa` gitian: openssl-1.0.1i.tar.gz -> openssl-1.0.1k.tar.gz +- `5b9f78d` build: Fix OSX build when using Homebrew and qt5 +- `ffab1dd` Keep symlinks when copying into .app bundle +- `613247f` osx: fix signing to make Gatekeeper happy (again) + +Miscellaneous: +- `25b49b5` Refactor -alertnotify code +- `2743529` doc: Add instructions for consistent Mac OS X build names + +Credits +-------- + +Thanks to who contributed to this release, at least: + +- Cory Fields +- Gavin Andresen +- Gregory Maxwell +- Jeff Garzik +- Luke Dashjr +- Matt Corallo +- Pieter Wuille +- Saivann +- Sergio Demian Lerner +- Wladimir J. van der Laan + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-notes/release-notes-0.9.5.md b/doc/release-notes/release-notes-0.9.5.md new file mode 100644 index 0000000000000..bed0af9879bf4 --- /dev/null +++ b/doc/release-notes/release-notes-0.9.5.md @@ -0,0 +1,60 @@ +Bitcoin Core version 0.9.5 is now available from: + + https://bitcoin.org/bin/0.9.5/ + +This is a new minor version release, with the goal of backporting BIP66. There +are also a few bug fixes and updated translations. Upgrading to this release is +recommended. + +Please report bugs using the issue tracker at github: + + https://github.com/bitcoin/bitcoin/issues + +How to Upgrade +=============== + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +Notable changes +================ + +Mining and relay policy enhancements +------------------------------------ + +Bitcoin Core's block templates are now for version 3 blocks only, and any mining +software relying on its `getblocktemplate` must be updated in parallel to use +libblkmaker either version 0.4.2 or any version from 0.5.1 onward. +If you are solo mining, this will affect you the moment you upgrade Bitcoin +Core, which must be done prior to BIP66 achieving its 951/1001 status. +If you are mining with the stratum mining protocol: this does not affect you. +If you are mining with the getblocktemplate protocol to a pool: this will affect +you at the pool operator's discretion, which must be no later than BIP66 +achieving its 951/1001 status. + +0.9.5 changelog +================ + +- `74f29c2` Check pindexBestForkBase for null +- `9cd1dd9` Fix priority calculation in CreateTransaction +- `6b4163b` Sanitize command strings before logging them. +- `3230b32` Raise version of created blocks, and enforce DERSIG in mempool +- `989d499` Backport of some of BIP66's tests +- `ab03660` Implement BIP 66 validation rules and switchover logic +- `8438074` build: fix dynamic boost check when --with-boost= is used + +Credits +-------- + +Thanks to who contributed to this release, at least: + +- 21E14 +- Alex Morcos +- Cory Fields +- Gregory Maxwell +- Pieter Wuille +- Wladimir J. van der Laan + +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/release-process.md b/doc/release-process.md index a16d4ace4a61f..06cd84d62a072 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -23,15 +23,15 @@ Release Process * * * -###update gitian +###update Gitian - In order to take advantage of the new caching features in gitian, be sure to update to a recent version (e9741525c or higher is recommended) + In order to take advantage of the new caching features in Gitian, be sure to update to a recent version (e9741525c or higher is recommended) -###perform gitian builds +###perform Gitian builds From a directory containing the bitcoin source, gitian-builder and gitian.sigs - export SIGNER=(your gitian key, ie bluematt, sipa, etc) + export SIGNER=(your Gitian key, ie bluematt, sipa, etc) export VERSION=(new version, e.g. 0.8.0) pushd ./bitcoin git checkout v${VERSION} @@ -39,19 +39,27 @@ Release Process pushd ./gitian-builder ###fetch and build inputs: (first time, or when dependency versions change) - - mkdir -p inputs; cd inputs/ - Register and download the Apple SDK: (see OSX Readme for details) - + mkdir -p inputs + + Register and download the Apple SDK: (see OS X Readme for details) + https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6.3/xcode4630916281a.dmg - + Using a Mac, create a tarball for the 10.7 SDK and copy it to the inputs directory: - + tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.7.sdk.tar.gz MacOSX10.7.sdk - Build Bitcoin Core for Linux, Windows, and OS X: - +###Optional: Seed the Gitian sources cache + + By default, Gitian will fetch source files as needed. For offline builds, they can be fetched ahead of time: + + make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common + + Only missing files will be fetched, so this is safe to re-run for each build. + +###Build Bitcoin Core for Linux, Windows, and OS X: + ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../ @@ -60,17 +68,16 @@ Release Process mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../ ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml - mv build/out/bitcoin-*-unsigned.tar.gz inputs + mv build/out/bitcoin-*-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../ popd -bitcoin-0.9.99-osx-unsigned.tar.gz Build output expected: 1. source tarball (bitcoin-${VERSION}.tar.gz) 2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz) 3. windows 32-bit and 64-bit installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip) - 4. OSX unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg) - 5. Gitian signatures (in gitian.sigs/${VERSION}-/(your gitian key)/ + 4. OS X unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg) + 5. Gitian signatures (in gitian.sigs/${VERSION}-/(your Gitian key)/ ###Next steps: @@ -84,20 +91,21 @@ Commit your signature to gitian.sigs: git push # Assuming you can push to the gitian.sigs tree popd -Wait for OSX detached signature: - Once the OSX build has 3 matching signatures, Gavin will sign it with the apple App-Store key. + Wait for OS X detached signature: + Once the OS X build has 3 matching signatures, Gavin will sign it with the apple App-Store key. He will then upload a detached signature to be combined with the unsigned app to create a signed binary. -Create the signed OSX binary: + Create the signed OS X binary: + pushd ./gitian-builder # Fetch the signature as instructed by Gavin cp signature.tar.gz inputs/ ./bin/gbuild -i ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml - mv build/out/bitcoin-${VERSION}-osx.dmg ../ + mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg popd -Commit your signature for the signed OSX binary: +Commit your signature for the signed OS X binary: pushd gitian.sigs git add ${VERSION}-osx-signed/${SIGNER} @@ -124,15 +132,22 @@ rm SHA256SUMS (the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files) - Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the bitcoin.org server + into `/var/www/bin/bitcoin-core-${VERSION}` - Update bitcoin.org version - - Make a pull request to add a file named `YYYY-MM-DD-vX.Y.Z.md` with the release notes - to https://github.com/bitcoin/bitcoin.org/tree/master/_releases - ([Example for 0.9.2.1](https://raw.githubusercontent.com/bitcoin/bitcoin.org/master/_releases/2014-06-19-v0.9.2.1.md)). + - First, check to see if the Bitcoin.org maintainers have prepared a + release: https://github.com/bitcoin/bitcoin.org/labels/Releases + + - If they have, it will have previously failed their Travis CI + checks because the final release files weren't uploaded. + Trigger a Travis CI rebuild---if it passes, merge. + + - If they have not prepared a release, follow the Bitcoin.org release + instructions: https://github.com/bitcoin/bitcoin.org#release-notes - - After the pull request is merged, the website will automatically show the newest version, as well - as update the OS download links. Ping Saivann in case anything goes wrong + - After the pull request is merged, the website will automatically show the newest version within 15 minutes, as well + as update the OS download links. Ping @saivann/@harding (saivann/harding on Freenode) in case anything goes wrong - Announce the release: diff --git a/doc/tor.md b/doc/tor.md index 560f71fa27c39..e3fabfb2a8a37 100644 --- a/doc/tor.md +++ b/doc/tor.md @@ -15,15 +15,15 @@ outgoing connections be anonymized, but more is possible. -proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy server will be used to try to reach .onion addresses as well. - + -onion=ip:port Set the proxy server to use for tor hidden services. You do not need to set this if it's the same as -proxy. You can use -noonion to explicitly disable access to hidden service. - + -listen When using -proxy, listening is disabled by default. If you want to run a hidden service (see next section), you'll need to enable it explicitly. - + -connect=X When behind a Tor proxy, you can specify .onion addresses instead -addnode=X of IP addresses or hostnames in these parameters. It requires -seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with @@ -55,10 +55,10 @@ your bitcoind's P2P listen port (8333 by default). preference for your node to advertize itself with, for connections coming from unroutable addresses (such as 127.0.0.1, where the Tor proxy typically runs). - + -listen You'll need to enable listening for incoming connections, as this is off by default behind a proxy. - + -discover When -externalip is specified, no attempt is made to discover local IPv4 or IPv6 addresses. If you want to run a dual stack, reachable from both Tor and IPv4 (or IPv6), you'll need to either pass your @@ -82,4 +82,3 @@ If you only want to use Tor to reach onion addresses, but not use it as a proxy for normal IPv4/IPv6 communication, use: ./bitcoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover - diff --git a/qa/pull-tester/rpc-tests.sh b/qa/pull-tester/rpc-tests.sh index d6ee00bb7df06..2a7fbff143f3c 100755 --- a/qa/pull-tester/rpc-tests.sh +++ b/qa/pull-tester/rpc-tests.sh @@ -8,11 +8,6 @@ CURDIR=$(cd $(dirname "$0"); pwd) export BITCOINCLI=${BUILDDIR}/qa/pull-tester/run-bitcoin-cli export BITCOIND=${REAL_BITCOIND} -if [ "x${EXEEXT}" = "x.exe" ]; then - echo "Win tests currently disabled" - exit 0 -fi - #Run the tests if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then diff --git a/qa/pull-tester/run-bitcoind-for-test.sh.in b/qa/pull-tester/run-bitcoind-for-test.sh.in index 42d8ad52e8866..14ae08e4e58f0 100755 --- a/qa/pull-tester/run-bitcoind-for-test.sh.in +++ b/qa/pull-tester/run-bitcoind-for-test.sh.in @@ -10,7 +10,7 @@ touch "$DATADIR/regtest/debug.log" tail -q -n 1 -F "$DATADIR/regtest/debug.log" | grep -m 1 -q "Done loading" & WAITER=$! PORT=`expr 10000 + $$ % 55536` -"@abs_top_builddir@/src/bitcoind@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` & +"@abs_top_builddir@/src/bitcoind@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -relaypriority=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` & BITCOIND=$! #Install a watchdog. diff --git a/qa/rpc-tests/bip65-cltv-p2p.py b/qa/rpc-tests/bip65-cltv-p2p.py new file mode 100755 index 0000000000000..944d9dd28d3a6 --- /dev/null +++ b/qa/rpc-tests/bip65-cltv-p2p.py @@ -0,0 +1,175 @@ +#!/usr/bin/env python2 +# +# Distributed under the MIT/X11 software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +# + +from test_framework.test_framework import ComparisonTestFramework +from test_framework.util import * +from test_framework.mininode import CTransaction, NetworkThread +from test_framework.blocktools import create_coinbase, create_block +from test_framework.comptool import TestInstance, TestManager +from test_framework.script import CScript, OP_1NEGATE, OP_NOP2, OP_DROP +from binascii import hexlify, unhexlify +import cStringIO +import time + +def cltv_invalidate(tx): + '''Modify the signature in vin 0 of the tx to fail CLTV + + Prepends -1 CLTV DROP in the scriptSig itself. + ''' + tx.vin[0].scriptSig = CScript([OP_1NEGATE, OP_NOP2, OP_DROP] + + list(CScript(tx.vin[0].scriptSig))) + +''' +This test is meant to exercise BIP65 (CHECKLOCKTIMEVERIFY) +Connect to a single node. +Mine 2 (version 3) blocks (save the coinbases for later). +Generate 98 more version 3 blocks, verify the node accepts. +Mine 749 version 4 blocks, verify the node accepts. +Check that the new CLTV rules are not enforced on the 750th version 4 block. +Check that the new CLTV rules are enforced on the 751st version 4 block. +Mine 199 new version blocks. +Mine 1 old-version block. +Mine 1 new version block. +Mine 1 old version block, see that the node rejects. +''' + +class BIP65Test(ComparisonTestFramework): + + def __init__(self): + self.num_nodes = 1 + + def setup_network(self): + # Must set the blockversion for this test + self.nodes = start_nodes(1, self.options.tmpdir, + extra_args=[['-debug', '-whitelist=127.0.0.1', '-blockversion=3']], + binary=[self.options.testbinary]) + + def run_test(self): + test = TestManager(self, self.options.tmpdir) + test.add_all_connections(self.nodes) + NetworkThread().start() # Start up network handling in another thread + test.run() + + def create_transaction(self, node, coinbase, to_address, amount): + from_txid = node.getblock(coinbase)['tx'][0] + inputs = [{ "txid" : from_txid, "vout" : 0}] + outputs = { to_address : amount } + rawtx = node.createrawtransaction(inputs, outputs) + signresult = node.signrawtransaction(rawtx) + tx = CTransaction() + f = cStringIO.StringIO(unhexlify(signresult['hex'])) + tx.deserialize(f) + return tx + + def get_tests(self): + + self.coinbase_blocks = self.nodes[0].setgenerate(True, 2) + self.tip = int ("0x" + self.nodes[0].getbestblockhash() + "L", 0) + self.nodeaddress = self.nodes[0].getnewaddress() + self.last_block_time = time.time() + + ''' 98 more version 3 blocks ''' + test_blocks = [] + for i in xrange(98): + block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block.nVersion = 3 + block.rehash() + block.solve() + test_blocks.append([block, True]) + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance(test_blocks, sync_every_block=False) + + ''' Mine 749 version 4 blocks ''' + test_blocks = [] + for i in xrange(749): + block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block.nVersion = 4 + block.rehash() + block.solve() + test_blocks.append([block, True]) + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance(test_blocks, sync_every_block=False) + + ''' + Check that the new CLTV rules are not enforced in the 750th + version 3 block. + ''' + spendtx = self.create_transaction(self.nodes[0], + self.coinbase_blocks[0], self.nodeaddress, 1.0) + cltv_invalidate(spendtx) + spendtx.rehash() + + block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block.nVersion = 4 + block.vtx.append(spendtx) + block.hashMerkleRoot = block.calc_merkle_root() + block.rehash() + block.solve() + + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance([[block, True]]) + + ''' + Check that the new CLTV rules are enforced in the 751st version 4 + block. + ''' + spendtx = self.create_transaction(self.nodes[0], + self.coinbase_blocks[1], self.nodeaddress, 1.0) + cltv_invalidate(spendtx) + spendtx.rehash() + + block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block.nVersion = 4 + block.vtx.append(spendtx) + block.hashMerkleRoot = block.calc_merkle_root() + block.rehash() + block.solve() + self.last_block_time += 1 + yield TestInstance([[block, False]]) + + ''' Mine 199 new version blocks on last valid tip ''' + test_blocks = [] + for i in xrange(199): + block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block.nVersion = 4 + block.rehash() + block.solve() + test_blocks.append([block, True]) + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance(test_blocks, sync_every_block=False) + + ''' Mine 1 old version block ''' + block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block.nVersion = 3 + block.rehash() + block.solve() + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance([[block, True]]) + + ''' Mine 1 new version block ''' + block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block.nVersion = 4 + block.rehash() + block.solve() + self.last_block_time += 1 + self.tip = block.sha256 + yield TestInstance([[block, True]]) + + ''' Mine 1 old version block, should be invalid ''' + block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block.nVersion = 3 + block.rehash() + block.solve() + self.last_block_time += 1 + yield TestInstance([[block, False]]) + +if __name__ == '__main__': + BIP65Test().main() diff --git a/qa/rpc-tests/bip65-cltv.py b/qa/rpc-tests/bip65-cltv.py new file mode 100755 index 0000000000000..e009c1c986962 --- /dev/null +++ b/qa/rpc-tests/bip65-cltv.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python2 +# Copyright (c) 2015 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# +# Test the CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic +# + +from test_framework.test_framework import BitcoinTestFramework +from test_framework.util import * +import os +import shutil + +class BIP65Test(BitcoinTestFramework): + + def setup_network(self): + self.nodes = [] + self.nodes.append(start_node(0, self.options.tmpdir, [])) + self.nodes.append(start_node(1, self.options.tmpdir, ["-blockversion=3"])) + self.nodes.append(start_node(2, self.options.tmpdir, ["-blockversion=4"])) + connect_nodes(self.nodes[1], 0) + connect_nodes(self.nodes[2], 0) + self.is_network_split = False + self.sync_all() + + def run_test(self): + cnt = self.nodes[0].getblockcount() + + # Mine some old-version blocks + self.nodes[1].setgenerate(True, 100) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 100): + raise AssertionError("Failed to mine 100 version=3 blocks") + + # Mine 750 new-version blocks + for i in xrange(15): + self.nodes[2].setgenerate(True, 50) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 850): + raise AssertionError("Failed to mine 750 version=4 blocks") + + # TODO: check that new CHECKLOCKTIMEVERIFY rules are not enforced + + # Mine 1 new-version block + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 851): + raise AssertionFailure("Failed to mine a version=4 blocks") + + # TODO: check that new CHECKLOCKTIMEVERIFY rules are enforced + + # Mine 198 new-version blocks + for i in xrange(2): + self.nodes[2].setgenerate(True, 99) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1049): + raise AssertionError("Failed to mine 198 version=4 blocks") + + # Mine 1 old-version block + self.nodes[1].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1050): + raise AssertionError("Failed to mine a version=3 block after 949 version=4 blocks") + + # Mine 1 new-version blocks + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1051): + raise AssertionError("Failed to mine a version=4 block") + + # Mine 1 old-version blocks + try: + self.nodes[1].setgenerate(True, 1) + raise AssertionError("Succeeded to mine a version=3 block after 950 version=4 blocks") + except JSONRPCException: + pass + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1051): + raise AssertionError("Accepted a version=3 block after 950 version=4 blocks") + + # Mine 1 new-version blocks + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1052): + raise AssertionError("Failed to mine a version=4 block") + +if __name__ == '__main__': + BIP65Test().main() diff --git a/qa/rpc-tests/bipdersig.py b/qa/rpc-tests/bipdersig.py new file mode 100755 index 0000000000000..9f2cc84601545 --- /dev/null +++ b/qa/rpc-tests/bipdersig.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python2 +# Copyright (c) 2014 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# +# Test the BIP66 changeover logic +# + +from test_framework import BitcoinTestFramework +from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException +from util import * +import os +import shutil + +class BIP66Test(BitcoinTestFramework): + + def setup_network(self): + self.nodes = [] + self.nodes.append(start_node(0, self.options.tmpdir, [])) + self.nodes.append(start_node(1, self.options.tmpdir, ["-blockversion=2"])) + self.nodes.append(start_node(2, self.options.tmpdir, ["-blockversion=3"])) + connect_nodes(self.nodes[1], 0) + connect_nodes(self.nodes[2], 0) + self.is_network_split = False + self.sync_all() + + def run_test(self): + cnt = self.nodes[0].getblockcount() + + # Mine some old-version blocks + self.nodes[1].setgenerate(True, 100) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 100): + raise AssertionError("Failed to mine 100 version=2 blocks") + + # Mine 750 new-version blocks + for i in xrange(15): + self.nodes[2].setgenerate(True, 50) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 850): + raise AssertionError("Failed to mine 750 version=3 blocks") + + # TODO: check that new DERSIG rules are not enforced + + # Mine 1 new-version block + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 851): + raise AssertionFailure("Failed to mine a version=3 blocks") + + # TODO: check that new DERSIG rules are enforced + + # Mine 198 new-version blocks + for i in xrange(2): + self.nodes[2].setgenerate(True, 99) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1049): + raise AssertionError("Failed to mine 198 version=3 blocks") + + # Mine 1 old-version block + self.nodes[1].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1050): + raise AssertionError("Failed to mine a version=2 block after 949 version=3 blocks") + + # Mine 1 new-version blocks + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1051): + raise AssertionError("Failed to mine a version=3 block") + + # Mine 1 old-version blocks + try: + self.nodes[1].setgenerate(True, 1) + raise AssertionError("Succeeded to mine a version=2 block after 950 version=3 blocks") + except JSONRPCException: + pass + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1051): + raise AssertionError("Accepted a version=2 block after 950 version=3 blocks") + + # Mine 1 new-version blocks + self.nodes[2].setgenerate(True, 1) + self.sync_all() + if (self.nodes[0].getblockcount() != cnt + 1052): + raise AssertionError("Failed to mine a version=3 block") + +if __name__ == '__main__': + BIP66Test().main() diff --git a/qa/rpc-tests/httpbasics.py b/qa/rpc-tests/httpbasics.py index a94edaffa53da..24533741e5537 100755 --- a/qa/rpc-tests/httpbasics.py +++ b/qa/rpc-tests/httpbasics.py @@ -20,7 +20,10 @@ except ImportError: import urlparse -class RESTTest (BitcoinTestFramework): +class HTTPBasicsTest (BitcoinTestFramework): + def setup_nodes(self): + return start_nodes(4, self.options.tmpdir, extra_args=[['-rpckeepalive=1'], ['-rpckeepalive=0'], [], []]) + def run_test(self): ################################################# @@ -32,13 +35,13 @@ def run_test(self): conn = httplib.HTTPConnection(url.hostname, url.port) conn.connect() - conn.request('GET', '/', '{"method": "getbestblockhash"}', headers) + conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) out1 = conn.getresponse().read(); assert_equal('"error":null' in out1, True) assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open! #send 2nd request without closing connection - conn.request('GET', '/', '{"method": "getchaintips"}', headers) + conn.request('POST', '/', '{"method": "getchaintips"}', headers) out2 = conn.getresponse().read(); assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open! @@ -49,13 +52,13 @@ def run_test(self): conn = httplib.HTTPConnection(url.hostname, url.port) conn.connect() - conn.request('GET', '/', '{"method": "getbestblockhash"}', headers) + conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) out1 = conn.getresponse().read(); assert_equal('"error":null' in out1, True) assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open! #send 2nd request without closing connection - conn.request('GET', '/', '{"method": "getchaintips"}', headers) + conn.request('POST', '/', '{"method": "getchaintips"}', headers) out2 = conn.getresponse().read(); assert_equal('"error":null' in out1, True) #must also response with a correct json-rpc message assert_equal(conn.sock!=None, True) #according to http/1.1 connection must still be open! @@ -66,11 +69,34 @@ def run_test(self): conn = httplib.HTTPConnection(url.hostname, url.port) conn.connect() - conn.request('GET', '/', '{"method": "getbestblockhash"}', headers) + conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) out1 = conn.getresponse().read(); assert_equal('"error":null' in out1, True) assert_equal(conn.sock!=None, False) #now the connection must be closed after the response + #node1 (2nd node) is running with disabled keep-alive option + urlNode1 = urlparse.urlparse(self.nodes[1].url) + authpair = urlNode1.username + ':' + urlNode1.password + headers = {"Authorization": "Basic " + base64.b64encode(authpair)} + + conn = httplib.HTTPConnection(urlNode1.hostname, urlNode1.port) + conn.connect() + conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) + out1 = conn.getresponse().read(); + assert_equal('"error":null' in out1, True) + assert_equal(conn.sock!=None, False) #connection must be closed because keep-alive was set to false + + #node2 (third node) is running with standard keep-alive parameters which means keep-alive is off + urlNode2 = urlparse.urlparse(self.nodes[2].url) + authpair = urlNode2.username + ':' + urlNode2.password + headers = {"Authorization": "Basic " + base64.b64encode(authpair)} + + conn = httplib.HTTPConnection(urlNode2.hostname, urlNode2.port) + conn.connect() + conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) + out1 = conn.getresponse().read(); + assert_equal('"error":null' in out1, True) + assert_equal(conn.sock!=None, True) #connection must be closed because bitcoind should use keep-alive by default if __name__ == '__main__': - RESTTest ().main () + HTTPBasicsTest ().main () diff --git a/qa/rpc-tests/invalidateblock.py b/qa/rpc-tests/invalidateblock.py new file mode 100755 index 0000000000000..ccfcf00e30e28 --- /dev/null +++ b/qa/rpc-tests/invalidateblock.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python2 +# Copyright (c) 2014 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# +# Test InvalidateBlock code +# + +from test_framework import BitcoinTestFramework +from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException +from util import * + +class InvalidateTest(BitcoinTestFramework): + + + def setup_chain(self): + print("Initializing test directory "+self.options.tmpdir) + initialize_chain_clean(self.options.tmpdir, 3) + + def setup_network(self): + self.nodes = [] + self.is_network_split = False + self.nodes.append(start_node(0, self.options.tmpdir, ["-debug"])) + self.nodes.append(start_node(1, self.options.tmpdir, ["-debug"])) + self.nodes.append(start_node(2, self.options.tmpdir, ["-debug"])) + + def run_test(self): + print "Make sure we repopulate setBlockIndexCandidates after InvalidateBlock:" + print "Mine 4 blocks on Node 0" + self.nodes[0].setgenerate(True, 4) + assert(self.nodes[0].getblockcount() == 4) + besthash = self.nodes[0].getbestblockhash() + + print "Mine competing 6 blocks on Node 1" + self.nodes[1].setgenerate(True, 6) + assert(self.nodes[1].getblockcount() == 6) + + print "Connect nodes to force a reorg" + connect_nodes_bi(self.nodes,0,1) + sync_blocks(self.nodes[0:2]) + assert(self.nodes[0].getblockcount() == 6) + badhash = self.nodes[1].getblockhash(2) + + print "Invalidate block 2 on node 0 and verify we reorg to node 0's original chain" + self.nodes[0].invalidateblock(badhash) + newheight = self.nodes[0].getblockcount() + newhash = self.nodes[0].getbestblockhash() + if (newheight != 4 or newhash != besthash): + raise AssertionError("Wrong tip for node0, hash %s, height %d"%(newhash,newheight)) + + print "\nMake sure we won't reorg to a lower work chain:" + connect_nodes_bi(self.nodes,1,2) + print "Sync node 2 to node 1 so both have 6 blocks" + sync_blocks(self.nodes[1:3]) + assert(self.nodes[2].getblockcount() == 6) + print "Invalidate block 5 on node 1 so its tip is now at 4" + self.nodes[1].invalidateblock(self.nodes[1].getblockhash(5)) + assert(self.nodes[1].getblockcount() == 4) + print "Invalidate block 3 on node 2, so its tip is now 2" + self.nodes[2].invalidateblock(self.nodes[2].getblockhash(3)) + assert(self.nodes[2].getblockcount() == 2) + print "..and then mine a block" + self.nodes[2].setgenerate(True, 1) + print "Verify all nodes are at the right height" + time.sleep(5) + for i in xrange(3): + print i,self.nodes[i].getblockcount() + assert(self.nodes[2].getblockcount() == 3) + assert(self.nodes[0].getblockcount() == 4) + node1height = self.nodes[1].getblockcount() + if node1height < 4: + raise AssertionError("Node 1 reorged to a lower height: %d"%node1height) + +if __name__ == '__main__': + InvalidateTest().main() diff --git a/qa/rpc-tests/reindex.py b/qa/rpc-tests/reindex.py new file mode 100755 index 0000000000000..fe767586bb751 --- /dev/null +++ b/qa/rpc-tests/reindex.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python2 +# Copyright (c) 2014 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# +# Test -reindex with CheckBlockIndex +# +from test_framework import BitcoinTestFramework +from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException +from util import * +import os.path + +class ReindexTest(BitcoinTestFramework): + + def setup_chain(self): + print("Initializing test directory "+self.options.tmpdir) + initialize_chain_clean(self.options.tmpdir, 1) + + def setup_network(self): + self.nodes = [] + self.is_network_split = False + self.nodes.append(start_node(0, self.options.tmpdir)) + + def run_test(self): + self.nodes[0].generate(3) + stop_node(self.nodes[0], 0) + wait_bitcoinds() + self.nodes[0]=start_node(0, self.options.tmpdir, ["-debug", "-reindex", "-checkblockindex=1"]) + assert_equal(self.nodes[0].getblockcount(), 3) + print "Success" + +if __name__ == '__main__': + ReindexTest().main() diff --git a/qa/rpc-tests/smartfees.py b/qa/rpc-tests/smartfees.py index 924d16010255e..0c07ef8a53d8a 100755 --- a/qa/rpc-tests/smartfees.py +++ b/qa/rpc-tests/smartfees.py @@ -16,20 +16,20 @@ class EstimateFeeTest(BitcoinTestFramework): def setup_network(self): self.nodes = [] self.nodes.append(start_node(0, self.options.tmpdir, - ["-debug=mempool", "-debug=estimatefee"])) + ["-debug=mempool", "-debug=estimatefee", "-relaypriority=0"])) # Node1 mines small-but-not-tiny blocks, and allows free transactions. # NOTE: the CreateNewBlock code starts counting block size at 1,000 bytes, # so blockmaxsize of 2,000 is really just 1,000 bytes (room enough for # 6 or 7 transactions) self.nodes.append(start_node(1, self.options.tmpdir, ["-blockprioritysize=1500", "-blockmaxsize=2000", - "-debug=mempool", "-debug=estimatefee"])) + "-debug=mempool", "-debug=estimatefee", "-relaypriority=0"])) connect_nodes(self.nodes[1], 0) # Node2 is a stingy miner, that # produces very small blocks (room for only 3 or so transactions) node2args = [ "-blockprioritysize=0", "-blockmaxsize=1500", - "-debug=mempool", "-debug=estimatefee"] + "-debug=mempool", "-debug=estimatefee", "-relaypriority=0"] self.nodes.append(start_node(2, self.options.tmpdir, node2args)) connect_nodes(self.nodes[2], 0) diff --git a/qa/rpc-tests/test_framework.py b/qa/rpc-tests/test_framework.py index 6c4ec073c288d..4c8a11b821d4a 100755 --- a/qa/rpc-tests/test_framework.py +++ b/qa/rpc-tests/test_framework.py @@ -33,8 +33,11 @@ def setup_chain(self): print("Initializing test directory "+self.options.tmpdir) initialize_chain(self.options.tmpdir) + def setup_nodes(self): + return start_nodes(4, self.options.tmpdir) + def setup_network(self, split = False): - self.nodes = start_nodes(4, self.options.tmpdir) + self.nodes = self.setup_nodes() # Connect the nodes as a "chain". This allows us # to split the network between nodes 1 and 2 to get diff --git a/share/seeds/nodes_main.txt b/share/seeds/nodes_main.txt index f2558cf3c4f2a..3dba6d8a64829 100644 --- a/share/seeds/nodes_main.txt +++ b/share/seeds/nodes_main.txt @@ -1,607 +1,518 @@ # List of fixed seed nodes for main network -# IPv4 nodes (in old chainparams.cpp 0xDDCCBBAA format) -# n.b. when importing a new list, there is no need to use this format, just use IPv4 dotted addresses directly -0x7e6a692e # 46.105.106.126 -0x7d04d1a2 # 162.209.4.125 -0x6c0c17d9 # 217.23.12.108 -0xdb330ab9 # 185.10.51.219 -0xc649c7c6 # 198.199.73.198 -0x7895484d # 77.72.149.120 -0x047109b0 # 176.9.113.4 -0xb90ca5bc # 188.165.12.185 -0xd130805f # 95.128.48.209 -0xbd074ea6 # 166.78.7.189 -0x578ff1c0 # 192.241.143.87 -0x286e09b0 # 176.9.110.40 -0xd4dcaf42 # 66.175.220.212 -0x529b6bb8 # 184.107.155.82 -0x635cc6c0 # 192.198.92.99 -0xedde892e # 46.137.222.237 -0xa976d9c7 # 199.217.118.169 -0xea91a4b8 # 184.164.145.234 -0x03fa4eb2 # 178.78.250.3 -0x6ca9008d # 141.0.169.108 -0xaf62c825 # 37.200.98.175 -0x93f3ba51 # 81.186.243.147 -0xc2c9efd5 # 213.239.201.194 -0x0ed5175e # 94.23.213.14 -0x487028bc # 188.40.112.72 -0x7297c225 # 37.194.151.114 -0x8af0c658 # 88.198.240.138 -0x2e57ba1f # 31.186.87.46 -0xd0098abc # 188.138.9.208 -0x46a8853e # 62.133.168.70 -0xcc92dc3e # 62.220.146.204 -0xeb6f1955 # 85.25.111.235 -0x8cce175e # 94.23.206.140 -0x237281ae # 174.129.114.35 -0x9d42795b # 91.121.66.157 -0x4f4f0905 # 5.9.79.79 -0xc50151d0 # 208.81.1.197 -0xb1ba90c6 # 198.144.186.177 -0xaed7175e # 94.23.215.174 -0x204de55b # 91.229.77.32 -0x4bb03245 # 69.50.176.75 -0x932b28bc # 188.40.43.147 -0x2dcce65b # 91.230.204.45 -0xe2708abc # 188.138.112.226 -0x1b08b8d5 # 213.184.8.27 -0x12a3dc5b # 91.220.163.18 -0x8a884c90 # 144.76.136.138 -0xa386a8b8 # 184.168.134.163 -0x18e417c6 # 198.23.228.24 -0x2e709ac3 # 195.154.112.46 -0xeb62e925 # 37.233.98.235 -0x6f6503ae # 174.3.101.111 -0x05d0814e # 78.129.208.5 -0x8a9ac545 # 69.197.154.138 -0x946fd65e # 94.214.111.148 -0x3f57495d # 93.73.87.63 -0x4a29c658 # 88.198.41.74 -0xad454c90 # 144.76.69.173 -0x15340905 # 5.9.52.21 -0x4c3f3b25 # 37.59.63.76 -0x01fe19b9 # 185.25.254.1 -0x5620595b # 91.89.32.86 -0x443c795b # 91.121.60.68 -0x44f24ac8 # 200.74.242.68 -0x0442464e # 78.70.66.4 -0xc8665882 # 130.88.102.200 -0xed3f3ec3 # 195.62.63.237 -0xf585bf5d # 93.191.133.245 -0x5dd141da # 218.65.209.93 -0xf93a084e # 78.8.58.249 -0x1264dd52 # 82.221.100.18 -0x0711c658 # 88.198.17.7 -0xf12e7bbe # 190.123.46.241 -0x5b02b740 # 64.183.2.91 -0x7d526dd5 # 213.109.82.125 -0x0cb04c90 # 144.76.176.12 -0x2abe1132 # 50.17.190.42 -0x61a39f58 # 88.159.163.97 -0x044a0618 # 24.6.74.4 -0xf3af7dce # 206.125.175.243 -0xb994c96d # 109.201.148.185 -0x361c5058 # 88.80.28.54 -0xca735d53 # 83.93.115.202 -0xeca743b0 # 176.67.167.236 -0xec790905 # 5.9.121.236 -0xc4d37845 # 69.120.211.196 -0xa1c4a2b2 # 178.162.196.161 -0x726fd453 # 83.212.111.114 -0x625cc6c0 # 192.198.92.98 -0x6c20132e # 46.19.32.108 -0xb7aa0c79 # 121.12.170.183 -0xc6ed983d # 61.152.237.198 -0x47e4cbc0 # 192.203.228.71 -0xa4ac75d4 # 212.117.172.164 -0xe2e59345 # 69.147.229.226 -0x4d784ad0 # 208.74.120.77 -0x18a5ec5e # 94.236.165.24 -0x481cc85b # 91.200.28.72 -0x7c6c2fd5 # 213.47.108.124 -0x5e4d6018 # 24.96.77.94 -0x5b4b6c18 # 24.108.75.91 -0xd99b4c90 # 144.76.155.217 -0xe63987dc # 220.135.57.230 -0xb817bb25 # 37.187.23.184 -0x141cfeb2 # 178.254.28.20 -0x5f005058 # 88.80.0.95 -0x0d987f47 # 71.127.152.13 -0x242a496d # 109.73.42.36 -0x3e519bc0 # 192.155.81.62 -0x02b2454b # 75.69.178.2 -0xdfaf3dc6 # 198.61.175.223 -0x888128bc # 188.40.129.136 -0x1165bb25 # 37.187.101.17 -0xabfeca5b # 91.202.254.171 -0x2ef63540 # 64.53.246.46 -0x5773c7c6 # 198.199.115.87 -0x1280dd52 # 82.221.128.18 -0x8ebcacd9 # 217.172.188.142 -0x81c439c6 # 198.57.196.129 -0x39fcfa45 # 69.250.252.57 -0x62177d41 # 65.125.23.98 -0xc975ed62 # 98.237.117.201 -0x05cff476 # 118.244.207.5 -0xdabda743 # 67.167.189.218 -0xaa1ac24e # 78.194.26.170 -0xe255a22e # 46.162.85.226 -0x88aac705 # 5.199.170.136 -0xe707c658 # 88.198.7.231 -0xa9e94b5e # 94.75.233.169 -0x2893484b # 75.72.147.40 -0x99512705 # 5.39.81.153 -0xd63970ca # 202.112.57.214 -0x45994f32 # 50.79.153.69 -0xe519a8ad # 173.168.25.229 -0x92e25f5d # 93.95.226.146 -0x8b84a9c1 # 193.169.132.139 -0x5eaa0a05 # 5.10.170.94 -0xa74de55b # 91.229.77.167 -0xb090ff62 # 98.255.144.176 -0x5eee326c # 108.50.238.94 -0xc331a679 # 121.166.49.195 -0xc1d9b72e # 46.183.217.193 -0x0c6ab982 # 130.185.106.12 -0x7362bb25 # 37.187.98.115 -0x4cfedd42 # 66.221.254.76 -0x1e09a032 # 50.160.9.30 -0xa4c34c5e # 94.76.195.164 -0x3777d9c7 # 199.217.119.55 -0x5edcf260 # 96.242.220.94 -0x3ce2b548 # 72.181.226.60 -0xd2ac0360 # 96.3.172.210 -0x2f80b992 # 146.185.128.47 -0x3e4cbb25 # 37.187.76.62 -0x3995e236 # 54.226.149.57 -0xd03977ae # 174.119.57.208 -0x953cf054 # 84.240.60.149 -0x3c654ed0 # 208.78.101.60 -0x74024c90 # 144.76.2.116 -0xa14f1155 # 85.17.79.161 -0x14ce0125 # 37.1.206.20 -0xc15ebb6a # 106.187.94.193 -0x2c08c452 # 82.196.8.44 -0xc7fd0652 # 82.6.253.199 -0x7604f8ce # 206.248.4.118 -0xffb38332 # 50.131.179.255 -0xa4c2efd5 # 213.239.194.164 -0xe9614018 # 24.64.97.233 -0xab49e557 # 87.229.73.171 -0x1648c052 # 82.192.72.22 -0x36024047 # 71.64.2.54 -0x0e8cffad # 173.255.140.14 -0x21918953 # 83.137.145.33 -0xb61f50ad # 173.80.31.182 -0x9b406b59 # 89.107.64.155 -0xaf282218 # 24.34.40.175 -0x7f1d164e # 78.22.29.127 -0x1f560da2 # 162.13.86.31 -0xe237be58 # 88.190.55.226 -0xbdeb1955 # 85.25.235.189 -0x6c0717d9 # 217.23.7.108 -0xdaf8ce62 # 98.206.248.218 -0x0f74246c # 108.36.116.15 -0xdee95243 # 67.82.233.222 -0xf23f1a56 # 86.26.63.242 -0x61bdf867 # 103.248.189.97 -0xd254c854 # 84.200.84.210 -0xc4422e4e # 78.46.66.196 -0xae0563c0 # 192.99.5.174 -0xbdb9a95f # 95.169.185.189 -0xa9eb32c6 # 198.50.235.169 -0xd9943950 # 80.57.148.217 -0x116add52 # 82.221.106.17 -0x73a54c90 # 144.76.165.115 -0xb36b525e # 94.82.107.179 -0xd734175e # 94.23.52.215 -0x333d7f76 # 118.127.61.51 -0x51431bc6 # 198.27.67.81 -0x084ae5cf # 207.229.74.8 -0xa60a236c # 108.35.10.166 -0x5c67692e # 46.105.103.92 -0x0177cf45 # 69.207.119.1 -0xa6683ac6 # 198.58.104.166 -0x7ff4ea47 # 71.234.244.127 -0x2192fab2 # 178.250.146.33 -0xa03a0f46 # 70.15.58.160 -0xfe3e39ae # 174.57.62.254 -0x2cce5fc1 # 193.95.206.44 -0xc8a6c148 # 72.193.166.200 -0x96fb7e4c # 76.126.251.150 -0x0a66c752 # 82.199.102.10 -0x6b4d2705 # 5.39.77.107 -0xeba0c118 # 24.193.160.235 -0x3ba0795b # 91.121.160.59 -0x1dccd23e # 62.210.204.29 -0x6912f3a2 # 162.243.18.105 -0x22f23c41 # 65.60.242.34 -0x65646b4a # 74.107.100.101 -0x8b9f8705 # 5.135.159.139 -0xeb9b9a95 # 149.154.155.235 -0x79fe6b4e # 78.107.254.121 -0x0536f447 # 71.244.54.5 -0x23224d61 # 97.77.34.35 -0x5d952ec6 # 198.46.149.93 -0x0cb4f736 # 54.247.180.12 -0xdc14be6d # 109.190.20.220 -0xb24609b0 # 176.9.70.178 -0xd3f79b62 # 98.155.247.211 -0x6518c836 # 54.200.24.101 -0x83a3cf42 # 66.207.163.131 -0x9b641fb0 # 176.31.100.155 -0x17fef1c0 # 192.241.254.23 -0xd508cc82 # 130.204.8.213 -0x91a4369b # 155.54.164.145 -0x39cb4a4c # 76.74.203.57 -0xbbc9536c # 108.83.201.187 -0xaf64c44a # 74.196.100.175 -0x605eca50 # 80.202.94.96 -0x0c6a6805 # 5.104.106.12 -0xd07e9d4e # 78.157.126.208 -0x78e6d3a2 # 162.211.230.120 -0x1b31eb6d # 109.235.49.27 -0xaa01feb2 # 178.254.1.170 -0x4603c236 # 54.194.3.70 -0x1ecba3b6 # 182.163.203.30 -0x0effe336 # 54.227.255.14 -0xc3fdcb36 # 54.203.253.195 -0xc290036f # 111.3.144.194 -0x4464692e # 46.105.100.68 -0x1aca7589 # 137.117.202.26 -0x59a9e52e # 46.229.169.89 -0x19aa7489 # 137.116.170.25 -0x2622c85e # 94.200.34.38 -0xa598d318 # 24.211.152.165 -0x438ec345 # 69.195.142.67 -0xc79619b9 # 185.25.150.199 -0xaf570360 # 96.3.87.175 -0x5098e289 # 137.226.152.80 -0x36add862 # 98.216.173.54 -0x83c1a2b2 # 178.162.193.131 -0x969d0905 # 5.9.157.150 -0xcf3d156c # 108.21.61.207 -0x49c1a445 # 69.164.193.73 -0xbd0b7562 # 98.117.11.189 -0x8fff1955 # 85.25.255.143 -0x1e51fe53 # 83.254.81.30 -0x28d6efd5 # 213.239.214.40 -0x2837cc62 # 98.204.55.40 -0x02f42d42 # 66.45.244.2 -0x070e3fb2 # 178.63.14.7 -0xbcb18705 # 5.135.177.188 -0x14a4e15b # 91.225.164.20 -0x82096844 # 68.104.9.130 -0xcfcb1c2e # 46.28.203.207 -0x37e27fc7 # 199.127.226.55 -0x07923748 # 72.55.146.7 -0x0c14bc2e # 46.188.20.12 -0x26100905 # 5.9.16.38 -0xcb7cd93e # 62.217.124.203 -0x3bc0d2c0 # 192.210.192.59 -0x97131b4c # 76.27.19.151 -0x6f1e5c17 # 23.92.30.111 -0xa7939f43 # 67.159.147.167 -0xb7a0bf58 # 88.191.160.183 -0xafa83a47 # 71.58.168.175 -0xcbb83f32 # 50.63.184.203 -0x5f321cb0 # 176.28.50.95 -0x52d6c3c7 # 199.195.214.82 -0xdeac5bc7 # 199.91.172.222 -0x2cf310cc # 204.16.243.44 -0x108a2bc3 # 195.43.138.16 -0x726fa14f # 79.161.111.114 -0x85bad2cc # 204.210.186.133 -0x459e4c90 # 144.76.158.69 -0x1a08b8d8 # 216.184.8.26 -0xcd7048c6 # 198.72.112.205 -0x6d5b4c90 # 144.76.91.109 -0xa66cfe7b # 123.254.108.166 -0xad730905 # 5.9.115.173 -0xdaac5bc7 # 199.91.172.218 -0x8417fd9f # 159.253.23.132 -0x41377432 # 50.116.55.65 -0x1f138632 # 50.134.19.31 -0x295a12b2 # 178.18.90.41 -0x7ac031b2 # 178.49.192.122 -0x3a87d295 # 149.210.135.58 -0xe219bc2e # 46.188.25.226 -0xf485d295 # 149.210.133.244 -0x137b6405 # 5.100.123.19 -0xcfffd9ad # 173.217.255.207 -0xafe20844 # 68.8.226.175 -0x32679a5f # 95.154.103.50 -0xa431c644 # 68.198.49.164 -0x0e5fce8c # 140.206.95.14 -0x305ef853 # 83.248.94.48 -0xad26ca32 # 50.202.38.173 -0xd9d21a54 # 84.26.210.217 -0xddd0d736 # 54.215.208.221 -0xc24ec0c7 # 199.192.78.194 -0x4aadcd5b # 91.205.173.74 -0x49109852 # 82.152.16.73 -0x9d6b3ac6 # 198.58.107.157 -0xf0aa1e8b # 139.30.170.240 -0xf1bfa343 # 67.163.191.241 -0x8a30c0ad # 173.192.48.138 -0x260f93d4 # 212.147.15.38 -0x2339e760 # 96.231.57.35 -0x8869959f # 159.149.105.136 -0xc207216c # 108.33.7.194 -0x29453448 # 72.52.69.41 -0xb651ec36 # 54.236.81.182 -0x45496259 # 89.98.73.69 -0xa23d1bcc # 204.27.61.162 -0xb39bcf43 # 67.207.155.179 -0xa1d29432 # 50.148.210.161 -0x3507c658 # 88.198.7.53 -0x4a88dd62 # 98.221.136.74 -0x27aff363 # 99.243.175.39 -0x7498ea6d # 109.234.152.116 -0x4a6785d5 # 213.133.103.74 -0x5e6d47c2 # 194.71.109.94 -0x3baba542 # 66.165.171.59 -0x045a37ae # 174.55.90.4 -0xa24dc0c7 # 199.192.77.162 -0xe981ea4d # 77.234.129.233 -0xed6ce217 # 23.226.108.237 -0x857214c6 # 198.20.114.133 -0x6b6c0464 # 100.4.108.107 -0x5a4945b8 # 184.69.73.90 -0x12f24742 # 66.71.242.18 -0xf35f42ad # 173.66.95.243 -0xfd0f5a4e # 78.90.15.253 -0xfb081556 # 86.21.8.251 -0xb24b5861 # 97.88.75.178 -0x2e114146 # 70.65.17.46 -0xb7780905 # 5.9.120.183 -0x33bb0e48 # 72.14.187.51 -0x39e26556 # 86.101.226.57 -0xa794484d # 77.72.148.167 -0x4225424d # 77.66.37.66 -0x3003795b # 91.121.3.48 -0x31c8cf44 # 68.207.200.49 -0xd65bad59 # 89.173.91.214 -0x127bc648 # 72.198.123.18 -0xf2bc4d4c # 76.77.188.242 -0x0273dc50 # 80.220.115.2 -0x4572d736 # 54.215.114.69 -0x064bf653 # 83.246.75.6 -0xcdcd126c # 108.18.205.205 -0x608281ae # 174.129.130.96 -0x4d130087 # 135.0.19.77 -0x1016f725 # 37.247.22.16 -0xba185fc0 # 192.95.24.186 -0x16c1a84f # 79.168.193.22 -0xfb697252 # 82.114.105.251 -0xa2942360 # 96.35.148.162 -0x53083b6c # 108.59.8.83 -0x0583f1c0 # 192.241.131.5 -0x2d5a2441 # 65.36.90.45 -0xc172aa43 # 67.170.114.193 -0xcd11cf36 # 54.207.17.205 -0x7b14ed62 # 98.237.20.123 -0x5c94f1c0 # 192.241.148.92 -0x7c23132e # 46.19.35.124 -0x39965a6f # 111.90.150.57 -0x7890e24e # 78.226.144.120 -0xa38ec447 # 71.196.142.163 -0xc187f1c0 # 192.241.135.193 -0xef80b647 # 71.182.128.239 -0xf20a7432 # 50.116.10.242 -0x7ad1d8d2 # 210.216.209.122 -0x869e2ec6 # 198.46.158.134 -0xccdb5c5d # 93.92.219.204 -0x9d11f636 # 54.246.17.157 -0x2161bb25 # 37.187.97.33 -0x7599f889 # 137.248.153.117 -0x2265ecad # 173.236.101.34 -0x0f4f0e55 # 85.14.79.15 -0x7d25854a # 74.133.37.125 -0xf857e360 # 96.227.87.248 -0xf83f3d6c # 108.61.63.248 -0x9cc93bb8 # 184.59.201.156 -0x02716857 # 87.104.113.2 -0x5dd8a177 # 119.161.216.93 -0x8adc6cd4 # 212.108.220.138 -0xe5613d46 # 70.61.97.229 -0x6a734f50 # 80.79.115.106 -0x2a5c3bae # 174.59.92.42 -0x4a04c3d1 # 209.195.4.74 -0xe4613d46 # 70.61.97.228 -0x8426f4bc # 188.244.38.132 -0x3e1b5fc0 # 192.95.27.62 -0x0d5a3c18 # 24.60.90.13 -0xd0f6d154 # 84.209.246.208 -0x21c7ff5e # 94.255.199.33 -0xeb3f3d6c # 108.61.63.235 -0x9da5edc0 # 192.237.165.157 -0x5d753b81 # 129.59.117.93 -0x0d8d53d4 # 212.83.141.13 -0x2613f018 # 24.240.19.38 -0x4443698d # 141.105.67.68 -0x8ca1edcd # 205.237.161.140 -0x10ed3f4e # 78.63.237.16 -0x789b403a # 58.64.155.120 -0x7b984a4b # 75.74.152.123 -0x964ebc25 # 37.188.78.150 -0x7520ee60 # 96.238.32.117 -0x4f4828bc # 188.40.72.79 -0x115c407d # 125.64.92.17 -0x32dd0667 # 103.6.221.50 -0xa741715e # 94.113.65.167 -0x1d3f3532 # 50.53.63.29 -0x817d1f56 # 86.31.125.129 -0x2f99a552 # 82.165.153.47 -0x6b2a5956 # 86.89.42.107 -0x8d4f4f05 # 5.79.79.141 -0xd23c1e17 # 23.30.60.210 -0x98993748 # 72.55.153.152 -0x2c92e536 # 54.229.146.44 -0x237ebdc3 # 195.189.126.35 -0xa762fb43 # 67.251.98.167 -0x32016b71 # 113.107.1.50 -0xd0e7cf79 # 121.207.231.208 -0x7d35bdd5 # 213.189.53.125 -0x53dac3d2 # 210.195.218.83 -0x31016b71 # 113.107.1.49 -0x7fb8f8ce # 206.248.184.127 -0x9a38c232 # 50.194.56.154 -0xefaa42ad # 173.66.170.239 -0x876b823d # 61.130.107.135 -0x18175347 # 71.83.23.24 -0xdb46597d # 125.89.70.219 -0xd2c168da # 218.104.193.210 -0xcd6fe9dc # 220.233.111.205 -0x45272e4e # 78.46.39.69 -0x8d4bca5b # 91.202.75.141 -0xa4043d47 # 71.61.4.164 -0xaab7aa47 # 71.170.183.170 -0x202881ae # 174.129.40.32 -0xa4aef160 # 96.241.174.164 -0xecd7e6bc # 188.230.215.236 -0x391359ad # 173.89.19.57 -0xd8cc9318 # 24.147.204.216 -0xbbeee52e # 46.229.238.187 -0x077067b0 # 176.103.112.7 -0xebd39d62 # 98.157.211.235 -0x0cedc547 # 71.197.237.12 -0x23d3e15e # 94.225.211.35 -0xa5a81318 # 24.19.168.165 -0x179a32c6 # 198.50.154.23 -0xe4d3483d # 61.72.211.228 -0x03680905 # 5.9.104.3 -0xe8018abc # 188.138.1.232 -0xdde9ef5b # 91.239.233.221 -0x438b8705 # 5.135.139.67 -0xb48224a0 # 160.36.130.180 -0xcbd69218 # 24.146.214.203 -0x9075795b # 91.121.117.144 -0xc6411c3e # 62.28.65.198 -0x03833f5c # 92.63.131.3 -0xf33f8b5e # 94.139.63.243 -0x495e464b # 75.70.94.73 -0x83c8e65b # 91.230.200.131 -0xac09cd25 # 37.205.9.172 -0xdaabc547 # 71.197.171.218 -0x7665a553 # 83.165.101.118 -0xc5263718 # 24.55.38.197 -0x2fd0c5cd # 205.197.208.47 -0x22224d61 # 97.77.34.34 -0x3e954048 # 72.64.149.62 -0xfaa37557 # 87.117.163.250 -0x36dbc658 # 88.198.219.54 -0xa81453d0 # 208.83.20.168 -0x5a941f5d # 93.31.148.90 -0xa598ea60 # 96.234.152.165 -0x65384ac6 # 198.74.56.101 -0x10aaa545 # 69.165.170.16 -0xaaab795b # 91.121.171.170 -0xdda7024c # 76.2.167.221 -0x0966f4c6 # 198.244.102.9 -0x68571c08 # 8.28.87.104 -0x8b40ee59 # 89.238.64.139 -0x33ac096c # 108.9.172.51 -0x844b4c4b # 75.76.75.132 -0xd392254d # 77.37.146.211 -0xba4d5a46 # 70.90.77.186 -0x63029653 # 83.150.2.99 -0xf655f636 # 54.246.85.246 -0xbe4c4bb1 # 177.75.76.190 -0x45dad036 # 54.208.218.69 -0x204bc052 # 82.192.75.32 -0x06c3a2b2 # 178.162.195.6 -0xf31fba6a # 106.186.31.243 -0xb21f09b0 # 176.9.31.178 -0x540d0751 # 81.7.13.84 -0xc7b46a57 # 87.106.180.199 -0x6a11795b # 91.121.17.106 -0x3d514045 # 69.64.81.61 -0x0318aa6d # 109.170.24.3 -0x30306ec3 # 195.110.48.48 -0x5c077432 # 50.116.7.92 -0x259ae46d # 109.228.154.37 -0x82bbd35f # 95.211.187.130 -0xae4222c0 # 192.34.66.174 -0x254415d4 # 212.21.68.37 -0xbd5f574b # 75.87.95.189 -0xd8fd175e # 94.23.253.216 -0x0a3f38c3 # 195.56.63.10 -0x2dce6bb8 # 184.107.206.45 -0xc201d058 # 88.208.1.194 -0x17fca5bc # 188.165.252.23 -0xe8453cca # 202.60.69.232 -0xd361f636 # 54.246.97.211 -0xa0d9edc0 # 192.237.217.160 -0x2f232e4e # 78.46.35.47 -0x134e116c # 108.17.78.19 -0x61ddc058 # 88.192.221.97 -0x05ba7283 # 131.114.186.5 -0xe1f7ed5b # 91.237.247.225 -0x040ec452 # 82.196.14.4 -0x4b672e4e # 78.46.103.75 -0xe4efa36d # 109.163.239.228 -0x47dca52e # 46.165.220.71 -0xe9332e4e # 78.46.51.233 -0xa3acb992 # 146.185.172.163 -0x24714c90 # 144.76.113.36 -0xa8cc8632 # 50.134.204.168 -0x26b1ce6d # 109.206.177.38 -0x264e53d4 # 212.83.78.38 -0xd3d2718c # 140.113.210.211 -0x225534ad # 173.52.85.34 -0xe289f3a2 # 162.243.137.226 -0x87341717 # 23.23.52.135 -0x9255ad4f # 79.173.85.146 -0x184bbb25 # 37.187.75.24 -0x885c7abc # 188.122.92.136 -0x3a6e9ac6 # 198.154.110.58 -0x1924185e # 94.24.36.25 -0xb73d4c90 # 144.76.61.183 -0x946d807a # 122.128.109.148 -0xa0d78e3f # 63.142.215.160 -0x5a16bb25 # 37.187.22.90 -0xcb09795b # 91.121.9.203 -0x8d0de657 # 87.230.13.141 -0x630b8b25 # 37.139.11.99 -0xe572c6cf # 207.198.114.229 -0x2b3f1118 # 24.17.63.43 -0x4242a91f # 31.169.66.66 -0x32990905 # 5.9.153.50 -0x058b0905 # 5.9.139.5 -0xe266fc60 # 96.252.102.226 -0xbe66c5b0 # 176.197.102.190 -0xcc98e46d # 109.228.152.204 -0x698c943e # 62.148.140.105 -0x44bd0cc3 # 195.12.189.68 -0x865c7abc # 188.122.92.134 -0x771764d3 # 211.100.23.119 -0x4675d655 # 85.214.117.70 -0x354e4826 # 38.72.78.53 -0xb67ac152 # 82.193.122.182 -0xaeccf285 # 133.242.204.174 -0xea625b4e # 78.91.98.234 -0xbcd6031f # 31.3.214.188 -0x5e81eb18 # 24.235.129.94 -0x74b347ce # 206.71.179.116 -0x3ca56ac1 # 193.106.165.60 -0x54ee4546 # 70.69.238.84 -0x38a8175e # 94.23.168.56 -0xa3c21155 # 85.17.194.163 -0x2f01576d # 109.87.1.47 -0x5d7ade50 # 80.222.122.93 -0xa003ae48 # 72.174.3.160 -0x2bc1d31f # 31.211.193.43 -0x13f5094c # 76.9.245.19 -0x7ab32648 # 72.38.179.122 -0x542e9fd5 # 213.159.46.84 -0x53136bc1 # 193.107.19.83 -0x7fdf51c0 # 192.81.223.127 -0x802197b2 # 178.151.33.128 -0xa2d2cc5b # 91.204.210.162 -0x6b5f4bc0 # 192.75.95.107 +# IPv4 nodes (generated using contrib/seeds/makeseeds.py) +1.33.197.110 +1.34.180.245 +1.202.128.218 +2.35.195.25 +5.100.123.19 +5.175.145.169 +5.199.133.193 +5.199.151.10 +5.228.1.230 +14.200.200.145 +18.228.0.188 +18.228.0.200 +23.30.243.153 +23.88.232.49 +23.99.105.9 +23.226.137.208 +23.227.177.161 +23.227.191.50 +23.229.45.32 +23.236.144.69 +23.253.148.113 +23.253.241.22 +23.255.227.231 +24.20.205.222 +24.23.120.252 +24.94.98.96 +24.98.95.201 +24.111.90.55 +24.119.119.105 +24.138.25.149 +31.3.214.45 +31.186.87.46 +31.186.101.98 +31.186.250.186 +31.204.153.107 +37.44.16.231 +37.44.44.11 +37.120.168.204 +37.143.86.26 +37.187.75.24 +37.188.68.169 +37.192.95.150 +37.201.246.116 +37.205.10.140 +46.10.210.17 +46.19.138.154 +46.28.204.123 +46.28.205.67 +46.38.235.229 +46.163.76.230 +46.166.162.91 +46.173.190.50 +46.227.66.132 +46.229.238.187 +46.236.116.209 +47.55.14.65 +50.7.252.229 +50.46.159.91 +50.78.49.181 +50.78.231.57 +50.79.153.65 +50.116.34.44 +50.126.86.253 +50.142.41.23 +50.199.113.193 +50.200.78.107 +50.206.138.177 +50.252.52.49 +54.165.25.75 +54.169.107.40 +54.179.190.56 +54.187.82.121 +54.246.85.246 +58.74.7.205 +58.96.183.121 +61.62.58.38 +61.63.91.72 +61.63.91.112 +61.72.211.228 +62.43.40.154 +62.43.130.178 +62.80.185.213 +62.109.49.26 +62.173.139.58 +62.181.238.186 +62.210.114.127 +63.141.228.138 +63.153.213.78 +63.223.84.145 +63.251.88.112 +64.31.110.50 +64.34.121.45 +64.114.6.42 +64.140.125.98 +64.156.193.100 +65.30.47.116 +65.35.132.177 +65.96.193.165 +65.111.189.26 +66.68.10.30 +66.114.33.250 +66.130.46.63 +66.175.215.135 +66.190.253.165 +66.194.38.254 +66.244.98.111 +67.162.238.30 +67.169.255.17 +67.183.173.25 +67.219.233.140 +67.227.240.115 +67.247.222.71 +68.43.114.66 +68.52.33.36 +68.198.245.241 +69.12.226.165 +69.13.198.188 +69.15.179.62 +69.39.239.47 +69.47.45.87 +69.62.217.206 +69.64.42.31 +69.64.81.61 +69.67.219.200 +69.90.132.157 +69.94.30.177 +69.136.175.241 +70.61.97.228 +70.123.118.132 +71.59.152.182 +71.198.248.151 +71.200.242.89 +71.225.179.157 +72.14.187.51 +72.38.34.180 +72.52.72.187 +72.91.144.182 +72.167.49.217 +72.201.243.55 +72.223.60.249 +72.228.153.102 +73.26.101.228 +73.50.158.200 +73.181.204.170 +74.57.199.180 +74.63.222.226 +74.81.231.21 +74.193.126.82 +74.207.235.164 +75.83.197.114 +75.144.114.9 +76.112.5.247 +76.174.20.247 +77.37.240.142 +77.57.202.107 +77.172.123.53 +77.221.91.253 +77.235.48.48 +77.245.78.2 +78.8.58.249 +78.27.191.182 +78.129.236.141 +78.131.88.47 +78.157.205.6 +79.132.230.144 +79.143.188.155 +79.160.221.140 +79.161.111.114 +80.100.189.3 +80.147.140.121 +80.203.75.133 +80.220.99.227 +80.222.20.169 +80.241.1.7 +81.23.191.243 +81.38.11.202 +81.80.9.71 +81.110.213.165 +81.133.155.237 +81.171.34.37 +81.181.155.180 +82.39.156.137 +82.73.161.95 +82.130.45.40 +82.165.153.47 +82.168.128.133 +82.179.225.118 +82.194.245.158 +82.199.102.10 +82.211.30.243 +82.217.133.145 +82.221.128.35 +82.221.131.177 +82.233.225.205 +83.0.249.146 +83.89.31.249 +83.128.29.231 +83.128.253.142 +83.143.130.56 +83.150.2.99 +83.150.9.196 +83.161.64.45 +83.212.103.212 +83.212.111.114 +83.246.75.8 +83.254.81.31 +83.254.150.54 +84.2.34.104 +84.15.61.60 +84.17.25.135 +84.42.144.19 +84.212.210.135 +84.215.165.231 +84.238.140.176 +84.240.31.184 +85.25.214.137 +85.139.163.132 +85.199.4.228 +85.214.61.209 +85.214.108.77 +86.123.16.17 +87.48.42.199 +87.104.168.104 +87.229.73.171 +87.236.196.77 +88.97.56.98 +88.134.178.89 +88.150.233.19 +88.168.133.3 +88.208.18.246 +88.208.33.202 +89.18.28.21 +89.85.220.84 +89.163.227.28 +89.184.83.60 +89.231.96.83 +89.236.49.117 +91.90.66.209 +91.106.194.97 +91.134.75.115 +91.152.193.36 +91.152.219.35 +91.197.10.234 +91.209.77.101 +91.210.106.147 +91.214.200.205 +91.223.115.38 +91.234.48.232 +91.250.86.18 +92.27.7.209 +92.255.207.73 +93.74.163.234 +93.84.114.106 +93.152.166.29 +93.171.216.221 +93.185.177.71 +94.19.12.244 +94.42.115.50 +94.79.177.206 +94.136.147.119 +94.143.245.5 +94.188.50.39 +94.190.227.112 +94.198.135.29 +94.226.107.86 +94.242.219.90 +94.242.229.168 +94.244.160.84 +95.31.10.209 +95.85.25.41 +95.105.161.136 +95.154.165.45 +95.154.200.216 +95.167.109.125 +95.211.125.231 +95.211.216.235 +96.33.25.17 +96.43.130.178 +97.118.8.236 +98.102.6.125 +98.202.20.45 +98.217.125.225 +98.234.210.111 +98.237.20.123 +98.255.144.176 +99.113.64.43 +99.229.22.8 +103.1.212.19 +103.30.42.189 +103.224.165.48 +103.243.94.140 +104.131.107.107 +104.131.116.184 +104.143.0.156 +104.219.184.9 +106.185.38.174 +107.6.4.145 +107.150.8.27 +107.150.33.20 +107.170.228.129 +107.170.240.173 +108.51.20.86 +108.61.149.222 +108.61.151.172 +108.161.129.247 +108.170.140.21 +109.60.211.216 +109.73.42.36 +109.73.172.138 +109.163.235.239 +109.190.196.220 +109.201.135.216 +109.228.152.2 +109.228.154.81 +109.230.220.125 +109.234.156.218 +109.235.49.27 +109.235.69.84 +112.124.71.0 +113.146.68.251 +115.29.17.82 +115.70.176.17 +117.41.162.184 +118.27.8.170 +119.230.7.211 +119.246.71.52 +121.172.8.100 +122.128.109.148 +123.231.224.63 +128.175.195.31 +128.199.164.96 +128.199.254.244 +129.97.69.76 +129.123.7.7 +129.123.7.39 +129.186.17.17 +131.247.169.190 +133.242.209.63 +134.102.94.38 +134.119.17.145 +137.116.160.176 +137.226.34.42 +138.210.217.170 +141.255.166.194 +143.215.129.126 +144.76.244.19 +146.148.52.162 +146.148.80.57 +146.185.19.30 +146.185.142.86 +146.185.253.51 +148.251.6.214 +149.154.155.235 +149.210.133.244 +151.224.248.252 +153.121.75.229 +153.127.251.67 +154.20.2.139 +157.13.61.5 +158.58.173.48 +159.253.23.132 +162.209.110.218 +162.213.254.205 +162.239.254.100 +162.242.150.39 +162.243.81.138 +162.243.235.56 +162.244.79.16 +162.245.217.119 +162.248.102.117 +162.251.108.53 +162.254.149.139 +162.255.116.78 +166.70.94.106 +167.88.45.124 +167.88.120.210 +173.26.49.43 +173.30.14.6 +173.80.114.197 +173.167.214.243 +173.208.219.108 +173.220.67.156 +173.236.101.34 +173.246.107.34 +173.255.237.241 +174.2.213.209 +174.51.23.224 +174.51.123.159 +174.57.212.121 +174.109.33.28 +175.126.124.91 +175.126.124.92 +176.10.116.242 +176.36.35.126 +176.36.99.222 +176.124.110.47 +176.194.33.44 +176.223.201.198 +178.62.26.83 +178.62.36.48 +178.62.212.141 +178.62.254.59 +178.78.250.3 +178.155.86.226 +178.175.134.35 +178.248.111.4 +178.254.1.170 +178.254.34.161 +179.43.114.14 +182.213.208.28 +184.68.2.46 +184.72.238.42 +184.94.226.34 +184.94.227.58 +184.107.139.58 +184.107.206.45 +185.10.48.117 +185.21.216.156 +185.38.47.224 +185.45.192.129 +185.53.129.230 +185.53.131.114 +185.55.53.61 +185.55.53.63 +185.61.119.2 +185.61.148.203 +186.2.167.23 +188.92.75.178 +188.122.92.134 +188.138.9.208 +188.165.209.148 +188.226.206.239 +190.10.8.124 +190.10.10.147 +192.0.130.142 +192.3.89.159 +192.73.234.138 +192.75.95.107 +192.95.100.102 +192.155.84.181 +192.169.233.206 +192.198.93.86 +192.227.135.216 +193.0.109.3 +193.77.50.208 +193.109.68.62 +193.150.121.37 +193.224.69.98 +194.79.8.37 +194.141.86.10 +195.12.180.94 +195.56.63.10 +195.116.93.93 +195.154.174.226 +195.159.111.98 +195.169.138.2 +195.189.126.35 +195.197.175.190 +197.242.93.82 +198.11.214.147 +198.49.41.21 +199.33.124.186 +199.204.186.146 +199.233.238.115 +199.241.189.66 +202.60.68.242 +202.60.69.232 +203.183.151.39 +203.219.14.204 +204.44.123.109 +204.44.123.162 +204.45.120.178 +206.190.134.44 +206.248.184.127 +207.244.73.8 +208.66.30.27 +209.81.9.223 +209.105.243.229 +209.126.70.159 +209.140.30.169 +209.165.128.235 +209.190.2.242 +210.66.254.236 +210.73.27.33 +211.72.66.229 +212.25.37.124 +212.71.235.114 +212.71.252.109 +212.114.48.31 +212.174.151.118 +213.66.205.194 +213.129.248.139 +213.136.87.34 +213.165.82.133 +213.167.17.6 +213.179.158.253 +213.189.53.125 +213.222.208.93 +216.49.158.161 +216.55.143.154 +216.131.91.100 +216.245.206.181 +216.250.138.230 +217.11.225.189 +217.23.6.133 +217.75.88.178 +217.172.143.140 +217.195.169.209 +217.196.248.106 +219.138.161.162 +222.167.248.90 +223.18.254.55 # Onion nodes bitcoinostk4e4re.onion:8333 diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 9e9f478d8fe14..9cc479c3056f4 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -14,7 +14,8 @@ EXTRA_DIST += \ test/data/tt-locktime317000-out.hex \ test/data/tx394b54bb.hex \ test/data/txcreate1.hex \ - test/data/txcreate2.hex + test/data/txcreate2.hex \ + test/data/txcreatesign.hex JSON_TEST_FILES = \ test/data/script_valid.json \ @@ -50,12 +51,14 @@ BITCOIN_TESTS =\ test/hash_tests.cpp \ test/key_tests.cpp \ test/main_tests.cpp \ + test/mempool_tests.cpp \ test/miner_tests.cpp \ test/mruset_tests.cpp \ test/multisig_tests.cpp \ test/netbase_tests.cpp \ test/pmt_tests.cpp \ test/rpc_tests.cpp \ + test/sanity_tests.cpp \ test/script_P2SH_tests.cpp \ test/script_tests.cpp \ test/scriptnum_tests.cpp \ diff --git a/src/addrman.cpp b/src/addrman.cpp index 1982db52ae33c..ad7fa9bd51fe6 100644 --- a/src/addrman.cpp +++ b/src/addrman.cpp @@ -10,34 +10,27 @@ using namespace std; -int CAddrInfo::GetTriedBucket(const std::vector& nKey) const +int CAddrInfo::GetTriedBucket(const uint256& nKey) const { - CDataStream ss1(SER_GETHASH, 0); - std::vector vchKey = GetKey(); - ss1 << nKey << vchKey; - uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetLow64(); - - CDataStream ss2(SER_GETHASH, 0); - std::vector vchGroupKey = GetGroup(); - ss2 << nKey << vchGroupKey << (hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP); - uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetLow64(); + uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << GetKey()).GetHash().GetLow64(); + uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << GetGroup() << (hash1 % ADDRMAN_TRIED_BUCKETS_PER_GROUP)).GetHash().GetLow64(); return hash2 % ADDRMAN_TRIED_BUCKET_COUNT; } -int CAddrInfo::GetNewBucket(const std::vector& nKey, const CNetAddr& src) const +int CAddrInfo::GetNewBucket(const uint256& nKey, const CNetAddr& src) const { - CDataStream ss1(SER_GETHASH, 0); - std::vector vchGroupKey = GetGroup(); std::vector vchSourceGroupKey = src.GetGroup(); - ss1 << nKey << vchGroupKey << vchSourceGroupKey; - uint64_t hash1 = Hash(ss1.begin(), ss1.end()).GetLow64(); - - CDataStream ss2(SER_GETHASH, 0); - ss2 << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP); - uint64_t hash2 = Hash(ss2.begin(), ss2.end()).GetLow64(); + uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << GetGroup() << vchSourceGroupKey).GetHash().GetLow64(); + uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP)).GetHash().GetLow64(); return hash2 % ADDRMAN_NEW_BUCKET_COUNT; } +int CAddrInfo::GetBucketPosition(const uint256 &nKey, bool fNew, int nBucket) const +{ + uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << (fNew ? 'N' : 'K') << nBucket << GetKey()).GetHash().GetLow64(); + return hash1 % ADDRMAN_BUCKET_SIZE; +} + bool CAddrInfo::IsTerrible(int64_t nNow) const { if (nLastTry && nLastTry >= nNow - 60) // never remove things tried in the last minute @@ -70,15 +63,12 @@ double CAddrInfo::GetChance(int64_t nNow) const if (nSinceLastTry < 0) nSinceLastTry = 0; - fChance *= 600.0 / (600.0 + nSinceLastSeen); - // deprioritize very recent attempts away if (nSinceLastTry < 60 * 10) fChance *= 0.01; - // deprioritize 50% after each failed attempt - for (int n = 0; n < nAttempts; n++) - fChance /= 1.5; + // deprioritize 66% after each failed attempt, but at most 1/28th to avoid the search taking forever or overly penalizing outages. + fChance *= pow(0.66, min(nAttempts, 8)); return fChance; } @@ -128,85 +118,44 @@ void CAddrMan::SwapRandom(unsigned int nRndPos1, unsigned int nRndPos2) vRandom[nRndPos2] = nId1; } -int CAddrMan::SelectTried(int nKBucket) +void CAddrMan::Delete(int nId) { - std::vector& vTried = vvTried[nKBucket]; - - // randomly shuffle the first few elements (using the entire list) - // find the least recently tried among them - int64_t nOldest = -1; - int nOldestPos = -1; - for (unsigned int i = 0; i < ADDRMAN_TRIED_ENTRIES_INSPECT_ON_EVICT && i < vTried.size(); i++) { - int nPos = GetRandInt(vTried.size() - i) + i; - int nTemp = vTried[nPos]; - vTried[nPos] = vTried[i]; - vTried[i] = nTemp; - assert(nOldest == -1 || mapInfo.count(nTemp) == 1); - if (nOldest == -1 || mapInfo[nTemp].nLastSuccess < mapInfo[nOldest].nLastSuccess) { - nOldest = nTemp; - nOldestPos = nPos; - } - } + assert(mapInfo.count(nId) != 0); + CAddrInfo& info = mapInfo[nId]; + assert(!info.fInTried); + assert(info.nRefCount == 0); - return nOldestPos; + SwapRandom(info.nRandomPos, vRandom.size() - 1); + vRandom.pop_back(); + mapAddr.erase(info); + mapInfo.erase(nId); + nNew--; } -int CAddrMan::ShrinkNew(int nUBucket) +void CAddrMan::ClearNew(int nUBucket, int nUBucketPos) { - assert(nUBucket >= 0 && (unsigned int)nUBucket < vvNew.size()); - std::set& vNew = vvNew[nUBucket]; - - // first look for deletable items - for (std::set::iterator it = vNew.begin(); it != vNew.end(); it++) { - assert(mapInfo.count(*it)); - CAddrInfo& info = mapInfo[*it]; - if (info.IsTerrible()) { - if (--info.nRefCount == 0) { - SwapRandom(info.nRandomPos, vRandom.size() - 1); - vRandom.pop_back(); - mapAddr.erase(info); - mapInfo.erase(*it); - nNew--; - } - vNew.erase(it); - return 0; - } - } - - // otherwise, select four randomly, and pick the oldest of those to replace - int n[4] = {GetRandInt(vNew.size()), GetRandInt(vNew.size()), GetRandInt(vNew.size()), GetRandInt(vNew.size())}; - int nI = 0; - int nOldest = -1; - for (std::set::iterator it = vNew.begin(); it != vNew.end(); it++) { - if (nI == n[0] || nI == n[1] || nI == n[2] || nI == n[3]) { - assert(nOldest == -1 || mapInfo.count(*it) == 1); - if (nOldest == -1 || mapInfo[*it].nTime < mapInfo[nOldest].nTime) - nOldest = *it; + // if there is an entry in the specified bucket, delete it. + if (vvNew[nUBucket][nUBucketPos] != -1) { + int nIdDelete = vvNew[nUBucket][nUBucketPos]; + CAddrInfo& infoDelete = mapInfo[nIdDelete]; + assert(infoDelete.nRefCount > 0); + infoDelete.nRefCount--; + vvNew[nUBucket][nUBucketPos] = -1; + if (infoDelete.nRefCount == 0) { + Delete(nIdDelete); } - nI++; - } - assert(mapInfo.count(nOldest) == 1); - CAddrInfo& info = mapInfo[nOldest]; - if (--info.nRefCount == 0) { - SwapRandom(info.nRandomPos, vRandom.size() - 1); - vRandom.pop_back(); - mapAddr.erase(info); - mapInfo.erase(nOldest); - nNew--; } - vNew.erase(nOldest); - - return 1; } -void CAddrMan::MakeTried(CAddrInfo& info, int nId, int nOrigin) +void CAddrMan::MakeTried(CAddrInfo& info, int nId) { - assert(vvNew[nOrigin].count(nId) == 1); - // remove the entry from all new buckets - for (std::vector >::iterator it = vvNew.begin(); it != vvNew.end(); it++) { - if ((*it).erase(nId)) + for (int bucket = 0; bucket < ADDRMAN_NEW_BUCKET_COUNT; bucket++) { + int pos = info.GetBucketPosition(nKey, true, bucket); + if (vvNew[bucket][pos] == nId) { + vvNew[bucket][pos] = -1; info.nRefCount--; + } } nNew--; @@ -214,44 +163,36 @@ void CAddrMan::MakeTried(CAddrInfo& info, int nId, int nOrigin) // which tried bucket to move the entry to int nKBucket = info.GetTriedBucket(nKey); - std::vector& vTried = vvTried[nKBucket]; - - // first check whether there is place to just add it - if (vTried.size() < ADDRMAN_TRIED_BUCKET_SIZE) { - vTried.push_back(nId); - nTried++; - info.fInTried = true; - return; - } - - // otherwise, find an item to evict - int nPos = SelectTried(nKBucket); - - // find which new bucket it belongs to - assert(mapInfo.count(vTried[nPos]) == 1); - int nUBucket = mapInfo[vTried[nPos]].GetNewBucket(nKey); - std::set& vNew = vvNew[nUBucket]; - - // remove the to-be-replaced tried entry from the tried set - CAddrInfo& infoOld = mapInfo[vTried[nPos]]; - infoOld.fInTried = false; - infoOld.nRefCount = 1; - // do not update nTried, as we are going to move something else there immediately - - // check whether there is place in that one, - if (vNew.size() < ADDRMAN_NEW_BUCKET_SIZE) { - // if so, move it back there - vNew.insert(vTried[nPos]); - } else { - // otherwise, move it to the new bucket nId came from (there is certainly place there) - vvNew[nOrigin].insert(vTried[nPos]); + int nKBucketPos = info.GetBucketPosition(nKey, false, nKBucket); + + // first make space to add it (the existing tried entry there is moved to new, deleting whatever is there). + if (vvTried[nKBucket][nKBucketPos] != -1) { + // find an item to evict + int nIdEvict = vvTried[nKBucket][nKBucketPos]; + assert(mapInfo.count(nIdEvict) == 1); + CAddrInfo& infoOld = mapInfo[nIdEvict]; + + // Remove the to-be-evicted item from the tried set. + infoOld.fInTried = false; + vvTried[nKBucket][nKBucketPos] = -1; + nTried--; + + // find which new bucket it belongs to + int nUBucket = infoOld.GetNewBucket(nKey); + int nUBucketPos = infoOld.GetBucketPosition(nKey, true, nUBucket); + ClearNew(nUBucket, nUBucketPos); + assert(vvNew[nUBucket][nUBucketPos] == -1); + + // Enter it into the new set again. + infoOld.nRefCount = 1; + vvNew[nUBucket][nUBucketPos] = nIdEvict; + nNew++; } - nNew++; + assert(vvTried[nKBucket][nKBucketPos] == -1); - vTried[nPos] = nId; - // we just overwrote an entry in vTried; no need to update nTried + vvTried[nKBucket][nKBucketPos] = nId; + nTried++; info.fInTried = true; - return; } void CAddrMan::Good_(const CService& addr, int64_t nTime) @@ -272,20 +213,21 @@ void CAddrMan::Good_(const CService& addr, int64_t nTime) // update info info.nLastSuccess = nTime; info.nLastTry = nTime; - info.nTime = nTime; info.nAttempts = 0; + // nTime is not updated here, to avoid leaking information about + // currently-connected peers. // if it is already in the tried set, don't do anything else if (info.fInTried) return; // find a bucket it is in now - int nRnd = GetRandInt(vvNew.size()); + int nRnd = GetRandInt(ADDRMAN_NEW_BUCKET_COUNT); int nUBucket = -1; - for (unsigned int n = 0; n < vvNew.size(); n++) { - int nB = (n + nRnd) % vvNew.size(); - std::set& vNew = vvNew[nB]; - if (vNew.count(nId)) { + for (unsigned int n = 0; n < ADDRMAN_NEW_BUCKET_COUNT; n++) { + int nB = (n + nRnd) % ADDRMAN_NEW_BUCKET_COUNT; + int nBpos = info.GetBucketPosition(nKey, true, nB); + if (vvNew[nB][nBpos] == nId) { nUBucket = nB; break; } @@ -299,7 +241,7 @@ void CAddrMan::Good_(const CService& addr, int64_t nTime) LogPrint("addrman", "Moving %s to tried\n", addr.ToString()); // move nId to the tried tables - MakeTried(info, nId, nUBucket); + MakeTried(info, nId); } bool CAddrMan::Add_(const CAddress& addr, const CNetAddr& source, int64_t nTimePenalty) @@ -347,12 +289,25 @@ bool CAddrMan::Add_(const CAddress& addr, const CNetAddr& source, int64_t nTimeP } int nUBucket = pinfo->GetNewBucket(nKey, source); - std::set& vNew = vvNew[nUBucket]; - if (!vNew.count(nId)) { - pinfo->nRefCount++; - if (vNew.size() == ADDRMAN_NEW_BUCKET_SIZE) - ShrinkNew(nUBucket); - vvNew[nUBucket].insert(nId); + int nUBucketPos = pinfo->GetBucketPosition(nKey, true, nUBucket); + if (vvNew[nUBucket][nUBucketPos] != nId) { + bool fInsert = vvNew[nUBucket][nUBucketPos] == -1; + if (!fInsert) { + CAddrInfo& infoExisting = mapInfo[vvNew[nUBucket][nUBucketPos]]; + if (infoExisting.IsTerrible() || (infoExisting.nRefCount > 1 && pinfo->nRefCount == 0)) { + // Overwrite the existing new table entry. + fInsert = true; + } + } + if (fInsert) { + ClearNew(nUBucket, nUBucketPos); + pinfo->nRefCount++; + vvNew[nUBucket][nUBucketPos] = nId; + } else { + if (pinfo->nRefCount == 0) { + Delete(nId); + } + } } return fNew; } @@ -376,24 +331,23 @@ void CAddrMan::Attempt_(const CService& addr, int64_t nTime) info.nAttempts++; } -CAddress CAddrMan::Select_(int nUnkBias) +CAddress CAddrMan::Select_() { if (size() == 0) return CAddress(); - double nCorTried = sqrt(nTried) * (100.0 - nUnkBias); - double nCorNew = sqrt(nNew) * nUnkBias; - if ((nCorTried + nCorNew) * GetRandInt(1 << 30) / (1 << 30) < nCorTried) { + // Use a 50% chance for choosing between tried and new table entries. + if (nTried > 0 && (nNew == 0 || GetRandInt(2) == 0)) { // use a tried node double fChanceFactor = 1.0; while (1) { - int nKBucket = GetRandInt(vvTried.size()); - std::vector& vTried = vvTried[nKBucket]; - if (vTried.size() == 0) + int nKBucket = GetRandInt(ADDRMAN_TRIED_BUCKET_COUNT); + int nKBucketPos = GetRandInt(ADDRMAN_BUCKET_SIZE); + if (vvTried[nKBucket][nKBucketPos] == -1) continue; - int nPos = GetRandInt(vTried.size()); - assert(mapInfo.count(vTried[nPos]) == 1); - CAddrInfo& info = mapInfo[vTried[nPos]]; + int nId = vvTried[nKBucket][nKBucketPos]; + assert(mapInfo.count(nId) == 1); + CAddrInfo& info = mapInfo[nId]; if (GetRandInt(1 << 30) < fChanceFactor * info.GetChance() * (1 << 30)) return info; fChanceFactor *= 1.2; @@ -402,16 +356,13 @@ CAddress CAddrMan::Select_(int nUnkBias) // use a new node double fChanceFactor = 1.0; while (1) { - int nUBucket = GetRandInt(vvNew.size()); - std::set& vNew = vvNew[nUBucket]; - if (vNew.size() == 0) + int nUBucket = GetRandInt(ADDRMAN_NEW_BUCKET_COUNT); + int nUBucketPos = GetRandInt(ADDRMAN_BUCKET_SIZE); + if (vvNew[nUBucket][nUBucketPos] == -1) continue; - int nPos = GetRandInt(vNew.size()); - std::set::iterator it = vNew.begin(); - while (nPos--) - it++; - assert(mapInfo.count(*it) == 1); - CAddrInfo& info = mapInfo[*it]; + int nId = vvNew[nUBucket][nUBucketPos]; + assert(mapInfo.count(nId) == 1); + CAddrInfo& info = mapInfo[nId]; if (GetRandInt(1 << 30) < fChanceFactor * info.GetChance() * (1 << 30)) return info; fChanceFactor *= 1.2; @@ -459,22 +410,30 @@ int CAddrMan::Check_() if (mapNew.size() != nNew) return -10; - for (int n = 0; n < vvTried.size(); n++) { - std::vector& vTried = vvTried[n]; - for (std::vector::iterator it = vTried.begin(); it != vTried.end(); it++) { - if (!setTried.count(*it)) - return -11; - setTried.erase(*it); + for (int n = 0; n < ADDRMAN_TRIED_BUCKET_COUNT; n++) { + for (int i = 0; i < ADDRMAN_BUCKET_SIZE; i++) { + if (vvTried[n][i] != -1) { + if (!setTried.count(vvTried[n][i])) + return -11; + if (mapInfo[vvTried[n][i]].GetTriedBucket(nKey) != n) + return -17; + if (mapInfo[vvTried[n][i]].GetBucketPosition(nKey, false, n) != i) + return -18; + setTried.erase(vvTried[n][i]); + } } } - for (int n = 0; n < vvNew.size(); n++) { - std::set& vNew = vvNew[n]; - for (std::set::iterator it = vNew.begin(); it != vNew.end(); it++) { - if (!mapNew.count(*it)) - return -12; - if (--mapNew[*it] == 0) - mapNew.erase(*it); + for (int n = 0; n < ADDRMAN_NEW_BUCKET_COUNT; n++) { + for (int i = 0; i < ADDRMAN_BUCKET_SIZE; i++) { + if (vvNew[n][i] != -1) { + if (!mapNew.count(vvNew[n][i])) + return -12; + if (mapInfo[vvNew[n][i]].GetBucketPosition(nKey, true, n) != i) + return -19; + if (--mapNew[vvNew[n][i]] == 0) + mapNew.erase(vvNew[n][i]); + } } } @@ -482,6 +441,8 @@ int CAddrMan::Check_() return -13; if (mapNew.size()) return -15; + if (nKey.IsNull()) + return -16; return 0; } diff --git a/src/addrman.h b/src/addrman.h index d47217683c732..ea6367930748c 100644 --- a/src/addrman.h +++ b/src/addrman.h @@ -79,17 +79,20 @@ class CAddrInfo : public CAddress } //! Calculate in which "tried" bucket this entry belongs - int GetTriedBucket(const std::vector &nKey) const; + int GetTriedBucket(const uint256 &nKey) const; //! Calculate in which "new" bucket this entry belongs, given a certain source - int GetNewBucket(const std::vector &nKey, const CNetAddr& src) const; + int GetNewBucket(const uint256 &nKey, const CNetAddr& src) const; //! Calculate in which "new" bucket this entry belongs, using its default source - int GetNewBucket(const std::vector &nKey) const + int GetNewBucket(const uint256 &nKey) const { return GetNewBucket(nKey, source); } + //! Calculate in which position of a bucket to store this entry. + int GetBucketPosition(const uint256 &nKey, bool fNew, int nBucket) const; + //! Determine whether the statistics about this entry are bad enough so that it can just be deleted bool IsTerrible(int64_t nNow = GetAdjustedTime()) const; @@ -106,15 +109,15 @@ class CAddrInfo : public CAddress * * To that end: * * Addresses are organized into buckets. - * * Address that have not yet been tried go into 256 "new" buckets. - * * Based on the address range (/16 for IPv4) of source of the information, 32 buckets are selected at random + * * Address that have not yet been tried go into 1024 "new" buckets. + * * Based on the address range (/16 for IPv4) of source of the information, 64 buckets are selected at random * * The actual bucket is chosen from one of these, based on the range the address itself is located. - * * One single address can occur in up to 4 different buckets, to increase selection chances for addresses that + * * One single address can occur in up to 8 different buckets, to increase selection chances for addresses that * are seen frequently. The chance for increasing this multiplicity decreases exponentially. * * When adding a new address to a full bucket, a randomly chosen entry (with a bias favoring less recently seen * ones) is removed from it first. - * * Addresses of nodes that are known to be accessible go into 64 "tried" buckets. - * * Each address range selects at random 4 of these buckets. + * * Addresses of nodes that are known to be accessible go into 256 "tried" buckets. + * * Each address range selects at random 8 of these buckets. * * The actual bucket is chosen from one of these, based on the full address. * * When adding a new good address to a full bucket, a randomly chosen entry (with a bias favoring less recently * tried ones) is evicted from it, back to the "new" buckets. @@ -125,28 +128,22 @@ class CAddrInfo : public CAddress */ //! total number of buckets for tried addresses -#define ADDRMAN_TRIED_BUCKET_COUNT 64 - -//! maximum allowed number of entries in buckets for tried addresses -#define ADDRMAN_TRIED_BUCKET_SIZE 64 +#define ADDRMAN_TRIED_BUCKET_COUNT 256 //! total number of buckets for new addresses -#define ADDRMAN_NEW_BUCKET_COUNT 256 +#define ADDRMAN_NEW_BUCKET_COUNT 1024 -//! maximum allowed number of entries in buckets for new addresses -#define ADDRMAN_NEW_BUCKET_SIZE 64 +//! maximum allowed number of entries in buckets for new and tried addresses +#define ADDRMAN_BUCKET_SIZE 64 //! over how many buckets entries with tried addresses from a single group (/16 for IPv4) are spread -#define ADDRMAN_TRIED_BUCKETS_PER_GROUP 4 +#define ADDRMAN_TRIED_BUCKETS_PER_GROUP 8 //! over how many buckets entries with new addresses originating from a single group are spread -#define ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP 32 +#define ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP 64 //! in how many buckets for entries with new addresses a single address may occur -#define ADDRMAN_NEW_BUCKETS_PER_ADDRESS 4 - -//! how many entries in a bucket with tried addresses are inspected, when selecting one to replace -#define ADDRMAN_TRIED_ENTRIES_INSPECT_ON_EVICT 4 +#define ADDRMAN_NEW_BUCKETS_PER_ADDRESS 8 //! how old addresses can maximally be #define ADDRMAN_HORIZON_DAYS 30 @@ -176,7 +173,7 @@ class CAddrMan mutable CCriticalSection cs; //! secret key to randomize bucket select with - std::vector nKey; + uint256 nKey; //! last used nId int nIdCount; @@ -194,13 +191,13 @@ class CAddrMan int nTried; //! list of "tried" buckets - std::vector > vvTried; + int vvTried[ADDRMAN_TRIED_BUCKET_COUNT][ADDRMAN_BUCKET_SIZE]; //! number of (unique) "new" entries int nNew; //! list of "new" buckets - std::vector > vvNew; + int vvNew[ADDRMAN_NEW_BUCKET_COUNT][ADDRMAN_BUCKET_SIZE]; protected: @@ -214,17 +211,14 @@ class CAddrMan //! Swap two elements in vRandom. void SwapRandom(unsigned int nRandomPos1, unsigned int nRandomPos2); - //! Return position in given bucket to replace. - int SelectTried(int nKBucket); + //! Move an entry from the "new" table(s) to the "tried" table + void MakeTried(CAddrInfo& info, int nId); - //! Remove an element from a "new" bucket. - //! This is the only place where actual deletions occur. - //! Elements are never deleted while in the "tried" table, only possibly evicted back to the "new" table. - int ShrinkNew(int nUBucket); + //! Delete an entry. It must not be in tried, and have refcount 0. + void Delete(int nId); - //! Move an entry from the "new" table(s) to the "tried" table - //! @pre vvUnkown[nOrigin].count(nId) != 0 - void MakeTried(CAddrInfo& info, int nId, int nOrigin); + //! Clear a position in a "new" table. This is the only place where entries are actually deleted. + void ClearNew(int nUBucket, int nUBucketPos); //! Mark an entry "good", possibly moving it from "new" to "tried". void Good_(const CService &addr, int64_t nTime); @@ -237,7 +231,7 @@ class CAddrMan //! Select an address to connect to. //! nUnkBias determines how much to favor new addresses over tried ones (min=0, max=100) - CAddress Select_(int nUnkBias); + CAddress Select_(); #ifdef DEBUG_ADDRMAN //! Perform consistency check. Returns an error code or zero. @@ -253,21 +247,25 @@ class CAddrMan public: /** * serialized format: - * * version byte (currently 0) - * * nKey + * * version byte (currently 1) + * * 0x20 + nKey (serialized as if it were a vector, for backward compatibility) * * nNew * * nTried - * * number of "new" buckets + * * number of "new" buckets XOR 2**30 * * all nNew addrinfos in vvNew * * all nTried addrinfos in vvTried * * for each bucket: * * number of elements * * for each element: index * + * 2**30 is xorred with the number of buckets to make addrman deserializer v0 detect it + * as incompatible. This is necessary because it did not check the version number on + * deserialization. + * * Notice that vvTried, mapAddr and vVector are never encoded explicitly; * they are instead reconstructed from the other information. * - * vvNew is serialized, but only used if ADDRMAN_UNKOWN_BUCKET_COUNT didn't change, + * vvNew is serialized, but only used if ADDRMAN_UNKNOWN_BUCKET_COUNT didn't change, * otherwise it is reconstructed as well. * * This format is more complex, but significantly smaller (at most 1.5 MiB), and supports @@ -275,48 +273,53 @@ class CAddrMan * * We don't use ADD_SERIALIZE_METHODS since the serialization and deserialization code has * very little in common. - * */ template void Serialize(Stream &s, int nType, int nVersionDummy) const { LOCK(cs); - unsigned char nVersion = 0; + unsigned char nVersion = 1; s << nVersion; + s << ((unsigned char)32); s << nKey; s << nNew; s << nTried; - int nUBuckets = ADDRMAN_NEW_BUCKET_COUNT; + int nUBuckets = ADDRMAN_NEW_BUCKET_COUNT ^ (1 << 30); s << nUBuckets; std::map mapUnkIds; int nIds = 0; for (std::map::const_iterator it = mapInfo.begin(); it != mapInfo.end(); it++) { - if (nIds == nNew) break; // this means nNew was wrong, oh ow mapUnkIds[(*it).first] = nIds; const CAddrInfo &info = (*it).second; if (info.nRefCount) { + assert(nIds != nNew); // this means nNew was wrong, oh ow s << info; nIds++; } } nIds = 0; for (std::map::const_iterator it = mapInfo.begin(); it != mapInfo.end(); it++) { - if (nIds == nTried) break; // this means nTried was wrong, oh ow const CAddrInfo &info = (*it).second; if (info.fInTried) { + assert(nIds != nTried); // this means nTried was wrong, oh ow s << info; nIds++; } } - for (std::vector >::const_iterator it = vvNew.begin(); it != vvNew.end(); it++) { - const std::set &vNew = (*it); - int nSize = vNew.size(); + for (int bucket = 0; bucket < ADDRMAN_NEW_BUCKET_COUNT; bucket++) { + int nSize = 0; + for (int i = 0; i < ADDRMAN_BUCKET_SIZE; i++) { + if (vvNew[bucket][i] != -1) + nSize++; + } s << nSize; - for (std::set::const_iterator it2 = vNew.begin(); it2 != vNew.end(); it2++) { - int nIndex = mapUnkIds[*it2]; - s << nIndex; + for (int i = 0; i < ADDRMAN_BUCKET_SIZE; i++) { + if (vvNew[bucket][i] != -1) { + int nIndex = mapUnkIds[vvNew[bucket][i]]; + s << nIndex; + } } } } @@ -326,64 +329,97 @@ class CAddrMan { LOCK(cs); + Clear(); + unsigned char nVersion; s >> nVersion; + unsigned char nKeySize; + s >> nKeySize; + if (nKeySize != 32) throw std::ios_base::failure("Incorrect keysize in addrman deserialization"); s >> nKey; s >> nNew; s >> nTried; - int nUBuckets = 0; s >> nUBuckets; - nIdCount = 0; - mapInfo.clear(); - mapAddr.clear(); - vRandom.clear(); - vvTried = std::vector >(ADDRMAN_TRIED_BUCKET_COUNT, std::vector(0)); - vvNew = std::vector >(ADDRMAN_NEW_BUCKET_COUNT, std::set()); + if (nVersion != 0) { + nUBuckets ^= (1 << 30); + } + + // Deserialize entries from the new table. for (int n = 0; n < nNew; n++) { CAddrInfo &info = mapInfo[n]; s >> info; mapAddr[info] = n; info.nRandomPos = vRandom.size(); vRandom.push_back(n); - if (nUBuckets != ADDRMAN_NEW_BUCKET_COUNT) { - vvNew[info.GetNewBucket(nKey)].insert(n); - info.nRefCount++; + if (nVersion != 1 || nUBuckets != ADDRMAN_NEW_BUCKET_COUNT) { + // In case the new table data cannot be used (nVersion unknown, or bucket count wrong), + // immediately try to give them a reference based on their primary source address. + int nUBucket = info.GetNewBucket(nKey); + int nUBucketPos = info.GetBucketPosition(nKey, true, nUBucket); + if (vvNew[nUBucket][nUBucketPos] == -1) { + vvNew[nUBucket][nUBucketPos] = n; + info.nRefCount++; + } } } nIdCount = nNew; + + // Deserialize entries from the tried table. int nLost = 0; for (int n = 0; n < nTried; n++) { CAddrInfo info; s >> info; - std::vector &vTried = vvTried[info.GetTriedBucket(nKey)]; - if (vTried.size() < ADDRMAN_TRIED_BUCKET_SIZE) { + int nKBucket = info.GetTriedBucket(nKey); + int nKBucketPos = info.GetBucketPosition(nKey, false, nKBucket); + if (vvTried[nKBucket][nKBucketPos] == -1) { info.nRandomPos = vRandom.size(); info.fInTried = true; vRandom.push_back(nIdCount); mapInfo[nIdCount] = info; mapAddr[info] = nIdCount; - vTried.push_back(nIdCount); + vvTried[nKBucket][nKBucketPos] = nIdCount; nIdCount++; } else { nLost++; } } nTried -= nLost; - for (int b = 0; b < nUBuckets; b++) { - std::set &vNew = vvNew[b]; + + // Deserialize positions in the new table (if possible). + for (int bucket = 0; bucket < nUBuckets; bucket++) { int nSize = 0; s >> nSize; for (int n = 0; n < nSize; n++) { int nIndex = 0; s >> nIndex; - CAddrInfo &info = mapInfo[nIndex]; - if (nUBuckets == ADDRMAN_NEW_BUCKET_COUNT && info.nRefCount < ADDRMAN_NEW_BUCKETS_PER_ADDRESS) { - info.nRefCount++; - vNew.insert(nIndex); + if (nIndex >= 0 && nIndex < nNew) { + CAddrInfo &info = mapInfo[nIndex]; + int nUBucketPos = info.GetBucketPosition(nKey, true, bucket); + if (nVersion == 1 && nUBuckets == ADDRMAN_NEW_BUCKET_COUNT && vvNew[bucket][nUBucketPos] == -1 && info.nRefCount < ADDRMAN_NEW_BUCKETS_PER_ADDRESS) { + info.nRefCount++; + vvNew[bucket][nUBucketPos] = nIndex; + } } } } + + // Prune new entries with refcount 0 (as a result of collisions). + int nLostUnk = 0; + for (std::map::const_iterator it = mapInfo.begin(); it != mapInfo.end(); ) { + if (it->second.fInTried == false && it->second.nRefCount == 0) { + std::map::const_iterator itCopy = it++; + Delete(itCopy->first); + nLostUnk++; + } else { + it++; + } + } + if (nLost + nLostUnk > 0) { + LogPrint("addrman", "addrman lost %i new and %i tried addresses due to collisions\n", nLostUnk, nLost); + } + + Check(); } unsigned int GetSerializeSize(int nType, int nVersion) const @@ -391,14 +427,34 @@ class CAddrMan return (CSizeComputer(nType, nVersion) << *this).size(); } - CAddrMan() : vRandom(0), vvTried(ADDRMAN_TRIED_BUCKET_COUNT, std::vector(0)), vvNew(ADDRMAN_NEW_BUCKET_COUNT, std::set()) + void Clear() { - nKey.resize(32); - GetRandBytes(&nKey[0], 32); + std::vector().swap(vRandom); + nKey = GetRandHash(); + for (size_t bucket = 0; bucket < ADDRMAN_NEW_BUCKET_COUNT; bucket++) { + for (size_t entry = 0; entry < ADDRMAN_BUCKET_SIZE; entry++) { + vvNew[bucket][entry] = -1; + } + } + for (size_t bucket = 0; bucket < ADDRMAN_TRIED_BUCKET_COUNT; bucket++) { + for (size_t entry = 0; entry < ADDRMAN_BUCKET_SIZE; entry++) { + vvTried[bucket][entry] = -1; + } + } + + nIdCount = 0; + nTried = 0; + nNew = 0; + } - nIdCount = 0; - nTried = 0; - nNew = 0; + CAddrMan() + { + Clear(); + } + + ~CAddrMan() + { + nKey = uint256(0); } //! Return the number of (unique) addresses in all tables. @@ -477,13 +533,13 @@ class CAddrMan * Choose an address to connect to. * nUnkBias determines how much "new" entries are favored over "tried" ones (0-100). */ - CAddress Select(int nUnkBias = 50) + CAddress Select() { CAddress addrRet; { LOCK(cs); Check(); - addrRet = Select_(nUnkBias); + addrRet = Select_(); Check(); } return addrRet; diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp index ea349b197e5e9..9c85db8c6d351 100644 --- a/src/bitcoin-cli.cpp +++ b/src/bitcoin-cli.cpp @@ -66,7 +66,7 @@ static bool AppInitRPC(int argc, char* argv[]) // Parameters // ParseParameters(argc, argv); - if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) { + if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) { std::string strUsage = _("Bitcoin Core RPC client version") + " " + FormatFullVersion() + "\n"; if (!mapArgs.count("-version")) { strUsage += "\n" + _("Usage:") + "\n" + diff --git a/src/bitcoin-tx.cpp b/src/bitcoin-tx.cpp index 7308d9366173d..3c8915593ada2 100644 --- a/src/bitcoin-tx.cpp +++ b/src/bitcoin-tx.cpp @@ -44,7 +44,7 @@ static bool AppInitRawTx(int argc, char* argv[]) fCreateBlank = GetBoolArg("-create", false); - if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help")) + if (argc<2 || mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help")) { // First part of help message is specific to this utility std::string strUsage = _("Bitcoin Core bitcoin-tx utility version") + " " + FormatFullVersion() + "\n\n" + @@ -149,13 +149,14 @@ static void RegisterLoad(const string& strInput) valStr.insert(valStr.size(), buf, bread); } - if (ferror(f)) { + int error = ferror(f); + fclose(f); + + if (error) { string strErr = "Error reading file " + filename; throw runtime_error(strErr); } - fclose(f); - // evaluate as JSON buffer register RegisterSetJson(key, valStr); } @@ -368,7 +369,7 @@ static void MutateTxSign(CMutableTransaction& tx, const string& flagStr) // Add previous txouts given in the RPC call: if (!registers.count("prevtxs")) throw runtime_error("prevtxs register variable must be set."); - UniValue prevtxsObj = registers["privatekeys"]; + UniValue prevtxsObj = registers["prevtxs"]; { for (unsigned int previdx = 0; previdx < prevtxsObj.count(); previdx++) { UniValue prevOut = prevtxsObj[previdx]; @@ -379,13 +380,13 @@ static void MutateTxSign(CMutableTransaction& tx, const string& flagStr) if (!prevOut.checkObject(types)) throw runtime_error("prevtxs internal object typecheck fail"); - uint256 txid = ParseHashUV(prevOut, "txid"); + uint256 txid = ParseHashUV(prevOut["txid"], "txid"); int nOut = atoi(prevOut["vout"].getValStr()); if (nOut < 0) throw runtime_error("vout must be positive"); - vector pkData(ParseHexUV(prevOut, "scriptPubKey")); + vector pkData(ParseHexUV(prevOut["scriptPubKey"], "scriptPubKey")); CScript scriptPubKey(pkData.begin(), pkData.end()); { @@ -437,7 +438,7 @@ static void MutateTxSign(CMutableTransaction& tx, const string& flagStr) BOOST_FOREACH(const CTransaction& txv, txVariants) { txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, txv.vin[i].scriptSig); } - if (!VerifyScript(txin.scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, SignatureChecker(mergedTx, i))) + if (!VerifyScript(txin.scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, MutableTransactionSignatureChecker(&mergedTx, i))) fComplete = false; } diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp index be7757b0b6ced..f45415015f8c7 100644 --- a/src/bitcoind.cpp +++ b/src/bitcoind.cpp @@ -67,7 +67,7 @@ bool AppInit(int argc, char* argv[]) ParseParameters(argc, argv); // Process help and version before taking care about datadir - if (mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) + if (mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) { std::string strUsage = _("Bitcoin Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n"; diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 8a6a061ea1e2b..244d8ff0e77eb 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -122,6 +122,7 @@ class CMainParams : public CChainParams { nMinerThreads = 0; nTargetTimespan = 14 * 24 * 60 * 60; // two weeks nTargetSpacing = 10 * 60; + nMaxTipAge = 24 * 60 * 60; /** * Build the genesis block. Note that the output of the genesis coinbase cannot @@ -156,7 +157,6 @@ class CMainParams : public CChainParams { vSeeds.push_back(CDNSSeedData("bluematt.me", "dnsseed.bluematt.me")); vSeeds.push_back(CDNSSeedData("dashjr.org", "dnsseed.bitcoin.dashjr.org")); vSeeds.push_back(CDNSSeedData("bitcoinstats.com", "seed.bitcoinstats.com")); - vSeeds.push_back(CDNSSeedData("bitnodes.io", "seed.bitnodes.io")); vSeeds.push_back(CDNSSeedData("xf2.org", "bitseed.xf2.org")); base58Prefixes[PUBKEY_ADDRESS] = list_of(0); @@ -169,8 +169,8 @@ class CMainParams : public CChainParams { fRequireRPCPassword = true; fMiningRequiresPeers = true; - fDefaultCheckMemPool = false; fAllowMinDifficultyBlocks = false; + fDefaultConsistencyChecks = false; fRequireStandard = true; fMineBlocksOnDemand = false; fSkipProofOfWorkCheck = false; @@ -204,6 +204,7 @@ class CTestNetParams : public CMainParams { nMinerThreads = 0; nTargetTimespan = 14 * 24 * 60 * 60; //! two weeks nTargetSpacing = 10 * 60; + nMaxTipAge = 0x7fffffff; //! Modify the testnet genesis block so the timestamp is valid for a later start. genesis.nTime = 1296688602; @@ -228,8 +229,8 @@ class CTestNetParams : public CMainParams { fRequireRPCPassword = true; fMiningRequiresPeers = true; - fDefaultCheckMemPool = false; fAllowMinDifficultyBlocks = true; + fDefaultConsistencyChecks = false; fRequireStandard = false; fMineBlocksOnDemand = false; fTestnetToBeDeprecatedFieldRPC = true; @@ -261,6 +262,7 @@ class CRegTestParams : public CTestNetParams { nTargetTimespan = 14 * 24 * 60 * 60; //! two weeks nTargetSpacing = 10 * 60; bnProofOfWorkLimit = ~uint256(0) >> 1; + nMaxTipAge = 24 * 60 * 60; genesis.nTime = 1296688602; genesis.nBits = 0x207fffff; genesis.nNonce = 2; @@ -273,8 +275,8 @@ class CRegTestParams : public CTestNetParams { fRequireRPCPassword = false; fMiningRequiresPeers = false; - fDefaultCheckMemPool = true; fAllowMinDifficultyBlocks = true; + fDefaultConsistencyChecks = true; fRequireStandard = false; fMineBlocksOnDemand = true; fTestnetToBeDeprecatedFieldRPC = false; @@ -300,7 +302,7 @@ class CUnitTestParams : public CMainParams, public CModifiableParams { fRequireRPCPassword = false; fMiningRequiresPeers = false; - fDefaultCheckMemPool = true; + fDefaultConsistencyChecks = true; fAllowMinDifficultyBlocks = false; fMineBlocksOnDemand = true; } @@ -316,7 +318,7 @@ class CUnitTestParams : public CMainParams, public CModifiableParams { virtual void setEnforceBlockUpgradeMajority(int anEnforceBlockUpgradeMajority) { nEnforceBlockUpgradeMajority=anEnforceBlockUpgradeMajority; } virtual void setRejectBlockOutdatedMajority(int anRejectBlockOutdatedMajority) { nRejectBlockOutdatedMajority=anRejectBlockOutdatedMajority; } virtual void setToCheckBlockUpgradeMajority(int anToCheckBlockUpgradeMajority) { nToCheckBlockUpgradeMajority=anToCheckBlockUpgradeMajority; } - virtual void setDefaultCheckMemPool(bool afDefaultCheckMemPool) { fDefaultCheckMemPool=afDefaultCheckMemPool; } + virtual void setDefaultConsistencyChecks(bool afDefaultConsistencyChecks) { fDefaultConsistencyChecks=afDefaultConsistencyChecks; } virtual void setAllowMinDifficultyBlocks(bool afAllowMinDifficultyBlocks) { fAllowMinDifficultyBlocks=afAllowMinDifficultyBlocks; } virtual void setSkipProofOfWorkCheck(bool afSkipProofOfWorkCheck) { fSkipProofOfWorkCheck = afSkipProofOfWorkCheck; } }; diff --git a/src/chainparams.h b/src/chainparams.h index 5d1ee1d3c6bd3..4b6ddca357726 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -58,8 +58,8 @@ class CChainParams bool RequireRPCPassword() const { return fRequireRPCPassword; } /** Make miner wait to have peers to avoid wasting work */ bool MiningRequiresPeers() const { return fMiningRequiresPeers; } - /** Default value for -checkmempool argument */ - bool DefaultCheckMemPool() const { return fDefaultCheckMemPool; } + /** Default value for -checkmempool and -checkblockindex argument */ + bool DefaultConsistencyChecks() const { return fDefaultConsistencyChecks; } /** Allow mining of a min-difficulty block */ bool AllowMinDifficultyBlocks() const { return fAllowMinDifficultyBlocks; } /** Skip proof-of-work check: allow mining of any difficulty block */ @@ -69,6 +69,7 @@ class CChainParams int64_t TargetTimespan() const { return nTargetTimespan; } int64_t TargetSpacing() const { return nTargetSpacing; } int64_t Interval() const { return nTargetTimespan / nTargetSpacing; } + int64_t MaxTipAge() const { return nMaxTipAge; } /** Make miner stop after a block is found. In RPC, don't return until nGenProcLimit blocks are generated */ bool MineBlocksOnDemand() const { return fMineBlocksOnDemand; } /** In the future use NetworkIDString() for RPC fields */ @@ -95,6 +96,7 @@ class CChainParams int64_t nTargetTimespan; int64_t nTargetSpacing; int nMinerThreads; + long nMaxTipAge; std::vector vSeeds; std::vector base58Prefixes[MAX_BASE58_TYPES]; CBaseChainParams::Network networkID; @@ -103,8 +105,8 @@ class CChainParams std::vector vFixedSeeds; bool fRequireRPCPassword; bool fMiningRequiresPeers; - bool fDefaultCheckMemPool; bool fAllowMinDifficultyBlocks; + bool fDefaultConsistencyChecks; bool fRequireStandard; bool fMineBlocksOnDemand; bool fSkipProofOfWorkCheck; @@ -124,7 +126,7 @@ class CModifiableParams { virtual void setEnforceBlockUpgradeMajority(int anEnforceBlockUpgradeMajority)=0; virtual void setRejectBlockOutdatedMajority(int anRejectBlockOutdatedMajority)=0; virtual void setToCheckBlockUpgradeMajority(int anToCheckBlockUpgradeMajority)=0; - virtual void setDefaultCheckMemPool(bool aDefaultCheckMemPool)=0; + virtual void setDefaultConsistencyChecks(bool aDefaultConsistencyChecks)=0; virtual void setAllowMinDifficultyBlocks(bool aAllowMinDifficultyBlocks)=0; virtual void setSkipProofOfWorkCheck(bool aSkipProofOfWorkCheck)=0; }; diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.h index 575e12933428a..6b6e5103f5fdd 100644 --- a/src/chainparamsseeds.h +++ b/src/chainparamsseeds.h @@ -8,606 +8,518 @@ * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly. */ static SeedSpec6 pnSeed6_main[] = { - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x69,0x6a,0x7e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd1,0x04,0x7d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x17,0x0c,0x6c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x0a,0x33,0xdb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0xc7,0x49,0xc6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x48,0x95,0x78}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x09,0x71,0x04}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xa5,0x0c,0xb9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x80,0x30,0xd1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa6,0x4e,0x07,0xbd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xf1,0x8f,0x57}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x09,0x6e,0x28}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xaf,0xdc,0xd4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x6b,0x9b,0x52}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xc6,0x5c,0x63}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x89,0xde,0xed}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xd9,0x76,0xa9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0xa4,0x91,0xea}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x4e,0xfa,0x03}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8d,0x00,0xa9,0x6c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xc8,0x62,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xba,0xf3,0x93}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xef,0xc9,0xc2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0xd5,0x0e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x28,0x70,0x48}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xc2,0x97,0x72}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0xf0,0x8a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x21,0xc5,0x6e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x22,0xb4,0xf5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0xca,0x80,0xda}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x02,0x23,0xc3,0x19}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x64,0x7b,0x13}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xaf,0x91,0xa9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xc7,0x85,0xc1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xc7,0x97,0x0a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xe4,0x01,0xe6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x0e,0xc8,0xc8,0x91}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x12,0xe4,0x00,0xbc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x12,0xe4,0x00,0xc8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x1e,0xf3,0x99}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x58,0xe8,0x31}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x63,0x69,0x09}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe2,0x89,0xd0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe3,0xb1,0xa1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe3,0xbf,0x32}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe5,0x2d,0x20}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xec,0x90,0x45}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xfd,0x94,0x71}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xfd,0xf1,0x16}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xff,0xe3,0xe7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x14,0xcd,0xde}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x17,0x78,0xfc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x5e,0x62,0x60}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x62,0x5f,0xc9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x6f,0x5a,0x37}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x77,0x77,0x69}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x8a,0x19,0x95}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0x03,0xd6,0x2d}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xba,0x57,0x2e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x8a,0x09,0xd0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x85,0xa8,0x46}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xdc,0x92,0xcc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x19,0x6f,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0xce,0x8c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x81,0x72,0x23}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x42,0x9d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x4f,0x4f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x51,0x01,0xc5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x90,0xba,0xb1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0xd7,0xae}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe5,0x4d,0x20}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x32,0xb0,0x4b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x28,0x2b,0x93}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe6,0xcc,0x2d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x8a,0x70,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xb8,0x08,0x1b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xdc,0xa3,0x12}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x88,0x8a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0xa8,0x86,0xa3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x17,0xe4,0x18}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x9a,0x70,0x2e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xe9,0x62,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x03,0x65,0x6f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x81,0xd0,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xc5,0x9a,0x8a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xd6,0x6f,0x94}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x49,0x57,0x3f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0x29,0x4a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x45,0xad}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x34,0x15}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x3b,0x3f,0x4c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x19,0xfe,0x01}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x59,0x20,0x56}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x3c,0x44}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc8,0x4a,0xf2,0x44}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x46,0x42,0x04}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x82,0x58,0x66,0xc8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x3e,0x3f,0xed}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0xbf,0x85,0xf5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xda,0x41,0xd1,0x5d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xba,0x65,0x62}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xba,0xfa,0xba}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xcc,0x99,0x6b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x2c,0x10,0xe7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x2c,0x2c,0x0b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x78,0xa8,0xcc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x8f,0x56,0x1a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x4b,0x18}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbc,0x44,0xa9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xc0,0x5f,0x96}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xc9,0xf6,0x74}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xcd,0x0a,0x8c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x0a,0xd2,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x13,0x8a,0x9a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1c,0xcc,0x7b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1c,0xcd,0x43}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x26,0xeb,0xe5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xa3,0x4c,0xe6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xa6,0xa2,0x5b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xad,0xbe,0x32}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xe3,0x42,0x84}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xe5,0xee,0xbb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xec,0x74,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x37,0x0e,0x41}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x07,0xfc,0xe5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x2e,0x9f,0x5b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x4e,0x31,0xb5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x4e,0xe7,0x39}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x4f,0x99,0x41}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x74,0x22,0x2c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x7e,0x56,0xfd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x8e,0x29,0x17}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xc7,0x71,0xc1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xc8,0x4e,0x6b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xce,0x8a,0xb1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xfc,0x34,0x31}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xa5,0x19,0x4b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xa9,0x6b,0x28}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xb3,0xbe,0x38}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xbb,0x52,0x79}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xf6,0x55,0xf6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3a,0x4a,0x07,0xcd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3a,0x60,0xb7,0x79}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x3e,0x3a,0x26}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x3f,0x5b,0x48}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x3f,0x5b,0x70}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x48,0xd3,0xe4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x2b,0x28,0x9a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x2b,0x82,0xb2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x50,0xb9,0xd5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x6d,0x31,0x1a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xad,0x8b,0x3a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xb5,0xee,0xba}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xd2,0x72,0x7f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0x8d,0xe4,0x8a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0x99,0xd5,0x4e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0xdf,0x54,0x91}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0xfb,0x58,0x70}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x1f,0x6e,0x32}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x22,0x79,0x2d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x72,0x06,0x2a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x8c,0x7d,0x62}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x9c,0xc1,0x64}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x1e,0x2f,0x74}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x23,0x84,0xb1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x60,0xc1,0xa5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x6f,0xbd,0x1a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0x44,0x0a,0x1e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0x72,0x21,0xfa}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0x82,0x2e,0x3f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xaf,0xd7,0x87}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xbe,0xfd,0xa5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xc2,0x26,0xfe}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xf4,0x62,0x6f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xa2,0xee,0x1e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xa9,0xff,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xb7,0xad,0x19}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xdb,0xe9,0x8c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xe3,0xf0,0x73}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xf7,0xde,0x47}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x2b,0x72,0x42}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x34,0x21,0x24}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0xc6,0xf5,0xf1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x0c,0xe2,0xa5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x0d,0xc6,0xbc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x0f,0xb3,0x3e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x27,0xef,0x2f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x2f,0x2d,0x57}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3e,0xd9,0xce}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x40,0x2a,0x1f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x40,0x51,0x3d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x43,0xdb,0xc8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x5a,0x84,0x9d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x5e,0x1e,0xb1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x88,0xaf,0xf1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x3d,0x61,0xe4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x7b,0x76,0x84}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x3b,0x98,0xb6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xc6,0xf8,0x97}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xc8,0xf2,0x59}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xe1,0xb3,0x9d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x0e,0xbb,0x33}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x26,0x22,0xb4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x34,0x48,0xbb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x5b,0x90,0xb6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xa7,0x31,0xd9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xc9,0xf3,0x37}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xdf,0x3c,0xf9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xe4,0x99,0x66}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x49,0x1a,0x65,0xe4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x49,0x32,0x9e,0xc8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x49,0xb5,0xcc,0xaa}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x39,0xc7,0xb4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x3f,0xde,0xe2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x51,0xe7,0x15}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0xc1,0x7e,0x52}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0xcf,0xeb,0xa4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x53,0xc5,0x72}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x90,0x72,0x09}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x70,0x05,0xf7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0xae,0x14,0xf7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x25,0xf0,0x8e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x39,0xca,0x6b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xac,0x7b,0x35}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xdd,0x5b,0xfd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xeb,0x30,0x30}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xf5,0x4e,0x02}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x08,0x3a,0xf9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdd,0x64,0x12}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0x11,0x07}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x7b,0x2e,0xf1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0xb7,0x02,0x5b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x6d,0x52,0x7d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0xb0,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x11,0xbe,0x2a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x9f,0xa3,0x61}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x06,0x4a,0x04}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0x7d,0xaf,0xf3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xc9,0x94,0xb9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x50,0x1c,0x36}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x5d,0x73,0xca}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x43,0xa7,0xec}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x79,0xec}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x78,0xd3,0xc4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xa2,0xc4,0xa1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x1b,0xbf,0xb6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x81,0xec,0x8d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x83,0x58,0x2f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x9d,0xcd,0x06}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x84,0xe6,0x90}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x8f,0xbc,0x9b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0xa0,0xdd,0x8c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0xa1,0x6f,0x72}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x64,0xbd,0x03}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x93,0x8c,0x79}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xcb,0x4b,0x85}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xdc,0x63,0xe3}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xde,0x14,0xa9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xf1,0x01,0x07}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x17,0xbf,0xf3}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x26,0x0b,0xca}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x50,0x09,0x47}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x6e,0xd5,0xa5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x85,0x9b,0xed}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xab,0x22,0x25}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xb5,0x9b,0xb4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x27,0x9c,0x89}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x49,0xa1,0x5f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x82,0x2d,0x28}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xa5,0x99,0x2f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xa8,0x80,0x85}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xb3,0xe1,0x76}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc2,0xf5,0x9e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc7,0x66,0x0a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x1e,0xf3}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd9,0x85,0x91}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdd,0x80,0x23}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdd,0x83,0xb1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xe9,0xe1,0xcd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x00,0xf9,0x92}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x59,0x1f,0xf9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x80,0x1d,0xe7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x80,0xfd,0x8e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x8f,0x82,0x38}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x96,0x02,0x63}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x96,0x09,0xc4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xa1,0x40,0x2d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xd4,0x67,0xd4}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xd4,0x6f,0x72}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xc6,0x5c,0x62}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x13,0x20,0x6c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0x0c,0xaa,0xb7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x98,0xed,0xc6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xcb,0xe4,0x47}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x75,0xac,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x93,0xe5,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x4a,0x78,0x4d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xec,0xa5,0x18}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xc8,0x1c,0x48}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x2f,0x6c,0x7c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x60,0x4d,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x6c,0x4b,0x5b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x9b,0xd9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdc,0x87,0x39,0xe6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x17,0xb8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x1c,0x14}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x50,0x00,0x5f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x7f,0x98,0x0d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x49,0x2a,0x24}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x9b,0x51,0x3e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x45,0xb2,0x02}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x3d,0xaf,0xdf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x28,0x81,0x88}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x65,0x11}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xca,0xfe,0xab}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0x35,0xf6,0x2e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0xc7,0x73,0x57}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdd,0x80,0x12}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0xac,0xbc,0x8e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x39,0xc4,0x81}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xfa,0xfc,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x7d,0x17,0x62}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xed,0x75,0xc9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0xf4,0xcf,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xa7,0xbd,0xda}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0xc2,0x1a,0xaa}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xa2,0x55,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xc7,0xaa,0x88}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0x07,0xe7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x4b,0xe9,0xa9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x48,0x93,0x28}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x27,0x51,0x99}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x70,0x39,0xd6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x4f,0x99,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xa8,0x19,0xe5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x5f,0xe2,0x92}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0xa9,0x84,0x8b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x0a,0xaa,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe5,0x4d,0xa7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xff,0x90,0xb0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x32,0xee,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0xa6,0x31,0xc3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xb7,0xd9,0xc1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x82,0xb9,0x6a,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x62,0x73}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xdd,0xfe,0x4c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xa0,0x09,0x1e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x4c,0xc3,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xd9,0x77,0x37}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xf2,0xdc,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xb5,0xe2,0x3c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x03,0xac,0xd2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0x80,0x2f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x4c,0x3e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xe2,0x95,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x77,0x39,0xd0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xf0,0x3c,0x95}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x4e,0x65,0x3c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x02,0x74}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x11,0x4f,0xa1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x01,0xce,0x14}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6a,0xbb,0x5e,0xc1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc4,0x08,0x2c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x06,0xfd,0xc7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0xf8,0x04,0x76}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x83,0xb3,0xff}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xef,0xc2,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x40,0x61,0xe9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xf6,0x4b,0x08}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xfe,0x51,0x1f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xfe,0x96,0x36}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x02,0x22,0x68}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x0f,0x3d,0x3c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x11,0x19,0x87}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x2a,0x90,0x13}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xd4,0xd2,0x87}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xd7,0xa5,0xe7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xee,0x8c,0xb0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xf0,0x1f,0xb8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x19,0xd6,0x89}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x8b,0xa3,0x84}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xc7,0x04,0xe4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0x3d,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0x6c,0x4d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x7b,0x10,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x30,0x2a,0xc7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x68,0xa8,0x68}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0xe5,0x49,0xab}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc0,0x48,0x16}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x40,0x02,0x36}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xff,0x8c,0x0e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x89,0x91,0x21}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x50,0x1f,0xb6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x6b,0x40,0x9b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x22,0x28,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x16,0x1d,0x7f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0x0d,0x56,0x1f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xbe,0x37,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x19,0xeb,0xbd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x17,0x07,0x6c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xce,0xf8,0xda}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x24,0x74,0x0f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0x52,0xe9,0xde}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x1a,0x3f,0xf2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xf8,0xbd,0x61}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xc8,0x54,0xd2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x2e,0x42,0xc4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x63,0x05,0xae}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xa9,0xb9,0xbd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x32,0xeb,0xa9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x39,0x94,0xd9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdd,0x6a,0x11}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0xa5,0x73}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x52,0x6b,0xb3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0x34,0xd7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0x7f,0x3d,0x33}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x1b,0x43,0x51}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0xe5,0x4a,0x08}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x23,0x0a,0xa6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x69,0x67,0x5c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xcf,0x77,0x01}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x3a,0x68,0xa6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xea,0xf4,0x7f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfa,0x92,0x21}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x0f,0x3a,0xa0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x39,0x3e,0xfe}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x5f,0xce,0x2c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xc1,0xa6,0xc8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x7e,0xfb,0x96}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc7,0x66,0x0a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x27,0x4d,0x6b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xc1,0xa0,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0xa0,0x3b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xd2,0xcc,0x1d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf3,0x12,0x69}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x3c,0xf2,0x22}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x6b,0x64,0x65}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x87,0x9f,0x8b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x95,0x9a,0x9b,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x6b,0xfe,0x79}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xf4,0x36,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x4d,0x22,0x23}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x2e,0x95,0x5d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xf7,0xb4,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xbe,0x14,0xdc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x09,0x46,0xb2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0x9b,0xf7,0xd3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xc8,0x18,0x65}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xcf,0xa3,0x83}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x1f,0x64,0x9b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xf1,0xfe,0x17}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x82,0xcc,0x08,0xd5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9b,0x36,0xa4,0x91}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x4a,0xcb,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x53,0xc9,0xbb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0xc4,0x64,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xca,0x5e,0x60}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x68,0x6a,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x9d,0x7e,0xd0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd3,0xe6,0x78}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0xec,0xc4,0x4d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x61,0x38,0x62}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x86,0xb2,0x59}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x96,0xe9,0x13}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xa8,0x85,0x03}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xd0,0x12,0xf6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xd0,0x21,0xca}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x12,0x1c,0x15}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x55,0xdc,0x54}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xa3,0xe3,0x1c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xb8,0x53,0x3c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xe7,0x60,0x53}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xec,0x31,0x75}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x5a,0x42,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x6a,0xc2,0x61}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x86,0x4b,0x73}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x98,0xc1,0x24}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x98,0xdb,0x23}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xc5,0x0a,0xea}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xd1,0x4d,0x65}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xd2,0x6a,0x93}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xd6,0xc8,0xcd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xdf,0x73,0x26}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xea,0x30,0xe8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xfa,0x56,0x12}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0x1b,0x07,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0xff,0xcf,0x49}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x4a,0xa3,0xea}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x54,0x72,0x6a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x98,0xa6,0x1d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0xab,0xd8,0xdd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0xb9,0xb1,0x47}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x13,0x0c,0xf4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x2a,0x73,0x32}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x4f,0xb1,0xce}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x88,0x93,0x77}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x8f,0xf5,0x05}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xbc,0x32,0x27}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xbe,0xe3,0x70}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xc6,0x87,0x1d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xe2,0x6b,0x56}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xf2,0xdb,0x5a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xf2,0xe5,0xa8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xf4,0xa0,0x54}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x1f,0x0a,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x55,0x19,0x29}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x69,0xa1,0x88}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x9a,0xa5,0x2d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x9a,0xc8,0xd8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xa7,0x6d,0x7d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0x7d,0xe7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0xd8,0xeb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x21,0x19,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x2b,0x82,0xb2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x76,0x08,0xec}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0x66,0x06,0x7d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xca,0x14,0x2d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xd9,0x7d,0xe1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xea,0xd2,0x6f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xed,0x14,0x7b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xff,0x90,0xb0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x63,0x71,0x40,0x2b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x63,0xe5,0x16,0x08}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0x01,0xd4,0x13}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0x1e,0x2a,0xbd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xe0,0xa5,0x30}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xf3,0x5e,0x8c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x83,0x6b,0x6b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x83,0x74,0xb8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x8f,0x00,0x9c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xdb,0xb8,0x09}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6a,0xb9,0x26,0xae}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0x06,0x04,0x91}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0x96,0x08,0x1b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0x96,0x21,0x14}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xaa,0xe4,0x81}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xaa,0xf0,0xad}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x33,0x14,0x56}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x95,0xde}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x97,0xac}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xa1,0x81,0xf7}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xaa,0x8c,0x15}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x3c,0xd3,0xd8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x49,0x2a,0x24}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x49,0xac,0x8a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xa3,0xeb,0xef}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xbe,0xc4,0xdc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xc9,0x87,0xd8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xe4,0x98,0x02}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xe4,0x9a,0x51}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xe6,0xdc,0x7d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xea,0x9c,0xda}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xeb,0x31,0x1b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x01,0xaa}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xc2,0x03,0x46}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb6,0xa3,0xcb,0x1e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xe3,0xff,0x0e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xcb,0xfd,0xc3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6f,0x03,0x90,0xc2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x69,0x64,0x44}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0x75,0xca,0x1a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xe5,0xa9,0x59}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0x74,0xaa,0x19}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xc8,0x22,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xd3,0x98,0xa5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xc3,0x8e,0x43}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x19,0x96,0xc7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x03,0x57,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0xe2,0x98,0x50}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xd8,0xad,0x36}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xa2,0xc1,0x83}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x9d,0x96}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x15,0x3d,0xcf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xa4,0xc1,0x49}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0x75,0x0b,0xbd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x19,0xff,0x8f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xfe,0x51,0x1e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xef,0xd6,0x28}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xcc,0x37,0x28}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0x2d,0xf4,0x02}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3f,0x0e,0x07}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x87,0xb1,0xbc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe1,0xa4,0x14}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x68,0x09,0x82}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1c,0xcb,0xcf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0x7f,0xe2,0x37}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x37,0x92,0x07}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xbc,0x14,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x10,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xd9,0x7c,0xcb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xd2,0xc0,0x3b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x1b,0x13,0x97}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x5c,0x1e,0x6f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0x9f,0x93,0xa7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xbf,0xa0,0xb7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x3a,0xa8,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x3f,0xb8,0xcb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x1c,0x32,0x5f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xc3,0xd6,0x52}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0x5b,0xac,0xde}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x10,0xf3,0x2c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x2b,0x8a,0x10}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0xa1,0x6f,0x72}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0xd2,0xba,0x85}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x9e,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xb8,0x08,0x1a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x48,0x70,0xcd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x5b,0x6d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7b,0xfe,0x6c,0xa6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x73,0xad}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0x5b,0xac,0xda}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9f,0xfd,0x17,0x84}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x74,0x37,0x41}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x86,0x13,0x1f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x12,0x5a,0x29}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x31,0xc0,0x7a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x95,0xd2,0x87,0x3a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xbc,0x19,0xe2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xeb,0x45,0x54}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x70,0x7c,0x47,0x00}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x71,0x92,0x44,0xfb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x73,0x1d,0x11,0x52}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x73,0x46,0xb0,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x75,0x29,0xa2,0xb8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0x1b,0x08,0xaa}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0xe6,0x07,0xd3}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0xf6,0x47,0x34}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0xac,0x08,0x64}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7a,0x80,0x6d,0x94}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7b,0xe7,0xe0,0x3f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x80,0xaf,0xc3,0x1f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x80,0xc7,0xa4,0x60}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x80,0xc7,0xfe,0xf4}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x81,0x61,0x45,0x4c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x81,0x7b,0x07,0x07}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x81,0x7b,0x07,0x27}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x81,0xba,0x11,0x11}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x83,0xf7,0xa9,0xbe}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x85,0xf2,0xd1,0x3f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x86,0x66,0x5e,0x26}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x86,0x77,0x11,0x91}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0x74,0xa0,0xb0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0xe2,0x22,0x2a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8a,0xd2,0xd9,0xaa}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8d,0xff,0xa6,0xc2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8f,0xd7,0x81,0x7e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0xf4,0x13}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0x94,0x34,0xa2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0x94,0x50,0x39}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0x13,0x1e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0x8e,0x56}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0xfd,0x33}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x94,0xfb,0x06,0xd6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x95,0x9a,0x9b,0xeb}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x95,0xd2,0x85,0xf4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x64,0x7b,0x13}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd9,0xff,0xcf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x08,0xe2,0xaf}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0x9a,0x67,0x32}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0xc6,0x31,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8c,0xce,0x5f,0x0e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xf8,0x5e,0x30}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xca,0x26,0xad}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x1a,0xd2,0xd9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xd7,0xd0,0xdd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xc0,0x4e,0xc2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xcd,0xad,0x4a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x98,0x10,0x49}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x3a,0x6b,0x9d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8b,0x1e,0xaa,0xf0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xa3,0xbf,0xf1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xc0,0x30,0x8a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x93,0x0f,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xe7,0x39,0x23}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9f,0x95,0x69,0x88}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x21,0x07,0xc2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x34,0x45,0x29}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xec,0x51,0xb6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x62,0x49,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x1b,0x3d,0xa2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xcf,0x9b,0xb3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x94,0xd2,0xa1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0x07,0x35}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xdd,0x88,0x4a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x63,0xf3,0xaf,0x27}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xea,0x98,0x74}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x85,0x67,0x4a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x47,0x6d,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xa5,0xab,0x3b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x37,0x5a,0x04}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xc0,0x4d,0xa2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xea,0x81,0xe9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe2,0x6c,0xed}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x14,0x72,0x85}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x64,0x04,0x6c,0x6b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x45,0x49,0x5a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0x47,0xf2,0x12}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x42,0x5f,0xf3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x5a,0x0f,0xfd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x15,0x08,0xfb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x58,0x4b,0xb2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x41,0x11,0x2e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x78,0xb7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x0e,0xbb,0x33}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x65,0xe2,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x48,0x94,0xa7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x42,0x25,0x42}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x03,0x30}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0xcf,0xc8,0x31}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xad,0x5b,0xd6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xc6,0x7b,0x12}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x4d,0xbc,0xf2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xdc,0x73,0x02}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xd7,0x72,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xf6,0x4b,0x06}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x12,0xcd,0xcd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x81,0x82,0x60}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x87,0x00,0x13,0x4d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xf7,0x16,0x10}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x5f,0x18,0xba}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0xa8,0xc1,0x16}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0x72,0x69,0xfb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0x23,0x94,0xa2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3b,0x08,0x53}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xf1,0x83,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x41,0x24,0x5a,0x2d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xaa,0x72,0xc1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xcf,0x11,0xcd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0xed,0x14,0x7b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xf1,0x94,0x5c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x13,0x23,0x7c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6f,0x5a,0x96,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0xe2,0x90,0x78}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xc4,0x8e,0xa3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xf1,0x87,0xc1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xb6,0x80,0xef}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x74,0x0a,0xf2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd2,0xd8,0xd1,0x7a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x2e,0x9e,0x86}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x5c,0xdb,0xcc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xf6,0x11,0x9d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x61,0x21}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x89,0xf8,0x99,0x75}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x97,0xe0,0xf8,0xfc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x99,0x79,0x4b,0xe5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x99,0x7f,0xfb,0x43}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9a,0x14,0x02,0x8b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9d,0x0d,0x3d,0x05}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9e,0x3a,0xad,0x30}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9f,0xfd,0x17,0x84}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd1,0x6e,0xda}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xd5,0xfe,0xcd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xef,0xfe,0x64}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf2,0x96,0x27}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf3,0x51,0x8a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf3,0xeb,0x38}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf4,0x4f,0x10}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf5,0xd9,0x77}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf8,0x66,0x75}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xfb,0x6c,0x35}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xfe,0x95,0x8b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xff,0x74,0x4e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa6,0x46,0x5e,0x6a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa7,0x58,0x2d,0x7c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa7,0x58,0x78,0xd2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x1a,0x31,0x2b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x1e,0x0e,0x06}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x50,0x72,0xc5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xa7,0xd6,0xf3}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd0,0xdb,0x6c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xdc,0x43,0x9c}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xec,0x65,0x22}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x0e,0x4f,0x0f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x85,0x25,0x7d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xe3,0x57,0xf8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x3f,0xf8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x3b,0xc9,0x9c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x68,0x71,0x02}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x77,0xa1,0xd8,0x5d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x6c,0xdc,0x8a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x3d,0x61,0xe5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x4f,0x73,0x6a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x3b,0x5c,0x2a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0xc3,0x04,0x4a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x3d,0x61,0xe4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xf4,0x26,0x84}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x5f,0x1b,0x3e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x3c,0x5a,0x0d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xd1,0xf6,0xd0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xff,0xc7,0x21}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0x3f,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xed,0xa5,0x9d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x81,0x3b,0x75,0x5d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x53,0x8d,0x0d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xf0,0x13,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8d,0x69,0x43,0x44}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcd,0xed,0xa1,0x8c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x3f,0xed,0x10}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3a,0x40,0x9b,0x78}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x4a,0x98,0x7b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbc,0x4e,0x96}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xee,0x20,0x75}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x28,0x48,0x4f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7d,0x40,0x5c,0x11}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0x06,0xdd,0x32}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x71,0x41,0xa7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x35,0x3f,0x1d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x1f,0x7d,0x81}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xa5,0x99,0x2f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x56,0x59,0x2a,0x6b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x4f,0x4f,0x8d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x1e,0x3c,0xd2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x37,0x99,0x98}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xe5,0x92,0x2c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xbd,0x7e,0x23}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xfb,0x62,0xa7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x71,0x6b,0x01,0x32}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x79,0xcf,0xe7,0xd0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xbd,0x35,0x7d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd2,0xc3,0xda,0x53}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x71,0x6b,0x01,0x31}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0xf8,0xb8,0x7f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0xc2,0x38,0x9a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x42,0xaa,0xef}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x82,0x6b,0x87}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x53,0x17,0x18}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7d,0x59,0x46,0xdb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xda,0x68,0xc1,0xd2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdc,0xe9,0x6f,0xcd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x2e,0x27,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xca,0x4b,0x8d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0x3d,0x04,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xaa,0xb7,0xaa}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x81,0x28,0x20}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xf1,0xae,0xa4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xe6,0xd7,0xec}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x59,0x13,0x39}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x93,0xcc,0xd8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xe5,0xee,0xbb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x67,0x70,0x07}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x62,0x9d,0xd3,0xeb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xc5,0xed,0x0c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xe1,0xd3,0x23}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x13,0xa8,0xa5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x32,0x9a,0x17}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3d,0x48,0xd3,0xe4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x68,0x03}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x8a,0x01,0xe8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xef,0xe9,0xdd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x87,0x8b,0x43}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa0,0x24,0x82,0xb4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x92,0xd6,0xcb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x75,0x90}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x1c,0x41,0xc6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0x3f,0x83,0x03}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x8b,0x3f,0xf3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x46,0x5e,0x49}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xe6,0xc8,0x83}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xcd,0x09,0xac}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x47,0xc5,0xab,0xda}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0xa5,0x65,0x76}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x37,0x26,0xc5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcd,0xc5,0xd0,0x2f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x4d,0x22,0x22}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x40,0x95,0x3e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x75,0xa3,0xfa}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc6,0xdb,0x36}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x53,0x14,0xa8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0x1f,0x94,0x5a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xea,0x98,0xa5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x4a,0x38,0x65}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0xa5,0xaa,0x10}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0xab,0xaa}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x02,0xa7,0xdd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0xf4,0x66,0x09}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x08,0x1c,0x57,0x68}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xee,0x40,0x8b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x09,0xac,0x33}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x4c,0x4b,0x84}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0x25,0x92,0xd3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x5a,0x4d,0xba}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x96,0x02,0x63}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xf6,0x55,0xf6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb1,0x4b,0x4c,0xbe}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xd0,0xda,0x45}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc0,0x4b,0x20}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xa2,0xc3,0x06}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6a,0xba,0x1f,0xf3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x09,0x1f,0xb2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x07,0x0d,0x54}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x6a,0xb4,0xc7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x11,0x6a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x40,0x51,0x3d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xaa,0x18,0x03}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x6e,0x30,0x30}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x74,0x07,0x5c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xe4,0x9a,0x25}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0xbb,0x82}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x22,0x42,0xae}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x15,0x44,0x25}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4b,0x57,0x5f,0xbd}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0xfd,0xd8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x38,0x3f,0x0a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xf6,0x6b,0x22}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xff,0xed,0xf1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x02,0xd5,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x33,0x17,0xe0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x33,0x7b,0x9f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x39,0xd4,0x79}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x6d,0x21,0x1c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xaf,0x7e,0x7c,0x5b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xaf,0x7e,0x7c,0x5c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x0a,0x74,0xf2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x24,0x23,0x7e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x24,0x63,0xde}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7c,0x6e,0x2f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0xc2,0x21,0x2c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0xdf,0xc9,0xc6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0x1a,0x53}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0x24,0x30}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0xd4,0x8d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0xfe,0x3b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x4e,0xfa,0x03}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x9b,0x56,0xe2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xaf,0x86,0x23}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xf8,0x6f,0x04}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x01,0xaa}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x22,0xa1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb3,0x2b,0x72,0x0e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb6,0xd5,0xd0,0x1c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x44,0x02,0x2e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x48,0xee,0x2a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x5e,0xe2,0x22}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x5e,0xe3,0x3a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x6b,0x8b,0x3a}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb8,0x6b,0xce,0x2d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xd0,0x01,0xc2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xa5,0xfc,0x17}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x3c,0x45,0xe8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xf6,0x61,0xd3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xed,0xd9,0xa0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x2e,0x23,0x2f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x11,0x4e,0x13}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0xc0,0xdd,0x61}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x83,0x72,0xba,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xed,0xf7,0xe1}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc4,0x0e,0x04}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x2e,0x67,0x4b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xa3,0xef,0xe4}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xa5,0xdc,0x47}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x2e,0x33,0xe9}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0xac,0xa3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x71,0x24}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x86,0xcc,0xa8}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xce,0xb1,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x53,0x4e,0x26}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8c,0x71,0xd2,0xd3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0x34,0x55,0x22}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa2,0xf3,0x89,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x17,0x34,0x87}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0xad,0x55,0x92}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x4b,0x18}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7a,0x5c,0x88}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x9a,0x6e,0x3a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x18,0x24,0x19}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x4c,0x3d,0xb7}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7a,0x80,0x6d,0x94}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0x8e,0xd7,0xa0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0xbb,0x16,0x5a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0x79,0x09,0xcb}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0xe6,0x0d,0x8d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x8b,0x0b,0x63}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0xc6,0x72,0xe5}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0x11,0x3f,0x2b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xa9,0x42,0x42}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x99,0x32}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0x8b,0x05}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x60,0xfc,0x66,0xe2}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0xc5,0x66,0xbe}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0xe4,0x98,0xcc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x94,0x8c,0x69}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x0c,0xbd,0x44}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x0a,0x30,0x75}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x15,0xd8,0x9c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x26,0x2f,0xe0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x2d,0xc0,0x81}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x35,0x81,0xe6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x35,0x83,0x72}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x37,0x35,0x3d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x37,0x35,0x3f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x3d,0x77,0x02}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x3d,0x94,0xcb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xba,0x02,0xa7,0x17}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x5c,0x4b,0xb2}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7a,0x5c,0x86}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd3,0x64,0x17,0x77}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0x75,0x46}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x26,0x48,0x4e,0x35}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xc1,0x7a,0xb6}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x85,0xf2,0xcc,0xae}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x5b,0x62,0xea}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0x03,0xd6,0xbc}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xeb,0x81,0x5e}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0x47,0xb3,0x74}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x6a,0xa5,0x3c}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x46,0x45,0xee,0x54}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x17,0xa8,0x38}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x11,0xc2,0xa3}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6d,0x57,0x01,0x2f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xde,0x7a,0x5d}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xae,0x03,0xa0}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xd3,0xc1,0x2b}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x09,0xf5,0x13}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0x26,0xb3,0x7a}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x9f,0x2e,0x54}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x6b,0x13,0x53}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x51,0xdf,0x7f}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x97,0x21,0x80}, 8333}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xcc,0xd2,0xa2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x8a,0x09,0xd0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xa5,0xd1,0x94}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xe2,0xce,0xef}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x0a,0x08,0x7c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x0a,0x0a,0x93}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x00,0x82,0x8e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x03,0x59,0x9f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x49,0xea,0x8a}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x4b,0x5f,0x6b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x5f,0x64,0x66}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0x9b,0x54,0xb5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xa9,0xe9,0xce}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xc6,0x5d,0x56}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xe3,0x87,0xd8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x00,0x6d,0x03}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x4d,0x32,0xd0}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x6d,0x44,0x3e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x96,0x79,0x25}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0xe0,0x45,0x62}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x4f,0x08,0x25}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x8d,0x56,0x0a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x0c,0xb4,0x5e}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x38,0x3f,0x0a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x74,0x5d,0x5d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x9a,0xae,0xe2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x9f,0x6f,0x62}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xa9,0x8a,0x02}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xbd,0x7e,0x23}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xc5,0xaf,0xbe}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc5,0xf2,0x5d,0x52}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x0b,0xd6,0x93}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x31,0x29,0x15}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0x21,0x7c,0xba}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xcc,0xba,0x92}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xe9,0xee,0x73}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc7,0xf1,0xbd,0x42}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x3c,0x44,0xf2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x3c,0x45,0xe8}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0xb7,0x97,0x27}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0xdb,0x0e,0xcc}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x2c,0x7b,0x6d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x2c,0x7b,0xa2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x2d,0x78,0xb2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0xbe,0x86,0x2c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0xf8,0xb8,0x7f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0xf4,0x49,0x08}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x42,0x1e,0x1b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x51,0x09,0xdf}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x69,0xf3,0xe5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x7e,0x46,0x9f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x8c,0x1e,0xa9}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0xa5,0x80,0xeb}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0xbe,0x02,0xf2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd2,0x42,0xfe,0xec}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd2,0x49,0x1b,0x21}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd3,0x48,0x42,0xe5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x19,0x25,0x7c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x47,0xeb,0x72}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x47,0xfc,0x6d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x72,0x30,0x1f}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0xae,0x97,0x76}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x42,0xcd,0xc2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x81,0xf8,0x8b}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x88,0x57,0x22}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xa5,0x52,0x85}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xa7,0x11,0x06}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xb3,0x9e,0xfd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xbd,0x35,0x7d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0xde,0xd0,0x5d}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0x31,0x9e,0xa1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0x37,0x8f,0x9a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0x83,0x5b,0x64}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xf5,0xce,0xb5}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xfa,0x8a,0xe6}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x0b,0xe1,0xbd}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x17,0x06,0x85}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0x4b,0x58,0xb2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0xac,0x8f,0x8c}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0xc3,0xa9,0xd1}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd9,0xc4,0xf8,0x6a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdb,0x8a,0xa1,0xa2}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xde,0xa7,0xf8,0x5a}, 8333}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdf,0x12,0xfe,0x37}, 8333}, {{0xfd,0x87,0xd8,0x7e,0xeb,0x43,0x0a,0x26,0x27,0x21,0xae,0x94,0xd5,0xc2,0x72,0x24}, 8333}, {{0xfd,0x87,0xd8,0x7e,0xeb,0x43,0xea,0xb9,0x5b,0x63,0x1d,0x94,0xe2,0xed,0xec,0xa1}, 8333}, {{0xfd,0x87,0xd8,0x7e,0xeb,0x43,0xce,0x36,0xa1,0xc1,0xd6,0x64,0x43,0xfb,0xb3,0xe7}, 8333}, diff --git a/src/checkqueue.h b/src/checkqueue.h index 2ee46a1210ac7..b27f9e3d17140 100644 --- a/src/checkqueue.h +++ b/src/checkqueue.h @@ -161,7 +161,12 @@ class CCheckQueue { } - friend class CCheckQueueControl; + bool IsIdle() + { + boost::unique_lock lock(mutex); + return (nTotal == nIdle && nTodo == 0 && fAllOk == true); + } + }; /** @@ -180,9 +185,8 @@ class CCheckQueueControl { // passed queue is supposed to be unused, or NULL if (pqueue != NULL) { - assert(pqueue->nTotal == pqueue->nIdle); - assert(pqueue->nTodo == 0); - assert(pqueue->fAllOk == true); + bool isIdle = pqueue->IsIdle(); + assert(isIdle); } } diff --git a/src/clientversion.h b/src/clientversion.h index 0a36eb80123a8..d113962fc6456 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -15,18 +15,18 @@ //! 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 9 -#define CLIENT_VERSION_REVISION 99 +#define CLIENT_VERSION_MINOR 10 +#define CLIENT_VERSION_REVISION 4 #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) * Todo: update this when changing our copyright comments in the source */ -#define COPYRIGHT_YEAR 2014 +#define COPYRIGHT_YEAR 2015 #endif //HAVE_CONFIG_H diff --git a/src/coins.cpp b/src/coins.cpp index c2e802c95364e..66919da11e8df 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -106,7 +106,6 @@ bool CCoinsViewCache::GetCoins(const uint256 &txid, CCoins &coins) const { CCoinsModifier CCoinsViewCache::ModifyCoins(const uint256 &txid) { assert(!hasModifier); - hasModifier = true; std::pair ret = cacheCoins.insert(std::make_pair(txid, CCoinsCacheEntry())); if (ret.second) { if (!base->GetCoins(txid, ret.first->second.coins)) { @@ -247,7 +246,10 @@ double CCoinsViewCache::GetPriority(const CTransaction &tx, int nHeight) const return tx.ComputePriority(dResult); } -CCoinsModifier::CCoinsModifier(CCoinsViewCache& cache_, CCoinsMap::iterator it_) : cache(cache_), it(it_) {} +CCoinsModifier::CCoinsModifier(CCoinsViewCache& cache_, CCoinsMap::iterator it_) : cache(cache_), it(it_) { + assert(!cache.hasModifier); + cache.hasModifier = true; +} CCoinsModifier::~CCoinsModifier() { diff --git a/src/compat.h b/src/compat.h index dffd4ecf52fac..651e641daa0e8 100644 --- a/src/compat.h +++ b/src/compat.h @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -88,8 +89,14 @@ typedef u_int SOCKET; #define THREAD_PRIORITY_ABOVE_NORMAL (-2) #endif -#if HAVE_DECL_STRNLEN == 0 -size_t strnlen( const char *start, size_t max_len); -#endif // HAVE_DECL_STRNLEN +size_t strnlen_int( const char *start, size_t max_len); + +bool static inline IsSelectableSocket(SOCKET s) { +#ifdef WIN32 + return true; +#else + return (s < FD_SETSIZE); +#endif +} #endif // BITCOIN_COMPAT_H diff --git a/src/compat/strnlen.cpp b/src/compat/strnlen.cpp index 7f3e1598875f9..7dafd98c0b563 100644 --- a/src/compat/strnlen.cpp +++ b/src/compat/strnlen.cpp @@ -7,12 +7,11 @@ #endif #include - -#if HAVE_DECL_STRNLEN == 0 -size_t strnlen( const char *start, size_t max_len) +// OSX 10.6 is missing strnlen at runtime, but builds targetting it will still +// succeed. Define our own version here to avoid a crash. +size_t strnlen_int( const char *start, size_t max_len) { const char *end = (const char *)memchr(start, '\0', max_len); return end ? (size_t)(end - start) : max_len; } -#endif // HAVE_DECL_STRNLEN diff --git a/src/core_io.h b/src/core_io.h index aba1928a36646..bc2eb1edd0995 100644 --- a/src/core_io.h +++ b/src/core_io.h @@ -19,6 +19,7 @@ extern CScript ParseScript(std::string s); extern bool DecodeHexTx(CTransaction& tx, const std::string& strHexTx); extern bool DecodeHexBlk(CBlock&, const std::string& strHexBlk); extern uint256 ParseHashUV(const UniValue& v, const std::string& strName); +extern uint256 ParseHashStr(const std::string&, const std::string& strName); extern std::vector ParseHexUV(const UniValue& v, const std::string& strName); // core_write.cpp diff --git a/src/core_read.cpp b/src/core_read.cpp index 65c3a08c551eb..beb746ce97025 100644 --- a/src/core_read.cpp +++ b/src/core_read.cpp @@ -131,6 +131,11 @@ uint256 ParseHashUV(const UniValue& v, const string& strName) string strHex; if (v.isStr()) strHex = v.getValStr(); + return ParseHashStr(strHex, strName); // Note: ParseHashStr("") throws a runtime_error +} + +uint256 ParseHashStr(const std::string& strHex, const std::string& strName) +{ if (!IsHex(strHex)) // Note: IsHex("") is false throw runtime_error(strName+" must be hexadecimal string (not '"+strHex+"')"); diff --git a/src/db.cpp b/src/db.cpp index 12650e459f392..cb6f7d5a00162 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -199,7 +199,7 @@ bool CDBEnv::Salvage(std::string strFile, bool fAggressive, std::vector& vchSig) { - // -1 = error, 0 = bad sig, 1 = good - if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1) + if (vchSig.empty()) return false; - return true; + + // New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first. + unsigned char *norm_der = NULL; + ECDSA_SIG *norm_sig = ECDSA_SIG_new(); + const unsigned char* sigptr = &vchSig[0]; + assert(norm_sig); + if (d2i_ECDSA_SIG(&norm_sig, &sigptr, vchSig.size()) == NULL) + { + /* As of OpenSSL 1.0.0p d2i_ECDSA_SIG frees and nulls the pointer on + * error. But OpenSSL's own use of this function redundantly frees the + * result. As ECDSA_SIG_free(NULL) is a no-op, and in the absence of a + * clear contract for the function behaving the same way is more + * conservative. + */ + ECDSA_SIG_free(norm_sig); + return false; + } + int derlen = i2d_ECDSA_SIG(norm_sig, &norm_der); + ECDSA_SIG_free(norm_sig); + if (derlen <= 0) + return false; + + // -1 = error, 0 = bad sig, 1 = good + bool ret = ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), norm_der, derlen, pkey) == 1; + OPENSSL_free(norm_der); + return ret; } bool CECKey::Recover(const uint256 &hash, const unsigned char *p64, int rec) diff --git a/src/init.cpp b/src/init.cpp index 11329c16aa416..85e4710c3922e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -112,7 +112,28 @@ bool ShutdownRequested() return fRequestShutdown; } +class CCoinsViewErrorCatcher : public CCoinsViewBacked +{ +public: + CCoinsViewErrorCatcher(CCoinsView* view) : CCoinsViewBacked(view) {} + bool GetCoins(const uint256 &txid, CCoins &coins) const { + try { + return CCoinsViewBacked::GetCoins(txid, coins); + } catch(const std::runtime_error& e) { + uiInterface.ThreadSafeMessageBox(_("Error reading from database, shutting down."), "", CClientUIInterface::MSG_ERROR); + LogPrintf("Error reading from database: %s\n", e.what()); + // Starting the shutdown sequence and returning false to the caller would be + // interpreted as 'entry not found' (as opposed to unable to read data), and + // could lead to invalid interpration. Just exit immediately, as we can't + // continue anyway, and all writes should be atomic. + abort(); + } + } + // Writes do not need similar protection, as failure to write is handled by the caller. +}; + static CCoinsViewDB *pcoinsdbview = NULL; +static CCoinsViewErrorCatcher *pcoinscatcher = NULL; void Shutdown() { @@ -155,6 +176,8 @@ void Shutdown() } delete pcoinsTip; pcoinsTip = NULL; + delete pcoinscatcher; + pcoinscatcher = NULL; delete pcoinsdbview; pcoinsdbview = NULL; delete pblocktree; @@ -218,6 +241,7 @@ std::string HelpMessage(HelpMessageMode mode) string strUsage = _("Options:") + "\n"; strUsage += " -? " + _("This help message") + "\n"; strUsage += " -alertnotify= " + _("Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)") + "\n"; + strUsage += " -alerts " + strprintf(_("Receive and display P2P network alerts (default: %u)"), DEFAULT_ALERTS); strUsage += " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n"; strUsage += " -checkblocks= " + strprintf(_("How many blocks to check at startup (default: %u, 0 = all)"), 288) + "\n"; strUsage += " -checklevel= " + strprintf(_("How thorough the block verification of -checkblocks is (0-4, default: %u)"), 3) + "\n"; @@ -231,7 +255,6 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " -datadir= " + _("Specify data directory") + "\n"; strUsage += " -dbcache= " + strprintf(_("Set database cache size in megabytes (%d to %d, default: %d)"), nMinDbCache, nMaxDbCache, nDefaultDbCache) + "\n"; strUsage += " -loadblock= " + _("Imports blocks from external blk000??.dat file") + " " + _("on startup") + "\n"; - strUsage += " -maxorphanblocks= " + strprintf(_("Keep at most unconnectable blocks in memory (default: %u)"), DEFAULT_MAX_ORPHAN_BLOCKS) + "\n"; strUsage += " -maxorphantx= " + strprintf(_("Keep at most unconnectable transactions in memory (default: %u)"), DEFAULT_MAX_ORPHAN_TRANSACTIONS) + "\n"; strUsage += " -par= " + strprintf(_("Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)"), -(int)boost::thread::hardware_concurrency(), MAX_SCRIPTCHECK_THREADS, DEFAULT_SCRIPTCHECK_THREADS) + "\n"; #ifndef WIN32 @@ -287,7 +310,8 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " -salvagewallet " + _("Attempt to recover private keys from a corrupt wallet.dat") + " " + _("on startup") + "\n"; strUsage += " -sendfreetransactions " + strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"), 0) + "\n"; strUsage += " -spendzeroconfchange " + strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"), 1) + "\n"; - strUsage += " -txconfirmtarget= " + strprintf(_("If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u)"), 1) + "\n"; + strUsage += " -txconfirmtarget= " + strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"), 1) + "\n"; + strUsage += " -maxtxfee= " + strprintf(_("Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s)"), FormatMoney(maxTxFee)) + "\n"; strUsage += " -upgradewallet " + _("Upgrade wallet to latest format") + " " + _("on startup") + "\n"; strUsage += " -wallet= " + _("Specify wallet file (within data directory)") + " " + strprintf(_("(default: %s)"), "wallet.dat") + "\n"; strUsage += " -walletnotify= " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n"; @@ -324,6 +348,7 @@ std::string HelpMessage(HelpMessageMode mode) if (GetBoolArg("-help-debug", false)) { strUsage += " -limitfreerelay= " + strprintf(_("Continuously rate-limit free transactions to *1000 bytes per minute (default:%u)"), 15) + "\n"; + strUsage += " -relaypriority " + strprintf(_("Require high priority for relaying free or low-fee transactions (default:%u)"), 1) + "\n"; strUsage += " -maxsigcachesize= " + strprintf(_("Limit size of signature cache to entries (default: %u)"), 50000) + "\n"; } strUsage += " -minrelaytxfee= " + strprintf(_("Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)"), FormatMoney(::minRelayTxFee.GetFeePerK())) + "\n"; @@ -357,6 +382,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " -rpcport= " + strprintf(_("Listen for JSON-RPC connections on (default: %u or testnet: %u)"), 8332, 18332) + "\n"; strUsage += " -rpcallowip= " + _("Allow JSON-RPC connections from specified source. Valid for are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times") + "\n"; strUsage += " -rpcthreads= " + strprintf(_("Set the number of threads to service RPC calls (default: %d)"), 4) + "\n"; + strUsage += " -rpckeepalive " + strprintf(_("RPC support for HTTP persistent connections (default: %d)"), 1) + "\n"; strUsage += "\n" + _("RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n"; strUsage += " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n"; @@ -568,7 +594,11 @@ bool AppInit2(boost::thread_group& threadGroup) if (mapArgs.count("-proxy")) { // to protect privacy, do not listen by default if a default proxy server is specified if (SoftSetBoolArg("-listen", false)) - LogPrintf("AppInit2 : parameter interaction: -proxy set -> setting -listen=0\n"); + LogPrintf("%s: parameter interaction: -proxy set -> setting -listen=0\n", __func__); + // to protect privacy, do not use UPNP when a proxy is set. The user may still specify -listen=1 + // to listen locally, so don't rely on this happening through -listen below. + if (SoftSetBoolArg("-upnp", false)) + LogPrintf("%s: parameter interaction: -proxy set -> setting -upnp=0\n", __func__); // to protect privacy, do not discover addresses by default if (SoftSetBoolArg("-discover", false)) LogPrintf("AppInit2 : parameter interaction: -proxy set -> setting -discover=0\n"); @@ -631,8 +661,9 @@ bool AppInit2(boost::thread_group& threadGroup) if (GetBoolArg("-benchmark", false)) InitWarning(_("Warning: Unsupported argument -benchmark ignored, use -debug=bench.")); - // Checkmempool defaults to true in regtest mode - mempool.setSanityCheck(GetBoolArg("-checkmempool", Params().DefaultCheckMemPool())); + // Checkmempool and checkblockindex default to true in regtest mode + mempool.setSanityCheck(GetBoolArg("-checkmempool", Params().DefaultConsistencyChecks())); + fCheckBlockIndex = GetBoolArg("-checkblockindex", Params().DefaultConsistencyChecks()); Checkpoints::fEnabled = GetBoolArg("-checkpoints", true); // -par=0 means autodetect, but nScriptCheckThreads==0 means no concurrency @@ -653,12 +684,6 @@ bool AppInit2(boost::thread_group& threadGroup) if (nConnectTimeout <= 0) nConnectTimeout = DEFAULT_CONNECT_TIMEOUT; - // Continue to put "/P2SH/" in the coinbase to monitor - // BIP16 support. - // This can be removed eventually... - const char* pszP2SH = "/P2SH/"; - COINBASE_FLAGS << std::vector(pszP2SH, pszP2SH+strlen(pszP2SH)); - // Fee-per-kilobyte amount considered the same as "free" // If you are mining, be careful setting this: // if you set it to zero then @@ -697,6 +722,20 @@ bool AppInit2(boost::thread_group& threadGroup) mapArgs["-paytxfee"], ::minRelayTxFee.ToString())); } } + if (mapArgs.count("-maxtxfee")) + { + CAmount nMaxFee = 0; + if (!ParseMoney(mapArgs["-maxtxfee"], nMaxFee)) + return InitError(strprintf(_("Invalid amount for -maxtxfee=: '%s'"), mapArgs["-maptxfee"])); + if (nMaxFee > nHighTransactionMaxFeeWarning) + InitWarning(_("Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.")); + maxTxFee = nMaxFee; + if (CFeeRate(maxTxFee, 1000) < ::minRelayTxFee) + { + return InitError(strprintf(_("Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)"), + mapArgs["-maxtxfee"], ::minRelayTxFee.ToString())); + } + } nTxConfirmTarget = GetArg("-txconfirmtarget", 1); bSpendZeroConfChange = GetArg("-spendzeroconfchange", true); fSendFreeTransactions = GetArg("-sendfreetransactions", false); @@ -707,6 +746,8 @@ bool AppInit2(boost::thread_group& threadGroup) fIsBareMultisigStd = GetArg("-permitbaremultisig", true) != 0; nMaxDatacarrierBytes = GetArg("-datacarriersize", nMaxDatacarrierBytes); + fAlerts = GetBoolArg("-alerts", DEFAULT_ALERTS); + // ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log // Sanity check @@ -971,11 +1012,13 @@ bool AppInit2(boost::thread_group& threadGroup) UnloadBlockIndex(); delete pcoinsTip; delete pcoinsdbview; + delete pcoinscatcher; delete pblocktree; pblocktree = new CBlockTreeDB(nBlockTreeDBCache, false, fReindex); pcoinsdbview = new CCoinsViewDB(nCoinDBCache, false, fReindex); - pcoinsTip = new CCoinsViewCache(pcoinsdbview); + pcoinscatcher = new CCoinsViewErrorCatcher(pcoinsdbview); + pcoinsTip = new CCoinsViewCache(pcoinscatcher); if (fReindex) pblocktree->WriteReindexing(true); @@ -1207,6 +1250,11 @@ bool AppInit2(boost::thread_group& threadGroup) vImportFiles.push_back(strFile); } threadGroup.create_thread(boost::bind(&ThreadImport, vImportFiles)); + if (chainActive.Tip() == NULL) { + LogPrintf("Waiting for genesis block to be imported...\n"); + while (!fRequestShutdown && chainActive.Tip() == NULL) + MilliSleep(10); + } // ********************************************************* Step 10: start node diff --git a/src/json/json_spirit_reader_template.h b/src/json/json_spirit_reader_template.h index 46f5892f62dd1..47e3c1ca84389 100644 --- a/src/json/json_spirit_reader_template.h +++ b/src/json/json_spirit_reader_template.h @@ -521,12 +521,11 @@ namespace json_spirit const spirit_namespace::parse_info< Iter_type > info = spirit_namespace::parse( begin, end, - Json_grammer< Value_type, Iter_type >( semantic_actions ), + Json_grammer< Value_type, Iter_type >( semantic_actions ) >> spirit_namespace::end_p, spirit_namespace::space_p ); if( !info.hit ) { - assert( false ); // in theory exception should already have been thrown throw_error( info.stop, "error" ); } @@ -570,7 +569,8 @@ namespace json_spirit { typename String_type::const_iterator begin = s.begin(); - return read_range( begin, s.end(), value ); + bool success = read_range( begin, s.end(), value ); + return success && begin == s.end(); } template< class Istream_type > diff --git a/src/leveldb/util/env_win.cc b/src/leveldb/util/env_win.cc index ef2ecae830662..e11a96b791871 100644 --- a/src/leveldb/util/env_win.cc +++ b/src/leveldb/util/env_win.cc @@ -103,39 +103,20 @@ class Win32RandomAccessFile : public RandomAccessFile DISALLOW_COPY_AND_ASSIGN(Win32RandomAccessFile); }; -class Win32MapFile : public WritableFile +class Win32WritableFile : public WritableFile { public: - Win32MapFile(const std::string& fname); + Win32WritableFile(const std::string& fname); + ~Win32WritableFile(); - ~Win32MapFile(); virtual Status Append(const Slice& data); virtual Status Close(); virtual Status Flush(); virtual Status Sync(); BOOL isEnable(); private: - std::string _filename; - HANDLE _hFile; - size_t _page_size; - size_t _map_size; // How much extra memory to map at a time - char* _base; // The mapped region - HANDLE _base_handle; - char* _limit; // Limit of the mapped region - char* _dst; // Where to write next (in range [base_,limit_]) - char* _last_sync; // Where have we synced up to - uint64_t _file_offset; // Offset of base_ in file - //LARGE_INTEGER file_offset_; - // Have we done an munmap of unsynced data? - bool _pending_sync; - - // Roundup x to a multiple of y - static size_t _Roundup(size_t x, size_t y); - size_t _TruncateToPageBoundary(size_t s); - bool _UnmapCurrentRegion(); - bool _MapNewRegion(); - DISALLOW_COPY_AND_ASSIGN(Win32MapFile); - BOOL _Init(LPCWSTR Path); + std::string filename_; + ::HANDLE _hFile; }; class Win32FileLock : public FileLock @@ -442,202 +423,63 @@ void Win32RandomAccessFile::_CleanUp() } } -size_t Win32MapFile::_Roundup( size_t x, size_t y ) +Win32WritableFile::Win32WritableFile(const std::string& fname) + : filename_(fname) { - return ((x + y - 1) / y) * y; + std::wstring path; + ToWidePath(fname, path); + DWORD Flag = PathFileExistsW(path.c_str()) ? OPEN_EXISTING : CREATE_ALWAYS; + _hFile = CreateFileW(path.c_str(), + GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE, + NULL, + Flag, + FILE_ATTRIBUTE_NORMAL, + NULL); + // CreateFileW returns INVALID_HANDLE_VALUE in case of error, always check isEnable() before use } -size_t Win32MapFile::_TruncateToPageBoundary( size_t s ) +Win32WritableFile::~Win32WritableFile() { - s -= (s & (_page_size - 1)); - assert((s % _page_size) == 0); - return s; + if (_hFile != INVALID_HANDLE_VALUE) + Close(); } -bool Win32MapFile::_UnmapCurrentRegion() +Status Win32WritableFile::Append(const Slice& data) { - bool result = true; - if (_base != NULL) { - if (_last_sync < _limit) { - // Defer syncing this data until next Sync() call, if any - _pending_sync = true; - } - if (!UnmapViewOfFile(_base) || !CloseHandle(_base_handle)) - result = false; - _file_offset += _limit - _base; - _base = NULL; - _base_handle = NULL; - _limit = NULL; - _last_sync = NULL; - _dst = NULL; - // Increase the amount we map the next time, but capped at 1MB - if (_map_size < (1<<20)) { - _map_size *= 2; - } + DWORD r = 0; + if (!WriteFile(_hFile, data.data(), data.size(), &r, NULL) || r != data.size()) { + return Status::IOError("Win32WritableFile.Append::WriteFile: "+filename_, Win32::GetLastErrSz()); } - return result; -} - -bool Win32MapFile::_MapNewRegion() -{ - assert(_base == NULL); - //LONG newSizeHigh = (LONG)((file_offset_ + map_size_) >> 32); - //LONG newSizeLow = (LONG)((file_offset_ + map_size_) & 0xFFFFFFFF); - DWORD off_hi = (DWORD)(_file_offset >> 32); - DWORD off_lo = (DWORD)(_file_offset & 0xFFFFFFFF); - LARGE_INTEGER newSize; - newSize.QuadPart = _file_offset + _map_size; - SetFilePointerEx(_hFile, newSize, NULL, FILE_BEGIN); - SetEndOfFile(_hFile); - - _base_handle = CreateFileMappingA( - _hFile, - NULL, - PAGE_READWRITE, - 0, - 0, - 0); - if (_base_handle != NULL) { - _base = (char*) MapViewOfFile(_base_handle, - FILE_MAP_ALL_ACCESS, - off_hi, - off_lo, - _map_size); - if (_base != NULL) { - _limit = _base + _map_size; - _dst = _base; - _last_sync = _base; - return true; - } - } - return false; + return Status::OK(); } -Win32MapFile::Win32MapFile( const std::string& fname) : - _filename(fname), - _hFile(NULL), - _page_size(Win32::g_PageSize), - _map_size(_Roundup(65536, Win32::g_PageSize)), - _base(NULL), - _base_handle(NULL), - _limit(NULL), - _dst(NULL), - _last_sync(NULL), - _file_offset(0), - _pending_sync(false) +Status Win32WritableFile::Close() { - std::wstring path; - ToWidePath(fname, path); - _Init(path.c_str()); - assert((Win32::g_PageSize & (Win32::g_PageSize - 1)) == 0); -} - -Status Win32MapFile::Append( const Slice& data ) -{ - const char* src = data.data(); - size_t left = data.size(); - Status s; - while (left > 0) { - assert(_base <= _dst); - assert(_dst <= _limit); - size_t avail = _limit - _dst; - if (avail == 0) { - if (!_UnmapCurrentRegion() || - !_MapNewRegion()) { - return Status::IOError("WinMmapFile.Append::UnmapCurrentRegion or MapNewRegion: ", Win32::GetLastErrSz()); - } - } - size_t n = (left <= avail) ? left : avail; - memcpy(_dst, src, n); - _dst += n; - src += n; - left -= n; - } - return s; -} - -Status Win32MapFile::Close() -{ - Status s; - size_t unused = _limit - _dst; - if (!_UnmapCurrentRegion()) { - s = Status::IOError("WinMmapFile.Close::UnmapCurrentRegion: ",Win32::GetLastErrSz()); - } else if (unused > 0) { - // Trim the extra space at the end of the file - LARGE_INTEGER newSize; - newSize.QuadPart = _file_offset - unused; - if (!SetFilePointerEx(_hFile, newSize, NULL, FILE_BEGIN)) { - s = Status::IOError("WinMmapFile.Close::SetFilePointer: ",Win32::GetLastErrSz()); - } else - SetEndOfFile(_hFile); - } if (!CloseHandle(_hFile)) { - if (s.ok()) { - s = Status::IOError("WinMmapFile.Close::CloseHandle: ", Win32::GetLastErrSz()); - } + return Status::IOError("Win32WritableFile.Close::CloseHandle: "+filename_, Win32::GetLastErrSz()); } _hFile = INVALID_HANDLE_VALUE; - _base = NULL; - _base_handle = NULL; - _limit = NULL; - - return s; -} - -Status Win32MapFile::Sync() -{ - Status s; - if (_pending_sync) { - // Some unmapped data was not synced - _pending_sync = false; - if (!FlushFileBuffers(_hFile)) { - s = Status::IOError("WinMmapFile.Sync::FlushFileBuffers: ",Win32::GetLastErrSz()); - } - } - if (_dst > _last_sync) { - // Find the beginnings of the pages that contain the first and last - // bytes to be synced. - size_t p1 = _TruncateToPageBoundary(_last_sync - _base); - size_t p2 = _TruncateToPageBoundary(_dst - _base - 1); - _last_sync = _dst; - if (!FlushViewOfFile(_base + p1, p2 - p1 + _page_size)) { - s = Status::IOError("WinMmapFile.Sync::FlushViewOfFile: ",Win32::GetLastErrSz()); - } - } - return s; + return Status::OK(); } -Status Win32MapFile::Flush() +Status Win32WritableFile::Flush() { + // Nothing to do here, there are no application-side buffers return Status::OK(); } -Win32MapFile::~Win32MapFile() +Status Win32WritableFile::Sync() { - if (_hFile != INVALID_HANDLE_VALUE) { - Win32MapFile::Close(); + if (!FlushFileBuffers(_hFile)) { + return Status::IOError("Win32WritableFile.Sync::FlushFileBuffers "+filename_, Win32::GetLastErrSz()); } + return Status::OK(); } -BOOL Win32MapFile::_Init( LPCWSTR Path ) -{ - DWORD Flag = PathFileExistsW(Path) ? OPEN_EXISTING : CREATE_ALWAYS; - _hFile = CreateFileW(Path, - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE, - NULL, - Flag, - FILE_ATTRIBUTE_NORMAL, - NULL); - if(!_hFile || _hFile == INVALID_HANDLE_VALUE) - return FALSE; - else - return TRUE; -} - -BOOL Win32MapFile::isEnable() +BOOL Win32WritableFile::isEnable() { - return _hFile ? TRUE : FALSE; + return _hFile != INVALID_HANDLE_VALUE; } Win32FileLock::Win32FileLock( const std::string& fname ) : @@ -981,7 +823,7 @@ Status Win32Env::NewLogger( const std::string& fname, Logger** result ) { Status sRet; std::string path = fname; - Win32MapFile* pMapFile = new Win32MapFile(ModifyPath(path)); + Win32WritableFile* pMapFile = new Win32WritableFile(ModifyPath(path)); if(!pMapFile->isEnable()){ delete pMapFile; *result = NULL; @@ -995,7 +837,7 @@ Status Win32Env::NewWritableFile( const std::string& fname, WritableFile** resul { Status sRet; std::string path = fname; - Win32MapFile* pFile = new Win32MapFile(ModifyPath(path)); + Win32WritableFile* pFile = new Win32WritableFile(ModifyPath(path)); if(!pFile->isEnable()){ *result = NULL; sRet = Status::IOError(fname,Win32::GetLastErrSz()); diff --git a/src/leveldbwrapper.cpp b/src/leveldbwrapper.cpp index 70980fede5ae0..1f674a91df02c 100644 --- a/src/leveldbwrapper.cpp +++ b/src/leveldbwrapper.cpp @@ -58,7 +58,8 @@ CLevelDBWrapper::CLevelDBWrapper(const boost::filesystem::path& path, size_t nCa } else { if (fWipe) { LogPrintf("Wiping LevelDB in %s\n", path.string()); - leveldb::DestroyDB(path.string(), options); + leveldb::Status result = leveldb::DestroyDB(path.string(), options); + HandleError(result); } TryCreateDirectory(path); LogPrintf("Opening LevelDB in %s\n", path.string()); diff --git a/src/main.cpp b/src/main.cpp index 9e1c41ada7c9b..dd438f42c7f89 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -51,11 +51,12 @@ bool fImporting = false; bool fReindex = false; bool fTxIndex = false; bool fIsBareMultisigStd = true; +bool fCheckBlockIndex = false; unsigned int nCoinCacheSize = 5000; - +bool fAlerts = DEFAULT_ALERTS; /** Fees smaller than this (in satoshi) are considered zero fee (for relaying and mining) */ -CFeeRate minRelayTxFee = CFeeRate(1000); +CFeeRate minRelayTxFee = CFeeRate(5000); CTxMemPool mempool(::minRelayTxFee); @@ -67,6 +68,8 @@ map mapOrphanTransactions; map > mapOrphanTransactionsByPrev; void EraseOrphansFor(NodeId peer); +static void CheckBlockIndex(); + /** Constant stuff for coinbase transactions we create: */ CScript COINBASE_FLAGS; @@ -77,7 +80,7 @@ namespace { struct CBlockIndexWorkComparator { - bool operator()(CBlockIndex *pa, CBlockIndex *pb) { + bool operator()(CBlockIndex *pa, CBlockIndex *pb) const { // First sort by most total work, ... if (pa->nChainWork > pb->nChainWork) return false; if (pa->nChainWork < pb->nChainWork) return true; @@ -99,8 +102,8 @@ namespace { CBlockIndex *pindexBestInvalid; /** - * The set of all CBlockIndex entries with BLOCK_VALID_TRANSACTIONS or better that are at least - * as good as our current tip. Entries may be failed, though. + * The set of all CBlockIndex entries with BLOCK_VALID_TRANSACTIONS (for itself and all ancestors) and + * as good as our current tip or better. Entries may be failed, though. */ set setBlockIndexCandidates; /** Number of nodes with fSyncStarted. */ @@ -131,9 +134,14 @@ namespace { uint256 hash; CBlockIndex *pindex; //! Optional. int64_t nTime; //! Time of "getdata" request in microseconds. + int nValidatedQueuedBefore; //! Number of blocks queued with validated headers (globally) at the time this one is requested. + bool fValidatedHeaders; //! Whether this block has validated headers at the time of request. }; map::iterator> > mapBlocksInFlight; + /** Number of blocks in flight with validated headers. */ + int nQueuedValidatedHeaders = 0; + /** Number of preferable block download peers. */ int nPreferredDownload = 0; @@ -226,6 +234,10 @@ struct CBlockReject { * and we're no longer holding the node's locks. */ struct CNodeState { + //! The peer's address + CService address; + //! Whether we have a fully established connection. + bool fCurrentlyConnected; //! Accumulated misbehaviour score for this peer. int nMisbehavior; //! Whether this peer should be disconnected and banned (unless whitelisted). @@ -250,6 +262,7 @@ struct CNodeState { bool fPreferredDownload; CNodeState() { + fCurrentlyConnected = false; nMisbehavior = 0; fShouldBan = false; pindexBestKnownBlock = NULL; @@ -293,6 +306,7 @@ void InitializeNode(NodeId nodeid, const CNode *pnode) { LOCK(cs_main); CNodeState &state = mapNodeState.insert(std::make_pair(nodeid, CNodeState())).first->second; state.name = pnode->addrName; + state.address = pnode->addr; } void FinalizeNode(NodeId nodeid) { @@ -302,6 +316,10 @@ void FinalizeNode(NodeId nodeid) { if (state->fSyncStarted) nSyncStarted--; + if (state->nMisbehavior == 0 && state->fCurrentlyConnected) { + AddressCurrentlyConnected(state->address); + } + BOOST_FOREACH(const QueuedBlock& entry, state->vBlocksInFlight) mapBlocksInFlight.erase(entry.hash); EraseOrphansFor(nodeid); @@ -315,6 +333,7 @@ void MarkBlockAsReceived(const uint256& hash) { map::iterator> >::iterator itInFlight = mapBlocksInFlight.find(hash); if (itInFlight != mapBlocksInFlight.end()) { CNodeState *state = State(itInFlight->second.first); + nQueuedValidatedHeaders -= itInFlight->second.second->fValidatedHeaders; state->vBlocksInFlight.erase(itInFlight->second.second); state->nBlocksInFlight--; state->nStallingSince = 0; @@ -330,7 +349,8 @@ void MarkBlockAsInFlight(NodeId nodeid, const uint256& hash, CBlockIndex *pindex // Make sure it's not listed somewhere already. MarkBlockAsReceived(hash); - QueuedBlock newentry = {hash, pindex, GetTimeMicros()}; + QueuedBlock newentry = {hash, pindex, GetTimeMicros(), nQueuedValidatedHeaders, pindex != NULL}; + nQueuedValidatedHeaders += newentry.fValidatedHeaders; list::iterator it = state->vBlocksInFlight.insert(state->vBlocksInFlight.end(), newentry); state->nBlocksInFlight++; mapBlocksInFlight[hash] = std::make_pair(nodeid, it); @@ -442,6 +462,10 @@ void FindNextBlocksToDownload(NodeId nodeid, unsigned int count, std::vectorIsValid(BLOCK_VALID_TREE)) { + // We consider the chain that this peer is on invalid. + return; + } if (pindex->nStatus & BLOCK_HAVE_DATA) { if (pindex->nChainTx) state->pindexLastCommonBlock = pindex; @@ -1018,7 +1042,12 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa hash.ToString(), nFees, txMinFee), REJECT_INSUFFICIENTFEE, "insufficient fee"); - // Continuously rate-limit free (really, very-low-fee)transactions + // Require that free transactions have sufficient priority to be mined in the next block. + if (GetBoolArg("-relaypriority", true) && nFees < ::minRelayTxFee.GetFee(nSize) && !AllowFree(view.GetPriority(tx, chainActive.Height() + 1))) { + return state.DoS(0, false, REJECT_INSUFFICIENTFEE, "insufficient priority"); + } + + // Continuously rate-limit free (really, very-low-fee) transactions // This mitigates 'penny-flooding' -- sending thousands of free transactions just to // be annoying or make others' transactions take longer to confirm. if (fLimitFree && nFees < ::minRelayTxFee.GetFee(nSize)) @@ -1037,7 +1066,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa // At default rate it would take over a month to fill 1GB if (dFreeCount >= GetArg("-limitfreerelay", 15)*10*1000) return state.DoS(0, error("AcceptToMemoryPool : free transaction rejected by rate limiter"), - REJECT_INSUFFICIENTFEE, "insufficient priority"); + REJECT_INSUFFICIENTFEE, "rate limited free transaction"); LogPrint("mempool", "Rate limit dFreeCount: %g => %g\n", dFreeCount, dFreeCount+nSize); dFreeCount += nSize; } @@ -1053,6 +1082,21 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa { return error("AcceptToMemoryPool: : ConnectInputs failed %s", hash.ToString()); } + + // Check again against just the consensus-critical mandatory script + // verification flags, in case of bugs in the standard flags that cause + // transactions to pass as valid when they're actually invalid. For + // instance the STRICTENC flag was incorrectly allowing certain + // CHECKSIG NOT scripts to pass, even though they were invalid. + // + // There is a similar check in CreateNewBlock() to prevent creating + // invalid blocks, however allowing such transactions into the mempool + // can be exploited as a DoS attack. + if (!CheckInputs(tx, state, view, true, MANDATORY_SCRIPT_VERIFY_FLAGS, true)) + { + return error("AcceptToMemoryPool: : BUG! PLEASE REPORT THIS! ConnectInputs failed against MANDATORY but not STANDARD flags %s", hash.ToString()); + } + // Store transaction in memory pool.addUnchecked(hash, entry); } @@ -1066,45 +1110,45 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa bool GetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock, bool fAllowSlow) { CBlockIndex *pindexSlow = NULL; + + LOCK(cs_main); + + if (mempool.lookup(hash, txOut)) { - LOCK(cs_main); - { - if (mempool.lookup(hash, txOut)) - { - return true; - } - } + return true; + } - if (fTxIndex) { - CDiskTxPos postx; - if (pblocktree->ReadTxIndex(hash, postx)) { - CAutoFile file(OpenBlockFile(postx, true), SER_DISK, CLIENT_VERSION); - CBlockHeader header; - try { - file >> header; - fseek(file.Get(), postx.nTxOffset, SEEK_CUR); - file >> txOut; - } catch (std::exception &e) { - return error("%s : Deserialize or I/O error - %s", __func__, e.what()); - } - hashBlock = header.GetHash(); - if (txOut.GetHash() != hash) - return error("%s : txid mismatch", __func__); - return true; + if (fTxIndex) { + CDiskTxPos postx; + if (pblocktree->ReadTxIndex(hash, postx)) { + CAutoFile file(OpenBlockFile(postx, true), SER_DISK, CLIENT_VERSION); + if (file.IsNull()) + return error("%s: OpenBlockFile failed", __func__); + CBlockHeader header; + try { + file >> header; + fseek(file.Get(), postx.nTxOffset, SEEK_CUR); + file >> txOut; + } catch (std::exception &e) { + return error("%s : Deserialize or I/O error - %s", __func__, e.what()); } + hashBlock = header.GetHash(); + if (txOut.GetHash() != hash) + return error("%s : txid mismatch", __func__); + return true; } + } - if (fAllowSlow) { // use coin database to locate block that contains transaction, and scan it - int nHeight = -1; - { - CCoinsViewCache &view = *pcoinsTip; - const CCoins* coins = view.AccessCoins(hash); - if (coins) - nHeight = coins->nHeight; - } - if (nHeight > 0) - pindexSlow = chainActive[nHeight]; + if (fAllowSlow) { // use coin database to locate block that contains transaction, and scan it + int nHeight = -1; + { + CCoinsViewCache &view = *pcoinsTip; + const CCoins* coins = view.AccessCoins(hash); + if (coins) + nHeight = coins->nHeight; } + if (nHeight > 0) + pindexSlow = chainActive[nHeight]; } if (pindexSlow) { @@ -1204,6 +1248,7 @@ CAmount GetBlockValue(int nHeight, const CAmount& nFees) bool IsInitialBlockDownload() { + const CChainParams& chainParams = Params(); LOCK(cs_main); if (fImporting || fReindex || chainActive.Height() < Checkpoints::GetTotalBlocksEstimate()) return true; @@ -1211,7 +1256,7 @@ bool IsInitialBlockDownload() if (lockIBDState) return false; bool state = (chainActive.Height() < pindexBestHeader->nHeight - 24 * 6 || - pindexBestHeader->GetBlockTime() < GetTime() - 24 * 60 * 60); + pindexBestHeader->GetBlockTime() < GetTime() - chainParams.MaxTipAge()); if (!state) lockIBDState = true; return state; @@ -1367,8 +1412,8 @@ void UpdateCoins(const CTransaction& tx, CValidationState &state, CCoinsViewCach bool CScriptCheck::operator()() { const CScript &scriptSig = ptxTo->vin[nIn].scriptSig; - if (!VerifyScript(scriptSig, scriptPubKey, nFlags, CachingSignatureChecker(*ptxTo, nIn, cacheStore), &error)) { - return ::error("CScriptCheck() : %s:%d VerifySignature failed: %s", ptxTo->GetHash().ToString(), nIn, ScriptErrorString(error)); + if (!VerifyScript(scriptSig, scriptPubKey, nFlags, CachingTransactionSignatureChecker(ptxTo, nIn, cacheStore), &error)) { + return ::error("CScriptCheck(): %s:%d VerifySignature failed: %s", ptxTo->GetHash().ToString(), nIn, ScriptErrorString(error)); } return true; } @@ -1652,6 +1697,18 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin unsigned int flags = fStrictPayToScriptHash ? SCRIPT_VERIFY_P2SH : SCRIPT_VERIFY_NONE; + // Start enforcing the DERSIG (BIP66) rules, for block.nVersion=3 blocks, + // when 75% of the network has upgraded: + if (block.nVersion >= 3 && CBlockIndex::IsSuperMajority(3, pindex->pprev, Params().EnforceBlockUpgradeMajority())) { + flags |= SCRIPT_VERIFY_DERSIG; + } + + // Start enforcing CHECKLOCKTIMEVERIFY, (BIP65) for block.nVersion=4 + // blocks, when 75% of the network has upgraded: + if (block.nVersion >= 4 && CBlockIndex::IsSuperMajority(4, pindex->pprev, Params().EnforceBlockUpgradeMajority())) { + flags |= SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY; + } + CBlockUndo blockundo; CCheckQueueControl control(fScriptChecks && nScriptCheckThreads ? &scriptcheckqueue : NULL); @@ -1779,6 +1836,7 @@ enum FlushStateMode { bool static FlushStateToDisk(CValidationState &state, FlushStateMode mode) { LOCK(cs_main); static int64_t nLastWrite = 0; + try { if ((mode == FLUSH_STATE_ALWAYS) || ((mode == FLUSH_STATE_PERIODIC || mode == FLUSH_STATE_IF_NEEDED) && pcoinsTip->GetCacheSize() > nCoinCacheSize) || (mode == FLUSH_STATE_PERIODIC && GetTimeMicros() > nLastWrite + DATABASE_WRITE_INTERVAL * 1000000)) { @@ -1819,6 +1877,9 @@ bool static FlushStateToDisk(CValidationState &state, FlushStateMode mode) { } nLastWrite = GetTimeMicros(); } + } catch (const std::runtime_error& e) { + return state.Abort(std::string("System error while flushing: ") + e.what()); + } return true; } @@ -2143,6 +2204,7 @@ bool ActivateBestChain(CValidationState &state, CBlock *pblock) { uiInterface.NotifyBlockTip(hashNewTip); } } while(pindexMostWork != chainActive.Tip()); + CheckBlockIndex(); // Write changes periodically to disk, after relay. if (!FlushStateToDisk(state, FLUSH_STATE_PERIODIC)) { @@ -2176,8 +2238,8 @@ bool InvalidateBlock(CValidationState& state, CBlockIndex *pindex) { // add them again. BlockMap::iterator it = mapBlockIndex.begin(); while (it != mapBlockIndex.end()) { - if (it->second->IsValid(BLOCK_VALID_TRANSACTIONS) && it->second->nChainTx && setBlockIndexCandidates.value_comp()(chainActive.Tip(), it->second)) { - setBlockIndexCandidates.insert(pindex); + if (it->second->IsValid(BLOCK_VALID_TRANSACTIONS) && it->second->nChainTx && !setBlockIndexCandidates.value_comp()(it->second, chainActive.Tip())) { + setBlockIndexCandidates.insert(it->second); } it++; } @@ -2263,10 +2325,6 @@ bool ReceivedBlockTransactions(const CBlock &block, CValidationState& state, CBl pindexNew->nUndoPos = 0; pindexNew->nStatus |= BLOCK_HAVE_DATA; pindexNew->RaiseValidity(BLOCK_VALID_TRANSACTIONS); - { - LOCK(cs_nBlockSequenceId); - pindexNew->nSequenceId = nBlockSequenceId++; - } setDirtyBlockIndex.insert(pindexNew); if (pindexNew->pprev == NULL || pindexNew->pprev->nChainTx) { @@ -2279,7 +2337,13 @@ bool ReceivedBlockTransactions(const CBlock &block, CValidationState& state, CBl CBlockIndex *pindex = queue.front(); queue.pop_front(); pindex->nChainTx = (pindex->pprev ? pindex->pprev->nChainTx : 0) + pindex->nTx; - setBlockIndexCandidates.insert(pindex); + { + LOCK(cs_nBlockSequenceId); + pindex->nSequenceId = nBlockSequenceId++; + } + if (chainActive.Tip() == NULL || !setBlockIndexCandidates.value_comp()(pindex, chainActive.Tip())) { + setBlockIndexCandidates.insert(pindex); + } std::pair::iterator, std::multimap::iterator> range = mapBlocksUnlinked.equal_range(pindex); while (range.first != range.second) { std::multimap::iterator it = range.first; @@ -2320,8 +2384,11 @@ bool FindBlockPos(CValidationState &state, CDiskBlockPos &pos, unsigned int nAdd } nLastBlockFile = nFile; - vinfoBlockFile[nFile].nSize += nAddSize; vinfoBlockFile[nFile].AddBlock(nHeight, nTime); + if (fKnown) + vinfoBlockFile[nFile].nSize = std::max(pos.nPos + nAddSize, vinfoBlockFile[nFile].nSize); + else + vinfoBlockFile[nFile].nSize += nAddSize; if (!fKnown) { unsigned int nOldChunks = (pos.nPos + BLOCKFILE_CHUNK_SIZE - 1) / BLOCKFILE_CHUNK_SIZE; @@ -2487,6 +2554,18 @@ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& sta REJECT_OBSOLETE, "bad-version"); } + // Reject block.nVersion=2 blocks when 95% (75% on testnet) of the network has upgraded: + if (block.nVersion < 3 && CBlockIndex::IsSuperMajority(3, pindexPrev, Params().RejectBlockOutdatedMajority())) + { + return state.Invalid(error("%s : rejected nVersion=2 block", __func__), + REJECT_OBSOLETE, "bad-version"); + } + + // Reject block.nVersion=3 blocks when 95% (75% on testnet) of the network has upgraded: + if (block.nVersion < 4 && CBlockIndex::IsSuperMajority(4, pindexPrev, Params().RejectBlockOutdatedMajority())) + return state.Invalid(error("%s : rejected nVersion=3 block", __func__), + REJECT_OBSOLETE, "bad-version"); + return true; } @@ -2542,6 +2621,8 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc if (mi == mapBlockIndex.end()) return state.DoS(10, error("%s : prev block not found", __func__), 0, "bad-prevblk"); pindexPrev = (*mi).second; + if (pindexPrev->nStatus & BLOCK_FAILED_MASK) + return state.DoS(100, error("%s : prev block invalid", __func__), REJECT_INVALID, "bad-prevblk"); } if (!ContextualCheckBlockHeader(block, state, pindexPrev)) @@ -2681,6 +2762,7 @@ bool ProcessNewBlock(CValidationState &state, CNode* pfrom, CBlock* pblock, CDis if (pindex && pfrom) { mapBlockSource[pindex->GetBlockHash()] = pfrom->GetId(); } + CheckBlockIndex(); if (!ret) return error("%s : AcceptBlock FAILED", __func__); } @@ -2726,7 +2808,7 @@ bool AbortNode(const std::string &strMessage, const std::string &userMessage) { strMiscWarning = strMessage; LogPrintf("*** %s\n", strMessage); uiInterface.ThreadSafeMessageBox( - userMessage.empty() ? _("Error: A fatal internal error occured, see debug.log for details") : userMessage, + userMessage.empty() ? _("Error: A fatal internal error occurred, see debug.log for details") : userMessage, "", CClientUIInterface::MSG_ERROR); StartShutdown(); return false; @@ -2963,6 +3045,8 @@ bool CVerifyDB::VerifyDB(CCoinsView *coinsview, int nCheckLevel, int nCheckDepth } else nGoodTransactions += block.vtx.size(); } + if (ShutdownRequested()) + return true; } if (pindexFailure) return error("VerifyDB() : *** coin database inconsistencies found (last %i blocks, %i good transactions before that)\n", chainActive.Height() - pindexFailure->nHeight + 1, nGoodTransactions); @@ -3146,6 +3230,149 @@ bool LoadExternalBlockFile(FILE* fileIn, CDiskBlockPos *dbp) return nLoaded > 0; } +void static CheckBlockIndex() +{ + if (!fCheckBlockIndex) { + return; + } + + LOCK(cs_main); + + // During a reindex, we read the genesis block and call CheckBlockIndex before ActivateBestChain, + // so we have the genesis block in mapBlockIndex but no active chain. (A few of the tests when + // iterating the block tree require that chainActive has been initialized.) + if (chainActive.Height() < 0) { + assert(mapBlockIndex.size() <= 1); + return; + } + + // Build forward-pointing map of the entire block tree. + std::multimap forward; + for (BlockMap::iterator it = mapBlockIndex.begin(); it != mapBlockIndex.end(); it++) { + forward.insert(std::make_pair(it->second->pprev, it->second)); + } + + assert(forward.size() == mapBlockIndex.size()); + + std::pair::iterator,std::multimap::iterator> rangeGenesis = forward.equal_range(NULL); + CBlockIndex *pindex = rangeGenesis.first->second; + rangeGenesis.first++; + assert(rangeGenesis.first == rangeGenesis.second); // There is only one index entry with parent NULL. + + // Iterate over the entire block tree, using depth-first search. + // Along the way, remember whether there are blocks on the path from genesis + // block being explored which are the first to have certain properties. + size_t nNodes = 0; + int nHeight = 0; + CBlockIndex* pindexFirstInvalid = NULL; // Oldest ancestor of pindex which is invalid. + CBlockIndex* pindexFirstMissing = NULL; // Oldest ancestor of pindex which does not have BLOCK_HAVE_DATA. + CBlockIndex* pindexFirstNotTreeValid = NULL; // Oldest ancestor of pindex which does not have BLOCK_VALID_TREE (regardless of being valid or not). + CBlockIndex* pindexFirstNotChainValid = NULL; // Oldest ancestor of pindex which does not have BLOCK_VALID_CHAIN (regardless of being valid or not). + CBlockIndex* pindexFirstNotScriptsValid = NULL; // Oldest ancestor of pindex which does not have BLOCK_VALID_SCRIPTS (regardless of being valid or not). + while (pindex != NULL) { + nNodes++; + if (pindexFirstInvalid == NULL && pindex->nStatus & BLOCK_FAILED_VALID) pindexFirstInvalid = pindex; + if (pindexFirstMissing == NULL && !(pindex->nStatus & BLOCK_HAVE_DATA)) pindexFirstMissing = pindex; + if (pindex->pprev != NULL && pindexFirstNotTreeValid == NULL && (pindex->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_TREE) pindexFirstNotTreeValid = pindex; + if (pindex->pprev != NULL && pindexFirstNotChainValid == NULL && (pindex->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_CHAIN) pindexFirstNotChainValid = pindex; + if (pindex->pprev != NULL && pindexFirstNotScriptsValid == NULL && (pindex->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_SCRIPTS) pindexFirstNotScriptsValid = pindex; + + // Begin: actual consistency checks. + if (pindex->pprev == NULL) { + // Genesis block checks. + assert(pindex->GetBlockHash() == Params().HashGenesisBlock()); // Genesis block's hash must match. + assert(pindex == chainActive.Genesis()); // The current active chain's genesis block must be this block. + } + // HAVE_DATA is equivalent to VALID_TRANSACTIONS and equivalent to nTx > 0 (we stored the number of transactions in the block) + assert(!(pindex->nStatus & BLOCK_HAVE_DATA) == (pindex->nTx == 0)); + assert(((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_TRANSACTIONS) == (pindex->nTx > 0)); + if (pindex->nChainTx == 0) assert(pindex->nSequenceId == 0); // nSequenceId can't be set for blocks that aren't linked + // All parents having data is equivalent to all parents being VALID_TRANSACTIONS, which is equivalent to nChainTx being set. + assert((pindexFirstMissing != NULL) == (pindex->nChainTx == 0)); // nChainTx == 0 is used to signal that all parent block's transaction data is available. + assert(pindex->nHeight == nHeight); // nHeight must be consistent. + assert(pindex->pprev == NULL || pindex->nChainWork >= pindex->pprev->nChainWork); // For every block except the genesis block, the chainwork must be larger than the parent's. + assert(nHeight < 2 || (pindex->pskip && (pindex->pskip->nHeight < nHeight))); // The pskip pointer must point back for all but the first 2 blocks. + assert(pindexFirstNotTreeValid == NULL); // All mapBlockIndex entries must at least be TREE valid + if ((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_TREE) assert(pindexFirstNotTreeValid == NULL); // TREE valid implies all parents are TREE valid + if ((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_CHAIN) assert(pindexFirstNotChainValid == NULL); // CHAIN valid implies all parents are CHAIN valid + if ((pindex->nStatus & BLOCK_VALID_MASK) >= BLOCK_VALID_SCRIPTS) assert(pindexFirstNotScriptsValid == NULL); // SCRIPTS valid implies all parents are SCRIPTS valid + if (pindexFirstInvalid == NULL) { + // Checks for not-invalid blocks. + assert((pindex->nStatus & BLOCK_FAILED_MASK) == 0); // The failed mask cannot be set for blocks without invalid parents. + } + if (!CBlockIndexWorkComparator()(pindex, chainActive.Tip()) && pindexFirstMissing == NULL) { + if (pindexFirstInvalid == NULL) { // If this block sorts at least as good as the current tip and is valid, it must be in setBlockIndexCandidates. + assert(setBlockIndexCandidates.count(pindex)); + } + } else { // If this block sorts worse than the current tip, it cannot be in setBlockIndexCandidates. + assert(setBlockIndexCandidates.count(pindex) == 0); + } + // Check whether this block is in mapBlocksUnlinked. + std::pair::iterator,std::multimap::iterator> rangeUnlinked = mapBlocksUnlinked.equal_range(pindex->pprev); + bool foundInUnlinked = false; + while (rangeUnlinked.first != rangeUnlinked.second) { + assert(rangeUnlinked.first->first == pindex->pprev); + if (rangeUnlinked.first->second == pindex) { + foundInUnlinked = true; + break; + } + rangeUnlinked.first++; + } + if (pindex->pprev && pindex->nStatus & BLOCK_HAVE_DATA && pindexFirstMissing != NULL) { + if (pindexFirstInvalid == NULL) { // If this block has block data available, some parent doesn't, and has no invalid parents, it must be in mapBlocksUnlinked. + assert(foundInUnlinked); + } + } else { // If this block does not have block data available, or all parents do, it cannot be in mapBlocksUnlinked. + assert(!foundInUnlinked); + } + // assert(pindex->GetBlockHash() == pindex->GetBlockHeader().GetHash()); // Perhaps too slow + // End: actual consistency checks. + + // Try descending into the first subnode. + std::pair::iterator,std::multimap::iterator> range = forward.equal_range(pindex); + if (range.first != range.second) { + // A subnode was found. + pindex = range.first->second; + nHeight++; + continue; + } + // This is a leaf node. + // Move upwards until we reach a node of which we have not yet visited the last child. + while (pindex) { + // We are going to either move to a parent or a sibling of pindex. + // If pindex was the first with a certain property, unset the corresponding variable. + if (pindex == pindexFirstInvalid) pindexFirstInvalid = NULL; + if (pindex == pindexFirstMissing) pindexFirstMissing = NULL; + if (pindex == pindexFirstNotTreeValid) pindexFirstNotTreeValid = NULL; + if (pindex == pindexFirstNotChainValid) pindexFirstNotChainValid = NULL; + if (pindex == pindexFirstNotScriptsValid) pindexFirstNotScriptsValid = NULL; + // Find our parent. + CBlockIndex* pindexPar = pindex->pprev; + // Find which child we just visited. + std::pair::iterator,std::multimap::iterator> rangePar = forward.equal_range(pindexPar); + while (rangePar.first->second != pindex) { + assert(rangePar.first != rangePar.second); // Our parent must have at least the node we're coming from as child. + rangePar.first++; + } + // Proceed to the next one. + rangePar.first++; + if (rangePar.first != rangePar.second) { + // Move to the sibling. + pindex = rangePar.first->second; + break; + } else { + // Move up further. + pindex = pindexPar; + nHeight--; + continue; + } + } + } + + // Check that we actually traversed the entire map. + assert(nNodes == forward.size()); +} + ////////////////////////////////////////////////////////////////////////////// // // CAlert @@ -3259,19 +3486,17 @@ void static ProcessGetData(CNode* pfrom) BlockMap::iterator mi = mapBlockIndex.find(inv.hash); if (mi != mapBlockIndex.end()) { - // If the requested block is at a height below our last - // checkpoint, only serve it if it's in the checkpointed chain - int nHeight = mi->second->nHeight; - CBlockIndex* pcheckpoint = Checkpoints::GetLastCheckpoint(); - if (pcheckpoint && nHeight < pcheckpoint->nHeight) { - if (!chainActive.Contains(mi->second)) - { - LogPrintf("ProcessGetData(): ignoring request for old block that isn't in the main chain\n"); - } else { - send = true; - } - } else { + if (chainActive.Contains(mi->second)) { send = true; + } else { + // To prevent fingerprinting attacks, only send blocks outside of the active + // chain if they are valid, and no more than a month older than the best header + // chain we know about. + send = mi->second->IsValid(BLOCK_VALID_SCRIPTS) && (pindexBestHeader != NULL) && + (mi->second->GetBlockTime() > pindexBestHeader->GetBlockTime() - 30 * 24 * 60 * 60); + if (!send) { + LogPrintf("ProcessGetData(): ignoring request from peer=%i for old block that isn't in the main chain\n", pfrom->GetId()); + } } } if (send) @@ -3369,7 +3594,7 @@ void static ProcessGetData(CNode* pfrom) bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, int64_t nTimeReceived) { RandAddSeedPerfmon(); - LogPrint("net", "received: %s (%u bytes) peer=%d\n", strCommand, vRecv.size(), pfrom->id); + LogPrint("net", "received: %s (%u bytes) peer=%d\n", SanitizeString(strCommand), vRecv.size(), pfrom->id); if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0) { LogPrintf("dropmessagestest DROPPING RECV MESSAGE\n"); @@ -3509,6 +3734,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, else if (strCommand == "verack") { pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); + + // Mark this node as currently connected, so we update its timestamp later. + if (pfrom->fNetworkNode) { + LOCK(cs_main); + State(pfrom->GetId())->fCurrentlyConnected = true; + } } @@ -3618,7 +3849,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // doing this will result in the received block being rejected as an orphan in case it is // not a direct successor. pfrom->PushMessage("getheaders", chainActive.GetLocator(pindexBestHeader), inv.hash); - if (chainActive.Tip()->GetBlockTime() > GetAdjustedTime() - Params().TargetSpacing() * 20) { + CNodeState *nodestate = State(pfrom->GetId()); + if (chainActive.Tip()->GetBlockTime() > GetAdjustedTime() - Params().TargetSpacing() * 20 && + nodestate->nBlocksInFlight < MAX_BLOCKS_IN_TRANSIT_PER_PEER) { vToFetch.push_back(inv); // Mark block as in flight already, even though the actual "getdata" message only goes out // later (within the same cs_main lock, though). @@ -3896,6 +4129,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, LogPrint("net", "more getheaders (%d) to end to peer=%d (startheight:%d)\n", pindexLast->nHeight, pfrom->id, pfrom->nStartingHeight); pfrom->PushMessage("getheaders", chainActive.GetLocator(pindexLast), uint256(0)); } + + CheckBlockIndex(); } else if (strCommand == "block" && !fImporting && !fReindex) // Ignore blocks received while importing @@ -3923,7 +4158,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "getaddr") + // This asymmetric behavior for inbound and outbound connections was introduced + // to prevent a fingerprinting attack: an attacker can send specific fake addresses + // to users' AddrMan and later request them by sending getaddr messages. + // Making users (which are behind NAT and can only make outgoing connections) ignore + // getaddr message mitigates the attack. + else if ((strCommand == "getaddr") && (pfrom->fInbound)) { pfrom->vAddrToSend.clear(); vector vAddr = addrman.GetAddr(); @@ -4036,7 +4276,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - else if (strCommand == "alert") + else if (fAlerts && strCommand == "alert") { CAlert alert; vRecv >> alert; @@ -4146,11 +4386,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, } - // Update the last seen time for this node's address - if (pfrom->fNetworkNode) - if (strCommand == "version" || strCommand == "addr" || strCommand == "inv" || strCommand == "getdata" || strCommand == "ping") - AddressCurrentlyConnected(pfrom->addr); - return true; } @@ -4200,7 +4435,7 @@ bool ProcessMessages(CNode* pfrom) // Scan for message start if (memcmp(msg.hdr.pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE) != 0) { - LogPrintf("PROCESSMESSAGE: INVALID MESSAGESTART %s peer=%d\n", msg.hdr.GetCommand(), pfrom->id); + LogPrintf("PROCESSMESSAGE: INVALID MESSAGESTART %s peer=%d\n", SanitizeString(msg.hdr.GetCommand()), pfrom->id); fOk = false; break; } @@ -4209,7 +4444,7 @@ bool ProcessMessages(CNode* pfrom) CMessageHeader& hdr = msg.hdr; if (!hdr.IsValid()) { - LogPrintf("PROCESSMESSAGE: ERRORS IN HEADER %s peer=%d\n", hdr.GetCommand(), pfrom->id); + LogPrintf("PROCESSMESSAGE: ERRORS IN HEADER %s peer=%d\n", SanitizeString(hdr.GetCommand()), pfrom->id); continue; } string strCommand = hdr.GetCommand(); @@ -4224,8 +4459,8 @@ bool ProcessMessages(CNode* pfrom) memcpy(&nChecksum, &hash, sizeof(nChecksum)); if (nChecksum != hdr.nChecksum) { - LogPrintf("ProcessMessages(%s, %u bytes) : CHECKSUM ERROR nChecksum=%08x hdr.nChecksum=%08x\n", - strCommand, nMessageSize, nChecksum, hdr.nChecksum); + LogPrintf("ProcessMessages(%s, %u bytes): CHECKSUM ERROR nChecksum=%08x hdr.nChecksum=%08x\n", + SanitizeString(strCommand), nMessageSize, nChecksum, hdr.nChecksum); continue; } @@ -4242,12 +4477,12 @@ bool ProcessMessages(CNode* pfrom) if (strstr(e.what(), "end of data")) { // Allow exceptions from under-length message on vRecv - LogPrintf("ProcessMessages(%s, %u bytes) : Exception '%s' caught, normally caused by a message being shorter than its stated length\n", strCommand, nMessageSize, e.what()); + LogPrintf("ProcessMessages(%s, %u bytes): Exception '%s' caught, normally caused by a message being shorter than its stated length\n", SanitizeString(strCommand), nMessageSize, e.what()); } else if (strstr(e.what(), "size too large")) { // Allow exceptions from over-long size - LogPrintf("ProcessMessages(%s, %u bytes) : Exception '%s' caught\n", strCommand, nMessageSize, e.what()); + LogPrintf("ProcessMessages(%s, %u bytes): Exception '%s' caught\n", SanitizeString(strCommand), nMessageSize, e.what()); } else { @@ -4264,7 +4499,7 @@ bool ProcessMessages(CNode* pfrom) } if (!fRet) - LogPrintf("ProcessMessage(%s, %u bytes) FAILED peer=%d\n", strCommand, nMessageSize, pfrom->id); + LogPrintf("ProcessMessage(%s, %u bytes) FAILED peer=%d\n", SanitizeString(strCommand), nMessageSize, pfrom->id); break; } @@ -4461,6 +4696,15 @@ bool SendMessages(CNode* pto, bool fSendTrickle) LogPrintf("Peer=%d is stalling block download, disconnecting\n", pto->id); pto->fDisconnect = true; } + // In case there is a block that has been in flight from this peer for (2 + 0.5 * N) times the block interval + // (with N the number of validated blocks that were in flight at the time it was requested), disconnect due to + // timeout. We compensate for in-flight blocks to prevent killing off peers due to our own downstream link + // being saturated. We only count validated in-flight blocks so peers can't advertize nonexisting block hashes + // to unreasonably increase our timeout. + if (!pto->fDisconnect && state.vBlocksInFlight.size() > 0 && state.vBlocksInFlight.front().nTime < nNow - 500000 * Params().TargetSpacing() * (4 + state.vBlocksInFlight.front().nValidatedQueuedBefore)) { + LogPrintf("Timeout downloading block %s from peer=%d, disconnecting\n", state.vBlocksInFlight.front().hash.ToString(), pto->id); + pto->fDisconnect = true; + } // // Message: getdata (blocks) diff --git a/src/main.h b/src/main.h index 8f0378647d163..52cc4f38bf308 100644 --- a/src/main.h +++ b/src/main.h @@ -54,6 +54,8 @@ static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000; static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0; /** Default for -blockprioritysize, maximum space for zero/low-fee transactions **/ static const unsigned int DEFAULT_BLOCK_PRIORITY_SIZE = 50000; +/** Default for accepting alerts from the P2P network. */ +static const bool DEFAULT_ALERTS = true; /** The maximum size for transactions we're willing to relay/mine */ static const unsigned int MAX_STANDARD_TX_SIZE = 100000; /** The maximum allowed number of signature check operations in a block (network rule) */ @@ -64,8 +66,6 @@ static const unsigned int MAX_P2SH_SIGOPS = 15; static const unsigned int MAX_TX_SIGOPS = MAX_BLOCK_SIGOPS/5; /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */ static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100; -/** Default for -maxorphanblocks, maximum number of orphan blocks kept in memory */ -static const unsigned int DEFAULT_MAX_ORPHAN_BLOCKS = 750; /** The maximum size of a blk?????.dat file (since 0.8) */ static const unsigned int MAX_BLOCKFILE_SIZE = 0x8000000; // 128 MiB /** The pre-allocation chunk size for blk?????.dat files (since 0.8) */ @@ -74,8 +74,6 @@ static const unsigned int BLOCKFILE_CHUNK_SIZE = 0x1000000; // 16 MiB static const unsigned int UNDOFILE_CHUNK_SIZE = 0x100000; // 1 MiB /** Coinbase transaction outputs can only be spent after this number of new blocks (network rule) */ static const int COINBASE_MATURITY = 100; -/** Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. */ -static const unsigned int LOCKTIME_THRESHOLD = 500000000; // Tue Nov 5 00:53:20 1985 UTC /** Maximum number of script-checking threads allowed */ static const int MAX_SCRIPTCHECK_THREADS = 16; /** -par default (number of script-checking threads, 0 = auto) */ @@ -128,8 +126,10 @@ extern bool fReindex; extern int nScriptCheckThreads; extern bool fTxIndex; extern bool fIsBareMultisigStd; +extern bool fCheckBlockIndex; extern unsigned int nCoinCacheSize; extern CFeeRate minRelayTxFee; +extern bool fAlerts; /** Best header we've seen so far (used for getheaders queries' starting points). */ extern CBlockIndex *pindexBestHeader; @@ -181,7 +181,12 @@ bool LoadBlockIndex(); void UnloadBlockIndex(); /** Process protocol messages received from a given node */ bool ProcessMessages(CNode* pfrom); -/** Send queued protocol messages to be sent to a give node */ +/** + * Send queued protocol messages to be sent to a give node. + * + * @param[in] pto The node which we are sending messages to. + * @param[in] fSendTrickle When true send the trickled data, otherwise trickle the data until true. + */ bool SendMessages(CNode* pto, bool fSendTrickle); /** Run an instance of the script checking thread */ void ThreadScriptCheck(); diff --git a/src/merkleblock.cpp b/src/merkleblock.cpp index 8618e355d7418..0af5c6839ef4f 100644 --- a/src/merkleblock.cpp +++ b/src/merkleblock.cpp @@ -139,7 +139,7 @@ uint256 CPartialMerkleTree::ExtractMatches(std::vector &vMatch) { // traverse the partial tree unsigned int nBitsUsed = 0, nHashUsed = 0; uint256 hashMerkleRoot = TraverseAndExtract(nHeight, 0, nBitsUsed, nHashUsed, vMatch); - // verify that no problems occured during the tree traversal + // verify that no problems occurred during the tree traversal if (fBad) return 0; // verify that all bits were consumed (except for the padding caused by serializing it as a byte sequence) diff --git a/src/miner.cpp b/src/miner.cpp index ad2943142124f..8efcdb91013fe 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -456,8 +456,16 @@ void static BitcoinMiner(CWallet *pwallet) if (Params().MiningRequiresPeers()) { // Busy-wait for the network to come online so we don't waste time mining // on an obsolete chain. In regtest mode we expect to fly solo. - while (vNodes.empty()) + do { + bool fvNodesEmpty; + { + LOCK(cs_vNodes); + fvNodesEmpty = vNodes.empty(); + } + if (!fvNodesEmpty && !IsInitialBlockDownload()) + break; MilliSleep(1000); + } while (true); } // @@ -570,6 +578,11 @@ void static BitcoinMiner(CWallet *pwallet) LogPrintf("BitcoinMiner terminated\n"); throw; } + catch (const std::runtime_error &e) + { + LogPrintf("BitcoinMiner runtime error: %s\n", e.what()); + return; + } } void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads) diff --git a/src/net.cpp b/src/net.cpp index 42b3c30fb7717..0fe52556a8d01 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -403,6 +403,12 @@ CNode* ConnectNode(CAddress addrConnect, const char *pszDest) if (pszDest ? ConnectSocketByName(addrConnect, hSocket, pszDest, Params().GetDefaultPort(), nConnectTimeout, &proxyConnectionFailed) : ConnectSocket(addrConnect, hSocket, nConnectTimeout, &proxyConnectionFailed)) { + if (!IsSelectableSocket(hSocket)) { + LogPrintf("Cannot create connection: non-selectable socket created (fd >= FD_SETSIZE ?)\n"); + CloseSocket(hSocket); + return NULL; + } + addrman.Attempt(addrConnect); // Add node @@ -574,6 +580,11 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes) if (handled < 0) return false; + if (msg.in_data && msg.hdr.nMessageSize > MAX_PROTOCOL_MESSAGE_LENGTH) { + LogPrint("net", "Oversized message from peer=%i, disconnecting\n", GetId()); + return false; + } + pch += handled; nBytes -= handled; @@ -866,8 +877,14 @@ void ThreadSocketHandler() if (nErr != WSAEWOULDBLOCK) LogPrintf("socket error accept failed: %s\n", NetworkErrorString(nErr)); } + else if (!IsSelectableSocket(hSocket)) + { + LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToString()); + CloseSocket(hSocket); + } else if (nInbound >= nMaxConnections - MAX_OUTBOUND_CONNECTIONS) { + LogPrint("net", "connection from %s dropped (full)\n", addr.ToString()); CloseSocket(hSocket); } else if (CNode::IsBanned(addr) && !whitelisted) @@ -877,6 +894,15 @@ void ThreadSocketHandler() } else { + // According to the internet TCP_NODELAY is not carried into accepted sockets + // on all platforms. Set it again here just to be sure. + int set = 1; +#ifdef WIN32 + setsockopt(hSocket, IPPROTO_TCP, TCP_NODELAY, (const char*)&set, sizeof(int)); +#else + setsockopt(hSocket, IPPROTO_TCP, TCP_NODELAY, (void*)&set, sizeof(int)); +#endif + CNode* pnode = new CNode(hSocket, addr, "", true); pnode->AddRef(); pnode->fWhitelisted = whitelisted; @@ -1015,10 +1041,14 @@ void ThreadMapPort() #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0); -#else +#elif MINIUPNPC_API_VERSION < 14 /* miniupnpc 1.6 */ int error = 0; devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error); +#else + /* miniupnpc 1.9.20150730 */ + int error = 0; + devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, 2, &error); #endif struct UPNPUrls urls; @@ -1266,8 +1296,7 @@ void ThreadOpenConnections() int nTries = 0; while (true) { - // use an nUnkBias between 10 (no outgoing connections) and 90 (8 outgoing connections) - CAddress addr = addrman.Select(10 + min(nOutbound,8)*10); + CAddress addr = addrman.Select(); // if we selected an invalid address, restart if (!addr.IsValid() || setConnected.count(addr.GetGroup()) || IsLocal(addr)) @@ -1451,7 +1480,7 @@ void ThreadMessageHandler() { TRY_LOCK(pnode->cs_vSend, lockSend); if (lockSend) - g_signals.SendMessages(pnode, pnode == pnodeTrickle); + g_signals.SendMessages(pnode, pnode == pnodeTrickle || pnode->fWhitelisted); } boost::this_thread::interruption_point(); } @@ -1494,6 +1523,13 @@ bool BindListenPort(const CService &addrBind, string& strError, bool fWhiteliste LogPrintf("%s\n", strError); return false; } + if (!IsSelectableSocket(hListenSocket)) + { + strError = "Error: Couldn't create a listenable socket for incoming connections"; + LogPrintf("%s\n", strError); + return false; + } + #ifndef WIN32 #ifdef SO_NOSIGPIPE @@ -1501,8 +1537,13 @@ bool BindListenPort(const CService &addrBind, string& strError, bool fWhiteliste setsockopt(hListenSocket, SOL_SOCKET, SO_NOSIGPIPE, (void*)&nOne, sizeof(int)); #endif // Allow binding if the port is still in TIME_WAIT state after - // the program was closed and restarted. Not an issue on windows! + // the program was closed and restarted. setsockopt(hListenSocket, SOL_SOCKET, SO_REUSEADDR, (void*)&nOne, sizeof(int)); + // Disable Nagle's algorithm + setsockopt(hListenSocket, IPPROTO_TCP, TCP_NODELAY, (void*)&nOne, sizeof(int)); +#else + setsockopt(hListenSocket, SOL_SOCKET, SO_REUSEADDR, (const char*)&nOne, sizeof(int)); + setsockopt(hListenSocket, IPPROTO_TCP, TCP_NODELAY, (const char*)&nOne, sizeof(int)); #endif // Set to non-blocking, incoming connections will also inherit this @@ -2021,7 +2062,7 @@ void CNode::BeginMessage(const char* pszCommand) EXCLUSIVE_LOCK_FUNCTION(cs_vSen ENTER_CRITICAL_SECTION(cs_vSend); assert(ssSend.size() == 0); ssSend << CMessageHeader(pszCommand, 0); - LogPrint("net", "sending: %s ", pszCommand); + LogPrint("net", "sending: %s ", SanitizeString(pszCommand)); } void CNode::AbortMessage() UNLOCK_FUNCTION(cs_vSend) diff --git a/src/net.h b/src/net.h index a475be0b334db..79d8baeb6d7a8 100644 --- a/src/net.h +++ b/src/net.h @@ -46,6 +46,8 @@ static const int TIMEOUT_INTERVAL = 20 * 60; static const unsigned int MAX_INV_SZ = 50000; /** The maximum number of new addresses to accumulate before announcing. */ static const unsigned int MAX_ADDR_TO_SEND = 1000; +/** Maximum length of incoming protocol messages (no message over 2 MiB is currently acceptable). */ +static const unsigned int MAX_PROTOCOL_MESSAGE_LENGTH = 2 * 1024 * 1024; /** -listen default */ static const bool DEFAULT_LISTEN = true; /** -upnp default */ diff --git a/src/netbase.cpp b/src/netbase.cpp index 053c645a1be10..0b38e4dba5726 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -267,6 +267,9 @@ bool static InterruptibleRecv(char* data, size_t len, int timeout, SOCKET& hSock } else { // Other error or blocking int nErr = WSAGetLastError(); if (nErr == WSAEINPROGRESS || nErr == WSAEWOULDBLOCK || nErr == WSAEINVAL) { + if (!IsSelectableSocket(hSocket)) { + return false; + } struct timeval tval = MillisToTimeval(std::min(endTime - curTime, maxWait)); fd_set fdset; FD_ZERO(&fdset); @@ -404,12 +407,19 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe if (hSocket == INVALID_SOCKET) return false; -#ifdef SO_NOSIGPIPE int set = 1; +#ifdef SO_NOSIGPIPE // Different way of disabling SIGPIPE on BSD setsockopt(hSocket, SOL_SOCKET, SO_NOSIGPIPE, (void*)&set, sizeof(int)); #endif + //Disable Nagle's algorithm +#ifdef WIN32 + setsockopt(hSocket, IPPROTO_TCP, TCP_NODELAY, (const char*)&set, sizeof(int)); +#else + setsockopt(hSocket, IPPROTO_TCP, TCP_NODELAY, (void*)&set, sizeof(int)); +#endif + // Set to non-blocking if (!SetSocketNonBlocking(hSocket, true)) return error("ConnectSocketDirectly: Setting socket to non-blocking failed, error %s\n", NetworkErrorString(WSAGetLastError())); @@ -944,7 +954,7 @@ std::vector CNetAddr::GetGroup() const nBits -= 8; } if (nBits > 0) - vchRet.push_back(GetByte(15 - nStartByte) | ((1 << nBits) - 1)); + vchRet.push_back(GetByte(15 - nStartByte) | ((1 << (8 - nBits)) - 1)); return vchRet; } @@ -1214,15 +1224,15 @@ CSubNet::CSubNet(const std::string &strSubnet, bool fAllowLookup) std::string strNetmask = strSubnet.substr(slash + 1); int32_t n; // IPv4 addresses start at offset 12, and first 12 bytes must match, so just offset n - int noffset = network.IsIPv4() ? (12 * 8) : 0; + const int astartofs = network.IsIPv4() ? 12 : 0; if (ParseInt32(strNetmask, &n)) // If valid number, assume /24 symtex { - if(n >= 0 && n <= (128 - noffset)) // Only valid if in range of bits of address + if(n >= 0 && n <= (128 - astartofs*8)) // Only valid if in range of bits of address { - n += noffset; + n += astartofs*8; // Clear bits [n..127] for (; n < 128; ++n) - netmask[n>>3] &= ~(1<<(n&7)); + netmask[n>>3] &= ~(1<<(7-(n&7))); } else { @@ -1233,12 +1243,10 @@ CSubNet::CSubNet(const std::string &strSubnet, bool fAllowLookup) { if (LookupHost(strNetmask.c_str(), vIP, 1, false)) // Never allow lookup for netmask { - // Remember: GetByte returns bytes in reversed order // Copy only the *last* four bytes in case of IPv4, the rest of the mask should stay 1's as // we don't want pchIPv4 to be part of the mask. - int asize = network.IsIPv4() ? 4 : 16; - for(int x=0; x 0x050100 // Generate high-dpi pixmaps @@ -521,6 +527,7 @@ int main(int argc, char *argv[]) QApplication::setOrganizationName(QAPP_ORG_NAME); QApplication::setOrganizationDomain(QAPP_ORG_DOMAIN); QApplication::setApplicationName(QAPP_APP_NAME_DEFAULT); + GUIUtil::SubstituteFonts(GetLangTerritory()); /// 4. Initialization of translations, so that intro dialog is in user's language // Now that QSettings are accessible, initialize translations @@ -530,7 +537,7 @@ int main(int argc, char *argv[]) // Show help message immediately after parsing command-line options (for "-lang") and setting locale, // but before showing splash screen. - if (mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) + if (mapArgs.count("-?") || mapArgs.count("-h") || mapArgs.count("-help") || mapArgs.count("-version")) { HelpMessageDialog help(NULL, mapArgs.count("-version")); help.showOrPrint(); diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index 5b8ab23b26a7e..4373357e444ec 100644 --- a/src/qt/bitcoinamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -20,6 +20,7 @@ class AmountSpinBox: public QAbstractSpinBox { Q_OBJECT + public: explicit AmountSpinBox(QWidget *parent): QAbstractSpinBox(parent), @@ -72,23 +73,6 @@ class AmountSpinBox: public QAbstractSpinBox setValue(val); } - StepEnabled stepEnabled() const - { - StepEnabled rv = 0; - if(text().isEmpty()) // Allow step-up with empty field - return StepUpEnabled; - bool valid = false; - CAmount val = value(&valid); - if(valid) - { - if(val > 0) - rv |= StepDownEnabled; - if(val < BitcoinUnits::maxMoney()) - rv |= StepUpEnabled; - } - return rv; - } - void setDisplayUnit(int unit) { bool valid = false; @@ -139,6 +123,7 @@ class AmountSpinBox: public QAbstractSpinBox } return cachedMinimumSizeHint; } + private: int currentUnit; CAmount singleStep; @@ -179,6 +164,25 @@ class AmountSpinBox: public QAbstractSpinBox return QAbstractSpinBox::event(event); } + StepEnabled stepEnabled() const + { + StepEnabled rv = 0; + if (isReadOnly()) // Disable steps when AmountSpinBox is read-only + return StepNone; + if(text().isEmpty()) // Allow step-up with empty field + return StepUpEnabled; + bool valid = false; + CAmount val = value(&valid); + if(valid) + { + if(val > 0) + rv |= StepDownEnabled; + if(val < BitcoinUnits::maxMoney()) + rv |= StepUpEnabled; + } + return rv; + } + signals: void valueChanged(); }; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 6a457d361fe50..6b4840dcd6c20 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -207,11 +207,6 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle *networkStyle, QWidget *parent) : statusBar()->addWidget(progressBar); statusBar()->addPermanentWidget(frameBlocks); - connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); - - // prevents an open debug window from becoming stuck/unusable on client shutdown - connect(quitAction, SIGNAL(triggered()), rpcConsole, SLOT(hide())); - // Install event filter to be able to catch status tip events (QEvent::StatusTip) this->installEventFilter(this); @@ -232,7 +227,7 @@ BitcoinGUI::~BitcoinGUI() trayIcon->hide(); #ifdef Q_OS_MAC delete appMenuBar; - MacDockIconHandler::instance()->setMainWindow(NULL); + MacDockIconHandler::cleanup(); #endif } @@ -325,6 +320,7 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) openAction->setStatusTip(tr("Open a bitcoin: URI or payment request")); showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this); + showHelpMessageAction->setMenuRole(QAction::NoRole); showHelpMessageAction->setStatusTip(tr("Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); @@ -333,6 +329,10 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); connect(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden())); connect(showHelpMessageAction, SIGNAL(triggered()), this, SLOT(showHelpMessageClicked())); + connect(openRPCConsoleAction, SIGNAL(triggered()), this, SLOT(showDebugWindow())); + // prevents an open debug window from becoming stuck/unusable on client shutdown + connect(quitAction, SIGNAL(triggered()), rpcConsole, SLOT(hide())); + #ifdef ENABLE_WALLET if(walletFrame) { @@ -568,6 +568,14 @@ void BitcoinGUI::aboutClicked() dlg.exec(); } +void BitcoinGUI::showDebugWindow() +{ + rpcConsole->showNormal(); + rpcConsole->show(); + rpcConsole->raise(); + rpcConsole->activateWindow(); +} + void BitcoinGUI::showHelpMessageClicked() { HelpMessageDialog *help = new HelpMessageDialog(this, false); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 662ef9d9e8419..616c3717b9462 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -189,6 +189,8 @@ private slots: void optionsClicked(); /** Show about dialog */ void aboutClicked(); + /** Show debug window */ + void showDebugWindow(); /** Show help message dialog */ void showHelpMessageClicked(); #ifndef Q_OS_MAC diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp index 548529865a169..d68bdbf5b73b0 100644 --- a/src/qt/bitcoinstrings.cpp +++ b/src/qt/bitcoinstrings.cpp @@ -10,18 +10,6 @@ #endif static const char UNUSED *bitcoin_strings[] = { QT_TRANSLATE_NOOP("bitcoin-core", "" -"%s, you must set a rpcpassword in the configuration file:\n" -"%s\n" -"It is recommended you use the following random password:\n" -"rpcuser=bitcoinrpc\n" -"rpcpassword=%s\n" -"(you do not need to remember this password)\n" -"The username and password MUST NOT be the same.\n" -"If the file does not exist, create it with owner-readable-only file " -"permissions.\n" -"It is also recommended to set alertnotify so you are notified of problems;\n" -"for example: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com\n"), -QT_TRANSLATE_NOOP("bitcoin-core", "" "(1 = keep tx meta data e.g. account owner and payment request information, 2 " "= drop tx meta data)"), QT_TRANSLATE_NOOP("bitcoin-core", "" @@ -62,13 +50,6 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", "" "Error: Listening for incoming connections failed (listen returned error %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Error: The transaction was rejected! This might happen if some of the coins " -"in your wallet were already spent, such as if you used a copy of wallet.dat " -"and coins were spent in the copy but not marked as spent here."), -QT_TRANSLATE_NOOP("bitcoin-core", "" -"Error: This transaction requires a transaction fee of at least %s because of " -"its amount, complexity, or use of recently received funds!"), -QT_TRANSLATE_NOOP("bitcoin-core", "" "Error: Unsupported argument -socks found. Setting SOCKS version isn't " "possible anymore, only SOCKS5 proxies are supported."), QT_TRANSLATE_NOOP("bitcoin-core", "" @@ -92,12 +73,15 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", "" "How thorough the block verification of -checkblocks is (0-4, default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" -"If paytxfee is not set, include enough fee so transactions are confirmed on " -"average within n blocks (default: %u)"), +"If paytxfee is not set, include enough fee so transactions begin " +"confirmation on average within n blocks (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "In this mode -genproclimit controls how many blocks are generated " "immediately."), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay " +"fee of %s to prevent stuck transactions)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Log transaction priority and fee per kB when mining blocks (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "Maintain a full transaction index, used by the getrawtransaction rpc call " @@ -106,6 +90,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "Maximum size of data in data carrier transactions we relay and mine " "(default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Maximum total fees to use in a single wallet transaction, setting too low " +"may abort large transactions (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Number of seconds to keep misbehaving peers from reconnecting (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "Output debugging information (default: %u, supplying is optional)"), @@ -113,6 +100,8 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "Query for peer addresses via DNS lookup, if low on addresses (default: 1 " "unless -connect)"), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Require high priority for relaying free or low-fee transactions (default:%u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Set maximum size of high-priority/low-fee transactions in bytes (default: %d)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "Set the number of script verification threads (%u to %d, 0 = auto, <0 = " @@ -128,12 +117,28 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "the OpenSSL Toolkit and cryptographic software " "written by Eric Young and UPnP software written by Thomas Bernard."), QT_TRANSLATE_NOOP("bitcoin-core", "" +"To use bitcoind, or the -server option to bitcoin-qt, you must set an " +"rpcpassword in the configuration file:\n" +"%s\n" +"It is recommended you use the following random password:\n" +"rpcuser=bitcoinrpc\n" +"rpcpassword=%s\n" +"(you do not need to remember this password)\n" +"The username and password MUST NOT be the same.\n" +"If the file does not exist, create it with owner-readable-only file " +"permissions.\n" +"It is also recommended to set alertnotify so you are notified of problems;\n" +"for example: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com\n"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Unable to bind to %s on this computer. Bitcoin Core is probably already " "running."), QT_TRANSLATE_NOOP("bitcoin-core", "" "Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " "%s)"), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Warning: -maxtxfee is set very high! Fees this large could be paid on a " +"single transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Warning: -paytxfee is set very high! This is the transaction fee you will " "pay if you send a transaction."), QT_TRANSLATE_NOOP("bitcoin-core", "" @@ -163,6 +168,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "(default: 1)"), QT_TRANSLATE_NOOP("bitcoin-core", " can be:"), QT_TRANSLATE_NOOP("bitcoin-core", "Accept command line and JSON-RPC commands"), QT_TRANSLATE_NOOP("bitcoin-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Accept public REST requests (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Acceptable ciphers (default: %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Add a node to connect to and attempt to keep the connection open"), QT_TRANSLATE_NOOP("bitcoin-core", "Allow DNS lookups for -addnode, -seednode and -connect"), @@ -194,11 +200,11 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet corrupted"), QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet requires newer version of Bitcoin Core"), QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error reading from database, shutting down."), QT_TRANSLATE_NOOP("bitcoin-core", "Error"), -QT_TRANSLATE_NOOP("bitcoin-core", "Error: A fatal internal error occured, see debug.log for details"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error: A fatal internal error occurred, see debug.log for details"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Disk space is low!"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unsupported argument -tor found, use -onion."), -QT_TRANSLATE_NOOP("bitcoin-core", "Error: Wallet locked, unable to create transaction!"), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to listen on any port. Use -listen=0 if you want this."), QT_TRANSLATE_NOOP("bitcoin-core", "Fee (in BTC/kB) to add to transactions you send (default: %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Force safe mode (default: %u)"), @@ -214,13 +220,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Initialization sanity check failed. Bitcoin C QT_TRANSLATE_NOOP("bitcoin-core", "Insufficient funds"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -onion address: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -proxy address: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -maxtxfee=: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -minrelaytxfee=: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -mintxfee=: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=: '%s' (must be at least %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=: '%s'"), -QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid netmask specified in -whitelist: '%s'"), -QT_TRANSLATE_NOOP("bitcoin-core", "Keep at most unconnectable blocks in memory (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Keep at most unconnectable transactions in memory (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Limit size of signature cache to entries (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Listen for JSON-RPC connections on (default: %u or testnet: %u)"), @@ -239,13 +244,13 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Only connect to nodes in network (ipv4, QT_TRANSLATE_NOOP("bitcoin-core", "Options:"), QT_TRANSLATE_NOOP("bitcoin-core", "Password for JSON-RPC connections"), QT_TRANSLATE_NOOP("bitcoin-core", "Prepend debug output with timestamp (default: %u)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Print block on startup, if found in block index"), -QT_TRANSLATE_NOOP("bitcoin-core", "Print block tree on startup (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)"), QT_TRANSLATE_NOOP("bitcoin-core", "RPC server options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "RPC support for HTTP persistent connections (default: %d)"), QT_TRANSLATE_NOOP("bitcoin-core", "Randomly drop 1 of every network messages"), QT_TRANSLATE_NOOP("bitcoin-core", "Randomly fuzz 1 of every network messages"), QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild block chain index from current blk000??.dat files"), +QT_TRANSLATE_NOOP("bitcoin-core", "Receive and display P2P network alerts (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Relay and mine data carrier transactions (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Relay non-P2SH multisig (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions"), @@ -277,9 +282,9 @@ QT_TRANSLATE_NOOP("bitcoin-core", "This help message"), QT_TRANSLATE_NOOP("bitcoin-core", "This is experimental software."), QT_TRANSLATE_NOOP("bitcoin-core", "This is intended for regression testing tools and app development."), QT_TRANSLATE_NOOP("bitcoin-core", "Threshold for disconnecting misbehaving peers (default: %u)"), -QT_TRANSLATE_NOOP("bitcoin-core", "To use the %s option"), QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amount too small"), QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amounts must be positive"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction too large for fee policy"), QT_TRANSLATE_NOOP("bitcoin-core", "Transaction too large"), QT_TRANSLATE_NOOP("bitcoin-core", "Unable to bind to %s on this computer (bind returned error %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Unknown network specified in -onlynet: '%s'"), diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 85b43b7b1f58e..19c5776b9210d 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -116,6 +116,10 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : // (un)select all connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); + // change coin control first column label due Qt4 bug. + // see https://github.com/bitcoin/bitcoin/issues/5716 + ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString()); + ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); ui->treeWidget->setColumnWidth(COLUMN_LABEL, 170); diff --git a/src/qt/coincontroltreewidget.cpp b/src/qt/coincontroltreewidget.cpp index 907b5caa05673..0082c9bfd0afa 100644 --- a/src/qt/coincontroltreewidget.cpp +++ b/src/qt/coincontroltreewidget.cpp @@ -17,7 +17,8 @@ void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event) { event->ignore(); int COLUMN_CHECKBOX = 0; - this->currentItem()->setCheckState(COLUMN_CHECKBOX, ((this->currentItem()->checkState(COLUMN_CHECKBOX) == Qt::Checked) ? Qt::Unchecked : Qt::Checked)); + if(this->currentItem()) + this->currentItem()->setCheckState(COLUMN_CHECKBOX, ((this->currentItem()->checkState(COLUMN_CHECKBOX) == Qt::Checked) ? Qt::Unchecked : Qt::Checked)); } else if (event->key() == Qt::Key_Escape) // press esc -> close dialog { @@ -29,4 +30,4 @@ void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event) { this->QTreeWidget::keyPressEvent(event); } -} \ No newline at end of file +} diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 52fdc6ef06b50..264edeb7200c3 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -27,7 +27,7 @@ Qt::CustomContextMenu - Double-click to edit address or label + Right-click to edit address or label false diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index a1ae756c43e63..71de3d2cd0556 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -67,6 +67,9 @@ static boost::filesystem::detail::utf8_codecvt_facet utf8; #if defined(Q_OS_MAC) extern double NSAppKitVersionNumber; +#if !defined(NSAppKitVersionNumber10_8) +#define NSAppKitVersionNumber10_8 1187 +#endif #if !defined(NSAppKitVersionNumber10_9) #define NSAppKitVersionNumber10_9 1265 #endif @@ -383,22 +386,38 @@ void openDebugLogfile() QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathDebug))); } -void SubstituteFonts() +void SubstituteFonts(const QString& language) { #if defined(Q_OS_MAC) // Background: -// OSX's default font changed in 10.9 and QT is unable to find it with its +// OSX's default font changed in 10.9 and Qt is unable to find it with its // usual fallback methods when building against the 10.7 sdk or lower. // The 10.8 SDK added a function to let it find the correct fallback font. // If this fallback is not properly loaded, some characters may fail to // render correctly. // +// The same thing happened with 10.10. .Helvetica Neue DeskInterface is now default. +// // Solution: If building with the 10.7 SDK or lower and the user's platform // is 10.9 or higher at runtime, substitute the correct font. This needs to // happen before the QApplication is created. #if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8 - if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_9) - QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande"); + if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_8) + { + if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9) + /* On a 10.9 - 10.9.x system */ + QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande"); + else + { + /* 10.10 or later system */ + if (language == "zh_CN" || language == "zh_TW" || language == "zh_HK") // traditional or simplified Chinese + QFont::insertSubstitution(".Helvetica Neue DeskInterface", "Heiti SC"); + else if (language == "ja") // Japanesee + QFont::insertSubstitution(".Helvetica Neue DeskInterface", "Songti SC"); + else + QFont::insertSubstitution(".Helvetica Neue DeskInterface", "Lucida Grande"); + } + } #endif #endif } diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 09c79db2d9121..41ff608715353 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -107,7 +107,7 @@ namespace GUIUtil void openDebugLogfile(); // Replace invalid default fonts with known good ones - void SubstituteFonts(); + void SubstituteFonts(const QString& language); /** Qt event filter that intercepts ToolTipChange events, and replaces the tooltip with a rich text representation if needed. This assures that Qt can word-wrap long tooltip messages. diff --git a/src/qt/locale/bitcoin_ach.ts b/src/qt/locale/bitcoin_ach.ts index ddb9fb85ced6c..835ddb8eaa753 100644 --- a/src/qt/locale/bitcoin_ach.ts +++ b/src/qt/locale/bitcoin_ach.ts @@ -1,4 +1,4 @@ - + AddressBookPage diff --git a/src/qt/locale/bitcoin_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts index c369c3c68ff96..e22591e8c512e 100644 --- a/src/qt/locale/bitcoin_af_ZA.ts +++ b/src/qt/locale/bitcoin_af_ZA.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Dubbel-klik om die adres of etiket te wysig - Create a new address Skep 'n nuwe adres @@ -658,10 +654,6 @@ Loading addresses... Laai adresse... - - Invalid amount - Ongeldige bedrag - Insufficient funds Onvoldoende fondse diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index 101f51f8dcbf8..cd499612c75fa 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - أنقر بالماوس مرتين لتعديل العنوان او الوصف + Right-click to edit address or label + انقر بالزر الايمن لتعديل العنوان Create a new address @@ -294,6 +294,14 @@ Bitcoin Core client عميل bitcion core + + Importing blocks from disk... + استيراد كتل من القرص ... + + + Reindexing blocks on disk... + إعادة فهرسة الكتل على القرص + Send coins to a Bitcoin address ارسل عملات الى عنوان بيتكوين @@ -1144,10 +1152,6 @@ Copy change نسخ التعديل - - Total Amount %1 (= %2) - مجموع المبلغ %1 (= %2) - or أو @@ -1674,10 +1678,6 @@ Error: Disk space is low! تحذير: مساحة القرص منخفضة - - Error: Wallet locked, unable to create transaction! - تحذير: المحفظة مغلقة , لا تستطيع تنفيذ المعاملة - Failed to listen on any port. Use -listen=0 if you want this. فشل في الاستماع على أي منفذ. استخدام الاستماع = 0 إذا كنت تريد هذا. @@ -1746,10 +1746,6 @@ Invalid -proxy address: '%s' عنوان البروكسي غير صحيح : '%s' - - Invalid amount - قيمة غير صحيحة - Insufficient funds اموال غير كافية @@ -1770,10 +1766,6 @@ Done loading انتهاء التحميل - - To use the %s option - لاستخدام %s الخيار - Error خطأ diff --git a/src/qt/locale/bitcoin_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts index e63628396c889..786e0857a1917 100644 --- a/src/qt/locale/bitcoin_be_BY.ts +++ b/src/qt/locale/bitcoin_be_BY.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Двайны клік для рэдагавання адрасу ці пазнакі + Right-click to edit address or label + Правы клік, каб рэдагаваць адрас ці метку Create a new address @@ -65,10 +65,26 @@ Receiving addresses адрасы Прымання + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Тут знаходзяцца Біткойн-адрасы для высылання плацяжоў. Заўсёды спраўджвайце колькасць і адрас прызначэння перад здзяйсненнем транзакцыі. + + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Тут знаходзяцца Біткойн-адрасы для прымання плацяжоў. Пажадана выкарыстоўваць новы адрас для кожнай транзакцыі. + + + Copy &Label + Капіяваць Метку + &Edit Рэдагаваць + + Export Address List + Экспартаваць Спіс Адрасоў + Comma separated file (*.csv) Коскамі падзелены файл (*.csv) @@ -77,12 +93,16 @@ Exporting Failed Экспартаванне няўдалае - + + There was an error trying to save the address list to %1. Please try again. + Адбылася памылка падчас спробы захаваць адрас у %1. Паспрабуйце зноў. + + AddressTableModel Label - Пазнака + Метка Address @@ -95,6 +115,10 @@ AskPassphraseDialog + + Passphrase Dialog + Дыялог сакрэтнай фразы + Enter passphrase Увядзіце кодавую фразу @@ -147,6 +171,10 @@ Are you sure you wish to encrypt your wallet? Ці ўпэўненыя вы, што жадаеце зашыфраваць свой гаманец? + + 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. + ВАЖНА: Усе папярэднія копіі гаманца варта замяніць новым зашыфраваным файлам. У мэтах бяспекі папярэднія копіі незашыфраванага файла-гаманца стануць неўжывальнымі, калі вы станеце карыстацца новым зашыфраваным гаманцом. + Warning: The Caps Lock key is on! Увага: Caps Lock уключаны! @@ -155,6 +183,10 @@ Wallet encrypted Гаманец зашыфраваны + + 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>. + Увядзіце новы пароль для гаманца.<br/>Парольная фраза павинна складацца<b> не меньш чым з дзесяці сімвалаў</b>, ці <b>больш чым з васьмі слоў</b>. + Bitcoin 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. Bitcoin зачыняецца дзеля завяршэння працэсса шыфравання. Памятайце, што шыфраванне гаманца цалкам абараняе вашыя сродкі ад скрадання шкоднымі праграмамі якія могуць пранікнуць у ваш камп'ютар. @@ -242,10 +274,42 @@ &Encrypt Wallet... Зашыфраваць Гаманец... + + &Backup Wallet... + Стварыць копію гаманца... + + + &Change Passphrase... + &Change Passphrase... + + + &Sending addresses... + Адрасы дасылання... + + + &Receiving addresses... + Адрасы прымання... + Open &URI... Адчыниць &URI... + + Bitcoin Core client + Bitcoin Core кліент + + + Importing blocks from disk... + Імпартуюцца блокі з дыску... + + + Reindexing blocks on disk... + Пераіндэксацыя блокаў на дыску... + + + Send coins to a Bitcoin address + Даслаць манеты на Біткойн-адрас + Backup wallet to another location Зрабіце копію гаманца ў іншае месца @@ -258,6 +322,18 @@ &Debug window Вакно адладкі + + Open debugging and diagnostic console + Адкрыць кансоль дыягностыкі і адладкі + + + &Verify message... + Праверыць паведамленне... + + + Bitcoin + Біткойн + Wallet Гаманец @@ -270,6 +346,10 @@ &Receive Атрымаць + + Show information about Bitcoin Core + Паказаць інфармацыю аб Bitcoin Core + &Show / Hide &Паказаць / Схаваць @@ -282,6 +362,14 @@ Encrypt the private keys that belong to your wallet Зашыфраваць прыватныя ключы, якия належаць вашаму гаманцу + + Sign messages with your Bitcoin addresses to prove you own them + Падпісаць паведамленне з дапамогай Біткойн-адраса каб даказаць, што яно належыць вам + + + Verify messages to ensure they were signed with specified Bitcoin addresses + Спраўдзіць паведамленне з дапамогай Біткойн-адраса каб даказаць, што яно належыць вам + &File Ф&айл @@ -294,14 +382,74 @@ &Help Дапамога + + Bitcoin Core + Bitcoin Core + + + Request payments (generates QR codes and bitcoin: URIs) + Запатрабаваць плацёж (генеруецца QR-код для біткойн URI) + + + &About Bitcoin Core + Аб Bitcoin Core + + + Show the list of used sending addresses and labels + Паказаць спіс адрасоў і метак для дасылання + + + Show the list of used receiving addresses and labels + Паказаць спіс адрасоў і метак для прымання + + + Open a bitcoin: URI or payment request + Адкрыць біткойн: URI ці запыт плацяжу + + + &Command-line options + Опцыі каманднага радка + + + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options + Паказваць даведку Bitcoin Core каб атрымаць спіс магчымых опцый каманднага радка + %n active connection(s) to Bitcoin network - %n актыўнае злучэнне з Bitcoin-сецівам%n актыўных злучэнняў з Bitcoin-сецівам + %n актыўнае злучэнне з Bitcoin-сецівам%n актыўных злучэнняў з Bitcoin-сецівам%n актыўных злучэнняў з Bitcoin-сецівам%n актыўных злучэнняў з Bitcoin-сецівам + + + No block source available... + Крыніца блокаў недасяжная... + + + %1 and %2 + %1 і %2 + + + %1 behind + %1 таму + + + Last received block was generated %1 ago. + Апошні прыняты блок генераваны %1 таму. + + + Transactions after this will not yet be visible. + Транзакцыи пасля гэтай не будуць бачныя. Error Памылка + + Warning + Увага + + + Information + Інфармацыя + Up to date Сінхранізавана @@ -341,25 +489,81 @@ Address: %4 ClientModel - + + Network Alert + Трывога Сеціва + + CoinControlDialog + + Quantity: + Колькасць: + + + Bytes: + Байтаў: + Amount: Колькасць: + + Priority: + Прыярытэт: + + + Fee: + Камісія: + + + Dust: + Пыл: + + + After Fee: + Пасля камісіі: + + + (un)select all + (не)выбраць ўсё + + + Tree mode + Рэжым дрэва + + + List mode + Рэжым спіса + Amount Колькасць + + Received with label + Прыняць праз метку + + + Received with address + Прыняць праз адрас + Date Дата + + Confirmations + Пацверджанняў + Confirmed Пацверджана + + Priority + Прыярытэт + Copy address Капіяваць адрас @@ -376,6 +580,102 @@ Address: %4 Copy transaction ID Капіяваць ID транзакцыі + + Lock unspent + Замкнуць непатрачанае + + + Unlock unspent + Адамкнуць непатрачанае + + + Copy quantity + Капіяваць колькасць + + + Copy fee + Капіяваць камісію + + + Copy after fee + Капіяваць з выняткам камісіі + + + Copy bytes + Капіяваць байты + + + Copy priority + Капіяваць прыярытэт + + + Copy dust + Капіяваць пыл + + + highest + найвышэйшы + + + higher + вышэйшы + + + high + высокі + + + medium-high + вышэй сярэдняга + + + medium + сярэдні + + + low-medium + ніжэй сярэдняга + + + low + нізкі + + + lower + ніжэйшы + + + lowest + найніжэйшы + + + yes + так + + + no + не + + + This label turns red, if the transaction size is greater than 1000 bytes. + Гэта метка стане чырвонай, калі транзакцыя перавысіць 1000 байт. + + + This means a fee of at least %1 per kB is required. + Гэта значыць патрэбную камісію мінімум %1 на Кб. + + + Transactions with higher priority are more likely to get included into a block. + Транзакцыя большага прыярытэту больш прываблівая для ўключэння ў блок. + + + This label turns red, if the priority is smaller than "medium". + Гэта метка стане чырвонай, калі прыярытэт меньш чым "сярэдні". + + + This label turns red, if any recipient receives an amount smaller than %1. + Гэта метка стане чырвонай, калі любы з адрасатаў атрымае меньш чым %1. + (no label) непазначаны @@ -389,7 +689,7 @@ Address: %4 &Label - Пазнака + Метка &Address @@ -426,9 +726,25 @@ Address: %4 FreespaceChecker + + A new data directory will be created. + Будзе створаны новы каталог з данымі. + + + name + імя + + + Directory already exists. Add %1 if you intend to create a new directory here. + Каталог ужо існуе. Дадайце %1 калі вы збіраецеся стварыць тут новы каталог. + HelpMessageDialog + + Bitcoin Core + Bitcoin Core + (%1-bit) (%1-біт) @@ -437,13 +753,37 @@ Address: %4 About Bitcoin Core Аб Bitcoin Core + + Command-line options + Опцыі каманднага радка + Usage: Ужыванне: + + command-line options + опцыі каманднага радка + + + Start minimized + Стартаваць ммінімізаванай + Intro + + Welcome + Вітаем + + + Welcome to Bitcoin Core. + Вітаем у Bitcoin Core. + + + Bitcoin Core + Bitcoin Core + Error Памылка @@ -451,6 +791,10 @@ Address: %4 OpenURIDialog + + Open URI + Адкрыць URI + OptionsDialog @@ -458,6 +802,10 @@ Address: %4 Options Опцыі + + MB + Мб + OverviewPage @@ -489,7 +837,7 @@ Address: %4 ReceiveCoinsDialog &Label: - Пазнака: + Метка: Copy label @@ -512,7 +860,11 @@ Address: %4 Label - Пазнака + Метка + + + Message + Паведамленне @@ -523,7 +875,11 @@ Address: %4 Label - Пазнака + Метка + + + Message + Паведамленне Amount @@ -540,14 +896,38 @@ Address: %4 Send Coins Даслаць Манеты + + Quantity: + Колькасць: + + + Bytes: + Байтаў: + Amount: Колькасць: + + Priority: + Прыярытэт: + + + Fee: + Камісія: + + + After Fee: + Пасля камісіі: + Send to multiple recipients at once Даслаць адразу некалькім атрымальнікам + + Dust: + Пыл: + Balance: Баланс: @@ -560,10 +940,30 @@ Address: %4 Confirm send coins Пацвердзіць дасыланне манет + + Copy quantity + Капіяваць колькасць + Copy amount Капіяваць колькасць + + Copy fee + Капіяваць камісію + + + Copy after fee + Капіяваць з выняткам камісіі + + + Copy bytes + Капіяваць байты + + + Copy priority + Капіяваць прыярытэт + The amount to pay must be larger than 0. Велічыня плацяжу мае быць больш за 0. @@ -572,6 +972,10 @@ Address: %4 (no label) непазначаны + + Copy dust + Капіяваць пыл + SendCoinsEntry @@ -589,7 +993,7 @@ Address: %4 &Label: - Пазнака: + Метка: Alt+A @@ -603,7 +1007,11 @@ Address: %4 Alt+P Alt+P - + + Memo: + Памятка: + + ShutdownWindow @@ -624,6 +1032,10 @@ Address: %4 SplashScreen + + Bitcoin Core + Bitcoin Core + The Bitcoin Core developers Распрацоўнікі Bitcoin Core @@ -635,9 +1047,17 @@ Address: %4 TrafficGraphWidget - + + KB/s + Кб/с + + TransactionDesc + + %1/offline + %1/offline + %1/unconfirmed %1/непацверджана @@ -646,10 +1066,22 @@ Address: %4 %1 confirmations %1 пацверджанняў + + Status + Статус + Date Дата + + Message + Паведамленне + + + Comment + Каментар + Transaction ID ID @@ -849,7 +1281,7 @@ Address: %4 Label - Пазнака + Метка Address @@ -914,14 +1346,94 @@ Address: %4 Use the test network Ужываць тэставае сеціва + + Do you want to rebuild the block database now? + Ці жадаеце вы перабудаваць зараз базу звестак блокаў? + + + Error initializing block database + Памылка ініцыялізацыі базвы звестак блокаў + + + Error initializing wallet database environment %s! + Памалка ініцыялізацыі асяроддзя базы звестак гаманца %s! + + + Error loading block database + Памылка загрузкі базвы звестак блокаў + + + Error opening block database + Памылка адчынення базы звестак блокаў + + + Error: Disk space is low! + Памылка: Замала вольнага месца на дыску! + + + Importing... + Імпартаванне... + + + Not enough file descriptors available. + Не хапае файлавых дэскрыптараў. + + + Use UPnP to map the listening port (default: %u) + Use UPnP to map the listening port (default: %u) + + + Verifying blocks... + Праверка блокаў... + + + Verifying wallet... + Праверка гаманца... + + + Wallet options: + Опцыі гаманца: + + + Imports blocks from external blk000??.dat file + Імпартаванне блокаў з вонкавага blk000??.dat файла + + + Information + Інфармацыя + + + RPC server options: + Опцыі RPC сервера: + Send trace/debug info to console instead of debug.log file Слаць trace/debug звесткі ў кансоль замест файла debug.log + + Signing transaction failed + Памылка подпісу транзакцыі + + + This is experimental software. + Гэта эксперыментальная праграма. + + + Transaction amount too small + Транзакцыя занадта малая + + + Transaction too large + Транзакцыя занадта вялікая + Username for JSON-RPC connections Імя карыстальника для JSON-RPC злучэнняў + + Warning + Увага + Password for JSON-RPC connections Пароль для JSON-RPC злучэнняў @@ -954,10 +1466,6 @@ Address: %4 Error loading wallet.dat Памылка загрузкі wallet.dat - - Invalid amount - Памылковая колькасць - Insufficient funds Недастаткова сродкаў @@ -970,6 +1478,10 @@ Address: %4 Loading wallet... Загружаем гаманец... + + Cannot downgrade wallet + Немагчыма рэгрэсаваць гаманец + Rescanning... Перасканаванне... diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts index 3095aa117286e..ad9e899eaa275 100644 --- a/src/qt/locale/bitcoin_bg.ts +++ b/src/qt/locale/bitcoin_bg.ts @@ -1,18 +1,30 @@ - + AddressBookPage - Double-click to edit address or label - Двоен клик за редакция на адрес или име + Right-click to edit address or label + Десен клик за промяна на адреса или името Create a new address Създаване на нов адрес + + &New + Нов + Copy the currently selected address to the system clipboard Копиране на избрания адрес + + &Copy + Копирай + + + C&lose + Затвори + &Copy Address &Копирай @@ -25,10 +37,26 @@ Export the data in the current tab to a file Запишете данните от текущия раздел във файл + + &Export + Изнеси + &Delete &Изтриване + + Choose the address to send coins to + Изберете адрес, на който да се изпращат монети + + + Choose the address to receive coins with + Изберете адрес за получаване на монети + + + C&hoose + Избери + Sending addresses Адреси за изпращане @@ -37,6 +65,14 @@ Receiving addresses Адреси за получаване + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Това са адресите на получателите на плащания. Винаги проверявайте размера на сумата и адреса на получателя, преди да изпратите монети. + + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Това са Вашите Биткойн адреси,благодарение на които ще получавате плащания.Препоръчително е да използвате нови адреси за получаване за всяка транзакция. + Copy &Label Копирай &име @@ -57,7 +93,11 @@ Exporting Failed Грешка при изнасянето - + + There was an error trying to save the address list to %1. Please try again. + Възникна грешка при опита за запазване на списъка с адреси в %1.Моля опитайте отново. + + AddressTableModel @@ -75,6 +115,10 @@ AskPassphraseDialog + + Passphrase Dialog + Диалог за паролите + Enter passphrase Въведи парола @@ -186,6 +230,10 @@ &Overview &Баланс + + Node + Сървър + Show general overview of wallet Обобщена информация за портфейла @@ -230,14 +278,46 @@ &Change Passphrase... &Смяна на паролата... + + &Sending addresses... + &Изпращане на адресите... + + + &Receiving addresses... + &Получаване на адресите... + + + Open &URI... + Отвори &URI... + + + Bitcoin Core client + Bitcoin Core клиент + Send coins to a Bitcoin address Изпращане към Биткоин адрес + + Modify configuration options for Bitcoin + Променете настройките на Биткойн + + + Backup wallet to another location + Запазване на портфейла на друго място + Change the passphrase used for wallet encryption Променя паролата за портфейла + + &Debug window + &Прозорец за отстраняване на грешки + + + Open debugging and diagnostic console + Отворете конзолата за диагностика и отстраняване на грешки + &Verify message... &Проверка на съобщение... @@ -254,6 +334,14 @@ &Send &Изпращане + + &Receive + &Получаване + + + Show information about Bitcoin Core + Покажете информация за Биткойн ядрото + &Show / Hide &Покажи / Скрий @@ -262,6 +350,18 @@ Show or hide the main Window Показване и скриване на основния прозорец + + Encrypt the private keys that belong to your wallet + Шифроване на личните ключове,които принадлежат на портфейла Ви. + + + Sign messages with your Bitcoin addresses to prove you own them + Пишете съобщения със своя Биткойн адрес за да докажете,че е ваш. + + + Verify messages to ensure they were signed with specified Bitcoin addresses + Потвърждаване на съобщения за да се знае,че са написани с дадените Биткойн адреси. + &File &Файл @@ -278,10 +378,46 @@ Tabs toolbar Раздели + + Bitcoin Core + Биткойн ядро + + + Request payments (generates QR codes and bitcoin: URIs) + Изискване на плащания(генерира QR кодове и биткойн: URIs) + + + &About Bitcoin Core + &Относно Bitcoin Core + + + Show the list of used sending addresses and labels + Показване на списъка с използвани адреси и имена + + + Show the list of used receiving addresses and labels + Покажи списък с използваните адреси и имена. + + + Open a bitcoin: URI or payment request + Отворете биткойн: URI или заявка за плащане + + + &Command-line options + &Налични команди + + + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options + Покажи помощните съобщения на Биткойн за да видиш наличните и валидни команди + %n active connection(s) to Bitcoin network %n връзка към Биткоин мрежата%n връзки към Биткоин мрежата + + No block source available... + Липсва източник на блоковете... + %n hour(s) %n час%n часа @@ -302,6 +438,14 @@ %n year(s) %n година%n години + + %1 behind + %1 зад + + + Transactions after this will not yet be visible. + Транзакции след това няма все още да бъдат видими. + Error Грешка @@ -318,6 +462,10 @@ Up to date Синхронизиран + + Processed %n blocks of transaction history. + Обслужени %n блокове от историята с транзакции.Обслужени %n блокове от историята с транзакции. + Catching up... Зарежда блокове... @@ -330,6 +478,18 @@ Incoming transaction Входяща трансакция + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + Дата: %1 +Сума: %2 +Вид: %3 +Адрес: %4 + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> Портфейлът е <b>криптиран</b> и <b>отключен</b> @@ -341,9 +501,21 @@ ClientModel - + + Network Alert + Мрежови проблем + + CoinControlDialog + + Coin Selection + Избор на монета + + + Quantity: + Количество: + Bytes: Байтове: @@ -360,10 +532,42 @@ Fee: Такса: + + Dust: + Прах: + + + After Fee: + След прилагане на ДДС + + + Change: + Ресто + + + (un)select all + (Пре)махни всички + + + Tree mode + Дървовиден режим + + + List mode + Списъчен режим + Amount Сума + + Received with label + Получени с име + + + Received with address + Получени с адрес + Date Дата @@ -392,6 +596,90 @@ Copy amount Копирай сума + + Copy transaction ID + Копирай транзакция с ID + + + Lock unspent + Заключване на неизхарченото + + + Unlock unspent + Отключване на неизхарченото + + + Copy quantity + Копиране на количеството + + + Copy fee + Копиране на данък добавена стойност + + + Copy after fee + Копиране след прилагане на данък добавена стойност + + + Copy bytes + Копиране на байтовете + + + Copy priority + Копиране на приоритет + + + Copy dust + Копирай прахта: + + + Copy change + Копирай рестото + + + highest + Най-висок + + + higher + По-висок + + + high + Висок + + + medium-high + Средно-висок + + + medium + Среден + + + low-medium + Ниско-среден + + + low + Нисък + + + lower + По-нисък + + + lowest + Най-нисък + + + (%1 locked) + (%1 заключен) + + + none + нищо + yes да @@ -400,11 +688,31 @@ no не + + This means a fee of at least %1 per kB is required. + Това означава че се изисква такса от поне %1 на килобайт. + + + Can vary +/- 1 byte per input. + Може да варира с +-1 байт + + + This label turns red, if any recipient receives an amount smaller than %1. + Това наименование се оцветява в червено, ако произволен получател получи сума по-малка от %1. + (no label) (без име) - + + change from %1 (%2) + ресто от %1 (%2) + + + (change) + (промени) + + EditAddressDialog @@ -462,32 +770,92 @@ name име + + Directory already exists. Add %1 if you intend to create a new directory here. + Директорията вече съществува.Добавете %1 ако желаете да добавите нова директория тук. + Path already exists, and is not a directory. Пътят вече съществува и не е папка. - + + Cannot create data directory here. + Не може да се създаде директория тук. + + HelpMessageDialog + + Bitcoin Core + Биткойн ядро + version версия + + (%1-bit) + (%1-битов) + + + About Bitcoin Core + За Bitcoin Core + + + Command-line options + Списък с команди + Usage: Използване: + + command-line options + Списък с налични команди + UI options UI Опции - + + Set language, for example "de_DE" (default: system locale) + Задаване на език,например "de_DE" (по подразбиране: system locale) + + + Start minimized + Стартирай минимизирано + + + Choose data directory on startup (default: 0) + Изберете директория при стартиране на програмата.( настройка по подразбиране:0) + + Intro Welcome Добре дошли + + Welcome to Bitcoin Core. + Добре дошли в Биткойн ядрото. + + + As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. + Тъй като това е първото стартиране на програмата можете да изберете къде Биткон ядрото да запази данните си. + + + Use the default data directory + Използване на директория по подразбиране + + + Use a custom data directory: + Използване на директория ръчно + + + Bitcoin Core + Биткойн ядро + Error Грешка @@ -495,6 +863,10 @@ OpenURIDialog + + Open URI + Отваряне на URI + OptionsDialog @@ -506,14 +878,62 @@ &Main &Основни + + Automatically start Bitcoin after logging in to the system. + Автоматично включване на Биткойн след влизане в системата. + &Start Bitcoin on system login &Пускане на Биткоин при вход в системата + + Size of &database cache + Размер на кеша в &базата данни + + + MB + Мегабайта + + + Accept connections from outside + Приемай връзки отвън + + + Allow incoming connections + Позволи входящите връзки + + + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + IP адрес на прокси (напр. за IPv4: 127.0.0.1 / за IPv6: ::1) + + + Third party transaction URLs + URL адреси на трети страни + + + Reset all client options to default. + Възстановете всички настройки по подразбиране. + + + &Reset Options + &Нулирай настройките + &Network &Мрежа + + W&allet + По&ртфейл + + + Expert + Експерт + + + &Spend unconfirmed change + &Похарчете непотвърденото ресто + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Автоматично отваряне на входящия Bitcoin порт. Работи само с рутери поддържащи UPnP. @@ -522,6 +942,14 @@ Map port using &UPnP Отваряне на входящия порт чрез &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Свързване с Биткойн мрежата чрез SOCKS5 прокси. + + + &Connect through SOCKS5 proxy (default proxy): + &Свързване чрез SOCKS5 прокси (прокси по подразбиране): + Proxy &IP: Прокси & АйПи: @@ -574,6 +1002,10 @@ Choose the default subdivision unit to show in the interface and when sending coins. Изберете единиците, показвани по подразбиране в интерфейса. + + Whether to show coin control features or not. + Дали да покаже възможностите за контрол на монетите или не. + &OK ОК @@ -586,6 +1018,26 @@ default подразбиране + + none + нищо + + + Confirm options reset + Потвърдете отмяната на настройките. + + + Client restart required to activate changes. + Изисква се рестартиране на клиента за активиране на извършените промени. + + + Client will be shutdown, do you want to proceed? + Клиентът ще бъде изключен,искате ли да продължите? + + + This change would require a client restart. + Тази промяна изисква рестартиране на клиента Ви. + The supplied proxy address is invalid. Прокси адресът е невалиден. @@ -597,120 +1049,456 @@ Form Форма + + The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. + Текущата информация на екрана може да не е актуална. Вашият портфейл ще се синхронизира автоматично с мрежата на Биткоин, щом поне една връзката с нея се установи; този процес все още не е приключил. + + + Watch-only: + В наблюдателен режим: + Available: Налично: + + Your current spendable balance + Вашата текуща сметка за изразходване + Pending: Изчакващо: - Total: + Immature: + Неразвит: + + + Mined balance that has not yet matured + Миниран баланс,който все още не се е развил + + + Balances + Баланс + + + Total: + Общо: + + + Your current total balance + Текущият ви общ баланс + + + Spendable: + За харчене: + + + Recent transactions + Скорошни транзакции + + + out of sync + несинхронизиран + + + + PaymentServer + + URI handling + Справяне с URI + + + Invalid payment address %1 + Невалиден адрес на плащане %1 + + + Payment request rejected + Заявката за плащане беше отхвърлена + + + Payment request network doesn't match client network. + Мрежата от която се извършва заявката за плащане не съвпада с мрежата на клиента. + + + Payment request has expired. + Заявката за плащане е изтекла. + + + Requested payment amount of %1 is too small (considered dust). + Заявената сума за плащане: %1 е твърде малка (счита се за отпадък) + + + Payment request error + Възникна грешка по време назаявката за плащане + + + Cannot start bitcoin: click-to-pay handler + Биткойн не можe да се стартира: click-to-pay handler + + + Payment request file handling + Файл за справяне със заявки + + + Refund from %1 + Възстановяване на сума от %1 + + + Payment request DoS protection + Дос защита на заявката за плащане + + + Error communicating with %1: %2 + Грешка при комуникацията с %1: %2 + + + Bad response from server %1 + Възникна проблем при свързването със сървър %1 + + + Payment acknowledged + Плащането е прието + + + Network request error + Грешка в мрежата по време на заявката + + + + PeerTableModel + + User Agent + Клиент на потребителя + + + Address/Hostname + Адрес в интернет + + + Ping Time + Време за отговор + + + + QObject + + Amount + Сума + + + Enter a Bitcoin address (e.g. %1) + Въведете Биткойн адрес (например: %1) + + + %1 d + %1 ден + + + %1 h + %1 час + + + %1 m + %1 минута + + + %1 s + %1 секунда + + + NETWORK + Мрежа + + + UNKNOWN + Неизвестен + + + None + Неналичен + + + N/A + Несъществуващ + + + %1 ms + %1 милисекунда + + + + QRImageWidget + + &Save Image... + &Запиши изображение... + + + &Copy Image + &Копирай изображение + + + Save QR Code + Запази QR Код + + + PNG Image (*.png) + PNG Изображение (*.png) + + + + RPCConsole + + Client name + Име на клиента + + + N/A + N/A + + + Client version + Версия на клиента + + + &Information + Данни + + + Debug window + Прозорец с грешки + + + General + Основни + + + Using OpenSSL version + Използване на OpenSSL версия + + + Using BerkeleyDB version + Използване на база данни BerkeleyDB + + + Startup time + Време за стартиране + + + Network + Мрежа + + + Name + Име + + + Number of connections + Брой връзки + + + Current number of blocks + Текущ брой блокове + + + Received + Получени + + + Sent + Изпратени + + + &Peers + &Пиъри + + + Select a peer to view detailed information. + Избери пиър за детайлна информация. + + + Direction + Посока + + + Version + Версия + + + User Agent + Клиент на потребителя + + + Services + Услуги + + + Starting Height + Стартова височина + + + Connection Time + Продължителност на връзката + + + Last Send + Изпратени за последно + + + Last Receive + Получени за последно + + + Bytes Sent + Изпратени байтове + + + Bytes Received + Получени байтове + + + Ping Time + Време за отговор + + + Last block time + Време на последния блок + + + &Open + &Отвори + + + &Console + &Конзола + + + &Network Traffic + &Мрежов Трафик + + + &Clear + &Изчисти + + + Totals Общо: - Your current total balance - Текущият ви общ баланс + In: + Входящи: - out of sync - несинхронизиран + Out: + Изходящи - - - PaymentServer - Payment acknowledged - Плащането е приета + Build date + Дата на създаване - - - PeerTableModel - - - QObject - Amount - Сума + Debug log file + Лог файл,съдържащ грешките - N/A - N/A + Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. + Отворете Биткой дебъг лог файла от настоящата Data папка. Може да отнеме няколко секунди при по - големи лог файлове. - - - QRImageWidget - - - RPCConsole - Client name - Име на клиента + Clear console + Изчисти конзолата - N/A - N/A + Welcome to the Bitcoin RPC console. + Добре дошли в Биткойн RPC конзолата. - Client version - Версия на клиента + Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. + Използвайте стрелки надолу и нагореза разглеждане на историятаот команди и <b>Ctrl-L</b> за изчистване на конзолата. - &Information - Данни + Type <b>help</b> for an overview of available commands. + Въведeте </b>помощ</b> за да видите наличните команди. - Using OpenSSL version - Използване на OpenSSL версия + %1 B + %1 Байт - Network - Мрежа + %1 KB + %1 Килобайт - Name - Име + %1 MB + %1 Мегабайт - Number of connections - Брой връзки + %1 GB + %1 Гигабайт - Current number of blocks - Текущ брой блокове + via %1 + посредством %1 - Last block time - Време на последния блок + never + Никога - Totals - Общо: + Inbound + Входящи - Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - Отворете Биткой дебъг лог файла от настоящата Data папка. Може да отнеме няколко секунди при по - големи лог файлове. + Outbound + Изходящи - Clear console - Изчисти конзолата + Unknown + Неизвестен - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Използвайте стрелки надолу и нагореза разглеждане на историятаот команди и <b>Ctrl-L</b> за изчистване на конзолата. + Fetching... + Прихващане... - + ReceiveCoinsDialog + + &Amount: + &Сума + &Label: &Име: + + &Message: + &Съобщение: + + + Use this form to request payments. All fields are <b>optional</b>. + Използвате този формуляр за заявяване на плащания. Всички полета са <b>незадължителни</b>. + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + Незадължително заявяване на сума. Оставете полето празно или нулево, за да не заявите конкретна сума. + + + Clear all fields of the form. + Изчисти всички полета от формуляра. + Clear Изчистване + + Requested payments history + Изискана история на плащанията + + + &Request payment + &Изискване на плащане + Show Показване @@ -734,6 +1522,26 @@ ReceiveRequestDialog + + QR Code + QR код + + + Copy &URI + Копиране на &URI + + + Copy &Address + &Копирай адрес + + + &Save Image... + &Запиши изображение... + + + Request payment to %1 + Изискване на плащане от %1 + Payment information Данни за плащането @@ -781,13 +1589,37 @@ (no label) (без име) - + + (no message) + (без съобщение) + + + (no amount) + (липсва сума) + + SendCoinsDialog Send Coins Изпращане + + Coin Control Features + Настройки за контрол на монетите + + + automatically selected + астоматично избран + + + Insufficient funds! + Нямате достатъчно налични пари! + + + Quantity: + Количество: + Bytes: Байтове: @@ -804,6 +1636,58 @@ Fee: Такса: + + After Fee: + След прилагане на ДДС + + + Change: + Ресто + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Ако тази опция е активирана,но адресът на промяна е празен или невалиден,промяната ще бъде изпратена на новосъздаден адрес. + + + Transaction Fee: + Такса за транзакцията: + + + Choose... + Избери... + + + Minimize + Минимизирай + + + per kilobyte + за килобайт + + + total at least + Крайна сума поне + + + Recommended: + Препоръчителна: + + + Custom: + По избор: + + + Confirmation time: + Време за потвърждение: + + + normal + нормален + + + fast + бърз + Send to multiple recipients at once Изпращане към повече от един получател @@ -812,6 +1696,14 @@ Add &Recipient Добави &получател + + Clear all fields of the form. + Изчисти всички полета от формуляра. + + + Dust: + Прах: + Clear &All &Изчисти @@ -832,10 +1724,34 @@ Confirm send coins Потвърждаване + + Copy quantity + Копиране на количеството + Copy amount Копирай сума + + Copy fee + Копиране на данък добавена стойност + + + Copy after fee + Копиране след прилагане на данък добавена стойност + + + Copy bytes + Копиране на байтовете + + + Copy priority + Копиране на приоритет + + + Copy change + Копирай рестото + or или @@ -852,14 +1768,38 @@ The amount exceeds your balance. Сумата надвишава текущия баланс + + The total exceeds your balance when the %1 transaction fee is included. + Сумата при добавяне на данък добавена стойност по %1 транзакцията надвишава сумата по вашата сметка. + Transaction creation failed! - Грешка при създаването на трансакция! + Грешка при създаването на транзакция! + + + A fee higher than %1 is considered an insanely high fee. + Такса по-висока от %1 се смята за извънредно висока. + + + Pay only the minimum fee of %1 + Платете минималната такса от %1 + + + Warning: Invalid Bitcoin address + Внимание: Невалиден Биткойн адрес (no label) (без име) + + Warning: Unknown change address + Внимание:Неизвестен адрес за промяна + + + Copy dust + Копирай прахта: + Are you sure you want to send? Наистина ли искате да изпратите? @@ -887,6 +1827,10 @@ &Label: &Име: + + Choose previously used address + Изберете използван преди адрес + This is a normal payment. Това е нормално плащане. @@ -911,14 +1855,34 @@ Message: Съобщение: + + This is a verified payment request. + Това е потвърдена транзакция. + + + This is an unverified payment request. + Това е непотвърдена заявка за плащане. + Pay To: Плащане на: - + + Memo: + Бележка: + + ShutdownWindow - + + Bitcoin Core is shutting down... + Биткойн ядрото се изключва... + + + Do not shut down the computer until this window disappears. + Не изключвайте компютъра докато този прозорец не изчезне. + + SignVerifyMessageDialog @@ -933,6 +1897,10 @@ You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Можете да подпишете съобщение като доказателство, че притежавате определен адрес. Бъдете внимателни и не подписвайте съобщения, които биха разкрили лична информация без вашето съгласие. + + Choose previously used address + Изберете използван преди адрес + Alt+A Alt+A @@ -977,6 +1945,10 @@ Verify the message to ensure it was signed with the specified Bitcoin address Проверете съобщение, за да сте сигурни че е подписано с определен Биткоин адрес + + Verify &Message + Потвърди &съобщението + Click "Sign Message" to generate signature Натиснете "Подписване на съобщение" за да създадете подпис @@ -989,6 +1961,10 @@ Please check the address and try again. Моля проверете адреса и опитайте отново. + + The entered address does not refer to a key. + Въведеният адрес не може да се съпостави с валиден ключ. + Wallet unlock was cancelled. Отключването на портфейла беше отменено. @@ -1028,6 +2004,14 @@ SplashScreen + + Bitcoin Core + Биткойн ядро + + + The Bitcoin Core developers + Разработчици на Bitcoin Core + [testnet] [testnet] @@ -1035,13 +2019,21 @@ TrafficGraphWidget - + + KB/s + Килобайта в секунда + + TransactionDesc Open until %1 Подлежи на промяна до %1 + + conflicted + припокриващ се + %1/offline %1/офлайн @@ -1098,6 +2090,14 @@ Debit Дебит + + Total debit + Общ дълг + + + Total credit + Общ дълг + Transaction fee Такса @@ -1122,6 +2122,14 @@ Merchant Търговец + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + Генерираните монети трябва да отлежат %1 блока преди да могат да бъдат похарчени. Когато генерираш блока, той се разпространява в мрежата, за да се добави в блок-веригата. Ако не успее да се добави във веригата, неговия статус ще се стане "неприет" и няма да може да се похарчи. Това е възможно да се случи случайно, ако друг възел генерира блок няколко секунди след твоя. + + + Debug information + Информация за грешките + Transaction Трансакция @@ -1172,6 +2180,10 @@ Address Адрес + + Immature (%1 confirmations, will be available after %2) + Неплатим (%1 потвърждения, ще бъде платим след %2) + Open until %1 Подлежи на промяна до %1 @@ -1188,6 +2200,10 @@ Generated but not accepted Генерирана, но отхвърлена от мрежата + + Offline + Извън линия + Unconfirmed Непотвърдено @@ -1315,6 +2331,10 @@ Copy amount Копирай сума + + Copy transaction ID + Копирай транзакция с ID + Edit label Редактирай име @@ -1335,6 +2355,10 @@ Exporting Successful Изнасянето е успешна + + The transaction history was successfully saved to %1. + Историята с транзакциите беше успешно запазена в %1. + Comma separated file (*.csv) CSV файл (*.csv) @@ -1391,6 +2415,10 @@ WalletView + + &Export + Изнеси + Export the data in the current tab to a file Запишете данните от текущия раздел във файл @@ -1399,7 +2427,27 @@ Backup Wallet Запазване на портфейла - + + Wallet Data (*.dat) + Информация за портфейла (*.dat) + + + Backup Failed + Неуспешно запазване на портфейла + + + There was an error trying to save the wallet data to %1. + Възникна грешка при запазването на информацията за портфейла в %1. + + + The wallet data was successfully saved to %1. + Информацията за портфейла беше успешно запазена в %1. + + + Backup Successful + Успешно запазване на портфейла + + bitcoin-core @@ -1410,22 +2458,50 @@ Specify data directory Определете директория за данните + + Connect to a node to retrieve peer addresses, and disconnect + Свържете се към сървър за да можете да извлечете адресите на пиърите след което се разкачете. + + + Specify your own public address + Въведете Ваш публичен адрес + Use the test network Използвайте тестовата мрежа + + Accept connections from outside (default: 1 if no -proxy or -connect) + Приемайте връзки отвън.(по подразбиране:1 в противен случай -proxy или -connect) + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. Внимание: -paytxfee има голяма стойност! Това е таксата за транзакциите, която ще платите ако направите транзакция. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Сложете в бял списък пиъри,свързващи се от дадената интернет маска или айпи адрес.Може да бъде заложено неколкократно. + (default: 1) (по подразбиране 1) + + <category> can be: + <category> може да бъде: + Connection options: Настройки на връзката: + + Do you want to rebuild the block database now? + Желаете ли да пресъздадете базата данни с блокове сега? + + + Error initializing block database + Грешка в пускането на базата данни с блокове + Error: Disk space is low! Грешка: мястото на диска е малко! @@ -1450,14 +2526,42 @@ Wallet options: Настройки на портфейла: + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Заложете броя на нишки за генерация на монети ако е включено(-1 = всички ядра, по подразбиране: %d) + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Внимание: -maxtxfee има много висока стойност! Толкова високи такси могат да бъдат заплатени на една транзакция. + + + Connect through SOCKS5 proxy + Свързване чрез SOCKS5 прокси + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Всички права запазени (C) 2009-%i Доставчиците на Биткойн + Information Данни + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Невалидна сума за -minrelaytxfee=<amount>: '%s' + + + Invalid amount for -mintxfee=<amount>: '%s' + Невалидна сума за -mintxfee=<amount>: '%s' + Send trace/debug info to console instead of debug.log file Изпрати локализиращата или дебъг информацията към конзолата, вместо файлът debug.log + + This is experimental software. + Това е експериментален софтуер. + Transaction amount too small Сумата на трансакцията е твърде малка @@ -1482,6 +2586,10 @@ Warning: This version is obsolete, upgrade required! Внимание: Използвате остаряла версия, необходимо е обновление! + + on startup + по време на стартирането + Password for JSON-RPC connections Парола за JSON-RPC връзките @@ -1518,6 +2626,22 @@ Invalid -proxy address: '%s' Невалиден -proxy address: '%s' + + Specify configuration file (default: %s) + Назовете конфигурационен файл(по подразбиране %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Задайте време на изключване при проблеми със свързването в милисекунди(минимум:1, по подразбиране %d) + + + Specify pid file (default: %s) + Задайте pid файл(по подразбиране: %s) + + + Invalid amount for -paytxfee=<amount>: '%s' + Невалидна сума за -paytxfee=<amount>: '%s' + Insufficient funds Недостатъчно средства diff --git a/src/qt/locale/bitcoin_bs.ts b/src/qt/locale/bitcoin_bs.ts index 86526022fe2ea..fc5e6d270e762 100644 --- a/src/qt/locale/bitcoin_bs.ts +++ b/src/qt/locale/bitcoin_bs.ts @@ -1,4 +1,4 @@ - + AddressBookPage diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts index 8f06ac3aa707b..3b36e3ca40e16 100644 --- a/src/qt/locale/bitcoin_ca.ts +++ b/src/qt/locale/bitcoin_ca.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Feu doble clic per editar l'adreça o l'etiqueta + Right-click to edit address or label + Feu clic dret per a editar l'adreça o l'etiqueta Create a new address @@ -478,6 +478,10 @@ Up to date Al dia + + Processed %n blocks of transaction history. + S'ha processat %n bloc de l'historial de transacció.S'han processat %n blocs de l'historial de transacció. + Catching up... S'està posant al dia ... @@ -516,6 +520,10 @@ Address: %4 CoinControlDialog + + Coin Selection + Selecció de moneda + Quantity: Quantitat: @@ -534,7 +542,7 @@ Address: %4 Fee: - Quota: + Comissió Dust: @@ -542,7 +550,7 @@ Address: %4 After Fee: - Quota posterior: + Comissió posterior: Change: @@ -562,7 +570,15 @@ Address: %4 Amount - Quantitat + Import + + + Received with label + Rebut amb l'etiqueta + + + Received with address + Rebut amb l'adreça Date @@ -694,7 +710,7 @@ Address: %4 This means a fee of at least %1 per kB is required. - Això comporta una comissi d'almenys %1 per kB. + Això comporta una comissió d'almenys %1 per kB. Can vary +/- 1 byte per input. @@ -729,7 +745,7 @@ Address: %4 EditAddressDialog Edit Address - Editar Adreça + Edita l'adreça &Label @@ -839,7 +855,7 @@ Address: %4 Set language, for example "de_DE" (default: system locale) - Defineix un idioma, per exemple "de_DE" (per defecte: preferències locals de sistema) + Defineix un idioma, per exemple «de_DE» (per defecte: preferències locals de sistema) Start minimized @@ -896,7 +912,15 @@ Address: %4 Error Error - + + %n GB of free space available + %n GB d'espai lliure disponible%n GB d'espai lliure disponible + + + (of %n GB needed) + (de %n GB necessari)(de %n GB necessaris) + + OpenURIDialog @@ -1018,6 +1042,14 @@ Address: %4 Map port using &UPnP Port obert amb &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Connecta a la xarxa Bitcoin a través d'un proxy SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Connecta a través d'un proxy SOCKS5 (proxy per defecte): + Proxy &IP: &IP del proxy: @@ -1149,6 +1181,10 @@ Address: %4 Mined balance that has not yet matured Balanç minat que encara no ha madurat + + Balances + Balances + Total: Total: @@ -1161,6 +1197,14 @@ Address: %4 Your current balance in watch-only addresses El vostre balanç actual en adreces de només lectura + + Spendable: + Que es pot gastar: + + + Recent transactions + Transaccions recents + Unconfirmed transactions to watch-only addresses Transaccions sense confirmar a adreces de només lectura @@ -1240,6 +1284,14 @@ Address: %4 Refund from %1 Reemborsament de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La sol·licitud de pagament %1 és massa gran (%2 bytes, permès %3 bytes). + + + Payment request DoS protection + Protecció de DoS per a la sol·licitud de pagament + Error communicating with %1: %2 Error en comunicar amb %1: %2 @@ -1280,7 +1332,7 @@ Address: %4 QObject Amount - Quantitat + Import Enter a Bitcoin address (e.g. %1) @@ -1782,7 +1834,7 @@ Address: %4 After Fee: - Quota posterior: + Comissió posterior: Change: @@ -1796,6 +1848,78 @@ Address: %4 Custom change address Personalitza l'adreça de canvi + + Transaction Fee: + Comissió de transacció + + + Choose... + Tria... + + + collapse fee-settings + redueix els paràmetres de comissió + + + Minimize + Minimitza + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la comissió personalitzada es defineix a 1000 satoshis i la transacció és de només 250 bytes, llavors «per kilobyte» només es paguen 250 satoshis en una comissió, mentre que amb la de «com a mínim» es pagarien 1000 satoshis. Per a transaccions superiors al kilobyte, en tots dos casos es paga per kilobyte. + + + per kilobyte + per kilobyte + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la comissió personalitzada es defineix a 1000 satoshis i la transacció és de només 250 bytes, llavors «per kilobyte» només es paguen 250 satoshis en una comissió, mentre que amb la de «total com a mínim» es pagarien 1000 satoshis. Per a transaccions superiors al kilobyte, en tots dos casos es paga per kilobyte. + + + total at least + total com a mínim + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de bitcoins que la xarxa pugui processar. + + + (read the tooltip) + (llegiu l'indicador de funció) + + + Recommended: + Recomanada: + + + Custom: + Personalitzada: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (No s'ha inicialitzat encara la comissió intel·ligent. Normalment pren uns pocs blocs...) + + + Confirmation time: + Temps de confirmació: + + + normal + normal + + + fast + ràpid + + + Send as zero-fee transaction if possible + Envia com a transacció de comissió zero si és possible + + + (confirmation may take longer) + (la confirmació pot trigar més temps) + Send to multiple recipients at once Envia a múltiples destinataris al mateix temps @@ -1846,7 +1970,7 @@ Address: %4 Copy fee - Copia la comissi + Copia la comissió Copy after fee @@ -1864,10 +1988,6 @@ Address: %4 Copy change Copia el canvi - - Total Amount %1 (= %2) - Import total %1 (= %2) - or o @@ -1886,7 +2006,7 @@ Address: %4 The total exceeds your balance when the %1 transaction fee is included. - El total excedeix el teu balanç quan s'afegeix la comisió a la transacció %1. + El total excedeix el teu balanç quan s'afegeix la comissió a la transacció %1. Duplicate address found, can only send to each address once per send operation. @@ -1900,6 +2020,18 @@ Address: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. S'ha rebutjat la transacció! Això pot passar si alguna de les monedes del vostre moneder ja s'han gastat; per exemple, si heu fet servir una còpia de seguretat del fitxer wallet.dat i s'haguessin gastat monedes de la còpia però sense marcar-les-hi com a gastades. + + A fee higher than %1 is considered an insanely high fee. + Una comissió superior a %1 es considera una comissió excessiva. + + + Pay only the minimum fee of %1 + Paga només la comissió mínima de %1 + + + Estimated to begin confirmation within %1 block(s). + Estimat per a començar la confirmació en %1 bloc(s). + Warning: Invalid Bitcoin address Avís: adreça Bitcoin no vàlida @@ -2300,7 +2432,7 @@ Address: %4 Amount - Quantitat + Import true @@ -2428,6 +2560,10 @@ Address: %4 Type of transaction. Tipus de transacció. + + Whether or not a watch-only address is involved in this transaction. + Si està implicada o no una adreça només de lectura en la transacció. + Destination address of transaction. Adreça del destinatari de la transacció. @@ -2523,6 +2659,10 @@ Address: %4 Export Transaction History Exporta l'historial de transacció + + Watch-only + Només de lectura + Exporting Failed L'exportació ha fallat @@ -2666,29 +2806,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accepta connexions de fora (per defecte: 1 si no -proxy o -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, heu de establir una contrasenya RPC al fitxer de configuració: %s -Es recomana que useu la següent contrasenya aleatòria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no necesiteu recordar aquesta contrasenya) -El nom d'usuari i la contrasenya NO HAN de ser els mateixos. -Si el fitxer no existeix, crea'l amb els permisos de fitxer de només lectura per al propietari. -També es recomana establir la notificació d'alertes i així sereu notificat de les incidències; -per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincula a una adreça específica i sempre escolta-hi. Utilitza la notació [host]:port per IPv6 @@ -2698,16 +2815,12 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Elimina totes les transaccions del moneder i només recupera aquelles de la cadena de blocs a través de -rescan a l'inici - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuït sota llicència de programari MIT. Vegeu el fitxer acompanyant COPYING o <http://www.opensource.org/licenses/mit-license.php>. - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Error: La transacció ha estat rebutjada. Això pot passar si alguna de les monedes del teu moneder ja s'han gastat, com si haguesis usat una copia de l'arxiu wallet.dat i s'haguessin gastat monedes de la copia però sense marcar com gastades en aquest. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: Aquesta transacció requereix una comissió d'almenys %s degut al seu import, complexitat o per l'ús de fons recentment rebuts! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2749,6 +2862,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat desat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Afegeix a la llista blanca els iguals que es connecten de la màscara de xarxa o adreça IP donada. Es pot especificar moltes vegades. + (default: 1) (per defecte: 1) @@ -2813,10 +2930,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Error: Espai al disc baix! - - Error: Wallet locked, unable to create transaction! - Error: El moneder està bloquejat, no és possible crear la transacció! - Failed to listen on any port. Use -listen=0 if you want this. Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això. @@ -2841,6 +2954,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. No hi ha suficient descriptors de fitxers disponibles. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Només connecta als nodes de la xarxa <net> (ipv4, ipv6 o onion) + Rebuild block chain index from current blk000??.dat files Reconstrueix l'índex de la cadena de blocs dels fitxers actuals blk000??.dat @@ -2861,6 +2978,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com This is intended for regression testing tools and app development. Això es així per a eines de proves de regressió per al desenvolupament d'aplicacions. + + Use UPnP to map the listening port (default: %u) + Utilitza UPnP per a mapejar el port d'escolta (per defecte: %u) + Verifying blocks... S'estan verificant els blocs... @@ -2901,6 +3022,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. No es pot obtenir un bloqueig del directori de dades %s. El Bitcoin Core probablement ja s'estigui executant. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Limita contínuament la freqüència de les transaccions gratuïtes a <n>*1000 bytes per minut (per defecte: %u) + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) Crea fitxers nous amb els permisos per defecte del sistema, en comptes de l'umask 077 (només efectiu amb la funcionalitat de moneder inhabilitada) @@ -2925,18 +3050,69 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la creació de la transacció (per defecte: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencin a confirmar-se en una mitja de n blocs (per defecte: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Import no vàlid per a -maxtxfee=<amount>: '%s' (cal que sigui com a mínim la comissió de minrelay de %s per evitar que les comissions s'encallin) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meves (per defecte: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Comissions totals màximes que s'utilitzaran en una transacció d'un únic moneder. Si es defineix un valor massa baix les transaccions més grans poden interrompre's (per defecte: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Es requereix una prioritat alta per retransmetre transaccions gratuïtes o de baixa comissió (per defecte:%u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Defineix la mida màxima de transaccions d'alta prioritat / baixa comissió en bytes (per defecte: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Defineix el nombre de fils per a la generació de moneda si està habilitat (-1 = tots els nuclis, per defecte: %d) + 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. Aquest producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: +%s +Es recomana que utilitzeu la contrasenya aleatòria següent: +rpcuser=bitcoinrpc +rpcpassword=%s +(no cal que recordeu la contrasenya) +El nom d'usuari i la contrasenya NO han de ser els mateixos. +Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. +Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; +per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Avís: comproveu que la data i hora del vostre ordinador siguin correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament. @@ -2945,6 +3121,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la + + Accept public REST requests (default: %u) + Accepta sol·licituds REST públiques (per defecte: %u) + Cannot resolve -whitebind address: '%s' No es pot resoldre l'adreça -whitebind: «%s» @@ -2965,6 +3145,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core + + Error reading from database, shutting down. + Error en llegir la base de dades, tancant. + Error: Unsupported argument -tor found, use -onion. Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion. @@ -2981,6 +3165,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Ha fallat la inicialització de la comprovació de validesa. El Bitcoin Core s'està aturant. + + Invalid amount for -maxtxfee=<amount>: '%s' + Import no vàlid per a -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Import no vàlid per a -minrelaytxfee=<amount>: «%s» @@ -2998,8 +3186,8 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com S'ha especificat una màscara de xarxa no vàlida a -whitelist: «%s» - Keep at most <n> unconnectable blocks in memory (default: %u) - Manté com a màxim <n> blocs no connectables en memòria (per defecte: %u) + Keep at most <n> unconnectable transactions in memory (default: %u) + Manté com a màxim <n> transaccions no connectables en memòria (per defecte: %u) Need to specify a port with -whitebind: '%s' @@ -3009,10 +3197,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Opcions de transmissió del node: - - Print block on startup, if found in block index - Imprimeix el block a l'inici, si es troba l'índex de blocs - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL) @@ -3021,6 +3205,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Opcions del servidor RPC: + + RPC support for HTTP persistent connections (default: %d) + Suport RPC per a connexions HTTP persistents (per defecte: %d) + Randomly drop 1 of every <n> network messages Descarta a l'atzar 1 de cada <n> missatges de la xarxa @@ -3033,6 +3221,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Send trace/debug info to console instead of debug.log file Envia informació de traça/depuració a la consola en comptes del fitxer debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Envia les transaccions com a transaccions de comissió zero sempre que sigui possible (per defecte: %u) + Show all debugging options (usage: --help -help-debug) Mostra totes les opcions de depuració (ús: --help --help-debug) @@ -3057,6 +3249,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Els imports de les transaccions han de ser positius + + Transaction too large for fee policy + Transacció massa gran per a la política de comissions + Transaction too large La transacció és massa gran @@ -3141,14 +3337,170 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Error en carregar wallet.dat: Moneder corrupte + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = manté les metadades de les tx, p. ex., propietari del compte i informació de sol·licitud del pagament, 2 = prescindeix de les metadades de les tx) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Buida l'activitat de la base de dades de la memòria disponible al registre del disc cada <n> megabytes (per defecte: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Com d'exhaustiva és la verificació de blocs del -checkblocks (0-4, per defecte: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Enregistreu la prioritat de la transacció i la comissió per kB en minar blocs (per defecte: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Manté un índex complet de transaccions, utilitzat per la crida rpc getrawtransaction (per defecte: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Nombre de segons necessaris perquè els iguals de comportament qüestionable puguin tornar a connectar-se (per defecte: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Informació de sortida de la depuració (per defecte: %u, proporcionar <category> és opcional) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor (per defecte: %s) + + + (default: %s) + (per defecte: %s) + + + Acceptable ciphers (default: %s) + Xifrats acceptables (per defecte: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Inhabilita el mode segur, sobreescriu un esdeveniment de mode segur real (per defecte: %u) + Error loading wallet.dat Error en carregar wallet.dat + + Force safe mode (default: %u) + Força el mode segur (per defecte: %u) + + + Generate coins (default: %u) + Genera monedes (per defecte: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Quants blocs per comprovar a l'inici (per defecte: %u, 0 = tots) + + + Include IP addresses in debug output (default: %u) + Inclou l'adreça IP a la sortida de depuració (per defecte: %u) + Invalid -proxy address: '%s' Adreça -proxy invalida: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Limita la mida de la cau de signatura a <n> entrades (per defecte: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Escolta les connexions JSON-RPC en <port> (per defecte: %u o testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Escolta les connexions en <port> (per defecte: %u o testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Manté com a màxim <n> connexions a iguals (per defecte: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima de recepció per connexió, <n>*1000 bytes (per defecte: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima d'enviament per connexió, <n>*1000 bytes (per defecte: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + Només accepta els punts de control integrats que coincideixen amb la cadena de blocs (per defecte: %u) + + + Prepend debug output with timestamp (default: %u) + Posa davant de la sortida de depuració una marca horària (per defecte: %u) + + + Relay and mine data carrier transactions (default: %u) + Retransmet i mina les transaccions de l'operador (per defecte: %u) + + + Relay non-P2SH multisig (default: %u) + Retransmet multisig no P2SH (per defecte: %u) + + + Run a thread to flush wallet periodically (default: %u) + Executa un fil per buidar el moneder periòdicament (per defecte: %u) + + + Server certificate file (default: %s) + Fitxer de certificat del servidor (per defecte: %s) + + + Server private key (default: %s) + Clau privada del servidor (per defecte: %s) + + + Set key pool size to <n> (default: %u) + Defineix la mida clau disponible a <n> (per defecte: %u) + + + Set minimum block size in bytes (default: %u) + Defineix la mida de bloc mínima en bytes (per defecte: %u) + + + Set the number of threads to service RPC calls (default: %d) + Defineix el nombre de fils a crides de servei RPC (per defecte: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Defineix el senyalador DB_PRIVATE en l'entorn db del moneder (per defecte: %u) + + + Specify configuration file (default: %s) + Especifica el fitxer de configuració (per defecte: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Especifica el temps d'espera de la connexió en milisegons (mínim: 1, per defecte: %d) + + + Specify pid file (default: %s) + Especifica el fitxer pid (per defecte: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Gasta el canvi no confirmat en enviar les transaccions (per defecte: %u) + + + Stop running after importing blocks from disk (default: %u) + Atura l'execució després d'importar blocs del disc (per defecte: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Llindar per a desconnectar els iguals de comportament qüestionable (per defecte: %u) + Unknown network specified in -onlynet: '%s' Xarxa desconeguda especificada a -onlynet: '%s' @@ -3165,10 +3517,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Import no vàlid per a -paytxfee=<amount>: «%s» - - Invalid amount - Import no vàlid - Insufficient funds Balanç insuficient @@ -3201,10 +3549,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Ha acabat la càrrega - - To use the %s option - Utilitza l'opció %s - Error Error diff --git a/src/qt/locale/bitcoin_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts index d3bf33ebfbeb9..30e86383dfb59 100644 --- a/src/qt/locale/bitcoin_ca@valencia.ts +++ b/src/qt/locale/bitcoin_ca@valencia.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Feu doble clic per editar l'adreça o l'etiqueta + Right-click to edit address or label + Feu clic dret per a editar l'adreça o l'etiqueta Create a new address @@ -496,6 +496,10 @@ Address: %4 CoinControlDialog + + Coin Selection + Selecció de moneda + Quantity: Quantitat: @@ -544,6 +548,14 @@ Address: %4 Amount Quantitat + + Received with label + Rebut amb l'etiqueta + + + Received with address + Rebut amb l'adreça + Date Data @@ -998,6 +1010,14 @@ Address: %4 Map port using &UPnP Port obert amb &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Connecta a la xarxa Bitcoin a través d'un proxy SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Connecta a través d'un proxy SOCKS5 (proxy per defecte): + Proxy &IP: &IP del proxy: @@ -1129,6 +1149,10 @@ Address: %4 Mined balance that has not yet matured Balanç minat que encara no ha madurat + + Balances + Balances + Total: Total: @@ -1141,6 +1165,14 @@ Address: %4 Your current balance in watch-only addresses El vostre balanç actual en adreces de només lectura + + Spendable: + Que es pot gastar: + + + Recent transactions + Transaccions recents + Unconfirmed transactions to watch-only addresses Transaccions sense confirmar a adreces de només lectura @@ -1220,6 +1252,14 @@ Address: %4 Refund from %1 Reemborsament de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La sol·licitud de pagament %1 és massa gran (%2 bytes, permés %3 bytes). + + + Payment request DoS protection + Protecció de DoS per a la sol·licitud de pagament + Error communicating with %1: %2 Error en comunicar amb %1: %2 @@ -1776,6 +1816,70 @@ Address: %4 Custom change address Personalitza l'adreça de canvi + + Transaction Fee: + Comissió de transacció + + + Choose... + Tria... + + + collapse fee-settings + redueix els paràmetres de comissió + + + per kilobyte + per kilobyte + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la comissió personalitzada es defineix a 1000 satoshis i la transacció és de només 250 bytes, llavors «per kilobyte» només es paguen 250 satoshis en una comissió, mentre que amb la de «total com a mínim» es pagarien 1000 satoshis. Per a transaccions superiors al kilobyte, en tots dos casos es paga per kilobyte. + + + total at least + total com a mínim + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi haja menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirme una vegada hi haja més demanda de transaccions de bitcoins que la xarxa puga processar. + + + (read the tooltip) + (llegiu l'indicador de funció) + + + Recommended: + Recomanada: + + + Custom: + Personalitzada: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (No s'ha inicialitzat encara la comissió intel·ligent. Normalment pren uns pocs blocs...) + + + Confirmation time: + Temps de confirmació: + + + normal + normal + + + fast + ràpid + + + Send as zero-fee transaction if possible + Envia com a transacció de comissió zero si és possible + + + (confirmation may take longer) + (la confirmació pot trigar més temps) + Send to multiple recipients at once Envia a múltiples destinataris al mateix temps @@ -1844,10 +1948,6 @@ Address: %4 Copy change Copia el canvi - - Total Amount %1 (= %2) - Import total %1 (= %2) - or o @@ -1880,6 +1980,10 @@ Address: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. S'ha rebutjat la transacció! Això pot passar si alguna de les monedes del vostre moneder ja s'han gastat; per exemple, si heu fet servir una còpia de seguretat del fitxer wallet.dat i s'hagueren gastat monedes de la còpia però sense marcar-les-hi com a gastades. + + Pay only the minimum fee of %1 + Paga només la comissió mínima de %1 + Warning: Invalid Bitcoin address Avís: adreça Bitcoin no vàlida @@ -2392,6 +2496,10 @@ Address: %4 Type of transaction. Tipus de transacció. + + Whether or not a watch-only address is involved in this transaction. + Si està implicada o no una adreça només de lectura en la transacció. + Destination address of transaction. Adreça del destinatari de la transacció. @@ -2487,6 +2595,10 @@ Address: %4 Export Transaction History Exporta l'historial de transacció + + Watch-only + Només de lectura + Exporting Failed L'exportació ha fallat @@ -2630,29 +2742,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accepta connexions de fora (per defecte: 1 si no -proxy o -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, heu d'establir una contrasenya RPC al fitxer de configuració: %s -Es recomana que useu la següent contrasenya aleatòria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no necesiteu recordar esta contrasenya) -El nom d'usuari i la contrasenya NO HAN de ser els mateixos. -Si el fitxer no existeix, crea'l amb els permisos de fitxer de només lectura per al propietari. -També es recomana establir la notificació d'alertes i així sereu notificat de les incidències; -per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincula a una adreça específica i sempre escolta-hi. Utilitza la notació [host]:port per IPv6 @@ -2662,16 +2751,12 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Elimina totes les transaccions del moneder i només recupera aquelles de la cadena de blocs a través de -rescan a l'inici - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Error: La transacció ha estat rebutjada. Això pot passar si alguna de les monedes del teu moneder ja s'han gastat, com si haguesis usat una copia de l'arxiu wallet.dat i s'hagueren gastat monedes de la copia però sense marcar com gastades en este. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuït sota llicència de programari MIT. Vegeu el fitxer acompanyant COPYING o <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: Esta transacció requereix una comissió d'almenys %s degut al seu import, complexitat o per l'ús de fons recentment rebuts! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2713,6 +2798,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat guardat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Afig a la llista blanca els iguals que es connecten de la màscara de xarxa o adreça IP donada. Es pot especificar moltes vegades. + (default: 1) (per defecte: 1) @@ -2777,10 +2866,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Error: Espai al disc baix! - - Error: Wallet locked, unable to create transaction! - Error: El moneder està bloquejat, no és possible crear la transacció! - Failed to listen on any port. Use -listen=0 if you want this. Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això. @@ -2805,6 +2890,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. No hi ha suficient descriptors de fitxers disponibles. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Només connecta als nodes de la xarxa <net> (ipv4, ipv6 o onion) + Rebuild block chain index from current blk000??.dat files Reconstrueix l'índex de la cadena de blocs dels fitxers actuals blk000??.dat @@ -2825,6 +2914,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com This is intended for regression testing tools and app development. Això s'així per a eines de proves de regressió per al desenvolupament d'aplicacions. + + Use UPnP to map the listening port (default: %u) + Utilitza UPnP per a mapejar el port d'escolta (per defecte: %u) + Verifying blocks... S'estan verificant els blocs... @@ -2889,6 +2982,18 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la creació de la transacció (per defecte: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencen a confirmar-se en una mitja de n blocs (per defecte: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Import no vàlid per a -maxtxfee=<amount>: '%s' (cal que siga com a mínim la comissió de minrelay de %s per evitar que les comissions s'encallin) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meues (per defecte: %u) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect) @@ -2897,10 +3002,41 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Defineix la mida màxima de transaccions d'alta prioritat / baixa comissió en bytes (per defecte: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Defineix el nombre de fils per a la generació de moneda si està habilitat (-1 = tots els nuclis, per defecte: %d) + 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. Este producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: +%s +Es recomana que utilitzeu la contrasenya aleatòria següent: +rpcuser=bitcoinrpc +rpcpassword=%s +(no cal que recordeu la contrasenya) +El nom d'usuari i la contrasenya NO han de ser els mateixos. +Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. +Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; +per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Avís: comproveu que la data i hora del vostre ordinador siguen correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament. @@ -2909,6 +3045,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la + + Accept public REST requests (default: %u) + Accepta sol·licituds REST públiques (per defecte: %u) + Cannot resolve -whitebind address: '%s' No es pot resoldre l'adreça -whitebind: «%s» @@ -2929,6 +3069,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core + + Error reading from database, shutting down. + Error en llegir la base de dades, tancant. + Error: Unsupported argument -tor found, use -onion. Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion. @@ -2945,6 +3089,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Ha fallat la inicialització de la comprovació de validesa. El Bitcoin Core s'està parant. + + Invalid amount for -maxtxfee=<amount>: '%s' + Import no vàlid per a -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Import no vàlid per a -minrelaytxfee=<amount>: «%s» @@ -2962,8 +3110,8 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com S'ha especificat una màscara de xarxa no vàlida a -whitelist: «%s» - Keep at most <n> unconnectable blocks in memory (default: %u) - Manté com a màxim <n> blocs no connectables en memòria (per defecte: %u) + Keep at most <n> unconnectable transactions in memory (default: %u) + Manté com a màxim <n> transaccions no connectables en memòria (per defecte: %u) Need to specify a port with -whitebind: '%s' @@ -2973,10 +3121,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Opcions de transmissió del node: - - Print block on startup, if found in block index - Imprimeix el block a l'inici, si es troba l'índex de blocs - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL) @@ -2985,6 +3129,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Opcions del servidor RPC: + + RPC support for HTTP persistent connections (default: %d) + Suport RPC per a connexions HTTP persistents (per defecte: %d) + Randomly drop 1 of every <n> network messages Descarta a l'atzar 1 de cada <n> missatges de la xarxa @@ -2997,6 +3145,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Send trace/debug info to console instead of debug.log file Envia informació de traça/depuració a la consola en comptes del fitxer debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Envia les transaccions com a transaccions de comissió zero sempre que siga possible (per defecte: %u) + Show all debugging options (usage: --help -help-debug) Mostra totes les opcions de depuració (ús: --help --help-debug) @@ -3021,6 +3173,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Els imports de les transaccions han de ser positius + + Transaction too large for fee policy + Transacció massa gran per a la política de comissions + Transaction too large La transacció és massa gran @@ -3105,14 +3261,134 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Error en carregar wallet.dat: Moneder corrupte + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = manté les metadades de les tx, p. ex., propietari del compte i informació de sol·licitud del pagament, 2 = prescindeix de les metadades de les tx) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Com d'exhaustiva és la verificació de blocs del -checkblocks (0-4, per defecte: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Manté un índex complet de transaccions, utilitzat per la crida rpc getrawtransaction (per defecte: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Nombre de segons necessaris perquè els iguals de comportament qüestionable puguen tornar a connectar-se (per defecte: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Informació d'eixida de la depuració (per defecte: %u, proporcionar <category> és opcional) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor (per defecte: %s) + + + (default: %s) + (per defecte: %s) + + + Acceptable ciphers (default: %s) + Xifrats acceptables (per defecte: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u) + Error loading wallet.dat Error en carregar wallet.dat + + Generate coins (default: %u) + Genera monedes (per defecte: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Quants blocs per comprovar a l'inici (per defecte: %u, 0 = tots) + + + Include IP addresses in debug output (default: %u) + Inclou l'adreça IP a l'eixida de depuració (per defecte: %u) + Invalid -proxy address: '%s' Adreça -proxy invalida: '%s' + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Escolta les connexions JSON-RPC en <port> (per defecte: %u o testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Escolta les connexions en <port> (per defecte: %u o testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Manté com a màxim <n> connexions a iguals (per defecte: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima de recepció per connexió, <n>*1000 bytes (per defecte: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima d'enviament per connexió, <n>*1000 bytes (per defecte: %u) + + + Prepend debug output with timestamp (default: %u) + Posa davant de l'eixida de depuració una marca horària (per defecte: %u) + + + Relay and mine data carrier transactions (default: %u) + Retransmet i mina les transaccions de l'operador (per defecte: %u) + + + Relay non-P2SH multisig (default: %u) + Retransmet multisig no P2SH (per defecte: %u) + + + Server certificate file (default: %s) + Fitxer de certificat del servidor (per defecte: %s) + + + Server private key (default: %s) + Clau privada del servidor (per defecte: %s) + + + Set key pool size to <n> (default: %u) + Defineix la mida clau disponible a <n> (per defecte: %u) + + + Set minimum block size in bytes (default: %u) + Defineix la mida de bloc mínima en bytes (per defecte: %u) + + + Set the number of threads to service RPC calls (default: %d) + Defineix el nombre de fils a crides de servei RPC (per defecte: %d) + + + Specify configuration file (default: %s) + Especifica el fitxer de configuració (per defecte: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Especifica el temps d'espera de la connexió en milisegons (mínim: 1, per defecte: %d) + + + Specify pid file (default: %s) + Especifica el fitxer pid (per defecte: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Gasta el canvi no confirmat en enviar les transaccions (per defecte: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Llindar per a desconnectar els iguals de comportament qüestionable (per defecte: %u) + Unknown network specified in -onlynet: '%s' Xarxa desconeguda especificada a -onlynet: '%s' @@ -3129,10 +3405,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Import no vàlid per a -paytxfee=<amount>: «%s» - - Invalid amount - Import no vàlid - Insufficient funds Balanç insuficient @@ -3165,10 +3437,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Ha acabat la càrrega - - To use the %s option - Utilitza l'opció %s - Error Error diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts index 60c6fa30f4cff..16c7d4484d9d5 100644 --- a/src/qt/locale/bitcoin_ca_ES.ts +++ b/src/qt/locale/bitcoin_ca_ES.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Feu doble clic per editar l'adreça o l'etiqueta + Right-click to edit address or label + Feu clic dret per a editar l'adreça o l'etiqueta Create a new address @@ -478,6 +478,10 @@ Up to date Al dia + + Processed %n blocks of transaction history. + S'ha processat %n bloc de l'historial de transacció.S'han processat %n blocs de l'historial de transacció. + Catching up... S'està posant al dia ... @@ -516,6 +520,10 @@ Address: %4 CoinControlDialog + + Coin Selection + Selecció de moneda + Quantity: Quantitat: @@ -534,7 +542,7 @@ Address: %4 Fee: - Quota: + Comissió Dust: @@ -542,7 +550,7 @@ Address: %4 After Fee: - Quota posterior: + Comissió posterior: Change: @@ -562,7 +570,15 @@ Address: %4 Amount - Quantitat + Import + + + Received with label + Rebut amb l'etiqueta + + + Received with address + Rebut amb l'adreça Date @@ -694,7 +710,7 @@ Address: %4 This means a fee of at least %1 per kB is required. - Això comporta una comissi d'almenys %1 per kB. + Això comporta una comissió d'almenys %1 per kB. Can vary +/- 1 byte per input. @@ -729,7 +745,7 @@ Address: %4 EditAddressDialog Edit Address - Editar Adreça + Edita l'adreça &Label @@ -839,7 +855,7 @@ Address: %4 Set language, for example "de_DE" (default: system locale) - Defineix un idioma, per exemple "de_DE" (per defecte: preferències locals de sistema) + Defineix un idioma, per exemple «de_DE» (per defecte: preferències locals de sistema) Start minimized @@ -896,7 +912,15 @@ Address: %4 Error Error - + + %n GB of free space available + %n GB d'espai lliure disponible%n GB d'espai lliure disponible + + + (of %n GB needed) + (de %n GB necessari)(de %n GB necessaris) + + OpenURIDialog @@ -1018,6 +1042,14 @@ Address: %4 Map port using &UPnP Port obert amb &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Connecta a la xarxa Bitcoin a través d'un proxy SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Connecta a través d'un proxy SOCKS5 (proxy per defecte): + Proxy &IP: &IP del proxy: @@ -1149,6 +1181,10 @@ Address: %4 Mined balance that has not yet matured Balanç minat que encara no ha madurat + + Balances + Balances + Total: Total: @@ -1161,6 +1197,14 @@ Address: %4 Your current balance in watch-only addresses El vostre balanç actual en adreces de només lectura + + Spendable: + Que es pot gastar: + + + Recent transactions + Transaccions recents + Unconfirmed transactions to watch-only addresses Transaccions sense confirmar a adreces de només lectura @@ -1240,6 +1284,14 @@ Address: %4 Refund from %1 Reemborsament de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La sol·licitud de pagament %1 és massa gran (%2 bytes, permès %3 bytes). + + + Payment request DoS protection + Protecció de DoS per a la sol·licitud de pagament + Error communicating with %1: %2 Error en comunicar amb %1: %2 @@ -1280,7 +1332,7 @@ Address: %4 QObject Amount - Quantitat + Import Enter a Bitcoin address (e.g. %1) @@ -1782,7 +1834,7 @@ Address: %4 After Fee: - Quota posterior: + Comissió posterior: Change: @@ -1796,6 +1848,78 @@ Address: %4 Custom change address Personalitza l'adreça de canvi + + Transaction Fee: + Comissió de transacció + + + Choose... + Tria... + + + collapse fee-settings + redueix els paràmetres de comissió + + + Minimize + Minimitza + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la comissió personalitzada es defineix a 1000 satoshis i la transacció és de només 250 bytes, llavors «per kilobyte» només es paguen 250 satoshis en una comissió, mentre que amb la de «com a mínim» es pagarien 1000 satoshis. Per a transaccions superiors al kilobyte, en tots dos casos es paga per kilobyte. + + + per kilobyte + per kilobyte + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la comissió personalitzada es defineix a 1000 satoshis i la transacció és de només 250 bytes, llavors «per kilobyte» només es paguen 250 satoshis en una comissió, mentre que amb la de «total com a mínim» es pagarien 1000 satoshis. Per a transaccions superiors al kilobyte, en tots dos casos es paga per kilobyte. + + + total at least + total com a mínim + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de bitcoins que la xarxa pugui processar. + + + (read the tooltip) + (llegiu l'indicador de funció) + + + Recommended: + Recomanada: + + + Custom: + Personalitzada: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (No s'ha inicialitzat encara la comissió intel·ligent. Normalment pren uns pocs blocs...) + + + Confirmation time: + Temps de confirmació: + + + normal + normal + + + fast + ràpid + + + Send as zero-fee transaction if possible + Envia com a transacció de comissió zero si és possible + + + (confirmation may take longer) + (la confirmació pot trigar més temps) + Send to multiple recipients at once Envia a múltiples destinataris al mateix temps @@ -1846,7 +1970,7 @@ Address: %4 Copy fee - Copia la comissi + Copia la comissió Copy after fee @@ -1864,10 +1988,6 @@ Address: %4 Copy change Copia el canvi - - Total Amount %1 (= %2) - Import total %1 (= %2) - or o @@ -1886,7 +2006,7 @@ Address: %4 The total exceeds your balance when the %1 transaction fee is included. - El total excedeix el teu balanç quan s'afegeix la comisió a la transacció %1. + El total excedeix el teu balanç quan s'afegeix la comissió a la transacció %1. Duplicate address found, can only send to each address once per send operation. @@ -1900,6 +2020,18 @@ Address: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. S'ha rebutjat la transacció! Això pot passar si alguna de les monedes del vostre moneder ja s'han gastat; per exemple, si heu fet servir una còpia de seguretat del fitxer wallet.dat i s'haguessin gastat monedes de la còpia però sense marcar-les-hi com a gastades. + + A fee higher than %1 is considered an insanely high fee. + Una comissió superior a %1 es considera una comissió excessiva. + + + Pay only the minimum fee of %1 + Paga només la comissió mínima de %1 + + + Estimated to begin confirmation within %1 block(s). + Estimat per a començar la confirmació en %1 bloc(s). + Warning: Invalid Bitcoin address Avís: adreça Bitcoin no vàlida @@ -2300,7 +2432,7 @@ Address: %4 Amount - Quantitat + Import true @@ -2428,6 +2560,10 @@ Address: %4 Type of transaction. Tipus de transacció. + + Whether or not a watch-only address is involved in this transaction. + Si està implicada o no una adreça només de lectura en la transacció. + Destination address of transaction. Adreça del destinatari de la transacció. @@ -2523,6 +2659,10 @@ Address: %4 Export Transaction History Exporta l'historial de transacció + + Watch-only + Només de lectura + Exporting Failed L'exportació ha fallat @@ -2666,29 +2806,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accepta connexions de fora (per defecte: 1 si no -proxy o -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, heu de establir una contrasenya RPC al fitxer de configuració: %s -Es recomana que useu la següent contrasenya aleatòria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no necesiteu recordar aquesta contrasenya) -El nom d'usuari i la contrasenya NO HAN de ser els mateixos. -Si el fitxer no existeix, crea'l amb els permisos de fitxer de només lectura per al propietari. -També es recomana establir la notificació d'alertes i així sereu notificat de les incidències; -per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincula a una adreça específica i sempre escolta-hi. Utilitza la notació [host]:port per IPv6 @@ -2698,16 +2815,12 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Elimina totes les transaccions del moneder i només recupera aquelles de la cadena de blocs a través de -rescan a l'inici - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuït sota llicència de programari MIT. Vegeu el fitxer acompanyant COPYING o <http://www.opensource.org/licenses/mit-license.php>. - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Error: La transacció ha estat rebutjada. Això pot passar si alguna de les monedes del teu moneder ja s'han gastat, com si haguesis usat una copia de l'arxiu wallet.dat i s'haguessin gastat monedes de la copia però sense marcar com gastades en aquest. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: Aquesta transacció requereix una comissió d'almenys %s degut al seu import, complexitat o per l'ús de fons recentment rebuts! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entra en el mode de proves de regressió, que utilitza una cadena especial en què els blocs poden resoldre's al moment. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2749,6 +2862,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat desat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Afegeix a la llista blanca els iguals que es connecten de la màscara de xarxa o adreça IP donada. Es pot especificar moltes vegades. + (default: 1) (per defecte: 1) @@ -2813,10 +2930,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Error: Espai al disc baix! - - Error: Wallet locked, unable to create transaction! - Error: El moneder està bloquejat, no és possible crear la transacció! - Failed to listen on any port. Use -listen=0 if you want this. Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això. @@ -2841,6 +2954,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. No hi ha suficient descriptors de fitxers disponibles. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Només connecta als nodes de la xarxa <net> (ipv4, ipv6 o onion) + Rebuild block chain index from current blk000??.dat files Reconstrueix l'índex de la cadena de blocs dels fitxers actuals blk000??.dat @@ -2861,6 +2978,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com This is intended for regression testing tools and app development. Això es així per a eines de proves de regressió per al desenvolupament d'aplicacions. + + Use UPnP to map the listening port (default: %u) + Utilitza UPnP per a mapejar el port d'escolta (per defecte: %u) + Verifying blocks... S'estan verificant els blocs... @@ -2901,6 +3022,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. No es pot obtenir un bloqueig del directori de dades %s. El Bitcoin Core probablement ja s'estigui executant. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Limita contínuament la freqüència de les transaccions gratuïtes a <n>*1000 bytes per minut (per defecte: %u) + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) Crea fitxers nous amb els permisos per defecte del sistema, en comptes de l'umask 077 (només efectiu amb la funcionalitat de moneder inhabilitada) @@ -2925,18 +3050,69 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la creació de la transacció (per defecte: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencin a confirmar-se en una mitja de n blocs (per defecte: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Import no vàlid per a -maxtxfee=<amount>: '%s' (cal que sigui com a mínim la comissió de minrelay de %s per evitar que les comissions s'encallin) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meves (per defecte: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Comissions totals màximes que s'utilitzaran en una transacció d'un únic moneder. Si es defineix un valor massa baix les transaccions més grans poden interrompre's (per defecte: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Es requereix una prioritat alta per retransmetre transaccions gratuïtes o de baixa comissió (per defecte:%u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Defineix la mida màxima de transaccions d'alta prioritat / baixa comissió en bytes (per defecte: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Defineix el nombre de fils per a la generació de moneda si està habilitat (-1 = tots els nuclis, per defecte: %d) + 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. Aquest producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: +%s +Es recomana que utilitzeu la contrasenya aleatòria següent: +rpcuser=bitcoinrpc +rpcpassword=%s +(no cal que recordeu la contrasenya) +El nom d'usuari i la contrasenya NO han de ser els mateixos. +Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. +Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; +per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Avís: comproveu que la data i hora del vostre ordinador siguin correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament. @@ -2945,6 +3121,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la + + Accept public REST requests (default: %u) + Accepta sol·licituds REST públiques (per defecte: %u) + Cannot resolve -whitebind address: '%s' No es pot resoldre l'adreça -whitebind: «%s» @@ -2965,6 +3145,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core + + Error reading from database, shutting down. + Error en llegir la base de dades, tancant. + Error: Unsupported argument -tor found, use -onion. Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion. @@ -2981,6 +3165,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Ha fallat la inicialització de la comprovació de validesa. El Bitcoin Core s'està aturant. + + Invalid amount for -maxtxfee=<amount>: '%s' + Import no vàlid per a -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Import no vàlid per a -minrelaytxfee=<amount>: «%s» @@ -2998,8 +3186,8 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com S'ha especificat una màscara de xarxa no vàlida a -whitelist: «%s» - Keep at most <n> unconnectable blocks in memory (default: %u) - Manté com a màxim <n> blocs no connectables en memòria (per defecte: %u) + Keep at most <n> unconnectable transactions in memory (default: %u) + Manté com a màxim <n> transaccions no connectables en memòria (per defecte: %u) Need to specify a port with -whitebind: '%s' @@ -3009,10 +3197,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Opcions de transmissió del node: - - Print block on startup, if found in block index - Imprimeix el block a l'inici, si es troba l'índex de blocs - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL) @@ -3021,6 +3205,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Opcions del servidor RPC: + + RPC support for HTTP persistent connections (default: %d) + Suport RPC per a connexions HTTP persistents (per defecte: %d) + Randomly drop 1 of every <n> network messages Descarta a l'atzar 1 de cada <n> missatges de la xarxa @@ -3033,6 +3221,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Send trace/debug info to console instead of debug.log file Envia informació de traça/depuració a la consola en comptes del fitxer debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Envia les transaccions com a transaccions de comissió zero sempre que sigui possible (per defecte: %u) + Show all debugging options (usage: --help -help-debug) Mostra totes les opcions de depuració (ús: --help --help-debug) @@ -3057,6 +3249,10 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Els imports de les transaccions han de ser positius + + Transaction too large for fee policy + Transacció massa gran per a la política de comissions + Transaction too large La transacció és massa gran @@ -3141,14 +3337,170 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Error en carregar wallet.dat: Moneder corrupte + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = manté les metadades de les tx, p. ex., propietari del compte i informació de sol·licitud del pagament, 2 = prescindeix de les metadades de les tx) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Buida l'activitat de la base de dades de la memòria disponible al registre del disc cada <n> megabytes (per defecte: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Com d'exhaustiva és la verificació de blocs del -checkblocks (0-4, per defecte: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Enregistreu la prioritat de la transacció i la comissió per kB en minar blocs (per defecte: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Manté un índex complet de transaccions, utilitzat per la crida rpc getrawtransaction (per defecte: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Nombre de segons necessaris perquè els iguals de comportament qüestionable puguin tornar a connectar-se (per defecte: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Informació de sortida de la depuració (per defecte: %u, proporcionar <category> és opcional) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Utilitza un proxy SOCKS4 apart per a arribar als iguals a través de serveis ocults de Tor (per defecte: %s) + + + (default: %s) + (per defecte: %s) + + + Acceptable ciphers (default: %s) + Xifrats acceptables (per defecte: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Inhabilita el mode segur, sobreescriu un esdeveniment de mode segur real (per defecte: %u) + Error loading wallet.dat Error en carregar wallet.dat + + Force safe mode (default: %u) + Força el mode segur (per defecte: %u) + + + Generate coins (default: %u) + Genera monedes (per defecte: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Quants blocs per comprovar a l'inici (per defecte: %u, 0 = tots) + + + Include IP addresses in debug output (default: %u) + Inclou l'adreça IP a la sortida de depuració (per defecte: %u) + Invalid -proxy address: '%s' Adreça -proxy invalida: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Limita la mida de la cau de signatura a <n> entrades (per defecte: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Escolta les connexions JSON-RPC en <port> (per defecte: %u o testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Escolta les connexions en <port> (per defecte: %u o testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Manté com a màxim <n> connexions a iguals (per defecte: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima de recepció per connexió, <n>*1000 bytes (per defecte: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Memòria intermèdia màxima d'enviament per connexió, <n>*1000 bytes (per defecte: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + Només accepta els punts de control integrats que coincideixen amb la cadena de blocs (per defecte: %u) + + + Prepend debug output with timestamp (default: %u) + Posa davant de la sortida de depuració una marca horària (per defecte: %u) + + + Relay and mine data carrier transactions (default: %u) + Retransmet i mina les transaccions de l'operador (per defecte: %u) + + + Relay non-P2SH multisig (default: %u) + Retransmet multisig no P2SH (per defecte: %u) + + + Run a thread to flush wallet periodically (default: %u) + Executa un fil per buidar el moneder periòdicament (per defecte: %u) + + + Server certificate file (default: %s) + Fitxer de certificat del servidor (per defecte: %s) + + + Server private key (default: %s) + Clau privada del servidor (per defecte: %s) + + + Set key pool size to <n> (default: %u) + Defineix la mida clau disponible a <n> (per defecte: %u) + + + Set minimum block size in bytes (default: %u) + Defineix la mida de bloc mínima en bytes (per defecte: %u) + + + Set the number of threads to service RPC calls (default: %d) + Defineix el nombre de fils a crides de servei RPC (per defecte: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Defineix el senyalador DB_PRIVATE en l'entorn db del moneder (per defecte: %u) + + + Specify configuration file (default: %s) + Especifica el fitxer de configuració (per defecte: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Especifica el temps d'espera de la connexió en milisegons (mínim: 1, per defecte: %d) + + + Specify pid file (default: %s) + Especifica el fitxer pid (per defecte: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Gasta el canvi no confirmat en enviar les transaccions (per defecte: %u) + + + Stop running after importing blocks from disk (default: %u) + Atura l'execució després d'importar blocs del disc (per defecte: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Llindar per a desconnectar els iguals de comportament qüestionable (per defecte: %u) + Unknown network specified in -onlynet: '%s' Xarxa desconeguda especificada a -onlynet: '%s' @@ -3165,10 +3517,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Import no vàlid per a -paytxfee=<amount>: «%s» - - Invalid amount - Import no vàlid - Insufficient funds Balanç insuficient @@ -3201,10 +3549,6 @@ per exemple: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Ha acabat la càrrega - - To use the %s option - Utilitza l'opció %s - Error Error diff --git a/src/qt/locale/bitcoin_cmn.ts b/src/qt/locale/bitcoin_cmn.ts index 09ff0acf026e3..28fe96750a250 100644 --- a/src/qt/locale/bitcoin_cmn.ts +++ b/src/qt/locale/bitcoin_cmn.ts @@ -1,6 +1,10 @@ - + AddressBookPage + + Create a new address + 创建新地址 + AddressTableModel diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts index bc2a2ef7b5d06..2a19de17004fd 100644 --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dvojklikem myši začneš upravovat označení adresy + Right-click to edit address or label + Pravým tlačítkem myši začneš upravovat označení adresy Create a new address @@ -430,10 +430,26 @@ No block source available... Není dostupný žádný zdroj bloků... + + %n hour(s) + %n hodinu%n hodiny%n hodin + + + %n day(s) + %n den%n dny%n dnů + + + %n week(s) + %n týden%n týdny%n týdnů + %1 and %2 %1 a %2 + + %n year(s) + %n rok%n roky%n roků + %1 behind Stahuji ještě bloky transakcí za poslední %1 @@ -462,6 +478,10 @@ Up to date Aktuální + + Processed %n blocks of transaction history. + Zpracován %n blok transakční historie.Zpracovány %n bloky transakční historie.Zpracováno %n bloků transakční historie. + Catching up... Stahuji... @@ -504,6 +524,10 @@ Adresa: %4 CoinControlDialog + + Coin Selection + Výběr mincí + Quantity: Počet: @@ -552,6 +576,14 @@ Adresa: %4 Amount Částka + + Received with label + Příjem na označení + + + Received with address + Příjem na adrese + Date Datum @@ -884,7 +916,15 @@ Adresa: %4 Error Chyba - + + %n GB of free space available + %n GB volného místa%n GB volného místa%n GB volného místa + + + (of %n GB needed) + (z potřebného %n GB)(z potřebných %n GB)(z potřebných %n GB) + + OpenURIDialog @@ -1006,6 +1046,14 @@ Adresa: %4 Map port using &UPnP Namapovat port přes &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Připojí se do Bitcoinové sítě přes SOCKS5 proxy. + + + &Connect through SOCKS5 proxy (default proxy): + &Připojit přes SOCKS5 proxy (výchozí proxy): + Proxy &IP: &IP adresa proxy: @@ -1137,6 +1185,10 @@ Adresa: %4 Mined balance that has not yet matured Vytěžené mince, které ještě nejsou zralé + + Balances + Stavy účtů + Total: Celkem: @@ -1149,6 +1201,14 @@ Adresa: %4 Your current balance in watch-only addresses Aktuální stav účtu sledovaných adres + + Spendable: + Běžné: + + + Recent transactions + Poslední transakce + Unconfirmed transactions to watch-only addresses Nepotvrzené transakce sledovaných adres @@ -1228,6 +1288,14 @@ Adresa: %4 Refund from %1 Vrácení peněz od %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Platební požadavek %1 je moc velký (%2 bajtů, povoleno %3 bajtů). + + + Payment request DoS protection + DoS ochrana platebního požadavku + Error communicating with %1: %2 Chyba při komunikaci s %1: %2 @@ -1784,6 +1852,78 @@ Adresa: %4 Custom change address Vlastní adresa pro drobné + + Transaction Fee: + Transakční poplatek: + + + Choose... + Zvol... + + + collapse fee-settings + sbal nastavení poplatků + + + Minimize + Skryj + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Pokud je vlastní poplatek nastavený na 1000 satoshi a transakce má pouze 250 bajtů, tak „za kilobajt“ zaplatí poplatek jen 250 satoshi, zatímco „přinejmenším“ zaplatí 1000 satoshi. Pro transakce větší než kilobajt obě možnosti platí za kilobajt. + + + per kilobyte + za kilobajt + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Pokud je vlastní poplatek nastavený na 1000 satoshi a transakce má pouze 250 bajtů, tak „za kilobajt“ zaplatí poplatek jen 250 satoshi, zatímco „přinejmenším“ zaplatí 1000 satoshi. Pro transakce větší než kilobajt obě možnosti platí za kilobajt. + + + total at least + přinejmenším + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Platit jen minimální poplatek je v pořádku, pokud je zrovna méně transakcí než místa v blocích. Ale počítej s tím, že to také může skončit transakcí, která nikdy nebude potvrzena, pokud je větší poptávka po bitcoinových transakcích, než síť zvládne zpracovat. + + + (read the tooltip) + (viz bublina) + + + Recommended: + Doporučený: + + + Custom: + Vlastní: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Inteligentní poplatek ještě není inicializovaný. Obvykle mu to tak pár bloků trvá...) + + + Confirmation time: + Rychlost potvrzení: + + + normal + normální + + + fast + rychlá + + + Send as zero-fee transaction if possible + Pošli transakci pokud možno bez poplatku + + + (confirmation may take longer) + (potvrzení může trvat déle) + Send to multiple recipients at once Pošli více příjemcům naráz @@ -1852,10 +1992,6 @@ Adresa: %4 Copy change Kopíruj drobné - - Total Amount %1 (= %2) - Celková částka %1 (= %2) - or nebo @@ -1888,6 +2024,18 @@ Adresa: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Transakce byla odmítnuta! Tohle může nastat, pokud nějaké mince z tvé peněženky už jednou byly utraceny, například pokud používáš kopii souboru wallet.dat a mince byly utraceny v druhé kopii, ale nebyly označeny jako utracené v této. + + A fee higher than %1 is considered an insanely high fee. + Poplatek vyšší než %1 je považován za absurdně vysoký. + + + Pay only the minimum fee of %1 + Zaplatit pouze minimální poplatek %1 + + + Estimated to begin confirmation within %1 block(s). + Potvrzování by podle odhadu mělo začít během %1 bloků. + Warning: Invalid Bitcoin address Upozornění: Neplatná Bitcoinová adresa @@ -2216,7 +2364,7 @@ Adresa: %4 watch-only - sledovací + sledovaná label @@ -2226,6 +2374,10 @@ Adresa: %4 Credit Příjem + + matures in %n more block(s) + dozraje po %n blokudozraje po %n blocíchdozraje po %n blocích + not accepted neakceptováno @@ -2412,6 +2564,10 @@ Adresa: %4 Type of transaction. Druh transakce. + + Whether or not a watch-only address is involved in this transaction. + Zda tato transakce zahrnuje i některou sledovanou adresu. + Destination address of transaction. Cílová adresa transakce. @@ -2507,6 +2663,10 @@ Adresa: %4 Export Transaction History Exportuj transakční historii + + Watch-only + Sledovaná + Exporting Failed Exportování selhalo @@ -2650,30 +2810,6 @@ Adresa: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Přijímat spojení zvenčí (výchozí: 1, pokud není zadáno -proxy nebo -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, musíš nastavit rpcpassword v konfiguračním souboru: -%s -Je vhodné použít následující náhodné heslo: -rpcuser=bitcoinrpc -rpcpassword=%s -(není potřeba si ho pamatovat) -rpcuser a rpcpassword NESMÍ být stejné. -Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník. -Je také doporučeno si nastavit alertnotify, abys byl upozorněn na případné problémy; -například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Poslouchat na zadané adrese. Pro zápis IPv6 adresy použij notaci [adresa]:port @@ -2683,16 +2819,12 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Smazat všechny transakce peněženky a při startu obnovit pouze relevantní části řetězce bloků pomocí -rescan - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Přepnout do módu testování regresí, který používá speciální řetězec, ve kterém mohou být bloky okamžitě vyřešeny. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Chyba: Transakce byla odmítnuta! Tohle může nastat, pokud nějaké mince z tvé peněženky už jednou byly utraceny, například pokud používáš kopii souboru wallet.dat a mince byly utraceny v druhé kopii, ale nebyly označeny jako utracené v této. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Šířen pod softwarovou licencí MIT, viz přiložený soubor COPYING nebo <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Chyba: Tahle transakce vyžaduje transakční poplatek nejméně %s kvůli velikosti zasílané částky, komplexnosti nebo použití nedávno přijatých mincí! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Přepnout do módu testování regresí, který používá speciální řetězec, ve kterém mohou být bloky okamžitě vyřešeny. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2734,6 +2866,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Upozornění: soubor wallet.dat je poškozený, data jsou však zachráněna! Původní soubor wallet.dat je uložený jako wallet.{timestamp}.bak v %s. Pokud je stav tvého účtu nebo transakce nesprávné, zřejmě bys měl obnovit zálohu. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Umístit na bílou listinu protějšky připojující se z dané podsítě či IP adresy. Lze zadat i vícekrát. + (default: 1) (výchozí: 1) @@ -2798,10 +2934,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Problém: Na disku je málo místa! - - Error: Wallet locked, unable to create transaction! - Chyba: Peněženka je zamčená, nemohu vytvořit transakci! - Failed to listen on any port. Use -listen=0 if you want this. Nepodařilo se naslouchat na žádném portu. Použij -listen=0, pokud to byl tvůj záměr. @@ -2826,6 +2958,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. Je nedostatek deskriptorů souborů. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Připojovat se pouze k uzlům v <net> síti (ipv4, ipv6 nebo onion) + Rebuild block chain index from current blk000??.dat files Znovu vytvořit index řetězce bloků z aktuálních blk000??.dat souborů @@ -2846,6 +2982,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com This is intended for regression testing tools and app development. Tohle je určeno pro nástroje na regresní testování a vyvíjení aplikací. + + Use UPnP to map the listening port (default: %u) + Použít UPnP k namapování naslouchacího portu (výchozí: %u) + Verifying blocks... Ověřuji bloky... @@ -2890,6 +3030,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Nedaří se mi získat zámek na datový adresář %s. Bitcoin Core pravděpodobně už jednou běží. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Kontinuálně omezovat bezpoplatkové transakce na <n>*1000 bajtů za minutu (výchozí: %u) + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) Vytvářet nové soubory s výchozími systémovými právy namísto umask 077 (uplatní se, pouze pokud je vypnutá funkce peněženky) @@ -2914,18 +3058,70 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Poplatky (v BTC/Kb) menší než tato hodnota jsou považovány za nulové pro účely vytváření transakcí (výchozí: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Pokud paytxfee není nastaveno, platit dostatečný poplatek na to, aby začaly být transakce potvrzovány v průměru během n bloků (výchozí: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Neplatná částka pro -maxtxfee=<amount>: '%s' (musí být alespoň jako poplatek minrelay %s, aby transakce nezůstávaly trčet) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maximální velikost dat v transakcích nesoucích data, se kterou jsme ochotni je ještě přeposílat a těžit (výchozí: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Horní hranice pro celkový poplatek za jednu transakci z peněženky; příliš nízká hodnota může zmařit velké transakce (výchozí: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Při nedostatku adres získat další protějšky z DNS (výchozí: 1, pokud není použito -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Vyžadovat vysokou prioritu pro přeposílání bezplatných nebo nízkopoplatkových transakcí (výchozí: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Nastavit maximální velikost prioritních/nízkopoplatkových transakcí v bajtech (výchozí: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Nastavení počtu vláken pro těžení, je-li zapnuté (-1 = všechna jádra, výchozí: %d) + 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. Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v OpenSSL Toolkitu <https://www.openssl.org/> a kryptografický program od Erika Younga a program UPnP od Thomase Bernarda. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + K používání bitcoind nebo volby -server u bitcoin-qt musíš nastavit rpcpassword v konfiguračním souboru: +%s +Je vhodné použít následující náhodné heslo: +rpcuser=bitcoinrpc +rpcpassword=%s +(není potřeba si ho pamatovat) +rpcuser a rpcpassword NESMÍ být stejné. +Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník. +Je také doporučeno si nastavit alertnotify, abys byl upozorněn na případné problémy; +například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Upozornění: -maxtxfee je nastaveno velmi vysoko! Takto vysoký poplatek může být zaplacen v jednotlivé transakci. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Upozornění: Zkontroluj, že máš v počítači správně nastavený datum a čas! Pokud jsou nastaveny špatně, Bitcoin Core nebude fungovat správně. @@ -2934,6 +3130,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Na protějšky na bílé listině se nevztahuje DoS klatba a jejich transakce jsou vždy přeposílány, i když už třeba jsou v mempoolu, což je užitečné např. pro bránu + + Accept public REST requests (default: %u) + Přijímat veřejné REST požadavky (výchozí: %u) + Cannot resolve -whitebind address: '%s' Nemohu přeložit -whitebind adresu: '%s' @@ -2954,6 +3154,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Chyba při načítání wallet.dat: peněženka vyžaduje novější verzi Bitcoin Core + + Error reading from database, shutting down. + Chyba při čtení z databáze, ukončuji se. + Error: Unsupported argument -tor found, use -onion. Chyba: Argument -tor již není podporovaný, použij -onion. @@ -2970,6 +3174,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Selhala úvodní zevrubná prověrka. Bitcoin Core se ukončuje. + + Invalid amount for -maxtxfee=<amount>: '%s' + Neplatná částka pro -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Neplatná částka pro -minrelaytxfee=<částka>: '%s' @@ -2987,8 +3195,8 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Ve -whitelist byla zadána neplatná podsíť: '%s' - Keep at most <n> unconnectable blocks in memory (default: %u) - Držet v paměti nejvýše <n> nespojitelných bloků (výchozí: %u) + Keep at most <n> unconnectable transactions in memory (default: %u) + Držet v paměti nejvýše <n> nespojitelných transakcí (výchozí: %u) Need to specify a port with -whitebind: '%s' @@ -2998,10 +3206,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Možnosti přeposílání: - - Print block on startup, if found in block index - Vypsat při startu blok,pokud se nachází v indexu bloků - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Možnosti SSL pro RPC: (viz instrukce nastavení SSL na Bitcoin Wiki) @@ -3010,6 +3214,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Možnosti RPC serveru: + + RPC support for HTTP persistent connections (default: %d) + Podpora RPC pro perzistentní HTTP spojení (výchozí: %d) + Randomly drop 1 of every <n> network messages Náhodně zahazovat jednu z každých <n> síťových zpráv @@ -3022,6 +3230,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Send trace/debug info to console instead of debug.log file Posílat stopovací/ladicí informace do konzole místo do souboru debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Posílat transakce pokud možno bez poplatků (výchozí: %u) + Show all debugging options (usage: --help -help-debug) Zobrazit všechny možnosti ladění (užití: --help -help-debug) @@ -3046,9 +3258,13 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Částky v transakci musí být kladné + + Transaction too large for fee policy + Transakce je na poplatkovou politiku příliš velká + Transaction too large - Transace je příliš velká + Transakce je příliš velká Unable to bind to %s on this computer (bind returned error %s) @@ -3130,14 +3346,166 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Chyba při načítání wallet.dat: peněženka je poškozená + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = ukládat transakční metadata, např. majitele účtu a informace o platebním požadavku, 2 = mazat transakční metadata) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Promítnout databázovou aktivitu z paměťového prostoru do záznamu na disku každých <n> megabajtů (výchozí: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Jak moc důkladná má být verifikace bloků -checkblocks (0-4, výchozí: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Zaznamenávat během těžení bloků prioritu transakce a poplatek za kB (výchozí: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Spravovat úplný index transakcí, který je využíván rpc voláním getrawtransaction (výchozí: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Doba ve vteřinách, po kterou se nebudou moci zlobivé protějšky znovu připojit (výchozí: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Tisknout ladicí informace (výchozí: %u, zadání <category> je volitelné) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Použít samostatnou SOCKS5 proxy ke spojení s protějšky přes skryté služby v Toru (výchozí: %s) + + + (default: %s) + (výchozí: %s) + + + Acceptable ciphers (default: %s) + Akceptovatelné šifry (výchozí: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Vždy získávat adresy dalších protějšků přes DNS (výchozí: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Vypnout bezpečný režim (safemode), překrýt skutečnou událost bezpečného režimu (výchozí: %u) + Error loading wallet.dat Chyba při načítání wallet.dat + + Force safe mode (default: %u) + Vynutit bezpečný mód (výchozí: %u) + + + Generate coins (default: %u) + Těžit (výchozí: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Kolik bloků při startu zkontrolovat (výchozí: %u, 0 = všechny) + + + Include IP addresses in debug output (default: %u) + Zaznamenávat do ladicích výstupů i IP adresy (výchozí: %u) + Invalid -proxy address: '%s' Neplatná -proxy adresa: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Omezit velikost vyrovnávací paměti pro podpisy na <n> položek (výchozí: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Čekat na JSON-RPC spojení na <portu> (výchozí: %u nebo testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Čekat na spojení na <portu> (výchozí: %u nebo testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Povolit nejvýše <n> protějšků (výchozí: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Maximální velikost přijímacího bufferu pro každé spojení, <n>*1000 bajtů (výchozí: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Maximální velikost odesílacího bufferu pro každé spojení, <n>*1000 bajtů (výchozí: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + Uznávat pouze řetězec bloků, který odpovídá vnitřním kontrolním bodům (výchozí: %u) + + + Prepend debug output with timestamp (default: %u) + Připojit před ladicí výstup časové razítko (výchozí: %u) + + + Relay and mine data carrier transactions (default: %u) + Přeposílat a těžit transakce nesoucí data (výchozí: %u) + + + Relay non-P2SH multisig (default: %u) + Přeposílat ne-P2SH multisig (výchozí: %u) + + + Run a thread to flush wallet periodically (default: %u) + Spustit vlákno pročišťující periodicky peněženku (výchozí: %u) + + + Server certificate file (default: %s) + Soubor se serverovým certifikátem (výchozí: %s) + + + Server private key (default: %s) + Soubor se serverovým soukromým klíčem (výchozí: %s) + + + Set key pool size to <n> (default: %u) + Nastavit zásobník klíčů na velikost <n> (výchozí: %u) + + + Set minimum block size in bytes (default: %u) + Nastavit minimální velikost bloku v bajtech (výchozí: %u) + + + Set the number of threads to service RPC calls (default: %d) + Nastavení počtu vláken pro servisní RPC volání (výchozí: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Nastavit příznak DB_PRIVATE v databázovém prostředí peněženky (výchozí: %u) + + + Specify configuration file (default: %s) + Konfigurační soubor (výchozí: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Zadej časový limit spojení v milivteřinách (minimum: 1, výchozí: %d) + + + Spend unconfirmed change when sending transactions (default: %u) + Utrácet i ještě nepotvrzené drobné při posílání transakcí (výchozí: %u) + + + Stop running after importing blocks from disk (default: %u) + Ukončit se po importu bloků z disku (výchozí: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Práh pro odpojování zlobivých protějšků (výchozí: %u) + Unknown network specified in -onlynet: '%s' V -onlynet byla uvedena neznámá síť: '%s' @@ -3154,10 +3522,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Neplatná částka pro -paytxfee=<částka>: '%s' - - Invalid amount - Neplatná částka - Insufficient funds Nedostatek prostředků @@ -3190,10 +3554,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Načítání dokončeno - - To use the %s option - K použití volby %s - Error Chyba diff --git a/src/qt/locale/bitcoin_cy.ts b/src/qt/locale/bitcoin_cy.ts index c68fc274f320d..c9c4379248474 100644 --- a/src/qt/locale/bitcoin_cy.ts +++ b/src/qt/locale/bitcoin_cy.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Clicio dwywaith i olygu cyfeiriad neu label - Create a new address Creu cyfeiriad newydd diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts index f733591098497..f22636b7b48a1 100644 --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dobbeltklik for at redigere adresse eller mærkat + Right-click to edit address or label + Højreklik for at redigere adresse eller mærke Create a new address @@ -1284,6 +1284,14 @@ Adresse: %4 Refund from %1 Tilbagebetaling fra %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Betalingsanmodning %1 er for stor (%2 byte, %3 byte tilladt). + + + Payment request DoS protection + Beskyttelse mod DoS-angreb via betalingsanmodninger + Error communicating with %1: %2 Fejl under kommunikation med %1: %2 @@ -1981,8 +1989,8 @@ Adresse: %4 Kopiér byttepenge - Total Amount %1 (= %2) - Totalbeløb %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Totalbeløb %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -2802,30 +2810,6 @@ Adresse: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Acceptér forbindelser udefra (standard: 1 hvis hverken -proxy eller -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, du skal angive en RPC-adgangskode i konfigurationsfilen: -%s -Det anbefales, at du bruger nedenstående, tilfældige adgangskode: -rpcuser=bitcoinrpc -rpcpassword=%s -(du behøver ikke huske denne adgangskode) -Brugernavnet og adgangskode MÅ IKKE være det samme. -Hvis filen ikke eksisterer, opret den og giv ingen andre end ejeren læserettighed. -Det anbefales også at angive alertnotify, så du påmindes om problemer; -fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Tildel til den givne adresse og lyt altid på den. Brug [vært]:port-notation for IPv6 @@ -2842,14 +2826,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Start regressionstesttilstand, som bruger en speciel kæde, hvor blokke kan løses med det samme. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Fejl: Transaktionen blev afvist. Dette kan ske, hvis nogle af dine bitcoins i din tegnebog allerede er brugt, som hvis du brugte en kopi af wallet.dat og dine bitcoins er blevet brugt i kopien, men ikke er markeret som brugt her. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Fejl: Denne transaktion kræver et transaktionsgebyr på minimum %s pga. dens beløb, kompleksitet eller anvendelse af nyligt modtagne bitcoins! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Udfør kommando, når en transaktion i tegnebogen ændres (%s i kommandoen erstattes med TxID) @@ -2954,18 +2930,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database Åbning af blokdatabase mislykkedes - - Error: A fatal internal error occured, see debug.log for details - Fejl: En fatal intern fejl opstod; se debug.log for detaljer - Error: Disk space is low! Fejl: Mangel på ledig diskplads! - - Error: Wallet locked, unable to create transaction! - Fejl: Tegnebog låst, kan ikke oprette transaktion! - Failed to listen on any port. Use -listen=0 if you want this. Lytning på enhver port mislykkedes. Brug -listen=0, hvis du ønsker dette. @@ -3090,14 +3058,30 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Gebyrer (i BTC/Kb) mindre end dette opfattes som nulgebyr for oprettelse af transaktion (standard: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Hvis paytxfee ikke er sat, inkluderes nok gebyr til at transaktioner begynder at blive bekræftet ingen for gennemsnitligt n blokke (standard: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Ugyldigt beløb for -maxtxfee=<beløb>: "%s" (skal være på mindst minrelay-gebyret på %s for at undgå hængende transaktioner) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Maksimal størrelse på data i transaktioner til dataoverførsel, som vi videresender og miner (standard: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maksimalt totalgebyr der bruges på en enkelt tegnebogstransaktion. Sættes det for lavt kan store transaktioner afbrydes (standard: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Forespørgsel + + Require high priority for relaying free or low-fee transactions (default:%u) + Kræv høj prioritet for at videresende transaktioner med intet eller lavt gebyr (standard: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Sæt maksimumstørrelse for højprioritet/lavgebyr-transaktioner i byte (standard: %d) @@ -3110,6 +3094,34 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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. Dette produkt indeholder software, der er udviklet af OpenSSL-projektet for brug i OpenSSL-værktøjskassen <https://www.openssl.org/>, samt kryptografisk software, der er skrevet af Eric Young, samt UPnP-software, der er skrevet af Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + For at bruge bitcoind eller valgmuligheden -server i bitcoin-qt skal du oprette et rpcpassword i konfigurationsfilen: +%s +Det anbefales, at du bruger følgende tilfældige adgangskode: +rpcuser=bitcoinrpc +rpcpassword=%s +(du behøver ikke at huske adgangskoden) +Brugernavnet og adgangskoden MÅ IKKE være det samme. +Hvis filen ikke eksisterer, opret den da så kun ejeren har læserettigheder. +Det anbefales også at sætte alertnotify, så du får besked omkring problemer; +for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Advarsel: -maxtxfee er sat meget højt! Så store gebyrer kan betales på en enkelt transaktion. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet! Hvis der er fejl i disse vil Bitcoin Core ikke fungere korrekt. @@ -3118,6 +3130,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Andre knuder på hvidliste kan ikke DoS-bandlyses, og deres transaktioner videresendes altid, selv hvis de allerede er i mempool'en. Brugbart til fx et adgangspunkt + + Accept public REST requests (default: %u) + Acceptér offentlige REST-anmodninger (standard: %u) + Cannot resolve -whitebind address: '%s' Kan ikke løse -whitebind adresse: "%s" @@ -3138,6 +3154,14 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Fejl ved indlæsning af wallet.dat: Tegnebog kræver en nyere version af Bitcoin Core + + Error reading from database, shutting down. + Fejl under læsning fra database; lukker ned. + + + Error: A fatal internal error occurred, see debug.log for details + Fejl: En alvorlig intern fejl er opstået. Se debug.log for detaljer + Error: Unsupported argument -tor found, use -onion. Fejl: Ikke understøttet argument -tor fundet, brug -onion. @@ -3154,6 +3178,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Sundhedstjek under klargøring mislykkedes. Bitcoin Core lukker ned. + + Invalid amount for -maxtxfee=<amount>: '%s' + Ugyldigt beløb for -maxtxfee=<beløb>: "%s" + Invalid amount for -minrelaytxfee=<amount>: '%s' Ugyldigt beløb til -minrelaytxfee=<beløb>: "%s" @@ -3170,10 +3198,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid netmask specified in -whitelist: '%s' Ugyldig netmaske angivet i -whitelist: "%s" - - Keep at most <n> unconnectable blocks in memory (default: %u) - Behold højest <n> uforbindelige blokke i hukommelsen (standard: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Behold højest <n> uforbindelige transaktioner i hukommelsen (standard: %u) @@ -3186,10 +3210,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Videresendelsesvalgmuligheder for knude: - - Print block on startup, if found in block index - Udskriv blok under opstart, hvis den findes i blokindeks - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Tilvalg for RPC SSL: (se Bitcoin Wiki for instruktioner i SSL-opstart) @@ -3198,6 +3218,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Tilvalg for RPC-server: + + RPC support for HTTP persistent connections (default: %d) + RPC-understøttelse for HTTP-persistente forbindelser (standard: %d) + Randomly drop 1 of every <n> network messages Drop tilfældigt 1 ud af hver <n> netværksbeskeder @@ -3206,6 +3230,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Randomly fuzz 1 of every <n> network messages Slør tilfældigt 1 ud af hver <n> netværksbeskeder + + Receive and display P2P network alerts (default: %u) + Modtag og vis P2P-netværksadvarsler (standard: %u) + Send trace/debug info to console instead of debug.log file Send sporings-/fejlsøgningsinformation til konsollen i stedet for debug.log filen @@ -3238,6 +3266,10 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Transaktionsbeløb skal være positive + + Transaction too large for fee policy + Transaktion for stor til gebyrretningslinjer + Transaction too large Transaktionen er for stor @@ -3334,10 +3366,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) Hvor gennemarbejdet blokverificeringen for -checkblocks er (0-4; standard: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Hvis paytxfee ikke er angivet, inkludér da nok gebyr til at transaktioner gennemsnitligt bekræftes inden for n blokke (standard: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Prioritet for transaktionslog og gebyr pr. kB under udvinding af blokke (standard: %u) @@ -3430,10 +3458,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Prepend debug output with timestamp (default: %u) Føj tidsstempel foran fejlsøgningsoutput (standard: %u) - - Print block tree on startup (default: %u) - Udskriv bloktræ under opstart (standard: %u) - Relay and mine data carrier transactions (default: %u) Videresend og udvind databærer-transaktioner (standard: %u) @@ -3512,10 +3536,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Ugyldigt beløb for -paytxfee=<beløb>: "%s" - - Invalid amount - Ugyldigt beløb - Insufficient funds Manglende dækning @@ -3548,10 +3568,6 @@ fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Indlæsning gennemført - - To use the %s option - For at bruge %s mulighed - Error Fejl diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts index 2804d2d6654a0..3f0c0241522e2 100644 --- a/src/qt/locale/bitcoin_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Doppelklick zum Bearbeiten der Adresse oder der Bezeichnung + Right-click to edit address or label + Rechtsklick zum Bearbeiten der Adresse oder der Bezeichnung Create a new address @@ -478,6 +478,10 @@ Up to date Auf aktuellem Stand + + Processed %n blocks of transaction history. + %n Block des Transaktionsverlaufs verarbeitet.%n Blöcke des Transaktionsverlaufs verarbeitet. + Catching up... Hole auf... @@ -862,7 +866,7 @@ Adresse: %4 Set SSL root certificates for payment request (default: -system-) - SSL-Wurzelzertifikate für Zahlungsanforderungen festlegen (Standard: Systemstandard) + SSL-Wurzelzertifikate für Zahlungsanforderungen festlegen (Standard: -system-) Show splash screen on startup (default: 1) @@ -1283,6 +1287,14 @@ Adresse: %4 Refund from %1 Rücküberweisung von %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Zahlungsanforderung %1 ist zu groß (%2 Byte, erlaubt sind %3 Byte). + + + Payment request DoS protection + Zahlungsanforderungs-DoS-Schutz + Error communicating with %1: %2 Kommunikationsfehler mit %1: %2 @@ -1980,8 +1992,8 @@ Adresse: %4 Wechselgeld kopieren - Total Amount %1 (= %2) - Gesamtbetrag %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Gesamtbetrag %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -2801,30 +2813,6 @@ Adresse: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Eingehende Verbindungen annehmen (Standard: 1, wenn nicht -proxy oder -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, Sie müssen den Wert rpcpasswort in dieser Konfigurationsdatei angeben: -%s -Es wird empfohlen das folgende Zufallspasswort zu verwenden: -rpcuser=bitcoinrpc -rpcpassword=%s -(Sie müssen sich dieses Passwort nicht merken!) -Der Benutzername und das Passwort dürfen NICHT identisch sein. -Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer. -Es wird ebenfalls empfohlen alertnotify anzugeben, um im Problemfall benachrichtig zu werden; -zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 An die angegebene Adresse binden und immer abhören. Für IPv6 "[Host]:Port"-Notation verwenden @@ -2841,14 +2829,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Regressionstest-Modus aktivieren, der eine spezielle Blockkette nutzt, in der Blöcke sofort gelöst werden können. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Fehler: Die Transaktion wurde abgelehnt! Dies kann passieren, wenn einige Bitcoins aus Ihrer Wallet bereits ausgegeben wurden. Beispielsweise weil Sie eine Kopie Ihrer wallet.dat genutzt, die Bitcoins dort ausgegeben haben und dies daher in der derzeit aktiven Wallet nicht vermerkt ist. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Fehler: Diese Transaktion benötigt aufgrund Ihres Betrags, Ihrer Komplexität oder der Nutzung erst kürzlich erhaltener Zahlungen eine Transaktionsgebühr in Höhe von mindestens %s! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Befehl ausführen wenn sich eine Wallet-Transaktion verändert (%s im Befehl wird durch die Transaktions-ID ersetzt) @@ -2953,18 +2933,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Error opening block database Fehler beim Öffnen der Blockdatenbank - - Error: A fatal internal error occured, see debug.log for details - Fehler: Ein schwerer Fehler ist aufgetreten, für Details debug.log ansehen. - Error: Disk space is low! Fehler: Zu wenig freier Speicherplatz auf dem Datenträger! - - Error: Wallet locked, unable to create transaction! - Fehler: Wallet gesperrt, Transaktion kann nicht erstellt werden! - Failed to listen on any port. Use -listen=0 if you want this. Fehler, es konnte kein Port abgehört werden. Wenn dies so gewünscht wird -listen=0 verwenden. @@ -3089,14 +3061,30 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Niedrigere Gebühren (in BTC/Kb) als diese werden bei der Transaktionserstellung als gebührenfrei angesehen (Standard: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Wenn -paytxfee nicht festgelegt wurde Gebühren einschließen, so dass mit der Bestätigung von Transaktionen im Schnitt innerhalb von n Blöcken begonnen wird (Standard: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Ungültiger Betrag für -maxtxfee=<amount>: '%s' (muss mindestens die minimale Weiterleitungsgebühr in Höhe von %s sein, um zu verhindern dass Transaktionen nicht bearbeitet werden) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Maximale Datengröße in "Data Carrier"-Transaktionen die weitergeleitet und erarbeitet werden (Standard: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maximale Gesamtgebühren je Wallet-Transaktion, ein zu niedriger Wert kann große Transaktionen abbrechen (Standard: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Adressen von Gegenstellen via DNS-Namensauflösung finden, falls zu wenige Adressen verfügbar sind (Standard: 1, außer bei -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Zum Weiterleiten von freien Transaktionen oder Transaktionen mit niedrigen Gebühren eine hohe Priorität voraussetzen (Standard: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Maximale Größe in Byte von "high-priority/low-fee"-Transaktionen festlegen (Standard: %d) @@ -3109,6 +3097,34 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com 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. Dieses Produkt enthält Software, die vom OpenSSL-Projekt zur Verwendung im OpenSSL-Toolkit <https://www.openssl.org/> entwickelt wird, sowie von Eric Young geschriebene kryptographische Software und von Thomas Bernard geschriebene UPnP-Software. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Um bitcoind oder die Option -server mit bitcoin-qt verwenden zu können, müssen Sie rpcpassword in der Konfigurationsdatei angeben: +%s +Es wird empfohlen das folgende Zufallspasswort zu verwenden. +rpcuser=bitcoinrpc +rpcpassword=%s +(Sie müssen sich dieses Passwort nicht merken!) +Der Benutzername und das Passwort dürfen NICHT identisch sein. +Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer. +Es wird ebenfalls empfohlen alertnotify anzugeben, um im Problemfall benachrichtigt zu werden. +Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Warnung: -maxtxfee ist auf einen sehr hohen Wert festgelegt! Gebühren dieser Höhe könnten für eine einzelne Transaktion bezahlt werden. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Warnung: Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da Bitcoin Core ansonsten nicht ordnungsgemäß funktionieren wird. @@ -3117,6 +3133,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com 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 Erlaubte Gegenstellen werden nicht für DoS-Attacken gesperrt und ihre Transkationen werden immer weitergeleitet, auch wenn sie sich bereits im Speicherpool befinden, was z.B. für Gateways sinnvoll ist. + + Accept public REST requests (default: %u) + Öffentliche REST-Anfragen annehmen (Standard: %u) + Cannot resolve -whitebind address: '%s' Kann Adresse in -whitebind nicht auflösen: '%s' @@ -3137,6 +3157,14 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Fehler beim Laden von wallet.dat: Wallet benötigt neuere Version von Bitcoin Core + + Error reading from database, shutting down. + Fehler beim lesen der Datenbank, Ausführung wird beendet. + + + Error: A fatal internal error occurred, see debug.log for details + Fehler: Ein schwerer interner Fehler ist aufgetreten, siehe debug.log für Details. + Error: Unsupported argument -tor found, use -onion. Fehler: Nicht unterstütztes Argument -tor gefunden, bitte -onion verwenden. @@ -3153,6 +3181,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Initialisierungsplausibilitätsprüfung fehlgeschlagen. Bitcoin Core wird beendet. + + Invalid amount for -maxtxfee=<amount>: '%s' + Ungültiger Betrag für -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Ungültiger Betrag für -minrelaytxfee=<amount>: '%s' @@ -3169,10 +3201,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Invalid netmask specified in -whitelist: '%s' Ungültige Netzmaske angegeben in -whitelist: '%s' - - Keep at most <n> unconnectable blocks in memory (default: %u) - Maximal <n> nicht-verbindbare Blöcke im Speicher halten (Standard: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Maximal <n> nicht-verbindbare Transaktionen im Speicher halten (Standard: %u) @@ -3185,10 +3213,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Node relay options: Knoten-Weiterleitungsoptionen: - - Print block on startup, if found in block index - Block beim Starten ausgeben, wenn dieser im Blockindex gefunden wurde. - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC-SSL-Optionen (siehe Bitcoin-Wiki für SSL-Einrichtung): @@ -3197,6 +3221,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com RPC server options: RPC-Serveroptionen: + + RPC support for HTTP persistent connections (default: %d) + Unterstützung für persistente HTTP-Verbindungen bei RPC (Standard: %d) + Randomly drop 1 of every <n> network messages Zufällig eine von <n> Netzwerknachrichten verwerfen @@ -3205,6 +3233,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Randomly fuzz 1 of every <n> network messages Zufällig eine von <n> Netzwerknachrichten verwürfeln + + Receive and display P2P network alerts (default: %u) + P2P-Netzwerk-Alarme empfangen und anzeigen (Standard: %u) + Send trace/debug info to console instead of debug.log file Rückverfolgungs- und Debuginformationen an die Konsole senden, anstatt sie in debug.log zu schreiben @@ -3237,6 +3269,10 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Transaction amounts must be positive Transaktionsbeträge müssen positiv sein + + Transaction too large for fee policy + Transaktion ist für die Gebührenrichtlinie zu groß + Transaction too large Transaktion zu groß @@ -3333,10 +3369,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) Legt fest, wie gründlich die Blockverifikation von -checkblocks ist (0-4, Standard: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Wenn keine Transaktionsgebühr festgelegt wurde eine Gebühr einbeziehen, sodass Transaktionen im Schnitt innerhalb von <n> Blöcken bestätigt werden (Standard: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Transaktionspriorität und Gebühr pro kB beim Erzeugen von Blöcken protokollieren (Standard: %u) @@ -3425,10 +3457,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Prepend debug output with timestamp (default: %u) Debugausgaben einen Zeitstempel voranstellen (Standard: %u) - - Print block tree on startup (default: %u) - Blockbaum beim Starten ausgeben (Standard: %u) - Relay and mine data carrier transactions (default: %u) "Data Carrier"-Transaktionen weiterleiten und erarbeiten (Standard: %u) @@ -3505,10 +3533,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Ungültiger Betrag für -paytxfee=<amount>: '%s' - - Invalid amount - Ungültiger Betrag - Insufficient funds Unzureichender Kontostand @@ -3541,10 +3565,6 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"Bitcoin Alert\" admin@foo.com Done loading Laden abgeschlossen - - To use the %s option - Zur Nutzung der %s-Option - Error Fehler diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts index cf29c222ed5b2..64ce55fe9a8ab 100644 --- a/src/qt/locale/bitcoin_el_GR.ts +++ b/src/qt/locale/bitcoin_el_GR.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Διπλό-κλικ για επεξεργασία της διεύθυνσης ή της ετικέτας + Right-click to edit address or label + Δεξί-κλικ για επεξεργασία της διεύθυνσης ή της ετικέτας Create a new address @@ -972,10 +972,18 @@ Address: %4 IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) Διεύθυνση IP του διαμεσολαβητή (π.χ. 127.0.0.1 / IPv6: ::1) + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + URLs από τρίτους (π.χ. ένας εξερευνητής μπλοκ) τα οποία εμφανίζονται στην καρτέλα συναλλαγών ως στοιχεία μενού. Το %s στα URL αντικαθιστάται από την τιμή της κατατεμαχισμένης συναλλαγής. + Third party transaction URLs Διευθύνσεις τρίτων συναλλαγών. + + Active command-line options that override above options: + Ενεργές επιλογές γραμμής-εντολών που παρακάμπτουν τις παραπάνω επιλογές: + Reset all client options to default. Επαναφορα όλων των επιλογων του πελάτη σε default. @@ -988,6 +996,10 @@ Address: %4 &Network &Δίκτυο + + (0 = auto, <0 = leave that many cores free) + (0 = αυτόματο, <0 = ελεύθεροι πυρήνες) + W&allet Π&ορτοφόλι @@ -1000,6 +1012,14 @@ Address: %4 Enable coin &control features Επιλογή κατα πόσο να αναδείχνονται οι δυνατότητες ελέγχου κερμάτων. + + If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. + Εάν απενεργοποιήσετε το ξόδεμα μη επικυρωμένων ρέστων, τα ρέστα από μια συναλλαγή δεν μπορούν να χρησιμοποιηθούν έως ότου αυτή η συναλλαγή έχει έστω μια επικύρωση. Αυτό επίσης επηρεάζει το πως υπολογίζεται το υπόλοιπό σας. + + + &Spend unconfirmed change + &Ξόδεμα μη επικυρωμένων ρέστων + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Αυτόματο άνοιγμα των θυρών Bitcoin στον δρομολογητή. Λειτουργεί μόνο αν ο δρομολογητής σας υποστηρίζει τη λειτουργία UPnP. @@ -1159,6 +1179,10 @@ Address: %4 Your current total balance Το τρέχον συνολικό υπόλοιπο + + Your current balance in watch-only addresses + Το τρέχον υπόλοιπο σας σε διευθύνσεις παρακολούθησης μόνο + Spendable: Ξοδεμένα: @@ -1167,6 +1191,18 @@ Address: %4 Recent transactions Πρόσφατες συναλλαγές + + Unconfirmed transactions to watch-only addresses + Μη επικυρωμένες συναλλαγές σε διευθύνσεις παρακολούθησης μόνο + + + Mined balance in watch-only addresses that has not yet matured + Εξορυγμένο υπόλοιπο σε διευθύνσεις παρακολούθησης μόνο που δεν έχει ωριμάσει ακόμα + + + Current total balance in watch-only addresses + Το τρέχον συνολικό υπόλοιπο σε διευθύνσεις παρακολούθησης μόνο + out of sync εκτός συγχρονισμού @@ -1194,6 +1230,10 @@ Address: %4 Payment request is not initialized. Η αίτηση πληρωμής δεν έχει αρχίζει ακόμα. + + Requested payment amount of %1 is too small (considered dust). + Το ζητούμενο ποσό πληρωμής του %1 είναι πολύ μικρό (θεωρείται σκόνη) + Payment request error Σφάλμα αιτήματος πληρωμής @@ -1214,6 +1254,18 @@ Address: %4 Refund from %1 Επιστροφή ποσού από %1 + + Error communicating with %1: %2 + Σφάλμα επικοινωνίας με %1: %2 + + + Payment request cannot be parsed! + Η αίτηση πληρωμής δεν μπορεί να αναλυθεί! + + + Bad response from server %1 + Κακή απάντηση από διακομιστή %1 + Payment acknowledged Πληρωμή αναγνωρίστηκε @@ -1330,6 +1382,10 @@ Address: %4 Using OpenSSL version Χρησιμοποιηση της OpenSSL εκδοσης + + Using BerkeleyDB version + Χρήση BerkeleyDB έκδοσης + Startup time Χρόνος εκκίνησης @@ -1358,6 +1414,18 @@ Address: %4 Received Παραλήφθησαν + + Sent + Αποστολή + + + &Peers + &Χρήστες + + + Select a peer to view detailed information. + Επιλέξτε ένα χρήστη για να δείτε αναλυτικές πληροφορίες. + Version Έκδοση @@ -1366,6 +1434,38 @@ Address: %4 Services Υπηρεσίες + + Starting Height + Αρχικό ύψος + + + Sync Height + Ύψος συγχονισμού + + + Ban Score + Σκορ αποκλησμού + + + Connection Time + Χρόνος σύνδεσης + + + Last Send + Τελευταία αποστολή + + + Last Receive + Τελευταία λήψη + + + Bytes Sent + Σταλθέντα bytes + + + Bytes Received + Ληφθέντα bytes + Ping Time Χρόνος καθυστέρησης @@ -1466,7 +1566,11 @@ Address: %4 Unknown Άγνωστο(α) - + + Fetching... + Ανάκτηση... + + ReceiveCoinsDialog @@ -1481,6 +1585,10 @@ Address: %4 &Message: &Μήνυμα: + + R&euse an existing receiving address (not recommended) + Ε&παναχρησιμοποίηση υπάρχουσας διεύθυνσης λήψης (δεν συνιστάται) + Clear all fields of the form. Καθαρισμός όλων των πεδίων της φόρμας. @@ -1497,6 +1605,10 @@ Address: %4 Show Εμφάνιση + + Remove the selected entries from the list + Αφαίρεση επιλεγμένων καταχωρίσεων από τη λίστα + Remove Αφαίρεση @@ -1524,10 +1636,18 @@ Address: %4 Copy &URI Αντιγραφη της επιλεγμενης διεύθυνσης στο πρόχειρο του συστηματος + + Copy &Address + Αντιγραφή &Διεύθυνσης + &Save Image... &Αποθήκευση εικόνας... + + Request payment to %1 + Αίτηση πληρωμής για %1 + Payment information Πληροφορίες πληρωμής @@ -1602,6 +1722,10 @@ Address: %4 Coin Control Features Χαρακτηρηστικά επιλογής κερμάτων + + Inputs... + Εισροές... + automatically selected επιλεγμένο αυτόματα @@ -1638,6 +1762,14 @@ Address: %4 Change: Ρέστα: + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Όταν ενεργό, αλλά η διεύθυνση ρέστων είναι κενή ή άκυρη, τα ρέστα θα σταλούν σε μία πρόσφατα δημιουργημένη διεύθυνση. + + + Custom change address + Προσαρμοσμένη διεύθυνση ρέστων + Transaction Fee: Τέλος συναλλαγής: @@ -1650,9 +1782,37 @@ Address: %4 Minimize Ελαχιστοποίηση + + per kilobyte + ανά kilobyte + + + total at least + συνολικά τουλάχιστον + + + Recommended: + Προτεινόμενο: + + + Custom: + Προσαρμογή: + + + Confirmation time: + Χρόνος επικύρωσης: + + + normal + κανονικό + fast - Γρήγορο + γρήγορο + + + (confirmation may take longer) + (η επικύρωση ίσως χρειαστεί περισσότερο χρόνο) Send to multiple recipients at once @@ -1722,10 +1882,6 @@ Address: %4 Copy change Αντιγραφή των ρέστων - - Total Amount %1 (= %2) - Ολικό Ποσό %1 (= %2) - or ή @@ -1797,6 +1953,14 @@ Address: %4 Choose previously used address Επιλογή διεύθυνσης που έχει ήδη χρησιμοποιηθεί + + This is a normal payment. + Αυτή είναι μια απλή πληρωμή. + + + The Bitcoin address to send the payment to + Η διεύθυνση Bitcoin που θα σταλεί η πληρωμή + Alt+A Alt+A @@ -1817,6 +1981,14 @@ Address: %4 Message: Μήνυμα: + + Enter a label for this address to add it to the list of used addresses + Εισάγεται μία ετικέτα για αυτή την διεύθυνση για να προστεθεί στη λίστα με τις χρησιμοποιημένες διευθύνσεις + + + This is an unverified payment request. + Αυτή είναι μία ανεπιβεβαίωτη αίτηση πληρωμής. + Pay To: Πληρωμή σε: @@ -2357,6 +2529,10 @@ Address: %4 Exporting Successful Επιτυχής εξαγωγή + + The transaction history was successfully saved to %1. + Το ιστορικό συναλλαγών αποθηκεύτηκε επιτυχώς στο %1. + Comma separated file (*.csv) Αρχείο οριοθετημένο με κόμματα (*.csv) @@ -2396,7 +2572,11 @@ Address: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Μονάδα μέτρησης προβολής ποσών. Κάντε κλικ για επιλογή άλλης μονάδας. + + WalletFrame @@ -2433,6 +2613,10 @@ Address: %4 Backup Failed Αποτυχία κατά τη δημιουργία αντιγράφου + + There was an error trying to save the wallet data to %1. + Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δεδομένων πορτοφολιού στο %1. + The wallet data was successfully saved to %1. Τα δεδομένα πορτοφολιού αποθηκεύτηκαν με επιτυχία στο %1. @@ -2476,42 +2660,13 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Να δέχεσαι συνδέσεις από έξω(προεπιλογή:1) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Αποθηκευση σε συγκεκριμένη διεύθυνση. Χρησιμοποιήστε τα πλήκτρα [Host] : συμβολισμός θύρα για IPv6 - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Σφάλμα: Η συναλλαγή απορρίφθηκε. -Αυτό ίσως οφείλεται στο ότι τα νομίσματά σας έχουν ήδη ξοδευτεί, π.χ. με την αντιγραφή του wallet.dat σε άλλο σύστημα και την χρήση τους εκεί, χωρίς η συναλλαγή να έχει καταγραφεί στο παρόν σύστημα. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Σφάλμα: Αυτή η συναλλαγή απαιτεί αμοιβή συναλλαγής τουλάχιστον %s λόγω του μεγέθους, πολυπλοκότητας ή της χρήσης πρόσφατης παραλαβής κεφαλαίου + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Εισαγωγή δοκιμαστικής λειτουργίας παλινδρόμησης, που χρησιμοποιεί μια ειδική αλυσίδα στην οποία τα μπλοκ επιλύονται στιγμιαία. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2581,18 +2736,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database Σφάλμα φορτωσης της βασης δεδομενων των μπλοκ - - Error: A fatal internal error occured, see debug.log for details - Σφάλμα: Παρουσιάστηκε ανεπανόρθωτο εσωτερικό σφάλμα, δείτε debug.log για λεπτομέρειες - Error: Disk space is low! Προειδοποίηση: Χαμηλός χώρος στο δίσκο - - Error: Wallet locked, unable to create transaction! - Σφάλμα: το πορτοφόλι είναι κλειδωμένο, δεν μπορεί να δημιουργηθεί συναλλαγή - Failed to listen on any port. Use -listen=0 if you want this. ταλαιπωρηθειτε για να ακούσετε σε οποιαδήποτε θύρα. Χρήση - ακούστε = 0 , αν θέλετε αυτό. @@ -2609,6 +2756,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. Δεν ειναι αρκετες περιγραφες αρχείων διαθέσιμες. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Μόνο σύνδεση σε κόμβους του δικτύου <net> (ipv4, ipv6 ή onion) + Rebuild block chain index from current blk000??.dat files Εισαγωγή μπλοκ από εξωτερικό αρχείο blk000?.dat @@ -2617,6 +2768,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Specify wallet file (within data directory) Επιλέξτε αρχείο πορτοφολιού (μέσα απο κατάλογο δεδομένων) + + This is intended for regression testing tools and app development. + Αυτό προορίζεται για εργαλεία δοκιμών παλινδρόμησης και την ανάπτυξη εφαρμογών. + Verifying blocks... Επαλήθευση των μπλοκ... @@ -2625,6 +2780,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Verifying wallet... Επαλήθευση πορτοφολιου... + + Wallet %s resides outside data directory %s + Το πορτοφόλι %s βρίσκεται έξω από το φάκελο δεδομένων %s + Wallet options: Επιλογές πορτοφολιού: @@ -2637,6 +2796,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Αδυναμία κλειδώματος του φακέλου δεδομένων %s. Πιθανώς το Bitcoin να είναι ήδη ενεργό. + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Προειδοποίηση: Παρακαλώ ελέγξτε ότι η ημερομηνία και ώρα του υπολογιστή σας είναι σωστά ρυθμισμένες! Εάν το ρολόι σας είναι λάθος το Bitcoin Core δεν θα λειτουργήσει σωστά. + Connect through SOCKS5 proxy Σύνδεση μέσω διαμεσολαβητή SOCKS5 @@ -2649,6 +2812,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin + + Error reading from database, shutting down. + Σφάλμα ανάγνωσης από τη βάση δεδομένων, γίνεται τερματισμός. + Error: Unsupported argument -tor found, use -onion. Σφάλμα: Μη συμβατή παράμετρος -tor. Χρησιμοποιήσε την παράμετρο -onion @@ -2657,6 +2824,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Information Πληροφορία + + Initialization sanity check failed. Bitcoin Core is shutting down. + Η εκκίνηση ελέγχου ορθότητας απέτυχε. Γίνεται τερματισμός του Bitcoin Core. + Invalid amount for -minrelaytxfee=<amount>: '%s' Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' @@ -2665,14 +2836,26 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -mintxfee=<amount>: '%s' Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' + + Node relay options: + Επιλογές αναμετάδοσης κόμβου: + RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Ρυθμίσεις SSL: (ανατρέξτε στο Bitcoin Wiki για οδηγίες ρυθμίσεων SSL) + + RPC server options: + Επιλογές διακομιστή RPC: + Send trace/debug info to console instead of debug.log file Αποστολή πληροφοριών εντοπισμού σφαλμάτων στην κονσόλα αντί του αρχείου debug.log + + Show all debugging options (usage: --help -help-debug) + Προβολή όλων των επιλογών εντοπισμού σφαλμάτων (χρήση: --help -help-debug) + Shrink debug.log file on client startup (default: 1 when no -debug) Συρρίκνωση του αρχείο debug.log κατα την εκκίνηση του πελάτη (προεπιλογή: 1 όταν δεν-debug) @@ -2797,10 +2980,6 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid -proxy address: '%s' Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: '%s' - - Print block tree on startup (default: %u) - Εκτύπωση μπλοκ δέντρου κατά την εκκίνηση (προεπιλογή: %u) - Server certificate file (default: %s) Αρχείο πιστοποιητικού του διακομιστή (προεπιλογή: %s) @@ -2833,10 +3012,6 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Μη έγκυρο ποσό για την παράμετρο -paytxfee=<amount>: '%s' - - Invalid amount - Λάθος ποσότητα - Insufficient funds Ανεπαρκές κεφάλαιο @@ -2869,10 +3044,6 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Η φόρτωση ολοκληρώθηκε - - To use the %s option - Χρήση της %s επιλογής - Error Σφάλμα diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts index 71c626be4b0d3..1e8765c9e17fd 100644 --- a/src/qt/locale/bitcoin_en.ts +++ b/src/qt/locale/bitcoin_en.ts @@ -1,12 +1,12 @@ - + AddressBookPage - Double-click to edit address or label - Double-click to edit address or label + Right-click to edit address or label + @@ -291,12 +291,12 @@ Sign &message... - + Synchronizing with network... Synchronizing with network... - + &Overview &Overview @@ -377,7 +377,7 @@ - + Bitcoin Core client @@ -392,7 +392,7 @@ Reindexing blocks on disk... - + Send coins to a Bitcoin address Send coins to a Bitcoin address @@ -427,12 +427,12 @@ &Verify message... - + Bitcoin Bitcoin - + Wallet Wallet @@ -477,7 +477,7 @@ Verify messages to ensure they were signed with specified Bitcoin addresses - + &File &File @@ -497,7 +497,7 @@ Tabs toolbar - + Bitcoin Core Bitcoin Core @@ -532,7 +532,7 @@ - + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options @@ -841,7 +841,7 @@ Address: %4 - + highest @@ -1568,7 +1568,7 @@ Address: %4 PaymentServer - + URI handling @@ -1580,7 +1580,7 @@ Address: %4 - + Payment request rejected @@ -1607,17 +1607,17 @@ Address: %4 - - + + - + Payment request error - + Cannot start bitcoin: click-to-pay handler @@ -1642,7 +1642,7 @@ Address: %4 - + Unverified payment requests to custom payment scripts are unsupported. @@ -1653,6 +1653,16 @@ Address: %4 + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + + + + + Payment request DoS protection + + + + Error communicating with %1: %2 @@ -1698,17 +1708,17 @@ Address: %4 QObject - + Amount Amount - + Enter a Bitcoin address (e.g. %1) - + %1 d @@ -2301,7 +2311,7 @@ Address: %4 SendCoinsDialog - + Send Coins Send Coins @@ -2515,7 +2525,7 @@ Address: %4 - + Copy quantity @@ -2550,8 +2560,8 @@ Address: %4 - - Total Amount %1 (= %2) + + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> @@ -2625,12 +2635,12 @@ Address: %4 - + Copy dust - + Are you sure you want to send? @@ -3569,7 +3579,7 @@ Address: %4 bitcoin-core - + Options: Options: @@ -3579,12 +3589,12 @@ Address: %4 Specify data directory - + Connect to a node to retrieve peer addresses, and disconnect Connect to a node to retrieve peer addresses, and disconnect - + Specify your own public address Specify your own public address @@ -3609,32 +3619,7 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - - - + Bind to given address and always listen on it. Use [host]:port notation for IPv6 Bind to given address and always listen on it. Use [host]:port notation for IPv6 @@ -3654,17 +3639,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - - - + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -3674,7 +3649,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) @@ -3684,12 +3659,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Unable to bind to %s on this computer. Bitcoin Core is probably already running. - + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3729,7 +3704,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Attempt to recover private keys from a corrupt wallet.dat Attempt to recover private keys from a corrupt wallet.dat @@ -3794,22 +3769,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Error opening block database - - Error: A fatal internal error occured, see debug.log for details - - - - + Error: Disk space is low! Error: Disk space is low! - Error: Wallet locked, unable to create transaction! - Error: Wallet locked, unable to create transaction! - - - Failed to listen on any port. Use -listen=0 if you want this. Failed to listen on any port. Use -listen=0 if you want this. @@ -3834,7 +3799,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Not enough file descriptors available. Not enough file descriptors available. @@ -3844,12 +3809,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Rebuild block chain index from current blk000??.dat files Rebuild block chain index from current blk000??.dat files - + Set database cache size in megabytes (%d to %d, default: %d) @@ -3899,12 +3864,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. You need to rebuild the database using -reindex to change -txindex - + Imports blocks from external blk000??.dat file Imports blocks from external blk000??.dat file - + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times @@ -3944,7 +3909,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. @@ -3964,10 +3929,25 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + + + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) @@ -3975,6 +3955,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. + Require high priority for relaying free or low-fee transactions (default:%u) + + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) @@ -3989,7 +3974,27 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. @@ -3999,7 +4004,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + + Accept public REST requests (default: %u) + + + + Cannot resolve -whitebind address: '%s' @@ -4024,12 +4034,22 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + + Error reading from database, shutting down. + + + + + Error: A fatal internal error occurred, see debug.log for details + + + + Error: Unsupported argument -tor found, use -onion. - + Fee (in BTC/kB) to add to transactions you send (default: %s) @@ -4045,6 +4065,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. + Invalid amount for -maxtxfee=<amount>: '%s' + + + + Invalid amount for -minrelaytxfee=<amount>: '%s' Invalid amount for -minrelaytxfee=<amount>: '%s' @@ -4059,15 +4084,10 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Invalid netmask specified in -whitelist: '%s' - - - Keep at most <n> unconnectable blocks in memory (default: %u) - - Keep at most <n> unconnectable transactions in memory (default: %u) @@ -4085,17 +4105,17 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - Print block on startup, if found in block index + RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) - - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) + + RPC server options: - RPC server options: + RPC support for HTTP persistent connections (default: %d) @@ -4109,7 +4129,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + + Receive and display P2P network alerts (default: %u) + + + + Send trace/debug info to console instead of debug.log file Send trace/debug info to console instead of debug.log file @@ -4139,7 +4164,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Transaction amount too small Transaction amount too small @@ -4148,6 +4173,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Transaction amounts must be positive Transaction amounts must be positive + + + Transaction too large for fee policy + + Transaction too large @@ -4214,12 +4244,12 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Password for JSON-RPC connections - + Execute command when the best block changes (%s in cmd is replaced by block hash) Execute command when the best block changes (%s in cmd is replaced by block hash) - + Upgrade wallet to latest format Upgrade wallet to latest format @@ -4239,27 +4269,27 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. This help message - + Allow DNS lookups for -addnode, -seednode and -connect Allow DNS lookups for -addnode, -seednode and -connect - + Loading addresses... Loading addresses... - + Error loading wallet.dat: Wallet corrupted Error loading wallet.dat: Wallet corrupted - + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) - + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -4269,12 +4299,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - - - - + Log transaction priority and fee per kB when mining blocks (default: %u) @@ -4284,7 +4309,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Number of seconds to keep misbehaving peers from reconnecting (default: %u) @@ -4294,17 +4319,17 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) - + (default: %s) - + Acceptable ciphers (default: %s) @@ -4349,7 +4374,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Invalid -proxy address: '%s' - + Limit size of signature cache to <n> entries (default: %u) @@ -4389,12 +4414,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. - - Print block tree on startup (default: %u) - - - - + Relay and mine data carrier transactions (default: %u) @@ -4474,7 +4494,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Unknown network specified in -onlynet: '%s' - + Cannot resolve -bind address: '%s' Cannot resolve -bind address: '%s' @@ -4484,37 +4504,32 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Cannot resolve -externalip address: '%s' - + Invalid amount for -paytxfee=<amount>: '%s' Invalid amount for -paytxfee=<amount>: '%s' - - - Invalid amount - Invalid amount - Insufficient funds Insufficient funds - + Loading block index... Loading block index... - + Add a node to connect to and attempt to keep the connection open Add a node to connect to and attempt to keep the connection open - + Loading wallet... Loading wallet... - + Cannot downgrade wallet Cannot downgrade wallet @@ -4524,22 +4539,17 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. Cannot write default address - + Rescanning... Rescanning... - + Done loading Done loading - - To use the %s option - To use the %s option - - - + Error Error diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts index 5189310e649a6..5a6a211cceb0c 100644 --- a/src/qt/locale/bitcoin_eo.ts +++ b/src/qt/locale/bitcoin_eo.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Duoble-klaku por redakti adreson aŭ etikedon + Right-click to edit address or label + Dekstre-klaku por redakti adreson aŭ etikedon Create a new address @@ -89,7 +89,15 @@ Comma separated file (*.csv) Perkome disigita dosiero (*.csv) - + + Exporting Failed + ekspotado malsukcesinta + + + There was an error trying to save the address list to %1. Please try again. + Okazis eraron dum konservo de adreslisto al %1. Bonvolu provi denove. + + AddressTableModel @@ -282,6 +290,10 @@ Open &URI... Malfermi &URI-on... + + Bitcoin Core client + kliento de bitmon-kerno + Importing blocks from disk... Importado de blokoj el disko... @@ -334,6 +346,10 @@ &Receive &Ricevi + + Show information about Bitcoin Core + Vidigi informon pri Bitmona Kerno + &Show / Hide &Montri / Kaŝi @@ -422,6 +438,10 @@ %1 and %2 %1 kaj %2 + + %n year(s) + %n jaro%n jaroj + %1 behind mankas %1 @@ -512,6 +532,10 @@ Adreso: %4 Fee: Krompago: + + Dust: + Polvo: + After Fee: Post krompago: @@ -536,6 +560,14 @@ Adreso: %4 Amount Sumo + + Received with label + Ricevita kun etikedo + + + Received with address + Ricevita kun adreso + Date Dato @@ -596,6 +628,10 @@ Adreso: %4 Copy priority Kopii prioritaton + + Copy dust + Kopii polvon + Copy change Kopii restmonon @@ -906,6 +942,10 @@ Adreso: %4 &Network &Reto + + Expert + Fakulo + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Aŭtomate malfermi la kursilan pordon por Bitmono. Tio funkcias nur se via kursilo havas la UPnP-funkcion, kaj se tiu ĉi estas ŝaltita. @@ -1172,6 +1212,10 @@ Adreso: %4 Current number of blocks Aktuala nombro de blokoj + + Bytes Sent + Bajtoj Senditaj: + Last block time Horo de la lasta bloko @@ -1444,6 +1488,10 @@ Adreso: %4 Clear all fields of the form. Malplenigi ĉiujn kampojn de la formularo. + + Dust: + Polvo: + Clear &All &Forigi ĉion @@ -1496,10 +1544,6 @@ Adreso: %4 Copy change Kopii restmonon - - Total Amount %1 (= %2) - Totala Sumo %1 (= %2) - or @@ -1536,6 +1580,10 @@ Adreso: %4 (no label) (neniu etikedo) + + Copy dust + Kopii polvon + Are you sure you want to send? Ĉu vi certas, ke vi volas sendi? @@ -2079,6 +2127,10 @@ Adreso: %4 Show transaction details Montri detalojn de transakcio + + Exporting Failed + ekspotado malsukcesinta + Comma separated file (*.csv) Perkome disigita dosiero (*.csv) @@ -2190,42 +2242,10 @@ Adreso: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Akcepti konektojn el ekstere (defaŭlte: 1 se ne estas -proxy nek -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, vi devas specifi rpcpassword en la konfigura dosiero: -%s -Estas konsilinde uzi tiun ĉi aleatore kreitan pasvorton: -rpcuser=bitcoinrpc -rpcpassword=%s -(ne utilas al vi memorigi tiun ĉi pasvorton) -La salutnomo kaj la pasvorto estu nepre MALSAMAJ. -Se la dosiero ne ekzistas, kreu ĝin kun permeso "nur posedanto rajtas legi". -Estas konsilinde ankaŭ agordi alertnotify por ke vi ricevu avertojn pri eventualaj problemoj; -ekzemple: alertnotify=echo %%s | mail -s "Averto de Bitmono" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Bindi al donita adreso kaj ĉiam aŭskulti per ĝi. Uzu la formaton [gastigo]:pordo por IPv6 - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Eraro: la transakcio estas rifuzita. Tio povas okazi se iom da Bitmono en via monujo jam elspeziĝis (ekz. se vi uzis kopion de wallet.dat kies Bitmono jam elspeziĝis, sed ne estis markita kiel elspezita ĉi tie). - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Eraro: tiu ĉi transakcio bezonas krompagon de almenaŭ %s pro la sumo, la komplekseco, aŭ la uzo de ĵus ricevita mono! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Plenumi komandon kiam monuja transakcio ŝanĝiĝas (%s en cmd anstataŭiĝas per TxID) @@ -2302,10 +2322,6 @@ ekzemple: alertnotify=echo %%s | mail -s "Averto de Bitmono" admin@foo.com Error: Disk space is low! Eraro: restas malmulte da diskospaco! - - Error: Wallet locked, unable to create transaction! - Eraro: monujo ŝlosita, ne eblas krei transakcion! - Failed to listen on any port. Use -listen=0 if you want this. Ne sukcesis aŭskulti ajnan pordon. Uzu -listen=0 se tion vi volas. @@ -2382,6 +2398,10 @@ ekzemple: alertnotify=echo %%s | mail -s "Averto de Bitmono" admin@foo.com Signing transaction failed Subskriba transakcio fiaskis + + This is experimental software. + ĝi estas eksperimenta programo + Transaction amount too small Transakcia sumo tro malgranda @@ -2474,10 +2494,6 @@ ekzemple: alertnotify=echo %%s | mail -s "Averto de Bitmono" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Nevalida sumo por -paytxfee=<amount>: '%s' - - Invalid amount - Nevalida sumo - Insufficient funds Nesufiĉa mono @@ -2510,10 +2526,6 @@ ekzemple: alertnotify=echo %%s | mail -s "Averto de Bitmono" admin@foo.com Done loading Ŝargado finiĝis - - To use the %s option - Por uzi la agordon %s - Error Eraro diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts index b701366706f66..c1fa0c636bb4d 100644 --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Haga doble clic para editar la etiqueta o dirección + Right-click to edit address or label + Haz-clic para editar la dirección o etiqueta Create a new address @@ -35,7 +35,7 @@ Export the data in the current tab to a file - Exportar a un archivo los datos de esta pestaña + Exportar los datos en la ficha actual a un archivo &Export @@ -47,11 +47,11 @@ Choose the address to send coins to - Escoja la dirección a la que enviar bitcoins + Elije la dirección para enviar monedas a Choose the address to receive coins with - Escoja la dirección de la que recibir bitcoins + Elije la dirección para recibir monedas con C&hoose @@ -67,11 +67,11 @@ These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Estas son sus direcciones Bitcoin para enviar pagos. Compruebe siempre la cantidad y la dirección receptora antes de enviar bitcoins. + Estas son tus direcciones Bitcoin para enviar los pagos. Comprueba siempre la cantidad y la dirección receptora antes de enviar las monedas. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estas son sus direcciones de Bitcoin para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción. + Estas son tus direcciones de Bitcoin para recibir los pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción. Copy &Label @@ -87,17 +87,13 @@ Comma separated file (*.csv) - Archivos de columnas separadas por coma (*.csv) + Archivos separados por coma (*.csv) Exporting Failed - Error exportando - - - There was an error trying to save the address list to %1. Please try again. - Se ha producido un error al intentar guardar la lista de direcciones en %1. Por favor vuelva a intentarlo. + Fallo al exportar - + AddressTableModel @@ -157,7 +153,7 @@ Enter the old and new passphrase to the wallet. - Introduzca la contraseña anterior del monedero y la nueva. + Introduce la antigua y la nueva contraseña a el monedero. Confirm wallet encryption @@ -169,7 +165,7 @@ Are you sure you wish to encrypt your wallet? - ¿Seguro que desea cifrar su monedero? + ¿Estás seguro que deseas cifrar tu monedero ? 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. @@ -177,7 +173,7 @@ Warning: The Caps Lock key is on! - Aviso: ¡La tecla de bloqueo de mayúsculas está activada! + Aviso: ¡La tecla de Mayúsculas está activada! Wallet encrypted @@ -1288,6 +1284,14 @@ Dirección: %4 Refund from %1 Devolución desde %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La petición de pago %1 es demasiado grande (%2 bytes, permitidos %3 bytes). + + + Payment request DoS protection + Solicitud pago de protección DoS + Error communicating with %1: %2 Error en la comunicación con %1: %2 @@ -1848,18 +1852,42 @@ Dirección: %4 Transaction Fee: Comisión de Transacción: + + Choose... + Elija... + + + collapse fee-settings + Colapsar ajustes de cuota + Minimize Minimizar + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la tarifa de aduana se establece en 1000 satoshis y la transacción está a disponible a solo 250 bytes, entonces "por kilobyte" sólo paga 250 satoshis de cuota, mientras que "por lo menos" paga 1.000 satoshis. Para las transacciones más grandes que un kilobyte ambos pagan por kilobyte. + per kilobyte por kilobyte + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Si la tarifa de aduana se establece en 1000 satoshis y la transacción está a sólo 250 bytes, entonces "por kilobyte" sólo paga 250 satoshis de cuota, mientras que "el mínimo total" pagaría 1.000 satoshis. Para las transacciones más grandes que un kilobyte ambos pagan por kilobyte + total at least total por lo menos + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Pagando solamente la cuota mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones Bitcoin que la red pueda procesar. + + + (read the tooltip) + (leer la sugerencia) + Recommended: Recomendado: @@ -1884,6 +1912,10 @@ Dirección: %4 fast rápido + + Send as zero-fee transaction if possible + Enviar transacción, si es posible, sin comisión + (confirmation may take longer) (confirmación puede tardar más tiempo) @@ -1956,10 +1988,6 @@ Dirección: %4 Copy change Copiar Cambio - - Total Amount %1 (= %2) - Cuantía Total %1 (=%2) - or o @@ -2778,30 +2806,6 @@ Dirección: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, debe establecer un valor rpcpassword en el archivo de configuración: -%s -Se recomienda utilizar la siguiente contraseña aleatoria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no es necesario recordar esta contraseña) -El nombre de usuario y la contraseña DEBEN NO ser iguales. -Si el archivo no existe, créelo con permisos de archivo de solo lectura. -Se recomienda también establecer alertnotify para recibir notificaciones de problemas. -Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincular a la dirección dada y escuchar siempre en ella. Utilice la notación [host]:port para IPv6 @@ -2818,14 +2822,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Ingresar en el modo de prueba de regresión, que utiliza una cadena especial en la que los bloques se pueden resolver instantáneamente. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - ¡Error: se ha rechazado la transacción! Esto puede ocurrir si ya se han gastado algunos de los bitcoins del monedero, como ocurriría si hubiera hecho una copia de wallet.dat y se hubieran gastado bitcoins a partir de la copia, con lo que no se habrían marcado aquí como gastados. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - ¡Error: Esta transacción requiere una comisión de al menos %s debido a su cantidad, complejidad, o al uso de fondos recién recibidos! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Ejecutar comando cuando una transacción del monedero cambia (%s en cmd se remplazará por TxID) @@ -2930,18 +2926,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database Error al abrir base de datos de bloques. - - Error: A fatal internal error occured, see debug.log for details - Error: un error grave interno ocurrió, sea debug.log para más detalles. - Error: Disk space is low! Error: ¡Espacio en disco bajo! - - Error: Wallet locked, unable to create transaction! - Error: ¡El monedero está bloqueado; no se puede crear la transacción! - Failed to listen on any port. Use -listen=0 if you want this. Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto. @@ -3066,18 +3054,62 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Tarifas (en BTC/Kb) más pequeños que esto se consideran cero cuota para la creación de la transacción (por defecto: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si el pago de comisión no está establecido, incluir la cuota suficiente para que las transacciones comiencen la confirmación en una media de n bloques ( por defecto :%u) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + El tamaño máximo de los datos en las operaciones de transporte de datos que transmitimos y el mio (default: %u) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Consulta de direcciones pares mediante búsqueda de DNS, si bajo en direcciones (por defecto: 1 a menos que - conectar) + + Require high priority for relaying free or low-fee transactions (default:%u) + Se requiere alta prioridad para retransmitir transacciones gratis o de baja comisión (por defecto:%u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Establecer tamaño máximo de las transacciones de alta prioridad/baja comisión en bytes (predeterminado: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Ajuste el número de hilos para la generación de moneda si está habilitado (-1 = all cores, default: %d) + 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. Este producto incluye software desarrollado por el OpenSSL Project para su uso en OpenSSL Toolkit <https://www.openssl.org/>, software de cifrado escrito por Eric Young y software UPnP escrito por Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Para utilizar bitcoind, o la -opción servidor a bitcoin-qt, debes establecer una rpcpassword en el fichero de configuración: +%s +Se recomienda utilizar la siguiente contraseña aleatoria: +rpcuser=bitcoinrpc +rpcpassword=%s +(no es necesario que recuerdes esta contraseña) +El nombre de usuario y contraseña NO DEBEN ser la misma. +Si no existe el archivo, crearlo con los permisos de archivos de propietarios de -sólo lectura-. +También se recomienda establecer una notificación de alerta para ser notificado de problemas; +por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Advertencia: ¡-maxtxfee se establece muy alta! Esta gran tarifa podría ser pagada en una sola transacción . + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Aviso: ¡Comprueba la fecha y hora de tu ordenador y verifica si es correcta! Si no es correcta Bitcoin Core no funcionará adecuadamente. @@ -3086,6 +3118,14 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 A los equipos en lista blanca no se les pueden prohibir los ataques DoS y sus transacciones siempre son retransmitidas, incluso si ya están en el mempool, es útil por ejemplo para un gateway. + + Accept public REST requests (default: %u) + Aceptar solicitudes públicas en FERIADOS (por defecto: %u) + + + Cannot resolve -whitebind address: '%s' + No se puede resolver -whitebind address: '%s' + Connect through SOCKS5 proxy Conectar usando SOCKS5 proxy @@ -3094,10 +3134,26 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Copyright (C) 2009-%i The Bitcoin Core Developers Copyright (C) 2009-%i The Bitcoin Core Developers + + Could not parse -rpcbind value %s as network address + No se pudo analizar -rpcbind valor%s como dirección de red + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Error al cargar wallet.dat: El monedero requiere una versión más reciente de Bitcoin Core + + Error reading from database, shutting down. + Error al leer la base de datos, cerrando. + + + Error: A fatal internal error occurred, see debug.log for details + Un error interno fatal ocurrió, ver debug.log para detalles + + + Error: Unsupported argument -tor found, use -onion. + Error: Argumento encontrado -tor no soportado, utilice -onion + Fee (in BTC/kB) to add to transactions you send (default: %s) Cuota (in BTC/kB) para añadir a las transacciones que envíes (por defecto: %s) @@ -3110,6 +3166,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. La inicialización de la verificación de validez falló. Se está apagando Bitcoin Core. + + Invalid amount for -maxtxfee=<amount>: '%s' + Monto inválido para -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Cantidad inválida para -minrelaytxfee=<amount>: '%s' @@ -3126,10 +3186,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid netmask specified in -whitelist: '%s' Máscara de red inválida especificada en -whitelist: '%s' - - Keep at most <n> unconnectable blocks in memory (default: %u) - Mantener como máximo <n> bloques no conectables en memoria (por defecto: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Mantener como máximo <n> transacciones no conectables en memoria (por defecto: %u) @@ -3142,10 +3198,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Opciones de nodos de retransmisión: - - Print block on startup, if found in block index - Imprimir bloque al iniciar, si se encuentra en el índice de bloques - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Opciones SSL de RPC: (véase la wiki de Bitcoin para las instrucciones de instalación de SSL) @@ -3154,6 +3206,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: Opciones de servidor RPC: + + RPC support for HTTP persistent connections (default: %d) + Soporte RPC para conexiones HTTP persistentes (por defecto: %d) + Randomly drop 1 of every <n> network messages Ignorar 1 de cada <n> mensajes de red al azar @@ -3162,10 +3218,18 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Randomly fuzz 1 of every <n> network messages Introducir datos fuzz en 1 de cada <n> mensajes de red al azar + + Receive and display P2P network alerts (default: %u) + Recibir y mostrar alertas de la red P2P (default: %u) + Send trace/debug info to console instead of debug.log file Enviar información de trazas/depuración a la consola en lugar de al archivo debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Mandar transacciones como comisión-cero si es posible (por defecto: %u) + Show all debugging options (usage: --help -help-debug) Muestra todas las opciones de depuración (uso: --help -help-debug) @@ -3190,6 +3254,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Las cantidades en las transacciones deben ser positivas + + Transaction too large for fee policy + Operación demasiado grande para la política de tasas + Transaction too large Transacción demasiado grande @@ -3219,6 +3287,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: This version is obsolete, upgrade required! Aviso: Esta versión es obsoleta, actualización necesaria! + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Advertencia: Argumento no soportado -benchmark ignored, use -debug=bench. + Warning: Unsupported argument -debugnet ignored, use -debug=net. Aviso: Argumento no sportado -debugnet anticuado, utilice -debug=net. @@ -3274,6 +3346,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Error al cargar wallet.dat: el monedero está dañado + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) Volcar la actividad de la base de datos de memoria al registro en disco cada <n> megabytes (predeterminado: %u) @@ -3374,14 +3450,14 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Prepend debug output with timestamp (default: %u) Anteponer marca temporal a la información de depuración (por defecto: %u) - - Print block tree on startup (default: %u) - Imprimir árbol de bloques al iniciar (predeterminado: %u) - Relay and mine data carrier transactions (default: %u) Retransmitir y minar transacciones de transporte de datos (por defecto: %u) + + Relay non-P2SH multisig (default: %u) + Relay non-P2SH multisig (default: %u) + Run a thread to flush wallet periodically (default: %u) Ejecutar un hilo para limpiar de la memoria el monedero periódicamente (predeterminado: %u) @@ -3450,10 +3526,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Cantidad inválida para -paytxfee=<amount>: '%s' - - Invalid amount - Cuantía no válida - Insufficient funds Fondos insuficientes @@ -3486,10 +3558,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Se terminó de cargar - - To use the %s option - Para utilizar la opción %s - Error Error diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts index e6f81e650f0c6..6f8a4b4c58a96 100644 --- a/src/qt/locale/bitcoin_es_CL.ts +++ b/src/qt/locale/bitcoin_es_CL.ts @@ -1,26 +1,46 @@ - + AddressBookPage - Double-click to edit address or label - Haz doble clic para editar una dirección o etiqueta + Right-click to edit address or label + Haga clic para editar la dirección o etiqueta Create a new address - Crea una nueva dirección + Crea una nueva direCrea una nueva direccióncción + + + &New + y nueva Copy the currently selected address to the system clipboard Copia la dirección seleccionada al portapapeles + + &Copy + y copiar + + + C&lose + C y perder + &Copy Address &Copia dirección + + Delete the currently selected address from the list + Eliminar la dirección seleccionada de la lista + Export the data in the current tab to a file Exportar los datos de la pestaña actual a un archivo + + &Export + y exportar + &Delete &Borrar @@ -192,7 +212,7 @@ Show information about Qt - Mostrar Información sobre QT + Mostrar Información sobre Qt &Options... @@ -210,6 +230,14 @@ &Change Passphrase... &Cambiar la contraseña... + + Open &URI... + Abrir y url... + + + Bitcoin Core client + cliente bitcoin core + Reindexing blocks on disk... Cargando el index de bloques... @@ -250,6 +278,10 @@ &Send &Envía + + &Receive + y recibir + &Show / Hide &Mostrar/Ocultar @@ -274,6 +306,10 @@ Tabs toolbar Barra de pestañas + + Bitcoin Core + bitcoin core + %n active connection(s) to Bitcoin network %n conexión activa hacia la red Bitcoin%n conexiones activas hacia la red Bitcoin @@ -363,6 +399,10 @@ Dirección: %4 Confirmed Confirmado + + Priority + prioridad + Copy address Copia dirección @@ -375,6 +415,18 @@ Dirección: %4 Copy amount Copiar Cantidad + + medium + medio + + + yes + si + + + no + no + (no label) (sin etiqueta) @@ -436,6 +488,10 @@ Dirección: %4 HelpMessageDialog + + Bitcoin Core + bitcoin core + version versión @@ -456,6 +512,14 @@ Dirección: %4 Intro + + Welcome + bienvenido + + + Bitcoin Core + bitcoin core + Error Error @@ -463,6 +527,10 @@ Dirección: %4 OpenURIDialog + + URI: + url: + OptionsDialog @@ -490,6 +558,10 @@ Dirección: %4 &Network &Red + + Expert + experto + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Abre automáticamente el puerto del cliente Bitcoin en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado. @@ -510,6 +582,11 @@ Dirección: %4 Port of the proxy (e.g. 9050) Puerto del servidor proxy (ej. 9050) + + &Window + y windows + + Show only a tray icon after minimizing the window. Muestra solo un ícono en la bandeja después de minimizar la ventana @@ -586,6 +663,10 @@ Dirección: %4 Amount Cantidad + + UNKNOWN + DESCONOCIDO + N/A N/A @@ -620,6 +701,10 @@ Dirección: %4 &Information &Información + + General + General + Startup time Tiempo de inicio @@ -640,6 +725,11 @@ Dirección: %4 Block chain Bloquea cadena + + Version + version + + &Open &Abrir @@ -908,6 +998,10 @@ Dirección: %4 SplashScreen + + Bitcoin Core + bitcoin core + [testnet] [red-de-pruebas] @@ -1235,6 +1329,10 @@ Dirección: %4 WalletView + + &Export + y exportar + Export the data in the current tab to a file Exportar los datos de la pestaña actual a un archivo @@ -1378,10 +1476,6 @@ Dirección: %4 Invalid amount for -paytxfee=<amount>: '%s' Cantidad inválida para -paytxfee=<amount>: '%s' - - Invalid amount - Cantidad inválida - Insufficient funds Fondos insuficientes @@ -1406,10 +1500,6 @@ Dirección: %4 Done loading Carga completa - - To use the %s option - Para utilizar la opción %s - Error Error diff --git a/src/qt/locale/bitcoin_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts index 2e5daf4cdb4ef..91be7b297a998 100644 --- a/src/qt/locale/bitcoin_es_DO.ts +++ b/src/qt/locale/bitcoin_es_DO.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Haga doble clic para editar una dirección o etiqueta - Create a new address Crear una nueva dirección @@ -1516,10 +1512,6 @@ Dirección: %4 Copy change Copiar Cambio - - Total Amount %1 (= %2) - Cuantía Total %1 (=%2) - or o @@ -2230,42 +2222,10 @@ Dirección: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, debe establecer un valor rpcpassword en el archivo de configuración: -%s -Se recomienda utilizar la siguiente contraseña aleatoria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no es necesario recordar esta contraseña) -El nombre de usuario y la contraseña DEBEN NO ser iguales. -Si el archivo no existe, créelo con permisos de archivo de solo lectura. -Se recomienda también establecer alertnotify para recibir notificaciones de problemas. -Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincular a la dirección dada y escuchar siempre en ella. Utilice la notación [host]:port para IPv6 - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - ¡Error: se ha rechazado la transacción! Esto puede ocurrir si ya se han gastado algunas de las monedas del monedero, como ocurriría si hubiera hecho una copia de wallet.dat y se hubieran gastado monedas a partir de la copia, con lo que no se habrían marcado aquí como gastadas. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - ¡Error: Esta transacción requiere una comisión de al menos %s debido a su monto, complejidad, o al uso de fondos recién recibidos! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Ejecutar comando cuando una transacción del monedero cambia (%s en cmd se remplazará por TxID) @@ -2342,10 +2302,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Error: ¡Espacio en disco bajo! - - Error: Wallet locked, unable to create transaction! - Error: ¡El monedero está bloqueado; no se puede crear la transacción! - Failed to listen on any port. Use -listen=0 if you want this. Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto. @@ -2418,10 +2374,26 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -mintxfee=<amount>: '%s' Inválido por el monto -mintxfee=<amount>: '%s' + + RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) + Opciones RPC SSL: (Vea la Wiki de Bitcoin para las instrucciones de la configuración de SSL) + + + RPC server options: + Opciones del sservidor RPC: + + + Randomly drop 1 of every <n> network messages + Descartar aleatoriamente 1 de cada <n> mensajes de red + Send trace/debug info to console instead of debug.log file Enviar información de trazas/depuración a la consola en lugar de al archivo debug.log + + Show all debugging options (usage: --help -help-debug) + Mostrar todas las opciones de depuración (uso: --help -help-debug) + Shrink debug.log file on client startup (default: 1 when no -debug) Reducir el archivo debug.log al iniciar el cliente (predeterminado: 1 sin -debug) @@ -2459,6 +2431,10 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Warning: This version is obsolete, upgrade required! Aviso: Esta versión es obsoleta, actualización necesaria! + + on startup + al iniciar + wallet.dat corrupt, salvage failed wallet.dat corrupto. Ha fallado la recuperación. @@ -2526,10 +2502,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Cantidad inválida para -paytxfee=<amount>: '%s' - - Invalid amount - Cuantía no válida - Insufficient funds Fondos insuficientes @@ -2562,10 +2534,6 @@ Por ejemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Generado pero no aceptado - - To use the %s option - Para utilizar la opción %s - Error Error diff --git a/src/qt/locale/bitcoin_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts index bedc5d243e096..6397366a6bf55 100644 --- a/src/qt/locale/bitcoin_es_MX.ts +++ b/src/qt/locale/bitcoin_es_MX.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Haga doble clic para editar el domicilio o la etiqueta - Create a new address Crear una dirección nueva @@ -712,10 +708,6 @@ Copy change copiar cambio - - Total Amount %1 (= %2) - Monto total %1(=%2) - or o diff --git a/src/qt/locale/bitcoin_es_UY.ts b/src/qt/locale/bitcoin_es_UY.ts index a5a1583b19c9b..13f33220a7b9d 100644 --- a/src/qt/locale/bitcoin_es_UY.ts +++ b/src/qt/locale/bitcoin_es_UY.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Doble clic para editar etiqueta o dirección - Create a new address Crear una nueva dirección diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts index 801fcf6258e09..a5504e7f0d68e 100644 --- a/src/qt/locale/bitcoin_et.ts +++ b/src/qt/locale/bitcoin_et.ts @@ -1,18 +1,26 @@ - + AddressBookPage - - Double-click to edit address or label - Topeltklõps aadressi või märgise muutmiseks - Create a new address Loo uus aadress + + &New + &Uus + Copy the currently selected address to the system clipboard Kopeeri märgistatud aadress vahemällu + + &Copy + &Kopeeri + + + C&lose + S&ulge + &Copy Address &Aadressi kopeerimine @@ -25,10 +33,18 @@ Export the data in the current tab to a file Ekspordi kuvatava vahelehe sisu faili + + &Export + &Ekspordi + &Delete &Kustuta + + C&hoose + V&ali + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. Need on sinu Bitcoini aadressid maksete saatmiseks. Müntide saatmisel kontrolli alati summat ning saaja aadressi. @@ -45,6 +61,10 @@ Comma separated file (*.csv) Komaeraldatud fail (*.csv) + + Exporting Failed + Eksportimine Ebaõnnestus + AddressTableModel @@ -222,6 +242,10 @@ &Change Passphrase... &Salafraasi muutmine + + Open &URI... + Ava &URI... + Importing blocks from disk... Impordi blokid kettalt... @@ -330,6 +354,10 @@ %n week(s) %n nädal%n nädalat + + %1 and %2 + %1 ja %2 + %1 behind %1 maas @@ -399,10 +427,18 @@ Aadress: %4⏎ CoinControlDialog + + Quantity: + Kogus: + Amount: Summa: + + Fee: + Tasu: + Amount Kogus @@ -431,6 +467,50 @@ Aadress: %4⏎ Copy transaction ID Kopeeri tehingu ID + + Copy fee + Kopeeri tasu + + + highest + kõrgeim + + + higher + kõrgem + + + high + kõrge + + + medium + keskmine + + + low + madal + + + lower + madalam + + + lowest + madalaim + + + (%1 locked) + (%1 lukustatud) + + + yes + jah + + + no + ei + (no label) (silti pole) @@ -485,6 +565,10 @@ Aadress: %4⏎ FreespaceChecker + + name + nimi + HelpMessageDialog @@ -496,6 +580,10 @@ Aadress: %4⏎ version versioon + + About Bitcoin Core + Kirjeldus Bitcoini Tuumast + Command-line options Käsurea valikud @@ -527,6 +615,10 @@ Aadress: %4⏎ Intro + + Welcome + Teretulemast + Bitcoin Core Bitcoini tuumik @@ -538,6 +630,14 @@ Aadress: %4⏎ OpenURIDialog + + Open URI + Ava URI + + + URI: + URI: + OptionsDialog @@ -553,6 +653,10 @@ Aadress: %4⏎ &Start Bitcoin on system login &Start Bitcoin sisselogimisel + + MB + MB + Reset all client options to default. Taasta kõik klientprogrammi seadete vaikeväärtused. @@ -565,6 +669,14 @@ Aadress: %4⏎ &Network &Võrk + + W&allet + R&ahakott + + + Expert + Ekspert + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Bitcoini kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust. @@ -664,6 +776,10 @@ Aadress: %4⏎ Mined balance that has not yet matured Mitte aegunud mine'itud jääk + + Recent transactions + Hiljutised tehingud + out of sync sünkimata @@ -719,6 +835,10 @@ Aadress: %4⏎ &Information &Informatsioon + + General + Üldine + Using OpenSSL version Kasutan OpenSSL versiooni @@ -731,6 +851,10 @@ Aadress: %4⏎ Network Võrgustik + + Name + Nimi + Number of connections Ühenduste arv @@ -743,6 +867,26 @@ Aadress: %4⏎ Current number of blocks Plokkide hetkearv + + Received + Vastuvõetud + + + Sent + Saadetud + + + Direction + Suund + + + Version + Versioon + + + Services + Teenused + Last block time Viimane ploki aeg @@ -783,17 +927,53 @@ Aadress: %4⏎ Type <b>help</b> for an overview of available commands. Ülevaateks võimalikest käsklustest trüki <b>help</b>. + + %1 B + %1 B + + + %1 KB + %1 B + + + %1 MB + %1 MB + + + %1 GB + %1 GB + ReceiveCoinsDialog + + &Amount: + &Summa: + &Label: &Märgis + + &Message: + &Sõnum: + + + Show + Näita + + + Remove + Eemalda + Copy label Märgise kopeerimine + + Copy message + Kopeeri sõnum + Copy amount Kopeeri summa @@ -848,17 +1028,49 @@ Aadress: %4⏎ (no label) (silti pole) - + + (no message) + (sõnum puudub) + + + (no amount) + (summa puudub) + + SendCoinsDialog Send Coins Müntide saatmine + + Quantity: + Kogus: + Amount: Summa: + + Fee: + Tasu: + + + Choose... + Vali... + + + Recommended: + Soovitatud: + + + normal + normaalne + + + fast + kiire + Send to multiple recipients at once Saatmine mitmele korraga @@ -891,6 +1103,14 @@ Aadress: %4⏎ Copy amount Kopeeri summa + + Copy fee + Kopeeri tasu + + + or + või + The recipient address is not valid, please recheck. Saaja aadress ei ole kehtiv, palun kontrolli. @@ -1087,6 +1307,10 @@ Aadress: %4⏎ Bitcoin Core Bitcoini tuumik + + The Bitcoin Core developers + Bitcoini Tuuma arendajad + [testnet] [testnet] @@ -1094,7 +1318,11 @@ Aadress: %4⏎ TrafficGraphWidget - + + KB/s + KB/s + + TransactionDesc @@ -1390,6 +1618,10 @@ Aadress: %4⏎ Show transaction details Kuva tehingu detailid + + Exporting Failed + Eksportimine Ebaõnnestus + Comma separated file (*.csv) Komaeraldatud fail (*.csv) @@ -1442,6 +1674,10 @@ Aadress: %4⏎ WalletView + + &Export + &Ekspordi + Export the data in the current tab to a file Ekspordi kuvatava vahelehe sisu faili @@ -1497,42 +1733,10 @@ Aadress: %4⏎ Accept connections from outside (default: 1 if no -proxy or -connect) Luba välisühendusi (vaikeväärtus: 1 kui puudub -proxy või -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, sul tuleb rpcpassword määrata seadete failis: -%s -Soovitatav on kasutada järgmist juhuslikku parooli: -rpcuser=bitcoinrpc -rpcpassword=%s -(seda parooli ei pea meeles pidama) -Kasutajanimi ning parool EI TOHI kattuda. -Kui faili ei leita, loo see ainult-omaniku-loetavas failiõigustes . -Soovitatav on seadistada tõrgete puhul teavitus; -nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Määratud aadressiga sidumine ning sellelt kuulamine. IPv6 jaoks kasuta vormingut [host]:port - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Tõrge: Tehingust keelduti! Põhjuseks võib olla juba kulutatud mündid, nt kui wallet.dat fail koopias kulutatid mündid, kuid ei märgitud neid siin vastavalt. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Tõrge: Selle tehingu jaoks on nõutav lisatasu vähemalt %s. Põhjuseks võib olla summa suurus, keerukus või hiljuti saadud summade kasutamine! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Käivita käsklus, kui rahakoti tehing muutub (%s cmd's muudetakse TxID'ks) @@ -1597,10 +1801,6 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Tõrge: liiga vähe kettaruumi! - - Error: Wallet locked, unable to create transaction! - Tõrge: Rahakott on lukus, tehingu loomine ei ole võimalik! - Failed to listen on any port. Use -listen=0 if you want this. Pordi kuulamine nurjus. Soovikorral kasuta -listen=0. @@ -1617,6 +1817,10 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Verifying wallet... Kontrollin rahakotti... + + Wallet options: + Rahakoti valikud: + Imports blocks from external blk000??.dat file Impordi blokid välisest blk000??.dat failist @@ -1625,6 +1829,10 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Information Informatsioon + + RPC server options: + RPC serveri valikud: + Send trace/debug info to console instead of debug.log file Saada jälitus/debug, debug.log faili asemel, konsooli @@ -1633,6 +1841,18 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Shrink debug.log file on client startup (default: 1 when no -debug) Kahanda programmi käivitamisel debug.log faili (vaikeväärtus: 1, kui ei ole -debug) + + Signing transaction failed + Tehingu allkirjastamine ebaõnnestus + + + Transaction amount too small + Tehingu summa liiga väikene + + + Transaction too large + Tehing liiga suur + Use UPnP to map the listening port (default: 1 when listening) Kasuta kuulatava pordi määramiseks UPnP ühendust (vaikeväärtus: 1, kui kuulatakse) @@ -1649,6 +1869,10 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Warning: This version is obsolete, upgrade required! Hoiatus: versioon on aegunud, uuendus on nõutav! + + on startup + käivitamisel + wallet.dat corrupt, salvage failed wallet.dat fail on katki, päästmine ebaõnnestus @@ -1689,6 +1913,10 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Viga wallet.dat käivitamisel. Vigane rahakkott + + (default: %s) + (vaikimisi: %s) + Error loading wallet.dat Viga wallet.dat käivitamisel @@ -1713,10 +1941,6 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<amount> jaoks vigane kogus: '%s' - - Invalid amount - Kehtetu summa - Insufficient funds Liiga suur summa @@ -1749,10 +1973,6 @@ nt: alertnotify=echo %%s | email -s "Bitcoin Alert" admin@foo.com Done loading Laetud - - To use the %s option - %s valiku kasutamine - Error Tõrge diff --git a/src/qt/locale/bitcoin_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts index ea0ce1a67d3e1..34c34c44313c6 100644 --- a/src/qt/locale/bitcoin_eu_ES.ts +++ b/src/qt/locale/bitcoin_eu_ES.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Klik bikoitza helbidea edo etiketa editatzeko - Create a new address Sortu helbide berria diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts index 475515f4b72dd..201c60dd45379 100644 --- a/src/qt/locale/bitcoin_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - برای ویرایش نشانی یا برچسب دوبار کلیک کنید + Right-click to edit address or label + برای تغییر آدرس و یا برچسب کلیک راست کنید. Create a new address @@ -45,10 +45,30 @@ &Delete &حذف + + Choose the address to send coins to + آدرس مورد نظر برای ارسال کوین ها را انتخاب کنید + + + Choose the address to receive coins with + آدرس موردنظر برای دریافت کوین ها را انتخاب کنید. + + + Sending addresses + آدرس های ارسال کننده + + + Receiving addresses + آدرس های دریافت کننده + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. این‌ها نشانی‌های بیت‌کوین شما برای ارسال وجود هستند. همیشه قبل از ارسال سکه‌ها، نشانی دریافت‌کننده و مقدار ارسالی را بررسی کنید. + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + این‌ها نشانی‌های بیت‌کوین شما برای دریافت وجوه هستند. توصیه می‌شود یک نشانی دریافت جدید برای هر تبادل استفاده کنید. + Copy &Label کپی و برچسب‌&گذاری @@ -155,6 +175,10 @@ Wallet encrypted کیف پول رمزنگاری شد + + 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>. + رمز جدید کیف پول خود را وارد کنید.<br/>از رمز عبوری استفاده کنید که<b> حداقل 10 کاراکتر تصادفی </b> و یا <b> حداقل 8 حرف داشته باشد.</b> + Bitcoin 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. بیت‌کوین هم اکنون بسته می‌شود تا فرایند رمزگذاری را تمام کند. به خاطر داشته باشید که رمزگذاری کردن کیف پول‌تان نمی‌تواند به طور کامل بیت‌کوین‌های شما را در برابر دزدیده شدن توسط بدافزارهایی که احتمالاً رایانهٔ شما را آلوده می‌کنند، محافظت نماید. @@ -202,6 +226,10 @@ &Overview &بررسی اجمالی + + Node + گره + Show general overview of wallet نمایش بررسی اجمالی کیف پول @@ -246,6 +274,18 @@ &Change Passphrase... &تغییر گذرواژه... + + &Sending addresses... + $ارسال آدرس ها... + + + &Receiving addresses... + &در حال دریافت آدرس ها... + + + Open &URI... + باز کردن &آدرس + Importing blocks from disk... دریافت بلوک‌ها از دیسک... @@ -298,6 +338,10 @@ &Receive &دریافت + + Show information about Bitcoin Core + نمایش اطلاعات در مورد بیت‌کوین + &Show / Hide &نمایش/ عدم نمایش @@ -338,6 +382,18 @@ Bitcoin Core هسته Bitcoin + + &About Bitcoin Core + درباره هسته ی بیت کوین + + + Show the list of used sending addresses and labels + نمایش لیست آدرس های ارسال و لیبل ها + + + Show the list of used receiving addresses and labels + نمایش لیست آدرس های دریافت و لیبل ها + %n active connection(s) to Bitcoin network %n ارتباط فعال با شبکهٔ بیت‌کوین @@ -428,22 +484,74 @@ Address: %4 CoinControlDialog + + Coin Selection + انتخاب سکه + + + Quantity: + تعداد: + + + Bytes: + بایت ها: + Amount: مبلغ: + + Priority: + اولویت: + + + Fee: + هزینه: + + + After Fee: + هزینه ی پسین: + + + Change: + پول خورد: + + + Tree mode + مدل درختی + + + List mode + مدل لیست + Amount مبلغ + + Received with label + دریافت شده با برچسب + + + Received with address + دریافت شده با نشانی + Date تاریخ + + Confirmations + تاییدیه ها + Confirmed تأیید شده + + Priority + اولویت + Copy address کپی نشانی @@ -460,6 +568,46 @@ Address: %4 Copy transaction ID کپی شناسهٔ تراکنش + + highest + بیشترین + + + higher + بیشتر + + + high + زیاد + + + medium-high + متوسط رو به بالا + + + medium + متوسط + + + low-medium + متوسط متمایل به کم + + + low + کم + + + lower + کمتر + + + lowest + کمترین + + + none + هیچکدام + yes بله @@ -472,7 +620,11 @@ Address: %4 (no label) (بدون برچسب) - + + (change) + (تغییر) + + EditAddressDialog @@ -553,6 +705,10 @@ Address: %4 version نسخه + + About Bitcoin Core + درباره هسته ی بیت کوین + Command-line options گزینه‌های خط‌فرمان @@ -592,6 +748,14 @@ Address: %4 Welcome خوش‌آمدید + + Welcome to Bitcoin Core. + به هسته بیت کوین خوش آمدید. + + + As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. + از آنجایی که این اولین اجرای برنامه است، شما می‌توانید مسیر ذخیرهٔ داده‌ها را انتخاب کنید. + Use the default data directory استفاده از مسیر پیش‌فرض @@ -718,6 +882,10 @@ Address: %4 default پیش‌فرض + + none + هیچکدام + Confirm options reset تأییدِ بازنشانی گزینه‌ها @@ -761,6 +929,10 @@ Address: %4 Mined balance that has not yet matured تراز استخراج شده از معدن که هنوز بالغ نشده است + + Balances + تراز ها + Total: جمع کل: @@ -769,6 +941,14 @@ Address: %4 Your current total balance تراز کل فعلی شما + + Spendable: + :قابل خرج کردن + + + Recent transactions + تراکنش های اخیر + out of sync ناهمگام @@ -780,6 +960,14 @@ Address: %4 URI handling مدیریت URI + + Payment request rejected + درخواست پرداخت رد شد. + + + Payment request error + خطای درخواست پرداخت + Cannot start bitcoin: click-to-pay handler نمی‌توان بیت‌کوین را اجرا کرد: کنترل‌کنندهٔ کلیک-و-پرداخت @@ -794,6 +982,10 @@ Address: %4 Amount مبلغ + + None + هیچکدام + N/A ناموجود @@ -852,6 +1044,22 @@ Address: %4 Current number of blocks تعداد فعلی بلوک‌ها + + Received + دریافتی + + + Sent + ارسال شده + + + Version + نسخه + + + Services + سرویس ها + Last block time زمان آخرین بلوک @@ -907,6 +1115,14 @@ Address: %4 &Label: &برچسب: + + Show + نمایش + + + Remove + حذف کردن + Copy label کپی برچسب @@ -976,10 +1192,38 @@ Address: %4 Send Coins ارسال سکه + + Quantity: + تعداد: + + + Bytes: + بایت ها: + Amount: مبلغ: + + Priority: + اولویت: + + + Fee: + هزینه: + + + After Fee: + هزینه ی پسین: + + + Change: + پول خورد: + + + fast + سریع + Send to multiple recipients at once ارسال به چند دریافت‌کنندهٔ به‌طور همزمان @@ -1040,6 +1284,10 @@ Address: %4 (no label) (بدون برچسب) + + Are you sure you want to send? + آیا مطمئن هستید که می خواهید ارسال کنید؟ + SendCoinsEntry @@ -1059,6 +1307,18 @@ Address: %4 &Label: &برچسب: + + Choose previously used address + انتخاب نشانی پیش‌تر استفاده شده + + + This is a normal payment. + این یک پرداخت عادی است + + + The Bitcoin address to send the payment to + نشانی بیت‌کوین برای ارسال پرداخت به آن + Alt+A Alt+A @@ -1071,6 +1331,10 @@ Address: %4 Alt+P Alt+P + + Remove this entry + حذف این مدخل + Message: پیام: @@ -1093,6 +1357,14 @@ Address: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. برای احراز اینکه پیام‌ها از جانب شما هستند، می‌توانید آن‌ها را با نشانی خودتان امضا کنید. مراقب باشید چیزی که بدان اطمینان ندارید را امضا نکنید زیرا حملات فیشینگ ممکن است بخواهند از.پیامی با امضای شما سوءاستفاده کنند. تنها مواردی را که حاوی اطلاعات دقیق و قابل قبول برای شما هستند امضا کنید. + + The Bitcoin address to sign the message with + نشانی بیت‌کوین برای امضاء پیغام با آن + + + Choose previously used address + انتخاب نشانی پیش‌تر استفاده شده + Alt+A Alt+A @@ -1141,6 +1413,10 @@ Address: %4 Enter the signing 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. برای شناسایی پیام، نشانیِ امضا کننده و متن پیام را وارد کنید. (مطمئن شوید که فاصله‌ها، تب‌ها و خطوط را عیناً کپی می‌کنید.) مراقب باشید در امضا چیزی بیشتر از آنچه در پیام می‌بینید وجود نداشته باشد تا فریب دزدان اینترنتی و حملات از نوع MITM را نخورید. + + The Bitcoin address the message was signed with + نشانی بیت‌کوین که پیغام با آن امضاء شده + Verify the message to ensure it was signed with the specified Bitcoin address برای حصول اطمینان از اینکه پیام با نشانی بیت‌کوین مشخص شده امضا است یا خیر، پیام را شناسایی کنید @@ -1212,6 +1488,10 @@ Address: %4 Bitcoin Core هسته Bitcoin + + The Bitcoin Core developers + توسعه‌دهندگان هسته بیت‌کوین + [testnet] آزمایش شبکه @@ -1219,7 +1499,11 @@ Address: %4 TrafficGraphWidget - + + KB/s + کیلوبایت + + TransactionDesc @@ -1523,6 +1807,10 @@ Address: %4 Exporting Failed استخراج انجام نشد + + Exporting Successful + استخراج موفق + Comma separated file (*.csv) پروندهٔ نوع CSV جداشونده با کاما (*.csv) @@ -1638,14 +1926,6 @@ Address: %4 Bind to given address and always listen on it. Use [host]:port notation for IPv6 مقید به نشانی داده شده باشید و همیشه از آن پیروی کنید. از نشانه گذاری استاندار IPv6 به صورت Host]:Port] استفاده کنید. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - تراکنش پذیرفته نیست! این خطا ممکن است در حالتی رخ داده باشد که مقداری از سکه های شما در کیف پولتان از جایی دیگر، همانند یک کپی از کیف پول اصلی اتان، خرج شده باشد اما در کیف پول اصلی اتان به عنوان مبلغ خرج شده، نشانه گذاری نشده باشد. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - خطا: این تراکنش به علت میزان وجه، دشواری، و یا استفاده از وجوه دریافتی اخیر نیازمند کارمزد به مبلغ حداقل %s است. - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) هنگامی که یک تراکنش در کیف پولی رخ می دهد، دستور را اجرا کن(%s در دستورات بوسیله ی TxID جایگزین می شود) @@ -1690,10 +1970,18 @@ Address: %4 Error opening block database خطا در بازگشایی پایگاه داده ی بلوک + + Error: Disk space is low! + خطا: فضای دیسک کم است! + Failed to listen on any port. Use -listen=0 if you want this. شنیدن هر گونه درگاه انجام پذیر نیست. ازlisten=0 برای اینکار استفاده کیند. + + Importing... + در حال پیاده‌سازی... + Verifying blocks... در حال بازبینی بلوک ها... @@ -1702,6 +1990,10 @@ Address: %4 Verifying wallet... در حال بازبینی کیف پول... + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + هشدار: تاریخ و ساعت کامپیوتر خود را بررسی کنید. اگر ساعت درست نباشد هسته بیت‌کوین به درستی کار نخواهد کرد. + Information اطلاعات @@ -1790,10 +2082,6 @@ Address: %4 Invalid amount for -paytxfee=<amount>: '%s' میزان وجه اشتباه برای paytxfee=<میزان وجه>: %s - - Invalid amount - میزان وجه اشتباه - Insufficient funds بود جه نا کافی @@ -1826,10 +2114,6 @@ Address: %4 Done loading بار گیری انجام شده است - - To use the %s option - برای استفاده از %s از انتخابات - Error خطا diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts index 1a639a859200a..7afb042da46c9 100644 --- a/src/qt/locale/bitcoin_fa_IR.ts +++ b/src/qt/locale/bitcoin_fa_IR.ts @@ -1,30 +1,66 @@ - + AddressBookPage - - Double-click to edit address or label - برای ویرایش حساب و یا برچسب دوبار کلیک نمایید - Create a new address گشایش حسابی جدید + + &New + جدید + Copy the currently selected address to the system clipboard کپی کردن حساب انتخاب شده به حافظه سیستم - کلیپ بورد + + &Copy + کپی + + + C&lose + بستن + &Copy Address و کپی آدرس + + Delete the currently selected address from the list + حذف آدرس های انتخاب شده از لیست + Export the data in the current tab to a file صدور داده نوار جاری به یک فایل + + &Export + صدور + &Delete و حذف + + Choose the address to send coins to + انتخاب آدرس جهت ارسال کوین ها + + + Choose the address to receive coins with + انتخاب آدرس جهت دریافت کوین ها از آن + + + C&hoose + انتخاب + + + Sending addresses + ارسال آدرس ها + + + Receiving addresses + دریافت آدرس ها + Copy &Label کپی و برچسب @@ -33,11 +69,23 @@ &Edit و ویرایش + + Export Address List + صدور لیست آدرس + Comma separated file (*.csv) Comma separated file (*.csv) فایل جداگانه دستوری - + + Exporting Failed + صدور با شکست مواجه شد + + + There was an error trying to save the address list to %1. Please try again. + خطایی به هنگام ذخیره لیست آدرس در %1 رخ داده است. لطفا دوباره تلاش کنید. + + AddressTableModel @@ -55,6 +103,10 @@ AskPassphraseDialog + + Passphrase Dialog + دیالوگ رمزعبور + Enter passphrase رمز/پَس فرِیز را وارد کنید @@ -99,6 +151,10 @@ Confirm wallet encryption رمزگذاری wallet را تایید کنید + + Warning: The Caps Lock key is on! + اخطار: کلید Caps Lock فعال است! + Wallet encrypted تایید رمزگذاری @@ -131,7 +187,11 @@ Wallet decryption failed کشف رمز wallet انجام نشد - + + Wallet passphrase was successfully changed. + رمز عبور کیف پول با موفقیت تغییر کرد. + + BitcoinGUI @@ -168,11 +228,11 @@ About &Qt - درباره و QT + درباره و Qt Show information about Qt - نمایش اطلاعات درباره QT + نمایش اطلاعات درباره Qt &Options... @@ -609,10 +669,26 @@ Address: %4 Message: پیام: - + + Pay To: + پرداخت به: + + + Memo: + یادداشت: + + ShutdownWindow - + + Bitcoin Core is shutting down... + هسته بیت کوین در حال خاموش شدن است... + + + Do not shut down the computer until this window disappears. + تا پیش از بسته شدن این پنجره کامپیوتر خود را خاموش نکنید. + + SignVerifyMessageDialog @@ -845,6 +921,14 @@ Address: %4 Edit label برچسب را ویرایش کنید + + Exporting Failed + صدور با شکست مواجه شد + + + Exporting Successful + صدور با موفقیت انجام شد + Comma separated file (*.csv) Comma separated file (*.csv) فایل جداگانه دستوری @@ -897,6 +981,10 @@ Address: %4 WalletView + + &Export + صدور + Export the data in the current tab to a file صدور داده نوار جاری به یک فایل @@ -937,10 +1025,22 @@ Address: %4 Use the test network از تستِ شبکه استفاده نمایید + + RPC server options: + گزینه های سرویس دهنده RPC: + + + Randomly drop 1 of every <n> network messages + حذف تصادفی 1 مورد از هر <n> مورد پیغام های شبکه + Send trace/debug info to console instead of debug.log file ارسال اطلاعات پیگیری/خطایابی به کنسول به جای ارسال به فایل debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + ارسال تراکنش ها به صورت بدون کارمزد در صورت امکان (پیش فرض: %u) + Username for JSON-RPC connections شناسه کاربری برای ارتباطاتِ JSON-RPC @@ -982,12 +1082,24 @@ Address: %4 خطا در هنگام لود شدن wallet.dat - Invalid amount for -paytxfee=<amount>: '%s' - میزان اشتباه است for -paytxfee=<amount>: '%s' + Set minimum block size in bytes (default: %u) + تنظیم کمینه اندازه بلاک بر حسب بایت (پیش فرض: %u) + + + Set the number of threads to service RPC calls (default: %d) + تنظیم تعداد ریسمان ها برای سرویس دهی فراخوانی های RPC (پیش فرض: %d) + + + Specify configuration file (default: %s) + فایل تنظیمات را مشخص کنید (پیش فرض: %s) - Invalid amount - میزان اشتباه است + Specify pid file (default: %s) + فایل pid را مشخص کنید (پیش فرض: %s) + + + Invalid amount for -paytxfee=<amount>: '%s' + میزان اشتباه است for -paytxfee=<amount>: '%s' Insufficient funds @@ -1021,10 +1133,6 @@ Address: %4 Done loading اتمام لود شدن - - To use the %s option - برای استفاده از %s از اختیارات - Error خطا diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts index 9a2eadd6ea289..f5a68c841a88d 100644 --- a/src/qt/locale/bitcoin_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Kaksoisnapauta muokataksesi osoitetta tai nimeä + Right-click to edit address or label + Klikkaa hiiren oikealla painikkeella muokataksesi osoitetta tai nimikettä Create a new address @@ -23,7 +23,7 @@ C&lose - &Sulje + S&ulje &Copy Address @@ -39,7 +39,7 @@ &Export - &Vie... + &Vie &Delete @@ -47,15 +47,15 @@ Choose the address to send coins to - Valitse osoite johon lähetetään kolikoita + Valitse osoite johon kolikot lähetetään Choose the address to receive coins with - Valitse osoite jolla vastaanotetaan kolikoita + Valitse osoite johon vastaanotetaan kolikoita C&hoose - &Valitse + V&alitse Sending addresses @@ -67,15 +67,15 @@ These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Nämä ovat sinun Bitcoin osoitteita maksujen lähetykseen. Tarkista aina rahan määrä ja vastaanottajan osoite ennenkuin lähetät kolikkoja. + Nämä ovat sinun Bitcoin osoitteita maksujen lähetykseen. Tarkista aina summa ja vastaanottajan osoite ennenkuin lähetät kolikkoja. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Nämä ovat sinun Bitcoin-osoitteesi suoritusten vastaanottamiseen. Suositellaan että annat uuden osoitteen kullekin rahansiirrolle + Nämä ovat sinun Bitcoin-osoitteesi suoritusten vastaanottamiseen. Suositellaan että annat uuden osoitteen kullekin transaktiolle. Copy &Label - Kopioi &Nimi + Kopioi &nimike &Edit @@ -110,14 +110,14 @@ (no label) - (ei nimeä) + (ei nimikettä) AskPassphraseDialog Passphrase Dialog - Tunnuslauseen Dialogi + Tunnuslauseen tekstinsyöttökenttä Enter passphrase @@ -129,7 +129,7 @@ Repeat new passphrase - Kirjoita uusi tunnuslause uudelleen + Toista uusi tunnuslause Encrypt wallet @@ -264,7 +264,7 @@ Show information about Qt - Näytä tietoja QT:ta + Näytä tietoja Qt:ta &Options... @@ -478,6 +478,10 @@ Up to date Rahansiirtohistoria on ajan tasalla + + Processed %n blocks of transaction history. + Käsitelty %n lohko rahansiirtohistoriasta.Käsitelty %n lohkoa rahansiirtohistoriasta. + Catching up... Saavutetaan verkkoa... @@ -519,6 +523,10 @@ Osoite: %4 CoinControlDialog + + Coin Selection + Kolikoiden valinta + Quantity: Määrä: @@ -567,6 +575,14 @@ Osoite: %4 Amount Määrä + + Received with label + Vastaanotettu nimikkeellä + + + Received with address + Vastaanotettu osoitteella + Date Aika @@ -899,7 +915,15 @@ Osoite: %4 Error Virhe - + + %n GB of free space available + %n Gt vapaata tilaa käytettävissä%n Gt vapaata tilaa käytettävissä + + + (of %n GB needed) + (%n Gt tarvittavasta tilasta)(%n Gt tarvittavasta tilasta) + + OpenURIDialog @@ -1021,6 +1045,14 @@ Osoite: %4 Map port using &UPnP Portin uudelleenohjaus &UPnP:llä + + Connect to the Bitcoin network through a SOCKS5 proxy. + Yhdistä Bitcoin-verkkoon SOCKS5-välityspalvelimen kautta. + + + &Connect through SOCKS5 proxy (default proxy): + &Yhdistä SOCKS5-välityspalvelimen kautta (oletus välityspalvelin): + Proxy &IP: Proxyn &IP: @@ -1152,6 +1184,10 @@ Osoite: %4 Mined balance that has not yet matured Louhittu saldo, joka ei ole vielä kypsynyt + + Balances + Saldot + Total: Yhteensä: @@ -1164,6 +1200,22 @@ Osoite: %4 Your current balance in watch-only addresses Nykyinen tase seurantaosoitetteissa + + Spendable: + Käytettävissä: + + + Recent transactions + Viimeisimmät rahansiirrot + + + Unconfirmed transactions to watch-only addresses + Vahvistamattomat rahansiirrot vain katseltaviin osoitteisiin + + + Mined balance in watch-only addresses that has not yet matured + Louhittu, ei vielä kypsynyt saldo vain katseltavissa osoitteissa + Current total balance in watch-only addresses Nykyinen tase seurantaosoitetteissa @@ -1187,10 +1239,18 @@ Osoite: %4 Payment request rejected Maksupyyntö hylätty + + Payment request network doesn't match client network. + Maksypyyntö verkossa ei täsmää asiakasohjelman verkkoon. + Payment request has expired. Maksupyyntö on vanhentunut. + + Payment request is not initialized. + Maksupyyntöä ei ole alustettu. + Requested payment amount of %1 is too small (considered dust). Maksupyyntö %1 on liian pieni (huomioidaan tomuna). @@ -1215,6 +1275,10 @@ Osoite: %4 Payment request file handling Maksupyynnön tiedoston käsittely + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Maksupyynnön tiedostoa ei voida lukea! Tämä voi aiheutua sopimattomasta maksupyyntötiedostosta. + Unverified payment requests to custom payment scripts are unsupported. Varmistamattomia maksupyyntöjä kustomoituun maksupalveluun ei tueta. @@ -1223,10 +1287,22 @@ Osoite: %4 Refund from %1 Maksupalautus %1:sta + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Maksupyyntö %1 on liian suuri (%2 tavua, sallittu %3 tavua). + + + Payment request DoS protection + Maksupyynnön DoS-suojaus + Error communicating with %1: %2 Virhe kommunikoidessa %1n kanssa: %2 + + Payment request cannot be parsed! + Maksupyyntöä ei voida jäsentää! + Bad response from server %1 Huono vastaus palvelimelta %1 @@ -1246,13 +1322,25 @@ Osoite: %4 User Agent Käyttöliittymä - + + Address/Hostname + Osoite/Isäntänimi + + + Ping Time + Vasteaika + + QObject Amount Määrä + + Enter a Bitcoin address (e.g. %1) + Syötä Bitcoin-osoite (esim. %1) + %1 d %1 d @@ -1269,6 +1357,18 @@ Osoite: %4 %1 s %1 s + + NETWORK + VERKKO + + + UNKNOWN + TUNNISTAMATON + + + None + Ei yhtään + N/A Ei saatavilla @@ -1327,6 +1427,10 @@ Osoite: %4 Using OpenSSL version Käytössä oleva OpenSSL-versio + + Using BerkeleyDB version + Käyttää BerkeleyDB-versiota + Startup time Käynnistysaika @@ -1359,6 +1463,18 @@ Osoite: %4 Sent Lähetetyt + + &Peers + &Vertaiset + + + Select a peer to view detailed information. + Valitse vertainen eriteltyjä tietoja varten. + + + Direction + Suunta + Version Versio @@ -1367,6 +1483,46 @@ Osoite: %4 User Agent Käyttöliittymä + + Services + Palvelut + + + Starting Height + Aloituskorkeus + + + Sync Height + Synkronointikorkeus + + + Ban Score + Panna-pisteytys + + + Connection Time + Yhteysaika + + + Last Send + Viimeisin lähetetty + + + Last Receive + Viimeisin vastaanotettu + + + Bytes Sent + Tavua lähetetty + + + Bytes Received + Tavua vastaanotettu + + + Ping Time + Vasteaika + Last block time Viimeisimmän lohkon aika @@ -1443,11 +1599,31 @@ Osoite: %4 %1 GB %1 GB + + via %1 + %1 kautta + + + never + ei koskaan + + + Inbound + Sisääntuleva + + + Outbound + Ulosmenevä + Unknown Tuntematon - + + Fetching... + Hankitaan... + + ReceiveCoinsDialog @@ -1675,6 +1851,62 @@ Osoite: %4 Custom change address Kustomoitu vaihtorahan osoite + + Transaction Fee: + Rahansiirtokulu: + + + Choose... + Valitse... + + + collapse fee-settings + pudota kulujen asetukset + + + Minimize + Pienennä + + + per kilobyte + per kilotavu + + + total at least + yhteensä ainakin + + + (read the tooltip) + (lue työkaluvinkki) + + + Recommended: + Suositeltu: + + + Custom: + Muokattu: + + + Confirmation time: + Vahvistusaika: + + + normal + normaali + + + fast + nopea + + + Send as zero-fee transaction if possible + Lähetä siirtokuluttomana jos mahdollista + + + (confirmation may take longer) + (vahvistaminen voi viedä kauemmin) + Send to multiple recipients at once Lähetä usealla vastaanottajalle samanaikaisesti @@ -1743,10 +1975,6 @@ Osoite: %4 Copy change Kopioi vaihtoraha - - Total Amount %1 (= %2) - Yhteensä %1 (= %2) - or tai @@ -1779,6 +2007,18 @@ Osoite: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Rahansiirto hylättiin! Tämä saattaa tapahtua jos lompakossa olevat kolikot on jo kulutettu, kuten jos käytät kopioita wallet.dat tiedostosta ja kolikot oli jos käytetty mutta ei merkattu täällä. + + A fee higher than %1 is considered an insanely high fee. + Rahansiirtokulua %1 ja sitä suurempia määriä pidetään järjettöminä. + + + Pay only the minimum fee of %1 + Maksa vain vähimmäiskulu %1 + + + Estimated to begin confirmation within %1 block(s). + Vahvistuminen alkaa arviolta %1 lohkon päästä. + Warning: Invalid Bitcoin address Varoitus: Virheellinen Bitcoin osoite @@ -1830,6 +2070,10 @@ Osoite: %4 This is a normal payment. Tämä on normaali maksu. + + The Bitcoin address to send the payment to + Bitcoin-osoite johon maksu lähetetään + Alt+A Alt+A @@ -1900,6 +2144,10 @@ Osoite: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Voit allekirjoittaa viestit omalla osoitteellasi todistaaksesi että omistat ne. Ole huolellinen, että et allekirjoita mitään epämääräistä, phishing-hyökkääjät voivat huijata sinua allekirjoittamaan luovuttamalla henkilöllisyytesi. Allekirjoita selvitys täysin yksityiskohtaisesti mihin olet sitoutunut. + + The Bitcoin address to sign the message with + Bitcoin-osoite jolla viesti allekirjoitetaan + Choose previously used address Valitse aikaisemmin käytetty osoite @@ -1952,6 +2200,10 @@ Osoite: %4 Enter the signing 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. Syötä allekirjoittava osoite, viesti ja allekirjoitus alla oleviin kenttiin varmistaaksesi allekirjoituksen aitouden. Varmista että kopioit kaikki kentät täsmälleen oikein, myös rivinvaihdot, välilyönnit, tabulaattorit, jne. + + The Bitcoin address the message was signed with + Bitcoin-osoite jolla viesti on allekirjoitettu + Verify the message to ensure it was signed with the specified Bitcoin address Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Bitcoin-osoitteella @@ -2093,6 +2345,10 @@ Osoite: %4 own address oma osoite + + watch-only + vain katseltava + label nimi @@ -2113,6 +2369,14 @@ Osoite: %4 Debit Debit + + Total debit + Yhteensä debit + + + Total credit + Yhteensä credit + Transaction fee Maksukulu @@ -2263,6 +2527,10 @@ Osoite: %4 Mined Louhittu + + watch-only + vain katseltava + (n/a) (ei saatavilla) @@ -2279,6 +2547,10 @@ Osoite: %4 Type of transaction. Rahansiirron laatu. + + Whether or not a watch-only address is involved in this transaction. + Onko rahansiirrossa mukana ainoastaan katseltava osoite vai ei. + Destination address of transaction. Rahansiirron kohteen Bitcoin-osoite @@ -2374,6 +2646,10 @@ Osoite: %4 Export Transaction History Vie rahansiirtohistoria + + Watch-only + Vain katseltava + Exporting Failed Vienti epäonnistui @@ -2429,7 +2705,11 @@ Osoite: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Yksikkö jossa määrät näytetään. Klikkaa valitaksesi toisen yksikön. + + WalletFrame @@ -2513,30 +2793,6 @@ Osoite: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Hyväksy yhteyksiä ulkopuolelta (vakioasetus: 1 jos -proxy tai -connect ei määritelty) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, sinun tulee asettaa rpcpassword asetustietostossa: -%s -Suositellaan että käytät allaolevaa satunnaista salasanaa: -rpcuser=bitcoinrpc -rpcpassword=%s -(sinun ei tarvitse muistaa tätä salasanaa) -Tämän tunnuksen ja salasanan TULEE OLLA sama. -Jos tiedostoa ei ole, luo se vain omistajan-luku-oikeudella. -Suositellaan asettaa alertnotify jotta saat tietoa ongelmista; -esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Kytkeydy annettuun osoitteeseen ja pidä linja aina auki. Käytä [host]:portin merkintätapaa IPv6:lle. @@ -2545,14 +2801,6 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Aloita regression testimoodi joka käyttää erikoisketjua jossa lohkoja voidaan ratkaista välittömästi. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Virhe: Rahansiirto hylättiin! Tämä saattaa tapahtua jos jotkut kolikot lompakossa on jo käytetty. Esimerkiksi jos kopioit wallet.dat tiedoston ja kolikot on käytetty mutta ei merkattu täällä. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Virhe: Tämä rahansiirto vaatii rahansiirtopalkkion vähintään %s johtuen sen määrästä, monimutkaisuudesta tai hiljattain vastaanotettujen summien käytöstä - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Suorita käsky kun lompakossa rahansiirto muuttuu (%s cmd on vaihdettu TxID kanssa) @@ -2657,10 +2905,6 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Varoitus: Levytila on vähissä! - - Error: Wallet locked, unable to create transaction! - Virhe: Lompakko on lukittu, rahansiirtoa ei voida luoda - Failed to listen on any port. Use -listen=0 if you want this. Ei onnistuttu kuuntelemaan missään portissa. Käytä -listen=0 jos haluat tätä. @@ -2685,6 +2929,10 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Not enough file descriptors available. Ei tarpeeksi tiedostomerkintöjä vapaana. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Yhdistä vain solmukohtiin <net>-verkossa (ipv4, ipv6 tai onion) + Rebuild block chain index from current blk000??.dat files Uudelleenrakenna lohkoketjuindeksi nykyisistä blk000??.dat tiedostoista @@ -2705,6 +2953,10 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com This is intended for regression testing tools and app development. Tämä on tarkoitettu regression testityökaluille ja ohjelman kehittämiseen. + + Use UPnP to map the listening port (default: %u) + Käytä UPnP:ta kuuntelevan portin kartoittamiseen (oletus: %u) + Verifying blocks... Varmistetaan lohkoja... @@ -2741,6 +2993,18 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Aseta maksimikoko korkea prioriteetti/pieni palkkio rahansiirtoihin tavuissa (oletus: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Aseta kolikoiden luomiseen tarkoitettujen säikeiden lukumäärä (-1 = kaikki ytimet, oletus: %d) + + + Accept public REST requests (default: %u) + Hyväksy julkisia REST-pyyntöjä (oletus: %u) + + + Cannot resolve -whitebind address: '%s' + -whitebind -osoitetta '%s' ei voida jäsentää + Connect through SOCKS5 proxy Yhdistä SOCKS5 proxin kautta @@ -2753,6 +3017,10 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Virhe ladattaessa wallet.dat-tiedostoa: Tarvitset uudemman version Bitcoinista + + Error reading from database, shutting down. + Virheitä tietokantaa luettaessa, ohjelma pysäytetään. + Information Tietoa @@ -2766,8 +3034,8 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Virheellinen määrä -mintxfee=<amount>: '%s' - Print block on startup, if found in block index - Tulosta lohko käynnistyksessä jos löydetään lohkoindeksistä + Node relay options: + Välityssolmukohdan asetukset: RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2777,6 +3045,10 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: RPC-palvelimen valinnat: + + RPC support for HTTP persistent connections (default: %d) + RPC-tuki pysyville HTTP-yhteyksille (oletus: %d) + Randomly drop 1 of every <n> network messages Satunnaisesti pudota 1 joka <n> verkkoviestistä @@ -2801,6 +3073,10 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Signing transaction failed Siirron vahvistus epäonnistui + + This is experimental software. + Tämä on ohjelmistoa kokeelliseen käyttöön. + Transaction amount too small Siirtosumma liian pieni @@ -2881,14 +3157,82 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted Virhe ladattaessa wallet.dat-tiedostoa: Lompakko vioittunut + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Käytä erillistä SOCKS5-proxyä tavoittaaksesi vertaisia Tor-piilopalveluiden kautta (oletus: %s) + + + (default: %s) + (oletus: %s) + + + Acceptable ciphers (default: %s) + Hyväksyttävät salaukset (oletus: %s) + Error loading wallet.dat Virhe ladattaessa wallet.dat-tiedostoa + + Force safe mode (default: %u) + Pakota yhteensopivuustila (oletus: %u) + + + Generate coins (default: %u) + Luo kolikoita (oletus: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Kuinka monta lohkoa tarkistetaan käynnistyksessä (oletus: %u, 0 = kaikki) + + + Include IP addresses in debug output (default: %u) + Sisällytä IP-osoitteet virheenkorjauslokissa (oletus: %u) + Invalid -proxy address: '%s' Virheellinen proxy-osoite '%s' + + Listen for connections on <port> (default: %u or testnet: %u) + Kuuntele yhteyksiä portissa <port> (oletus: %u tai testnet: %u) + + + Relay non-P2SH multisig (default: %u) + Välitä ei-P2SH-multisig (oletus: %u) + + + Server certificate file (default: %s) + Palvelimen sertifikaattitiedosto (oletus: %s) + + + Server private key (default: %s) + Palvelimen private key (oletus: %s) + + + Set key pool size to <n> (default: %u) + Aseta avainaltaan kooksi <n> (oletus: %u) + + + Set minimum block size in bytes (default: %u) + Aseta pienin mahdollinen lohkokoko tavuina (oletus: %u) + + + Set the number of threads to service RPC calls (default: %d) + Aseta RPC-kutsujen palvelemiseen tarkoitettujen säikeiden lukumäärä (oletus: %d) + + + Specify configuration file (default: %s) + Määritä asetustiedosto (oletus: %s) + + + Specify pid file (default: %s) + Määritä pid-tiedosto (oletus: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Käytä vahvistamattomia vaihtorahoja lähetettäessä rahansiirtoja (oletus: %u) + Unknown network specified in -onlynet: '%s' Tuntematon verkko -onlynet parametrina: '%s' @@ -2905,10 +3249,6 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<amount>: '%s' on virheellinen - - Invalid amount - Virheellinen määrä - Insufficient funds Lompakon saldo ei riitä @@ -2941,10 +3281,6 @@ esimerkiksi: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Lataus on valmis - - To use the %s option - Käytä %s optiota - Error Virhe diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts index 71a151941119c..40500fb5d8ae9 100644 --- a/src/qt/locale/bitcoin_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Double cliquer afin de modifier l'adresse ou l'étiquette + Right-click to edit address or label + Cliquer à droite pour modifier l'adresse ou l'étiquette Create a new address @@ -300,7 +300,7 @@ Importing blocks from disk... - Importation des blocs depuis le disque... + Importation des blocs à partir du disque... Reindexing blocks on disk... @@ -728,6 +728,10 @@ Adresse : %4 This label turns red, if the priority is smaller than "medium". Cette étiquette devient rouge si la priorité est plus basse que « moyenne » + + This label turns red, if any recipient receives an amount smaller than %1. + Cette étiquette devient rouge si un destinataire reçoit un montant inférieur à %1. + (no label) (aucune étiquette) @@ -952,7 +956,7 @@ Adresse : %4 Automatically start Bitcoin after logging in to the system. - Démarrer Bitcoin automatiquement après avoir ouvert une session sur l'ordinateur. + Démarrer Bitcoin automatiquement après avoir ouvert une session sur le système. &Start Bitcoin on system login @@ -1128,7 +1132,7 @@ Adresse : %4 Client will be shutdown, do you want to proceed? - Le client sera arrêté, voulez-vous continuer? + Le client sera arrêté, voulez-vous continuer ? This change would require a client restart. @@ -1280,6 +1284,14 @@ Adresse : %4 Refund from %1 Remboursement de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La demande de paiement %1 est trop grande (%2 octets, %3 octets permis). + + + Payment request DoS protection + Protection DdS des demandes de paiement + Error communicating with %1: %2 Erreur de communication avec %1 : %2 @@ -1566,7 +1578,7 @@ Adresse : %4 Type <b>help</b> for an overview of available commands. - Taper <b>help</b> pour afficher une vue générale des commandes disponibles. + Taper <b>help</b> pour afficher une vue générale des commandes proposées. %1 B @@ -1977,8 +1989,8 @@ Adresse : %4 Copier la monnaie - Total Amount %1 (= %2) - Montant total %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Montant total %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -2002,7 +2014,7 @@ Adresse : %4 Duplicate address found, can only send to each address once per send operation. - Adresse indentique trouvée, il n'est possible d'envoyer qu'une fois à chaque adresse par opération d'envoi. + Adresse identique trouvée. Il n'est possible d'envoyer qu'une fois à chaque adresse, par opération d'envoi. Transaction creation failed! @@ -2147,7 +2159,7 @@ Adresse : %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Vous pouvez signer des messages avec vos adresses pour prouver que vous les détenez. Faites attention de ne pas signer de vague car des attaques d'hameçonnage peuvent essayer d'usurper votre identité par votre signature. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous serez d'accord. + Vous pouvez signer des messages avec vos adresses pour prouver que vous les détenez. Faites attention de ne rien signer de vague, car des attaques d'hameçonnage pourraient essayer de vous faire signer avec votre identité afin de l'usurper. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous êtes d'accord. The Bitcoin address to sign the message with @@ -2203,7 +2215,7 @@ Adresse : %4 Enter the signing 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. - Saisir ci-dessous l'adresse de signature, le message (assurez-vous d'avoir copié exactement les retours à la ligne, les espaces, tabulations etc.) et la signature pour vérifier le message. Faire attention à ne pas déduire davantage de la signature que ce qui est contenu dans le message signé lui-même pour éviter d'être trompé par une attaque d'homme du milieu. + Saisir ci-dessous l'adresse de signature, le message (assurez-vous d'avoir copié exactement les retours à la ligne, les espaces, tabulations etc.) et la signature pour vérifier le message. Faire attention à ne pas déduire davantage de la signature que ce qui est contenu dans le message signé même, pour éviter d'être trompé par une attaque d'homme du milieu. The Bitcoin address the message was signed with @@ -2243,7 +2255,7 @@ Adresse : %4 Private key for the entered address is not available. - La clef privée pour l'adresse indiquée n'est pas disponible. + La clef privée n'est pas disponible pour l'adresse indiquée. Message signing failed. @@ -2798,30 +2810,6 @@ Adresse : %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accepter les connexions entrantes (par défaut : 1 si aucun -proxy ou -connect ) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, vous devez définir un mot de passe rpc dans le fichier de configuration : -%s -Il vous est conseillé d'utiliser le mot de passe aléatoire suivant : -rpcuser=bitcoinrpc -rpcpassword=%s -(vous n'avez pas besoin de retenir ce mot de passe) -Le nom d'utilisateur et le mot de passe NE DOIVENT PAS être identiques. -Si le fichier n'existe pas, créez-le avec les droits de lecture accordés au propriétaire. -Il est aussi conseillé de régler alertnotify pour être prévenu des problèmes ; -par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Se lier à l'adresse donnée et toujours l'écouter. Utilisez la notation [host]:port pour l'IPv6 @@ -2838,14 +2826,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Passer en mode de test de régression qui utilise une chaîne spéciale dans laquelle les blocs sont résolus instantanément. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Erreur : La transaction a été rejetée ! Ceci peut arriver si certaines pièces de votre portefeuille étaient déjà dépensées, par exemple si vous avez utilisé une copie de wallet.dat et les pièces ont été dépensées avec cette copie sans être marquées comme tel ici. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Erreur : cette transaction exige des frais de transaction d'au moins %s en raison de son montant, de sa complexité ou de l'utilisation de fonds reçus récemment ! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Exécuter la commande lorsqu'une transaction de portefeuille change (%s dans la commande est remplacée par TxID) @@ -2950,18 +2930,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Error opening block database Erreur lors de l'ouverture de la base de données des blocs - - Error: A fatal internal error occured, see debug.log for details - Erreur : une erreur interne fatale s'est produite. Voir debug.log pour des détails - Error: Disk space is low! Erreur : l'espace disque est faible ! - - Error: Wallet locked, unable to create transaction! - Erreur : Portefeuille verrouillé, impossible de créer la transaction ! - Failed to listen on any port. Use -listen=0 if you want this. Échec de l'écoute sur un port quelconque. Utilisez -listen=0 si vous voulez ceci. @@ -2984,7 +2956,7 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Not enough file descriptors available. - Pas assez de descripteurs de fichiers de disponibles. + Pas assez de descripteurs de fichiers proposés. Only connect to nodes in network <net> (ipv4, ipv6 or onion) @@ -3086,10 +3058,22 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Les frais (en BTC/Ko) inférieurs à ce seuil sont considérés comme étant nuls pour la création de transactions (par défaut : %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si paytxfee n'est pas défini, inclure suffisamment de frais afin que les transactions commencent la confirmation en moyenne avant n blocs (par défaut : %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Montant invalide pour -maxtxfee=<amount> : « %s » (doit être au moins les frais minrelay de %s pour prévenir le blocage des transactions) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Quantité maximale de données dans les transactions du porteur de données que nous relayons et minons (par défaut : %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Total maximal des frais à utiliser en une seule transaction de portefeuille. Le définir trop bas pourrait interrompre les grosses transactions (par défaut : %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Demander les adresses des pairs par recherche DNS si l'on manque d'adresses (par défaut : 1 sauf si -connect) @@ -3106,6 +3090,34 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com 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. Ce produit comprend des logiciels développés par le projet OpenSSL pour être utilisés dans la boîte à outils OpenSSL <https://www.openssl.org/> et un logiciel cryptographique écrit par Eric Young, ainsi qu'un logiciel UPnP écrit par Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Pour utiliser bitcoind, ou l'option -server de bitcoin-qt, vous devez définir un mot de passe rpc dans le fichier de configuration : +%s +Il est recommandé d'utiliser le mot de passe aléatoire suivant : +rpcuser=bitcoinrpc +rpcpassword=%s +(vous n'avez pas à mémoriser ce mot de passe) +Le nom d'utilisateur et le mot de passe NE DOIVENT PAS être identiques. +Si le fichier n'existe pas, créez-le avec la permission lecture-seule-par-le-propriétaire. +Il est aussi recommandé de définir alertnotify afin que les problèmes vous soient signalés ; +par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Avertissement :-maxtxfee est défini très haut ! Des frais aussi élevés pourraient être payés sur une seule transaction. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Avertissement : veuillez vérifier que l'heure et la date de votre ordinateur sont correctes ! Si votre horloge n'est pas à l'heure, Bitcoin Core ne fonctionnera pas correctement. @@ -3114,6 +3126,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com 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 Les pairs de la liste blanche ne peuvent pas être bannis DoS et leurs transactions sont toujours relayées, même si elles sont déjà dans le mempool, utile p. ex. pour une passerelle + + Accept public REST requests (default: %u) + Accepter les demandes REST publiques (par défaut : %u) + Cannot resolve -whitebind address: '%s' Impossible de résoudre l'adresse -whitebind : « %s » @@ -3134,6 +3150,14 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Erreur lors du chargement de wallet.dat : le portefeuille exige une version plus récente de Bitcoin Core + + Error reading from database, shutting down. + Erreur de lecture de la base de données, fermeture en cours. + + + Error: A fatal internal error occurred, see debug.log for details + Erreur : une erreur interne fatale s'est produite. Voir debug.log pour plus de détails + Error: Unsupported argument -tor found, use -onion. Erreur : argument non pris en charge -tor trouvé, utiliser -onion. @@ -3150,6 +3174,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. L'initialisation du test de cohérence a échoué. Bitcoin est en cours de fermeture. + + Invalid amount for -maxtxfee=<amount>: '%s' + Montant invalide pour -maxtxfee=<amount> : « %s » + Invalid amount for -minrelaytxfee=<amount>: '%s' Montant invalide pour -minrelayfee=<montant> : « %s » @@ -3166,10 +3194,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Invalid netmask specified in -whitelist: '%s' Masque réseau invalide spécifié dans -whitelist : « %s » - - Keep at most <n> unconnectable blocks in memory (default: %u) - Garder au plus <n> blocs non connectables en mémoire (par défaut : %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Garder au plus <n> transactions non connectables en mémoire (par défaut : %u) @@ -3182,10 +3206,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Node relay options: Options de relais du nœud : - - Print block on startup, if found in block index - Imprimer le bloc au démarrage s'il est trouvé dans l'index des blocs - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Options RPC SSL : (voir le wiki Bitcoin pour les instructions de configuration de SSL) @@ -3194,6 +3214,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com RPC server options: Options du serveur RPC : + + RPC support for HTTP persistent connections (default: %d) + Prise en charge de RPC pour les connexions persistantes HTTP (par défaut : %d) + Randomly drop 1 of every <n> network messages Abandonner aléatoirement 1 message du réseau sur <n> @@ -3202,6 +3226,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Randomly fuzz 1 of every <n> network messages Tester aléatoirement 1 message du réseau sur <n> + + Receive and display P2P network alerts (default: %u) + Recevoir et afficher les alertes du réseau poste à poste (%u par défaut) + Send trace/debug info to console instead of debug.log file Envoyer les informations de débogage/trace à la console au lieu du fichier debug.log @@ -3234,6 +3262,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Transaction amounts must be positive Les montants de transaction doivent être positifs + + Transaction too large for fee policy + La transaction est trop grosse pour la politique de frais + Transaction too large Transaction trop volumineuse @@ -3330,10 +3362,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) Degré de profondeur de la vérification des blocs -checkblocks (0-4, par défaut : %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Si paytxfee n'est pas défini, inclure des frais suffisants afin que les transactions soient confirmées en moyenne en n blocs (par défaut : %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Lors du minage, journaliser la priorité des transactions et les frais par ko (par défaut : %u) @@ -3426,10 +3454,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Prepend debug output with timestamp (default: %u) Ajouter l'horodatage au début de la sortie de débogage (par défaut : %u) - - Print block tree on startup (default: %u) - Imprimer l'arborescence des blocs au démarrage (par défaut : %u) - Relay and mine data carrier transactions (default: %u) Relayer et miner les transactions du porteur de données (par défaut : %u) @@ -3494,10 +3518,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Montant invalide pour -paytxfee=<montant> : « %s » - - Invalid amount - Montant invalide - Insufficient funds Fonds insuffisants @@ -3530,10 +3550,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com Done loading Chargement terminé - - To use the %s option - Pour utiliser l'option %s - Error Erreur diff --git a/src/qt/locale/bitcoin_fr_CA.ts b/src/qt/locale/bitcoin_fr_CA.ts index eae0b00b76c00..f314f3d1c1512 100644 --- a/src/qt/locale/bitcoin_fr_CA.ts +++ b/src/qt/locale/bitcoin_fr_CA.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Double-cliquez afin de modifier l'adress ou l'étiquette - Create a new address Créer une nouvelle adresse diff --git a/src/qt/locale/bitcoin_gl.ts b/src/qt/locale/bitcoin_gl.ts index 2252baec732b5..ac2d7087a41ca 100644 --- a/src/qt/locale/bitcoin_gl.ts +++ b/src/qt/locale/bitcoin_gl.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Doble click para editar a dirección ou a etiqueta - Create a new address Crear unha nova dirección @@ -2062,42 +2058,10 @@ Dirección: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Aceptar conexións de fóra (por defecto: 1 se non -proxy ou -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, debes fixar unha rpcpassword no arquivo de configuración: -%s -Reoméndase usar o seguinte contrasinal aleatorio: -rpcuser=bitcoinrpc -rpcpassword=%s -(non precisas lembrar este contrasinal) -O nome do usuario e o contrasinal DEBEN NON ser o mesmo. -Se o arquivo non existe, debes crealo con permisos de so lectura para o propietario. -Tamén é recomendable fixar alertnotify de modo que recibas notificación dos problemas; -por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Enlazar a unha dirección dada e escoitar sempre nela. Emprega a notación [host]:post para IPv6 - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Erro: A transacción foi rexeitada! Esto podería suceder se unha das moedas do teu moedeiro xa foi gastada, como se usas unha copia de wallet.dat e hai moedas que se gastaron na copia pero non foron marcadas como gastadas aquí. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Erro: Esta transacción require unha tarifa de transacción de alomenos %s debido á súa cantidade, complexidade ou emprego de fondos recentemente recibidos! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Executar comando cando unha transacción do moedeiro cambia (%s no comando é substituído por TxID) @@ -2174,10 +2138,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error: Disk space is low! Erro: Espacio en disco escaso! - - Error: Wallet locked, unable to create transaction! - Erro: Moedeiro bloqueado, imposible crear transacción! - Failed to listen on any port. Use -listen=0 if you want this. Fallou escoitar en calquera porto. Emprega -listen=0 se queres esto. @@ -2342,10 +2302,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Cantidade inválida para -paytxfee=<cantidade>: '%s' - - Invalid amount - Cantidade inválida - Insufficient funds Fondos insuficientes @@ -2378,10 +2334,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Carga completa - - To use the %s option - Empregar a opción %s - Error Erro diff --git a/src/qt/locale/bitcoin_gu_IN.ts b/src/qt/locale/bitcoin_gu_IN.ts index ef99b0dd39434..b7b091aa39c03 100644 --- a/src/qt/locale/bitcoin_gu_IN.ts +++ b/src/qt/locale/bitcoin_gu_IN.ts @@ -1,4 +1,4 @@ - + AddressBookPage diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts index b5470589860dd..4388840a7aba0 100644 --- a/src/qt/locale/bitcoin_he.ts +++ b/src/qt/locale/bitcoin_he.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - לחיצה כפולה לעריכת כתובת או תווית - Create a new address יצירת כתובת חדשה @@ -1855,10 +1851,6 @@ Address: %4 Copy change העתקת עודף - - Total Amount %1 (= %2) - הסכום הכולל %1 (= %2) - or או @@ -2657,30 +2649,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) קבלת חיבורים מבחוץ (בררת מחדל: 1 ללא ‎-proxy או ‎-connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, עליך להגדיר את ססמת ה־RPC בקובץ התצורה: - %s -מומלץ להשתמש בססמה האקראית הבאה: -rpcuser=bitcoinrpc -rpcpassword=%s -(אין צורך לזכור את הססמה) -אסור ששם המשתמש והססמה יהיו זהים. -אם הקובץ אינו קיים, יש ליצור אותו עם הרשאות קריאה לבעלים בלבד. -כמו כן, מומלץ להגדיר את alertnotify כדי לקבל דיווח על תקלות; -למשל: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 להתאגד לכתובת נתונה להאזין לה תמיד. יש להשתמש בצורה ‎[host]:port עבור IPv6. @@ -2693,14 +2661,6 @@ rpcpassword=%s Enter regression test mode, which uses a special chain in which blocks can be solved instantly. כניסה למצב בדיקת נסיגה, שמשתמש בשרשרת מיוחדת בה ניתן לפתור את המקטעים במהירות. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - שגיאה: ההעברה נדחתה! מצב כזה עלול לקרות אם כמה מהמטבעות בארנק שלך כבר נוצלו, למשל אם השתמשת בעותק של wallet.dat ומטבעות נשלחו בעותק אך לא סומנו כמושקעות כאן. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - שגיאה: ההעברה הזאת דורשת עמלת פעולה של לפחות %s עקב הכמות, המורכבות או השימוש בכספים שהתקבלו לאחרונה! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) ביצוע פקודה כאשר העברה בארנק משתנה (%s ב־cmd יוחלף ב־TxID) @@ -2797,10 +2757,6 @@ rpcpassword=%s Error: Disk space is low! שגיאה: מעט מקום פנוי בכונן! - - Error: Wallet locked, unable to create transaction! - שגיאה: הארנק נעול, אין אפשרות ליצור העברה! - Failed to listen on any port. Use -listen=0 if you want this. האזנה נכשלה בכל פורט. השתמש ב- -listen=0 אם ברצונך בכך. @@ -2945,10 +2901,6 @@ rpcpassword=%s Node relay options: אפשרויות ממסר מפרק: - - Print block on startup, if found in block index - הצגת מקטע בהפעלה, אם נמצא במפתח המקטעים - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) אפשרויות RPC SSL: (נא לעיין בוויקי של ביטקוין לקבלת הנחיות על הגדרת SSL) @@ -3093,10 +3045,6 @@ rpcpassword=%s Invalid amount for -paytxfee=<amount>: '%s' כמות לא תקינה עבור ‎-paytxfee=<amount>‎:‏ '%s' - - Invalid amount - כמות לא תקינה - Insufficient funds אין מספיק כספים @@ -3129,10 +3077,6 @@ rpcpassword=%s Done loading טעינה הושלמה - - To use the %s option - שימוש באפשרות %s - Error שגיאה diff --git a/src/qt/locale/bitcoin_hi_IN.ts b/src/qt/locale/bitcoin_hi_IN.ts index 09a8392c27ab0..208d1e03699bb 100644 --- a/src/qt/locale/bitcoin_hi_IN.ts +++ b/src/qt/locale/bitcoin_hi_IN.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - दो बार क्लिक करे पता या लेबल संपादन करने के लिए ! - Create a new address नया पता लिखिए ! @@ -876,10 +872,6 @@ Address: %4 Loading addresses... पता पुस्तक आ रही है... - - Invalid amount - राशि ग़लत है - Loading block index... ब्लॉक इंडेक्स आ रहा है... diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts index 22831a0fd5aa6..7ca8a10299172 100644 --- a/src/qt/locale/bitcoin_hr.ts +++ b/src/qt/locale/bitcoin_hr.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dvostruki klik za uređivanje adrese ili oznake + Right-click to edit address or label + Desni klik za uređivanje adresa i oznaka Create a new address @@ -410,10 +410,34 @@ Show the list of used receiving addresses and labels Prikaži popis korištenih adresa i oznaka za primanje isplate + + Open a bitcoin: URI or payment request + Otvori bitcoin: URI adresu ili zahtjev za uplatu + + + &Command-line options + Opcije &naredbene linije + + + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options + Ispis svih opcija naredbene linije programa sa kratkim opisom + %n active connection(s) to Bitcoin network %n aktivna veza na Bitcoin mrežu%n aktivne veze na Bitcoin mrežu%n aktivnih veza na Bitcoin mrežu + + %1 and %2 + %1 i %2 + + + Last received block was generated %1 ago. + Zadnji primljeni blok je bio ustvaren prije %1. + + + Transactions after this will not yet be visible. + Transakcije izvršene za tim blokom nisu jop prikazane. + Error Greška @@ -468,22 +492,70 @@ Adresa:%4 CoinControlDialog + + Coin Selection + Izbor ulaza transakcije + + + Quantity: + Količina: + + + Bytes: + Bajtova: + Amount: Iznos: + + Priority: + Prioriteta: + + + Fee: + Naknada: + + + Dust: + Prah: + + + Change: + Vraćeno: + + + (un)select all + Izaberi sve/ništa + Amount Iznos + + Received with label + Primljeno pod oznakom + + + Received with address + Primljeno na adresu + Date Datum + + Confirmations + Broj potvrda + Confirmed Potvrđeno + + Priority + Prioriteta + Copy address Kopirati adresu @@ -496,6 +568,58 @@ Adresa:%4 Copy amount Kopiraj iznos + + Copy transaction ID + Kopiraj ID transakcije + + + highest + najviša + + + higher + viša + + + high + visoka + + + medium-high + srednje visoka + + + medium + srednja + + + low-medium + srednje niska + + + low + niska + + + lower + niža + + + lowest + najniža + + + yes + da + + + no + ne + + + Transactions with higher priority are more likely to get included into a block. + Transakcije više prioritete imaju veću vjerojatnost da budu prije dodane u novi blok. + (no label) (bez oznake) @@ -511,6 +635,14 @@ Adresa:%4 &Label &Oznaka + + The label associated with this address list entry + Oznaka adrese + + + The address associated with this address list entry. This can only be modified for sending addresses. + Bitcoin adresa. Izmjene adrese su moguće samo za adrese za slanje. + &Address &Adresa @@ -550,11 +682,19 @@ Adresa:%4 FreespaceChecker + + A new data directory will be created. + Stvoren će biti novi direktorij za podatke. + name ime - + + Cannot create data directory here. + Nije moguće stvoriti direktorij za podatke na tom mjestu. + + HelpMessageDialog @@ -565,14 +705,26 @@ Adresa:%4 version verzija + + (%1-bit) + (%1-bit) + About Bitcoin Core O Bitcoin Jezrgu + + Command-line options + Opcije programa u naredbenoj liniji + Usage: Upotreba: + + command-line options + opcije programa u naredbenoj liniji + UI options UI postavke @@ -588,6 +740,10 @@ Adresa:%4 Welcome Dobrodošli + + Welcome to Bitcoin Core. + Dobrodošli u programu Bitcoin Core. + Bitcoin Core Bitcoin Jezgra @@ -599,7 +755,27 @@ Adresa:%4 OpenURIDialog - + + Open URI + Otvori URI adresu + + + Open payment request from URI or file + Otvori zahtjev za plaćanje iz URI adrese ili datoteke + + + URI: + URI: + + + Select payment request file + Izaberi datoteku zahtjeva za plaćanje + + + Select payment request file to open + Izaberi datoteku zahtjeva za plaćanje + + OptionsDialog @@ -618,10 +794,46 @@ Adresa:%4 &Start Bitcoin on system login &Pokreni Bitcoin kod pokretanja sustava + + Size of &database cache + Veličina predmemorije baze podataka + + + MB + MB + + + Number of script &verification threads + Broj CPU niti za verifikaciju transakcija + + + Allow incoming connections + Dozvoli povezivanje izvana + + + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + IP adresa proxy servera (npr. IPv4: 127.0.0.1 / IPv6: ::1) + + + Reset all client options to default. + Nastavi sve postavke programa na početne vrijednosti. + + + &Reset Options + Po&nastavi postavke + &Network &Mreža + + W&allet + &Novčanik + + + &Spend unconfirmed change + &Trošenje nepotvrđenih vraćenih iznosa + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Automatski otvori port Bitcoin klijenta na ruteru. To radi samo ako ruter podržava UPnP i ako je omogućen. @@ -634,6 +846,10 @@ Adresa:%4 Proxy &IP: Proxy &IP: + + &Port: + &Vrata: + Port of the proxy (e.g. 9050) Port od proxy-a (npr. 9050) @@ -662,6 +878,10 @@ Adresa:%4 &Display &Prikaz + + User Interface &language: + Jezik: + &Unit to show amounts in: &Jedinica za prikazivanje iznosa: @@ -725,6 +945,10 @@ Adresa:%4 QRImageWidget + + &Save Image... + &Spremi sliku... + Save QR Code Spremi QR kod @@ -772,6 +996,34 @@ Adresa:%4 Current number of blocks Trenutni broj blokova + + Received + Primljeno + + + Sent + Poslano + + + Direction + Smjer + + + Version + Verzija + + + Connection Time + Trajanje veze + + + Bytes Sent + Bajtova poslano + + + Bytes Received + Bajtova primljeno + Last block time Posljednje vrijeme bloka @@ -784,6 +1036,10 @@ Adresa:%4 &Console &Konzola + + &Network Traffic + &Mrežni promet + Totals Ukupno: @@ -800,13 +1056,33 @@ Adresa:%4 Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. Kako bi navigirali kroz povijest koristite strelice gore i dolje. <b>Ctrl-L</b> kako bi očistili ekran. + + Unknown + Nepoznato + ReceiveCoinsDialog + + &Amount: + Iznos: + &Label: &Oznaka: + + &Message: + &Poruka: + + + Clear all fields of the form. + Obriši sva polja + + + &Request payment + &Zatraži plaćanje + Show Pokaži @@ -826,6 +1102,22 @@ Adresa:%4 QR Code QR kôd + + Copy &URI + Kopiraj &URI + + + Copy &Address + Kopiraj &adresu + + + &Save Image... + &Spremi sliku... + + + URI + URI + Address Adresa @@ -846,7 +1138,11 @@ Adresa:%4 Resulting URI too long, try to reduce the text for label / message. Rezultirajući URI je predug, probajte umanjiti tekst za naslov / poruku. - + + Error encoding URI into QR Code. + Greška pri kodiranju URI adrese u QR kod. + + RecentRequestsTableModel @@ -869,17 +1165,45 @@ Adresa:%4 (no label) (bez oznake) - + + (no message) + (bez poruke) + + + (no amount) + (bez iznosa) + + SendCoinsDialog Send Coins Slanje novca + + Quantity: + Količina: + + + Bytes: + Bajtova: + Amount: Iznos: + + Priority: + Prioriteta: + + + Fee: + Naknada: + + + Change: + Vraćeno: + Send to multiple recipients at once Pošalji k nekoliko primatelja odjednom @@ -888,6 +1212,14 @@ Adresa:%4 Add &Recipient &Dodaj primatelja + + Clear all fields of the form. + Obriši sva polja + + + Dust: + Prah: + Clear &All Obriši &sve @@ -1303,6 +1635,10 @@ Adresa:%4 Copy amount Kopiraj iznos + + Copy transaction ID + Kopiraj ID transakcije + Edit label Izmjeniti oznaku @@ -1502,10 +1838,6 @@ Adresa:%4 Invalid amount for -paytxfee=<amount>: '%s' Nevaljali iznos za opciju -paytxfee=<amount>: '%s' - - Invalid amount - Nevaljali iznos za opciju - Insufficient funds Nedovoljna sredstva diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts index 8109542405936..8c347b6ffddff 100644 --- a/src/qt/locale/bitcoin_hu.ts +++ b/src/qt/locale/bitcoin_hu.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dupla-kattintás a cím vagy címke szerkesztéséhez + Right-click to edit address or label + A cím vagy címke szerkeszteséhez kattintson a jobb gombbal Create a new address @@ -520,6 +520,10 @@ Cím: %4 CoinControlDialog + + Coin Selection + Érme Választás + Quantity: Mennyiség: @@ -568,6 +572,14 @@ Cím: %4 Amount Összeg + + Received with label + Címkével érkezett + + + Received with address + Címmel érkezett + Date Dátum @@ -869,10 +881,26 @@ Cím: %4 Welcome to Bitcoin Core. Üdvözlünk a Bitcoin Core-ban. + + Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + A Bitcoin Core le fogja tölteni és tárolni fogja a Bitcoin blokklánc egy másolatát. Legalább %1GB adat lesz tárolva ebben a mappában, és ez folyamatosan nőni fog. A tárca szintén itt lesz tárolva. + + + Use the default data directory + Az alapértelmezett adat könyvtár használata + + + Use a custom data directory: + Saját adatkönyvtár használata: + Bitcoin Core Bitcoin Core + + Error: Specified data directory "%1" cannot be created. + Hiba: A megadott "%1" adatkönyvtár nem hozható létre. + Error Hiba @@ -896,7 +924,11 @@ Cím: %4 Select payment request file Fizetési kérelmi fájl kiválasztása - + + Select payment request file to open + Fizetés kérelmi fájl kiválasztása + + OptionsDialog @@ -915,10 +947,26 @@ Cím: %4 &Start Bitcoin on system login &Induljon el a számítógép bekapcsolásakor + + Size of &database cache + A&datbázis gyorsítótár mérete + MB MB + + Accept connections from outside + Külső kapcsolatok elfogadása + + + Allow incoming connections + Bejövő kapcsolatok engedélyezése + + + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + A proxy IP címe (pl.: IPv4: 127.0.0.1 / IPv6: ::1) + Reset all client options to default. Minden kliensbeállítás alapértelmezettre állítása. @@ -931,6 +979,14 @@ Cím: %4 &Network &Hálózat + + W&allet + T&árca + + + Expert + szakértő + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. A Bitcoin-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta. @@ -939,6 +995,10 @@ Cím: %4 Map port using &UPnP &UPnP port-feltérképezés + + Connect to the Bitcoin network through a SOCKS5 proxy. + Csatlakozás a Bitcoin hálózatához SOCKS5 proxyn keresztül + Proxy &IP: Proxy &IP: @@ -1011,6 +1071,10 @@ Cím: %4 Confirm options reset Beállítások törlésének jóváhagyása. + + Client restart required to activate changes. + A változtatások aktiválásahoz újra kell indítani a klienst. + The supplied proxy address is invalid. A megadott proxy cím nem érvényes. @@ -1026,6 +1090,10 @@ Cím: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a Bitcoin hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejeződött be. + + Watch-only: + Csak megfigyelés + Available: Elérhető: @@ -1050,6 +1118,10 @@ Cím: %4 Mined balance that has not yet matured Bányászott egyenleg amely még nem érett be. + + Balances + Egyenlegek + Total: Összesen: @@ -1058,6 +1130,14 @@ Cím: %4 Your current total balance Aktuális egyenleged + + Spendable: + Elkölthető: + + + Recent transactions + A legutóbbi tranzakciók + out of sync Nincs szinkronban. @@ -1076,22 +1156,66 @@ Cím: %4 PeerTableModel - + + User Agent + User Agent + + + Address/Hostname + Cím/Hosztnév + + + Ping Time + Ping idő + + QObject Amount Összeg + + Enter a Bitcoin address (e.g. %1) + Ad meg egy Bitcoin címet (pl: %1) + + + %1 d + %1 n + + + %1 h + %1 ó + + + %1 m + %1 p + + + %1 s + %1 mp + NETWORK HÁLÓZAT + + UNKNOWN + ISMERETLEN + + + None + Semmi + N/A Nem elérhető - + + %1 ms + %1 ms + + QRImageWidget @@ -1133,10 +1257,18 @@ Cím: %4 Debug window Debug ablak + + General + Általános + Using OpenSSL version Használt OpenSSL verzió + + Using BerkeleyDB version + Használt BerkeleyDB verzió + Startup time Bekapcsolás ideje @@ -1173,6 +1305,46 @@ Cím: %4 &Peers &Peerek + + Select a peer to view detailed information. + Peer kijelölése a részletes információkért + + + Version + Verzió + + + User Agent + User Agent + + + Services + Szolgáltatások + + + Connection Time + Csatlakozás ideje + + + Last Send + Legutóbb küldött + + + Last Receive + Legutóbbi fogadás + + + Bytes Sent + Küldött bájtok + + + Bytes Received + Fogadott bájtok + + + Ping Time + Ping idő + Last block time Utolsó blokk ideje @@ -1189,6 +1361,10 @@ Cím: %4 &Network Traffic &Hálózati forgalom + + &Clear + &Törlés + Totals Összesen: @@ -1241,25 +1417,69 @@ Cím: %4 %1 GB %1 GB + + via %1 + által %1 + never soha - + + Inbound + Bejövő + + + Outbound + Kimenő + + + Unknown + Ismeretlen + + + Fetching... + Begyüjtés + + ReceiveCoinsDialog + + &Amount: + &Összeg: + &Label: Címke: + + &Message: + &Üzenet: + + + Clear all fields of the form. + Minden mező törlése + Clear Törlés + + Requested payments history + A kért kifizetések története + + + &Request payment + &Fizetés kérése + Show Mutat + + Remove the selected entries from the list + A kijelölt elemek törlése a listáról + Remove Eltávolítás @@ -1295,6 +1515,14 @@ Cím: %4 &Save Image... &Kép mentése + + Request payment to %1 + Fizetés kérése a %1-hez + + + Payment information + Kifizetés információ + URI URI: @@ -1346,7 +1574,15 @@ Cím: %4 (no label) (nincs címke) - + + (no message) + (nincs üzenet) + + + (no amount) + (nincs összeg) + + SendCoinsDialog @@ -1357,6 +1593,14 @@ Cím: %4 Inputs... Bemenetek... + + automatically selected + automatikusan kiválasztva + + + Insufficient funds! + Fedezethiány! + Quantity: Mennyiség: @@ -1385,6 +1629,30 @@ Cím: %4 Change: Visszajáró: + + Transaction Fee: + Tranzakciós díj + + + Choose... + Válassz... + + + Minimize + Kicsinyítés + + + per kilobyte + kilobájtonként + + + normal + normal + + + fast + gyors + Send to multiple recipients at once Küldés több címzettnek egyszerre @@ -1393,6 +1661,10 @@ Cím: %4 Add &Recipient &Címzett hozzáadása + + Clear all fields of the form. + Minden mező törlése + Dust: Por-határ: @@ -1469,6 +1741,10 @@ Cím: %4 Duplicate address found, can only send to each address once per send operation. Többször szerepel ugyanaz a cím. Egy küldési műveletben egy címre csak egyszer lehet küldeni. + + Warning: Invalid Bitcoin address + Figyelmeztetés: Érvénytelen Bitcoin cím + (no label) (nincs címke) @@ -1477,6 +1753,10 @@ Cím: %4 Copy dust Visszajáró másolása + + Are you sure you want to send? + Biztos, hogy el akarod küldeni? + SendCoinsEntry @@ -1497,6 +1777,10 @@ Cím: %4 &Label: Címke: + + Choose previously used address + Válassz egy korábban már használt címet + Alt+A Alt+A @@ -1509,6 +1793,10 @@ Cím: %4 Alt+P Alt+P + + Remove this entry + Ez a bejegyzés eltávolítása + Message: Üzenet: @@ -1524,7 +1812,11 @@ Cím: %4 Bitcoin Core is shutting down... A Bitcoin Core leáll... - + + Do not shut down the computer until this window disappears. + Ne álljon le a számítógép amíg ez az ablak el nem tűnik. + + SignVerifyMessageDialog @@ -1539,6 +1831,10 @@ Cím: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Aláírhat a címeivel üzeneteket, amivel bizonyíthatja, hogy a címek az önéi. Vigyázzon, hogy ne írjon alá semmi félreérthetőt, mivel a phising támadásokkal megpróbálhatják becsapni, hogy az azonosságát átírja másokra. Csak olyan részletes állításokat írjon alá, amivel egyetért. + + Choose previously used address + Válassz egy korábban már használt címet + Alt+A Alt+A @@ -1810,6 +2106,10 @@ Cím: %4 Offline Offline + + Unconfirmed + Megerősítetlen: + Received with Erre a címre @@ -1941,6 +2241,10 @@ Cím: %4 Exporting Failed Az exportálás sikertelen volt + + Exporting Successful + Sikeres exportálás + Comma separated file (*.csv) Vesszővel elválasztott fájl (*.csv) @@ -2057,10 +2361,6 @@ Cím: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Kívülről érkező kapcsolatok elfogadása (alapértelmezett: 1, ha nem használt a -proxy vagy a -connect) - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Hiba: a tranzakciót elutasították. Ezt az okozhatja, ha már elköltöttél valamennyi érmét a tárcádból például ha a wallet.dat-od egy másolatát használtad, és így az elköltés csak abban lett jelölve, de itt nem. - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Parancs, amit akkor hajt végre, amikor egy tárca-tranzakció megváltozik (%s a parancsban lecserélődik a blokk TxID-re) @@ -2133,10 +2433,22 @@ Cím: %4 Verifying wallet... Tárca ellenőrzése... + + Wallet options: + Tárca beállítások: + You need to rebuild the database using -reindex to change -txindex Az adatbázist újra kell építeni -reindex használatával (módosítás -tindex). + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i A Bitcoin Core Fejlesztői + + + Error reading from database, shutting down. + Hiba az adatbázis olvasásakor, leállítás + Information Információ @@ -2250,10 +2562,6 @@ Cím: %4 Invalid amount for -paytxfee=<amount>: '%s' Étvénytelen -paytxfee=<összeg> összeg: '%s' - - Invalid amount - Étvénytelen összeg - Insufficient funds Nincs elég bitcoinod. @@ -2286,10 +2594,6 @@ Cím: %4 Done loading Betöltés befejezve. - - To use the %s option - Használd a %s opciót - Error Hiba diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts index ea2750ed08397..fda3e303a5306 100644 --- a/src/qt/locale/bitcoin_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Klik-ganda untuk mengubah alamat atau label - Create a new address Buat alamat baru @@ -1576,10 +1572,6 @@ Alamat: %4 Copy change Salin uang kembali - - Total Amount %1 (= %2) - Jumlah Nilai %1 (= %2) - or atau @@ -2306,10 +2298,6 @@ Alamat: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Terima hubungan dari luar (standar: 1 kalau -proxy atau -connect tidak dipilih) - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Gagal: Transaksi ditolak. Ini mungkin terjadi jika beberapa dari koin dalam dompet Anda telah digunakan, seperti ketika Anda menggunakan salinan wallet.dat dan beberapa koin telah dibelanjakan dalam salinan tersebut tetapi disini tidak tertandai sebagai terpakai. - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Jalankan perintah ketika perubahan transaksi dompet (%s di cmd digantikan oleh TxID) @@ -2390,10 +2378,6 @@ Alamat: %4 Error: Disk space is low! Gagal: Hard disk hampir terisi! - - Error: Wallet locked, unable to create transaction! - Gagal: Dompet terkunci, transaksi tidak bisa dibuat! - Importing... mengimpor... @@ -2566,10 +2550,6 @@ Alamat: %4 Invalid amount for -paytxfee=<amount>: '%s' Nilai salah untuk -paytxfee=<amount>: '%s' - - Invalid amount - Nilai salah - Insufficient funds Saldo tidak mencukupi @@ -2602,10 +2582,6 @@ Alamat: %4 Done loading Memuat selesai - - To use the %s option - Gunakan pilihan %s - Error Gagal diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts index 06cf0e0162aaf..7c8b6dc0415a9 100644 --- a/src/qt/locale/bitcoin_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Doppio click per modificare l'indirizzo o l'etichetta + Right-click to edit address or label + Fare click con il tasto destro del mouse per modificare l'indirizzo o l'etichetta Create a new address @@ -15,7 +15,7 @@ Copy the currently selected address to the system clipboard - Copia l'indirizzo attualmente selezionato negli appunti + Copia negli appunti l'indirizzo attualmente selezionato &Copy @@ -31,11 +31,11 @@ Delete the currently selected address from the list - Cancella l'indirizzo attualmente selezionato dalla lista + Rimuove dalla lista l'indirizzo attualmente selezionato Export the data in the current tab to a file - Esporta i dati nella tabella corrente in un file + Esporta su file i dati contenuti nella tabella corrente &Export @@ -43,7 +43,7 @@ &Delete - &Cancella + &Elimina Choose the address to send coins to @@ -67,11 +67,11 @@ These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Questo è un elenco di indirizzi bitcoin a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare bitcoin. + Questo è un elenco di indirizzi Bitcoin a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare bitcoin. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Questi sono i tuoi indirizzi bitcoin che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione. + Questi sono i tuoi indirizzi Bitcoin che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione. Copy &Label @@ -95,7 +95,7 @@ There was an error trying to save the address list to %1. Please try again. - Si è verificato un errore tentando di salvare la lista degli indirizzi. %1. Riprova + Si è verificato un errore tentando di salvare la lista degli indirizzi su %1. Si prega di riprovare. @@ -117,19 +117,19 @@ AskPassphraseDialog Passphrase Dialog - Finestra parola d'ordine + Finestra passphrase Enter passphrase - Inserisci la parola d'ordine + Inserisci la passphrase New passphrase - Nuova parola d'ordine + Nuova passphrase Repeat new passphrase - Ripeti la nuova parola d'ordine + Ripeti la nuova passphrase Encrypt wallet @@ -137,7 +137,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Quest'operazione necessita della passphrase per sbloccare il portamonete. + Questa operazione necessita della passphrase per sbloccare il portamonete. Unlock wallet @@ -165,7 +165,7 @@ Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Attenzione: se si cifra il portamonete e si perde la passphrase <b>TUTTI I PROPRI BITCOIN ANDRANNO PERSI</b>! + Attenzione: perdendo la passphrase di un portamonete cifrato <b>TUTTI I PROPRI BITCOIN ANDRANNO PERSI</b>! Are you sure you wish to encrypt your wallet? @@ -185,7 +185,7 @@ 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>. - Inserisci una nuona password per il postafoglio.<br/>Perfavore usa una password di<b>dieci o più caratteri</b>, o <b>otto o più parole</b>. + Inserisci la nuova passphrase per il portamonete.<br/>Si consiglia di utilizzare <b>almeno dieci caratteri casuali</b> oppure <b>otto o più parole</b>. Bitcoin 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. @@ -224,7 +224,7 @@ BitcoinGUI Sign &message... - Firma il &messaggio... + Firma &messaggio... Synchronizing with network... @@ -264,7 +264,7 @@ Show information about Qt - Mostra informazioni su Qt + Mostra le informazioni su Qt &Options... @@ -276,11 +276,11 @@ &Backup Wallet... - &Backup Portamonete... + &Backup portamonete... &Change Passphrase... - &Cambia la passphrase... + &Cambia passphrase... &Sending addresses... @@ -308,11 +308,11 @@ Send coins to a Bitcoin address - Invia monete ad un indirizzo bitcoin + Invia fondi ad un indirizzo Bitcoin Modify configuration options for Bitcoin - Modifica opzioni di configurazione per bitcoin + Modifica opzioni di configurazione per Bitcoin Backup wallet to another location @@ -324,7 +324,7 @@ &Debug window - Finestra &Debug + Finestra di &debug Open debugging and diagnostic console @@ -352,7 +352,7 @@ Show information about Bitcoin Core - Mostra le informazioni riguardo a Bitcoin core + Mostra le informazioni su Bitcoin Core &Show / Hide @@ -368,11 +368,11 @@ Sign messages with your Bitcoin addresses to prove you own them - Firma i messaggi con il tuo indirizzo bitcoin per dimostrarne il possesso + Firma messaggi con i tuoi indirizzi Bitcoin per dimostrarne il possesso Verify messages to ensure they were signed with specified Bitcoin addresses - Verifica i messaggi per accertare che siano stati firmati con gli indirizzi bitcoin specificati + Verifica che i messaggi siano stati firmati con gli indirizzi Bitcoin specificati &File @@ -388,7 +388,7 @@ Tabs toolbar - Barra degli strumenti "Tabs" + Barra degli strumenti Bitcoin Core @@ -400,7 +400,7 @@ &About Bitcoin Core - Info su Bitcoin Core + &Informazioni su Bitcoin Core Show the list of used sending addresses and labels @@ -412,23 +412,23 @@ Open a bitcoin: URI or payment request - Apri un URI o una richiesta di pagamento + Apri un bitcoin: URI o una richiesta di pagamento &Command-line options - Opzioni riga di &comando + Opzioni della riga di &comando Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options - Mostra il messaggio di aiuto di Bitcoin Core per avere la lista di tutte le opzioni della riga di comando di Bitcoin. + Mostra il messaggio di aiuto di Bitcoin Core per ottenere la lista delle opzioni della riga di comando valide. %n active connection(s) to Bitcoin network - %n connessione attiva alla rete Bitcoin%n connessioni attive alla rete Bitcoin + %n connessione attiva alla rete Bitcoin%n connessioni alla rete Bitcoin attive No block source available... - Nessuna fonte di blocchi disponibile + Nessuna fonte di blocchi disponibile... %n hour(s) @@ -460,7 +460,7 @@ Transactions after this will not yet be visible. - Transazioni successive a questa non saranno ancora visibili. + Le transazioni effettuate successivamente non sono ancora visibili. Error @@ -527,8 +527,7 @@ Indirizzo: %4 CoinControlDialog Coin Selection - Seleziona Moneta - + Selezione Input Quantity: @@ -552,7 +551,7 @@ Indirizzo: %4 Dust: - Importo + Trascurabile: After Fee: @@ -580,7 +579,7 @@ Indirizzo: %4 Received with label - Ricevuto con etichetta + Ricevuto con l'etichetta Received with address @@ -592,7 +591,7 @@ Indirizzo: %4 Confirmations - Conferme: + Conferme Confirmed @@ -612,7 +611,7 @@ Indirizzo: %4 Copy amount - Copia l'importo + Copia importo Copy transaction ID @@ -648,7 +647,7 @@ Indirizzo: %4 Copy dust - Copia l'importo + Copia trascurabile Copy change @@ -660,7 +659,7 @@ Indirizzo: %4 higher - superiore + molto alta high @@ -684,7 +683,7 @@ Indirizzo: %4 lower - minore + molto bassa lowest @@ -700,7 +699,7 @@ Indirizzo: %4 Can vary +/- %1 satoshi(s) per input. - Può variare +/- %1 satoshi(s) per input. + Può variare di +/- %1 satoshi per input. yes @@ -712,11 +711,11 @@ Indirizzo: %4 This label turns red, if the transaction size is greater than 1000 bytes. - Questa etichetta diventa rossa se la dimensione della transazione supera i 1000 bytes + Questa etichetta diventerà rossa se la dimensione della transazione supererà i 1000 byte. This means a fee of at least %1 per kB is required. - Questo significa che è richiesta una commissione di almeno %1 per ogni kB. + In tal caso sarà necessaria una commissione di almeno %1 per ogni kB. Can vary +/- 1 byte per input. @@ -728,11 +727,11 @@ Indirizzo: %4 This label turns red, if the priority is smaller than "medium". - Questa etichetta diventa rossa se la priorità è inferiore a "media". + Questa etichetta diventerà rossa se la priorità sarà inferiore a "media". This label turns red, if any recipient receives an amount smaller than %1. - Questa etichetta diventa rossa se uno qualsiasi dei destinatari riceve un ammontare inferiore di %1. + Questa etichetta diventerà rossa se uno qualsiasi dei destinatari riceverà un ammontare inferiore a %1. (no label) @@ -763,7 +762,7 @@ Indirizzo: %4 The address associated with this address list entry. This can only be modified for sending addresses. - L'indirizzo associato a questa voce della rubrica. Può essere modificato solo per gli indirizzi d'invio. + L'indirizzo associato con questa voce della lista degli indirizzi. Può essere modificato solo per gli indirizzi d'invio. &Address @@ -787,11 +786,11 @@ Indirizzo: %4 The entered address "%1" is already in the address book. - L'indirizzo inserito "%1" è già in rubrica. + L'indirizzo "%1" è già presente in rubrica. The entered address "%1" is not a valid Bitcoin address. - L'indirizzo inserito "%1" non è un indirizzo bitcoin valido. + L'indirizzo "%1" non è un indirizzo bitcoin valido. Could not unlock wallet. @@ -810,11 +809,11 @@ Indirizzo: %4 name - Nome + nome Directory already exists. Add %1 if you intend to create a new directory here. - La cartella esiste già. Aggiungi %1 se intendi creare qui una nuova cartella. + Cartella già esistente. Aggiungi %1 se intendi creare qui una nuova cartella. Path already exists, and is not a directory. @@ -822,7 +821,7 @@ Indirizzo: %4 Cannot create data directory here. - Qui non è possibile creare una cartella dati. + Impossibile creare una cartella dati qui. @@ -841,11 +840,11 @@ Indirizzo: %4 About Bitcoin Core - Info su Bitcoin Core + Informazioni su Bitcoin Core Command-line options - opzioni riga di comando + Opzioni della riga di comando Usage: @@ -853,15 +852,15 @@ Indirizzo: %4 command-line options - opzioni riga di comando + opzioni della riga di comando UI options - UI opzioni + Opzioni UI Set language, for example "de_DE" (default: system locale) - Imposta lingua, ad esempio "it_IT" (predefinita: lingua di sistema) + Imposta lingua, ad esempio "it_IT" (predefinito: lingua di sistema) Start minimized @@ -877,7 +876,7 @@ Indirizzo: %4 Choose data directory on startup (default: 0) - Scegli una cartella dati all'avvio (predefinito: 0) + Seleziona la cartella dati all'avvio (predefinito: 0) @@ -896,7 +895,7 @@ Indirizzo: %4 Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Bitcoin Core scaricherà e salverà una copia del block chain di Bitcoin. Almeno %1GB di dati che andranno ad aumentare col tempo saranno salvati in questa cartella. Anche il portamonete sarà salvato in questa cartella. + Bitcoin Core scaricherà e salverà una copia della block chain di Bitcoin. Il portamonete ed almeno %1GB di dati saranno salvati in questa cartella. Si ricorda che lo spazio occupato andrà ad aumentare nel tempo. Use the default data directory @@ -974,20 +973,20 @@ Indirizzo: %4 Accept connections from outside - Accetta connessioni da fuori + Accetta connessioni provenienti dall'esterno Allow incoming connections - Permetti connessioni in entrata + Permetti connessioni in ingresso IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) - Indirizzo IP del proxy (es: IPv4: 127.0.0.1 / IPv6: ::1) + Indirizzo IP del proxy (ad es. IPv4: 127.0.0.1 / IPv6: ::1) Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. - URL di terze parti (es: un block explorer) che appaiono nella tabella delle transazioni come voci nel menu contestuale. %s nell'URL è sostituito dall'hash della transazione. -Più URL vengono separati da una barra verticale |. + URL di terze parti (ad es. un block explorer) che appaiono nella tabella delle transazioni come voci nel menu contestuale. "%s" nell'URL è sostituito dall'hash della transazione. +Per specificare più URL separarli con una barra verticale "|". Third party transaction URLs @@ -995,7 +994,7 @@ Più URL vengono separati da una barra verticale |. Active command-line options that override above options: - Opzioni command-line attive che sostituiscono i settaggi sopra elencati: + Opzioni della riga di comando attive che sostituiscono i settaggi sopra elencati: Reset all client options to default. @@ -1027,11 +1026,11 @@ Più URL vengono separati da una barra verticale |. If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. - Disabilitando l'uso di resti non confermati, il resto di una transazione non potrà essere speso fino a quando la transazione non avrà ottenuto almeno una conferma. Questa impostazione influisce inoltre sul calcolo saldo. + Disabilitando l'uso di resti non confermati, il resto di una transazione non potrà essere speso fino a quando non avrà ottenuto almeno una conferma. Questa impostazione influisce inoltre sul calcolo del saldo. &Spend unconfirmed change - &Spendere resti non confermati + &Spendi resti non confermati Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. @@ -1059,7 +1058,7 @@ Più URL vengono separati da una barra verticale |. Port of the proxy (e.g. 9050) - Porta del proxy (es. 9050) + Porta del proxy (ad es. 9050) &Window @@ -1099,7 +1098,7 @@ Più URL vengono separati da una barra verticale |. Choose the default subdivision unit to show in the interface and when sending coins. - Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di monete. + Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di bitcoin. Whether to show coin control features or not. @@ -1127,7 +1126,7 @@ Più URL vengono separati da una barra verticale |. Client restart required to activate changes. - È necessario un riavvio del client per rendere attivi i cambiamenti. + È necessario un riavvio del client per applicare le modifiche. Client will be shutdown, do you want to proceed? @@ -1135,11 +1134,11 @@ Più URL vengono separati da una barra verticale |. This change would require a client restart. - Questo cambiamento richiede un riavvio del client. + Questa modifica richiede un riavvio del client. The supplied proxy address is invalid. - L'indirizzo proxy che hai fornito è invalido. + L'indirizzo proxy che hai fornito non è valido. @@ -1154,7 +1153,7 @@ Più URL vengono separati da una barra verticale |. Watch-only: - Guarda solo + Sola lettura: Available: @@ -1162,7 +1161,7 @@ Più URL vengono separati da una barra verticale |. Your current spendable balance - Saldo spendibile attuale + Il tuo saldo spendibile attuale Pending: @@ -1190,15 +1189,15 @@ Più URL vengono separati da una barra verticale |. Your current total balance - Saldo totale attuale + Il tuo saldo totale attuale Your current balance in watch-only addresses - Il tuo saldo attuale negli indirizzi watch-only + Il tuo saldo attuale negli indirizzi di sola lettura Spendable: - Saldo Spendibile: + Spendibile: Recent transactions @@ -1210,11 +1209,11 @@ Più URL vengono separati da una barra verticale |. Mined balance in watch-only addresses that has not yet matured - l'equilibrio estratto solo nello sguardo degli indirizzi non è ancora maturo + Importo generato dal mining su indirizzi di sola lettura e non ancora maturato Current total balance in watch-only addresses - Saldo corrente totale negli indirizzi watch-only + Saldo corrente totale negli indirizzi di sola lettura out of sync @@ -1233,15 +1232,15 @@ Più URL vengono separati da una barra verticale |. Payment request rejected - Richiesta di pagamento rifiutata + Richiesta di pagamento respinta Payment request network doesn't match client network. - Il network della richiesta di pagamento non corrisponde al network del client. + La rete della richiesta di pagamento non corrisponde alla rete del client. Payment request has expired. - Richieda di pagamento scaduta + Richiesta di pagamento scaduta. Payment request is not initialized. @@ -1249,7 +1248,7 @@ Più URL vengono separati da una barra verticale |. Requested payment amount of %1 is too small (considered dust). - L'importo di pagamento richiesto di %1 è troppo basso (considerato come trascurabile). + L'importo di pagamento di %1 richiesto è troppo basso (considerato come trascurabile). Payment request error @@ -1265,7 +1264,7 @@ Più URL vengono separati da una barra verticale |. URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - Impossibile interpretare l'URI! Ciò può essere causato da un indirizzo Bitcoin invalido o da parametri URI non corretti. + Impossibile interpretare l'URI! I parametri URI o l'indirizzo Bitcoin potrebbero non essere corretti. Payment request file handling @@ -1273,7 +1272,7 @@ Più URL vengono separati da una barra verticale |. Payment request file cannot be read! This can be caused by an invalid payment request file. - Il file di richiesta del pagamento non può essere letto o elaborato! Questo può essere causato da una richiesta di pagamento non valida. + Impossibile leggere il file della richiesta di pagamento! Il file della richiesta di pagamento potrebbe non essere valido. Unverified payment requests to custom payment scripts are unsupported. @@ -1283,13 +1282,21 @@ Più URL vengono separati da una barra verticale |. Refund from %1 Rimborso da %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + La richiesta di pagamento %1 (%2 byte) supera la dimensione massima di %3 byte. + + + Payment request DoS protection + Protezione DoS per la richiesta di pagamento + Error communicating with %1: %2 Errore di comunicazione con %1: %2 Payment request cannot be parsed! - La richiesta di pagamento non può essere analizzata. + La richiesta di pagamento non può essere analizzata! Bad response from server %1 @@ -1312,7 +1319,7 @@ Più URL vengono separati da una barra verticale |. Address/Hostname - Indirizzo/Hostname + Indirizzo/Nome host Ping Time @@ -1327,7 +1334,7 @@ Più URL vengono separati da una barra verticale |. Enter a Bitcoin address (e.g. %1) - Inserisci un indirizzo Bitcoin (e.g. %1) + Inserisci un indirizzo Bitcoin (ad es. %1) %1 d @@ -1370,7 +1377,7 @@ Più URL vengono separati da una barra verticale |. QRImageWidget &Save Image... - &Salva Immagine + &Salva Immagine... &Copy Image @@ -1421,7 +1428,7 @@ Più URL vengono separati da una barra verticale |. Startup time - Tempo di avvio + Ora di avvio Network @@ -1453,7 +1460,7 @@ Più URL vengono separati da una barra verticale |. &Peers - &Peers + &Peer Select a peer to view detailed information. @@ -1477,35 +1484,35 @@ Più URL vengono separati da una barra verticale |. Starting Height - Blocco di partenza + Nr. Blocco Iniziale Sync Height - valore di sincronizzazione + Nr. Blocco Sincronizzato Ban Score - divieto di segnalazione + Punteggio di Ban Connection Time - Tempo di connessione + Tempo di Connessione Last Send - Ultimo invio + Ultimo Invio Last Receive - Ultima ricevuta + Ultima Ricezione Bytes Sent - Bytes Inviati + Byte Inviati Bytes Received - Bytes Ricevuti + Byte Ricevuti Ping Time @@ -1553,7 +1560,7 @@ Più URL vengono separati da una barra verticale |. Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - Apri il file di log del debug di Bitcoin dalla cartella attuale. Può richiedere alcuni secondi per file di log grandi. + Apri il file log del debug di Bitcoin dalla cartella dati attuale. Può richiedere alcuni secondi per file di log di grandi dimensioni. Clear console @@ -1561,15 +1568,15 @@ Più URL vengono separati da una barra verticale |. Welcome to the Bitcoin RPC console. - Benvenuto nella console RPC di Bitcoin + Benvenuto nella console RPC di Bitcoin. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Usa le frecce direzionali per navigare la cronologia, e <b>Ctrl-L</b> per cancellarla. + Usa le frecce direzionali per scorrere la cronologia, e <b>Ctrl-L</b> per cancellarla. Type <b>help</b> for an overview of available commands. - Scrivi <b>help</b> per un riassunto dei comandi disponibili + Scrivi <b>help</b> per un riassunto dei comandi disponibili. %1 B @@ -1609,7 +1616,7 @@ Più URL vengono separati da una barra verticale |. Fetching... - attraente + Recuperando... @@ -1620,7 +1627,7 @@ Più URL vengono separati da una barra verticale |. &Label: - &Etichetta + &Etichetta: &Message: @@ -1628,7 +1635,7 @@ Più URL vengono separati da una barra verticale |. Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. - Riutilizza uno degli indirizzi di ricezione generati in precedenza. Riutilizzare un indirizzo comporta problemi di sicurezza e privacy. Non utilizzare a meno che non si stia rigenerando una richiesta di pagamento creata in precedenza. + Riutilizza uno degli indirizzi di ricezione generati in precedenza. Riutilizzare un indirizzo comporta problemi di sicurezza e privacy. Non selezionare questa opzione a meno che non si stia rigenerando una richiesta di pagamento creata in precedenza. R&euse an existing receiving address (not recommended) @@ -1636,11 +1643,11 @@ Più URL vengono separati da una barra verticale |. An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. - Un messaggio opzionale da allegare alla richiesta di pagamento, il quale sarà mostrato all'apertura della richiesta. Nota: Il messaggio non sarà inviato con il pagamento sulla rete Bitcoin. + Un messaggio opzionale da allegare e mostrare all'apertura della richiesta di pagamento. Nota: Il messaggio non sarà inviato con il pagamento sulla rete Bitcoin. An optional label to associate with the new receiving address. - Un'etichetta facoltativa da associare al nuovo indirizzo di ricezione + Un'etichetta opzionale da associare al nuovo indirizzo di ricezione. Use this form to request payments. All fields are <b>optional</b>. @@ -1688,7 +1695,7 @@ Più URL vengono separati da una barra verticale |. Copy message - Copia messaggio + Copia il messaggio Copy amount @@ -1711,7 +1718,7 @@ Più URL vengono separati da una barra verticale |. &Save Image... - &Salva Immagine + &Salva Immagine... Request payment to %1 @@ -1747,7 +1754,7 @@ Più URL vengono separati da una barra verticale |. Error encoding URI into QR Code. - Errore nella codifica dell'URI nel codice QR + Errore nella codifica dell'URI nel codice QR. @@ -1833,7 +1840,7 @@ Più URL vengono separati da una barra verticale |. If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. - Se questo è abilitato e l'indirizzo per il resto è vuoto o invalido, il resto sarà inviato ad un nuovo indirizzo bitcoin generato appositamente. + In caso di abilitazione con indirizzo vuoto o non valido, il resto sarà inviato ad un nuovo indirizzo generato appositamente. Custom change address @@ -1841,31 +1848,55 @@ Più URL vengono separati da una barra verticale |. Transaction Fee: - Tasse di Transazione + Commissione di Transazione: Choose... Scegli... + + collapse fee-settings + minimizza le impostazioni di commissione + Minimize Minimizza + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se la commissione personalizzata è impostata su 1000 satoshi e la transazione è di soli 250 byte, allora "per kilobyte" paga solo 250 satoshi di commissione, mentre "somma almeno" paga 1000 satoshi. Per transazioni più grandi di un kilobyte, entrambe le opzioni pagano al kilobyte. + per kilobyte per kilobyte + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se la commissione personalizzata è impostata su 1000 satoshi e la transazione è di soli 250 byte, allora "per kilobyte" paga solo 250 satoshi di commissione, mentre "somma almeno" paga 1000 satoshi. Per transazioni più grandi di un kilobyte, entrambe le opzioni pagano al kilobyte. + + + total at least + somma almeno + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. - Pagando solo la tariffa minima è bene finché c'è meno volume di transazioni di spazio nei blocchi. Ma essere consapevoli che questo può finire in una transazione non confermando ancora una volta non vi è più richiesta per le transazioni Bitcoin di rete in grado di elaborare. + Non vi è alcuna controindicazione a pagare la commissione minima, a patto che il volume delle transazioni sia inferiore allo spazio disponibile nei blocchi. Occorre comunque essere consapevoli che ciò potrebbe impedire la conferma delle transazioni nel caso in cui la rete risultasse satura. + + + (read the tooltip) + (leggi il suggerimento) Recommended: - Raccomandati: + Raccomandata: Custom: - Personalizza: + Personalizzata: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Commissione intelligente non ancora inizializzata. Normalmente richiede un'attesa di alcuni blocchi...) Confirmation time: @@ -1881,11 +1912,15 @@ Più URL vengono separati da una barra verticale |. Send as zero-fee transaction if possible - Invia una transazione a zero commissioni se possibile + Invia come transazione a zero commissioni se possibile + + + (confirmation may take longer) + (la conferma potrebbe richiedere più tempo) Send to multiple recipients at once - Invia a diversi beneficiari in una volta sola + Invia simultaneamente a più beneficiari Add &Recipient @@ -1897,7 +1932,7 @@ Più URL vengono separati da una barra verticale |. Dust: - Trascurabile + Trascurabile: Clear &All @@ -1929,7 +1964,7 @@ Più URL vengono separati da una barra verticale |. Copy amount - Copia l'importo + Copia importo Copy fee @@ -1951,10 +1986,6 @@ Più URL vengono separati da una barra verticale |. Copy change Copia resto - - Total Amount %1 (= %2) - Importo Totale %1 (= %2) - or o @@ -1965,11 +1996,11 @@ Più URL vengono separati da una barra verticale |. The amount to pay must be larger than 0. - L'importo da pagare dev'essere maggiore di 0. + L'importo da pagare deve essere maggiore di 0. The amount exceeds your balance. - L'importo è superiore al tuo saldo attuale + L'importo è superiore al tuo saldo attuale. The total exceeds your balance when the %1 transaction fee is included. @@ -1977,7 +2008,7 @@ Più URL vengono separati da una barra verticale |. Duplicate address found, can only send to each address once per send operation. - Rilevato un indirizzo duplicato, è possibile inviare bitcoin una sola volta agli indirizzi durante un'operazione di invio. + Rilevato un indirizzo duplicato. È possibile inviare bitcoin una sola volta a ciascun indirizzo durante un'operazione di invio. Transaction creation failed! @@ -1985,7 +2016,19 @@ Più URL vengono separati da una barra verticale |. The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - La transazione è stata rifiutata! Questo può accadere se alcuni bitcoin nel tuo portamonete sono già stati spesi, ad esempio se hai utilizzato una copia del file wallet.dat per spendere bitcoin e questi non sono stati considerati spesi dal portamonete corrente. + La transazione è stata respinta! Questo può accadere se alcuni bitcoin nel tuo portamonete sono già stati spesi, come nel caso in cui tu avessi utilizzato una copia del file wallet.dat per spendere bitcoin e questi non fossero stati considerati come spesi dal portamonete corrente. + + + A fee higher than %1 is considered an insanely high fee. + Una commissione maggiore di %1 è considerata irragionevolmente elevata. + + + Pay only the minimum fee of %1 + Paga solamente la commissione minima di %1 + + + Estimated to begin confirmation within %1 block(s). + Inizio delle conferme stimato entro %1 blocchi. Warning: Invalid Bitcoin address @@ -2001,7 +2044,7 @@ Più URL vengono separati da una barra verticale |. Copy dust - Copia l'importo + Copia trascurabile Are you sure you want to send? @@ -2024,11 +2067,11 @@ Più URL vengono separati da una barra verticale |. Enter a label for this address to add it to your address book - Inserisci un'etichetta per questo indirizzo, per aggiungerlo nella rubrica + Inserisci un'etichetta per questo indirizzo, per aggiungerlo alla rubrica &Label: - &Etichetta + &Etichetta: Choose previously used address @@ -2106,7 +2149,7 @@ Più URL vengono separati da una barra verticale |. &Sign Message - &Firma il messaggio + &Firma Messaggio You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. @@ -2114,7 +2157,7 @@ Più URL vengono separati da una barra verticale |. The Bitcoin address to sign the message with - L'indirizzo Bitcoin con cui vuoi contrassegnare il messaggio + L'indirizzo Bitcoin da utilizzare per firmare il messaggio Choose previously used address @@ -2146,7 +2189,7 @@ Più URL vengono separati da una barra verticale |. Sign the message to prove you own this Bitcoin address - Firma un messaggio per dimostrare di possedere questo indirizzo + Firma un messaggio per dimostrare di possedere questo indirizzo Bitcoin Sign &Message @@ -2158,7 +2201,7 @@ Più URL vengono separati da una barra verticale |. Clear &All - Cancella &tutto + Cancella &Tutto &Verify Message @@ -2166,7 +2209,7 @@ Più URL vengono separati da una barra verticale |. Enter the signing 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. - Inserisci l'indirizzo del firmatario, il messaggio (assicurati di copiare esattamente anche i ritorni a capo, gli spazi, le tabulazioni, etc..) e la firma qui sotto, per verificare il messaggio. Presta attenzione a non vedere nella firma più di quanto non sia riportato nel messaggio stesso, per evitare di cadere vittima di attacchi di tipo man-in-the-middle. + Inserisci l'indirizzo del firmatario, il messaggio (assicurandoti di copiare esattamente anche i ritorni a capo, gli spazi, le tabulazioni, etc..) e la firma qui sotto, per verificare il messaggio. Presta attenzione a non vedere nella sola firma più di quanto non sia riportato nel messaggio stesso, in modo da evitare di cadere vittima di attacchi di tipo man-in-the-middle. The Bitcoin address the message was signed with @@ -2194,7 +2237,7 @@ Più URL vengono separati da una barra verticale |. Please check the address and try again. - Per favore controlla l'indirizzo e prova ancora + Per favore controlla l'indirizzo e prova di nuovo. The entered address does not refer to a key. @@ -2222,7 +2265,7 @@ Più URL vengono separati da una barra verticale |. Please check the signature and try again. - Per favore controlla la firma e prova ancora. + Per favore controlla la firma e prova di nuovo. The signature did not match the message digest. @@ -2245,7 +2288,7 @@ Più URL vengono separati da una barra verticale |. The Bitcoin Core developers - Gli sviluppatori del Bitcoin Core + Gli sviluppatori di Bitcoin Core [testnet] @@ -2275,7 +2318,7 @@ Più URL vengono separati da una barra verticale |. %1/unconfirmed - %1/non confermato + %1/non confermata %1 confirmations @@ -2287,7 +2330,7 @@ Più URL vengono separati da una barra verticale |. , broadcast through %n node(s) - , trasmesso attraverso %n nodo, trasmesso attraverso %n nodi + , trasmesso attraverso %n nodo, trasmessa attraverso %n nodi Date @@ -2315,7 +2358,7 @@ Più URL vengono separati da una barra verticale |. watch-only - Guarda solo + sola lettura label @@ -2339,7 +2382,7 @@ Più URL vengono separati da una barra verticale |. Total debit - Credito Totale + Debito totale Total credit @@ -2367,11 +2410,11 @@ Più URL vengono separati da una barra verticale |. Merchant - Mercante + Commerciante Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - È necessario attendere %1 blocchi prima che i bitcoin generati possano essere spesi. Quando è stato generato questo blocco, è stato trasmesso alla rete in modo da poter essere aggiunto alla block chain. Se l'inserimento avrà esito negativo il suo stato sarà modificato in "non accettato" e risulterà non spendibile. Questo può occasionalmente accadere se un altro nodo genera un blocco entro pochi secondi dal tuo. + È necessario attendere %1 blocchi prima che i bitcoin generati possano essere spesi. Al momento della generazione questo blocco è stato trasmesso alla rete in modo da poter essere aggiunto alla block chain. Se l'inserimento avrà esito negativo lo stato del blocco sarà modificato in "non accettato" ed esso risulterà non spendibile. Ciò può verificarsi occasionalmente nel caso in cui un altro blocco sia stato generato entro pochi secondi dal tuo. Debug information @@ -2399,7 +2442,7 @@ Più URL vengono separati da una barra verticale |. , has not been successfully broadcast yet - , non è stato ancora trasmesso con successo + , non è ancora stata trasmessa con successo Open for %n more block(s) @@ -2449,11 +2492,11 @@ Più URL vengono separati da una barra verticale |. Confirmed (%1 confirmations) - Confermato (%1 conferme) + Confermata (%1 conferme) This block was not received by any other nodes and will probably not be accepted! - Questo blocco non è stato ricevuto dagli altri nodi e probabilmente non sarà accettato! + Questo blocco non è stato ricevuto da alcun altro nodo e probabilmente non sarà accettato! Generated but not accepted @@ -2465,7 +2508,7 @@ Più URL vengono separati da una barra verticale |. Unconfirmed - Non confermato: + Non confermata Confirming (%1 of %2 recommended confirmations) @@ -2497,11 +2540,11 @@ Più URL vengono separati da una barra verticale |. watch-only - Guarda solo + sola lettura (n/a) - (N / a) + (n/d) Transaction status. Hover over this field to show number of confirmations. @@ -2515,6 +2558,10 @@ Più URL vengono separati da una barra verticale |. Type of transaction. Tipo di transazione. + + Whether or not a watch-only address is involved in this transaction. + Indica se un indirizzo di sola lettura sia o meno coinvolto in questa transazione. + Destination address of transaction. Indirizzo di destinazione della transazione. @@ -2671,7 +2718,7 @@ Più URL vengono separati da una barra verticale |. UnitDisplayStatusBarControl Unit to show amounts in. Click to select another unit. - Tipo di unità visualizzata. Clicca per selezionare un altra unità + Unità con cui visualizzare gli importi. Clicca per selezionare un altra unità. @@ -2696,7 +2743,7 @@ Più URL vengono separati da una barra verticale |. Export the data in the current tab to a file - Esporta su file i dati della tabella corrente + Esporta su file i dati contenuti nella tabella corrente Backup Wallet @@ -2735,7 +2782,7 @@ Più URL vengono separati da una barra verticale |. Connect to a node to retrieve peer addresses, and disconnect - Connettiti ad un nodo per recuperare gli indirizzi dei peer e scollegati + Connessione ad un nodo e successiva disconnessione per recuperare gli indirizzi dei peer Specify your own public address @@ -2755,55 +2802,27 @@ Più URL vengono separati da una barra verticale |. Accept connections from outside (default: 1 if no -proxy or -connect) - Accetta connessioni dall'esterno (predefinito: 1 se no -proxy o -connect) - - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, devi impostare una rpcpassword nel file di configurazione: -%s -Si raccomanda l'uso della seguente password generata casualmente: -rpcuser=bitcoinrpc -rpcpassword=%s -(non serve ricordare questa password) -Il nome utente e la password NON DEVONO essere uguali. -Se il file non esiste, crealo concedendo permessi di lettura al solo proprietario del file. -Si raccomanda anche di impostare alertnotify così sarai avvisato di eventuali problemi; -ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com - + Accetta connessioni dall'esterno (predefinito: 1 se -proxy o -connect non sono utilizzati) Bind to given address and always listen on it. Use [host]:port notation for IPv6 - Associa all'indirizzo indicato e resta permanentemente in ascolto su questo. Usa la notazione [host]:porta per l'IPv6 + Associa all'indirizzo indicato e resta permanentemente in ascolto su di esso. Usa la notazione [host]:porta per l'IPv6 Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup - Elimina tutte le transazioni dal wallet e recupera solo le parti della blockchain con il comando -rescan all'avvio. + Elimina tutte le transazioni dal portamonete e recupera solo quelle che fanno parte della blockchain attraverso il comando -rescan all'avvio. - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entra in modalità di test di regressione, la quale usa una speciale catena in cui i blocchi possono essere risolti istantaneamente. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuito secondo la licenza software MIT, vedi il file COPYING incluso oppure <http://www.opensource.org/licenses/mit-license.php>. - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Errore: la transazione è stata rifiutata! Questo può accadere se alcuni bitcoin nel tuo portamonete sono già stati spesi, ad esempio se hai utilizzato una copia del file wallet.dat per spendere bitcoin e questi non sono stati considerati spesi dal portamonete corrente. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Errore: questa transazione necessita di una commissione di almeno %s a causa del suo ammontare, della sua complessità, o dell'uso di fondi recentemente ricevuti! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entra in modalità test di regressione. Questa utilizza una speciale catena in cui i blocchi possono essere risolti istantaneamente. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) - Esegui comando quando una transazione del portamonete cambia (%s in cmd è sostituito da TxID) + Esegue un comando quando lo stato di una transazione del portamonete cambia (%s in cmd è sostituito da TxID) In this mode -genproclimit controls how many blocks are generated immediately. @@ -2823,23 +2842,27 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Attenzione: -paytxfee è molto alta. Questa è la commissione che si paga quando si invia una transazione. + Attenzione: -paytxfee è impostato su un valore molto elevato. Questa è la commissione che si paga quando si invia una transazione. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. - Attenzione: La rete non sembra essere d'accordo pienamente! Alcuni minatori sembrano riscontrare problemi. + Attenzione: La rete non sembra trovarsi in pieno consenso! Alcuni minatori sembrano riscontrare problemi. Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. - Attenzione: Sembra che non ci sia completo accordo con i nostri peer! Un aggiornamento da parte tua o degli altri nodi potrebbe essere necessario. + Attenzione: Sembra che non vi sia pieno consenso con i nostri peer! Un aggiornamento da parte tua o degli altri nodi potrebbe essere necessario. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - Attenzione: errore di lettura di wallet.dat! Tutte le chiavi sono state lette correttamente, ma i dati delle transazioni o le voci in rubrica potrebbero mancare o non essere corretti. + Attenzione: errore di lettura di wallet.dat! Tutte le chiavi sono state lette correttamente, ma i dati delle transazioni o della rubrica potrebbero essere mancanti o non corretti. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - Attenzione: wallet.dat corrotto, dati recuperati! Il wallet.dat originale è stato salvato come wallet.{timestamp}.bak in %s; se il tuo saldo o le transazioni non sono corrette dovresti ripristinare da un backup. + Attenzione: wallet.dat corrotto, dati recuperati! Il wallet.dat originale è stato salvato come wallet.{timestamp}.bak in %s. Se i dati relativi a saldo o transazioni non dovessero risultare corretti si consiglia di procedere al ripristino da un backup. + + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Inserisce in whitelist i peer che si connettono da un dato indirizzo IP o netmask. Può essere specificato più volte. (default: 1) @@ -2847,7 +2870,7 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com <category> can be: - <category> può essere: + Valori possibili per <category>: Attempt to recover private keys from a corrupt wallet.dat @@ -2859,7 +2882,7 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Connect only to the specified node(s) - Connetti solo al nodo specificato + Connessione ai soli nodi specificati Connection options: @@ -2875,11 +2898,11 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Discover own IP address (default: 1 when listening and no -externalip) - Scopre il proprio indirizzo IP (predefinito: 1 se in ascolto e no -externalip) + Scopre il proprio indirizzo IP (predefinito: 1 se in ascolto ed -externalip non è specificato) Do not load the wallet and disable wallet RPC calls - Non caricare il portamonete e disabilita le chiamate RPC al portamonete + Disabilita il portamonete e le relative chiamate RPC Do you want to rebuild the block database now? @@ -2891,28 +2914,20 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Error initializing wallet database environment %s! - Errore durante l'inizializzazione dell'ambiente %s del database del portamonete! + Errore durante l'inizializzazione dell'ambiente del database del portamonete %s! Error loading block database - Errore caricamento database blocchi + Errore durante il caricamento del database blocchi Error opening block database - Errore caricamento database blocchi - - - Error: A fatal internal error occured, see debug.log for details - Errore: si è verificato un errore fatale, consulta il file debug.log for maggiori dettagli. + Errore durante l'apertura del database blocchi Error: Disk space is low! Errore: la spazio libero sul disco è insufficiente! - - Error: Wallet locked, unable to create transaction! - Errore: portamonete bloccato, impossibile creare la transazione! - Failed to listen on any port. Use -listen=0 if you want this. Nessuna porta disponibile per l'ascolto. Usa -listen=0 se vuoi procedere comunque. @@ -2927,7 +2942,7 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Incorrect or no genesis block found. Wrong datadir for network? - Blocco genesis non corretto o non trovato. Cartella dati errata? + Blocco genesi non corretto o non trovato. È possibile che la cartella dati appartenga ad un'altra rete. Invalid -onion address: '%s' @@ -2939,27 +2954,31 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Only connect to nodes in network <net> (ipv4, ipv6 or onion) - Connetti solo ai nodi nella rete <net> (ipv4, ipv6 o Tor) + Connessione ai soli nodi appartenenti alla rete <net> (ipv4, ipv6 o Tor) Rebuild block chain index from current blk000??.dat files - Ricreare l'indice della catena di blocchi dai file blk000??.dat correnti + Ricostruzione dell'indice della block chain dai file blk000??.dat correnti Set database cache size in megabytes (%d to %d, default: %d) - Imposta la dimensione cache del database in megabyte (%d a %d, predefinito: %d) + Imposta la dimensione della cache del database in megabyte (%d a %d, predefinito: %d) Set maximum block size in bytes (default: %d) - Imposta la dimensione massima del blocco in byte (predefinita: %d) + Imposta la dimensione massima del blocco in byte (predefinito: %d) Specify wallet file (within data directory) - Specifica il file portamonete (all'interno della cartella dati) + Specifica il file del portamonete (all'interno della cartella dati) This is intended for regression testing tools and app development. - Questo è previsto per l'uso con test di regressione e per lo sviluppo di applicazioni. + Questa impostazione è destinata all'uso con i test di regressione e per lo sviluppo di applicazioni. + + + Use UPnP to map the listening port (default: %u) + Usa UPnP per mappare la porta di ascolto (predefinito: %u) Verifying blocks... @@ -2986,53 +3005,172 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Importa blocchi da un file blk000??.dat esterno - An error occurred while setting up the RPC address %s port %u for listening: %s - Si è verificato un errore durante l'impostazione della %s porta %u RPC per l'ascolto su: %s + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Permette connessioni JSON-RPC dall'origine specificata. I valori validi per <ip> sono un singolo IP (ad es. 1.2.3.4), una network/netmask (ad es. 1.2.3.4/255.255.255.0) oppure una network/CIDR (ad es. 1.2.3.4/24). Questa opzione può essere specificata più volte. + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Resta in ascolto sull'indirizzo indicato ed inserisce in whitelist i peer che vi si collegano. Usa la notazione [host]:porta per l'IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Resta in attesa di connessioni JSON-RPC sull'indirizzo indicato. Usa la notazione [host]:porta per IPv6. Questa opzione può essere specificata più volte (predefinito: associa a tutte le interfacce) Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Non è possibile ottenere un lock sulla cartella %s. Probabilmente Bitcoin Core è già in esecuzione. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Limita la quantità di transazioni gratuite ad <n>*1000 byte al minuto (predefinito: %u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Crea nuovi file con i permessi di default del sistema, invece che con umask 077 (ha effetto solo con funzionalità di portamonete disabilitate) + Error: Listening for incoming connections failed (listen returned error %s) - Errore: l'ascolto per per connessioni in arrivo fallito (errore riportato %s) + Errore: attesa per connessioni in arrivo fallita (errore riportato %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Errore: individuato argomento -socks non supportato. Non è più possibile impostare la versione SOCKS, solamente i proxy SOCKS5 sono supportati. Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) - Esegue un comando quando viene ricevuto un allarme rilevante o quando vediamo un fork veramente lungo (%s in cmd è sostituito dal messaggio) + Esegue un comando in caso di ricezione di un allarme pertinente o se si rileva un fork molto lungo (%s in cmd è sostituito dal messaggio) Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) - Le commissioni (in BTC/kb) minori di questa saranno considerate nulle per la trasmissione (predefinito: %s) + Le commissioni (in BTC/kB) inferiori a questo valore sono considerate pari a zero relativamente alla trasmissione (predefinito: %s) Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Le commissioni inferiori a questo valore saranno considerate nulle per la creazione della transazione (predefinito: %s) + Le commissioni (in BTC/kB) inferiori a questo valore sono considerate pari a zero relativamente alla creazione della transazione (predefinito: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Nel caso in cui paytxfee non sia impostato, include una commissione tale da ottenere un avvio delle conferme entro una media di n blocchi (predefinito: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Importo non valido per -maxtxfee=<amount>: '%s' (deve essere almeno pari alla commissione 'minrelay fee' di %s per prevenire transazioni bloccate) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Dimensione massima dei dati in transazioni di trasporto dati che saranno trasmesse ed incluse nei blocchi (predefinito: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Commissioni massime totali da includere in una singola transazione dal portamonete. Un'impostazione troppo bassa potrebbe provocare il fallimento di transazioni di grosse dimensioni (predefinito: %s) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Ottiene gli indirizzi dei peer attraverso interrogazioni DNS, in caso di scarsa disponibilità (predefinito: 1 a meno che -connect non sia specificato) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Richiedi alta priorità per la trasmissione di transazioni a zero o basse commissioni (predefinito:%u ) Set maximum size of high-priority/low-fee transactions in bytes (default: %d) - Imposta la dimensione massima in byte delle transazioni ad alta-priorità/basse-commissioni (predefinita: %d) + Imposta la dimensione massima in byte delle transazioni ad alta-priorità/basse-commissioni (predefinito: %d) + + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Specifica il numero di thread per la generazione di bitcoin, se abilitata (-1 = tutti i core, predefinito: %d) + + + 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. + Questo prodotto include software sviluppato dal progetto OpenSSL per l'uso del Toolkit OpenSSL <https://www.openssl.org/>, software crittografico scritto da Eric Young e software UPnP scritto da Thomas Bernard. + + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Per utilizzare bitcoind o l'opzione -server in Bitcoin Core è necessario specificare una rpcpassword nel file di configurazione: +%s +Si raccomanda di utilizzare la seguente password casuale: +rpcuser=bitcoinrpc +rpcpassword=%s +(non è necessario ricordare questa password) +Il nome utente e la password NON DEVONO corrispondere. +Se il file non esiste si raccomanda di crearlo con permessi di lettura per il solo proprietario. +Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche di eventuali problemi, ad es. alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Attenzione: -maxtxfee è impostato su un valore molto elevato. Tali commissioni potrebbero essere pagate anche in una singola transazione. + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Attenzione: Si prega di verificare che data ed ora del computer siano corrette! Una configurazione errata dell'orologio di sistema potrebbe impedire a Bitcoin Core di funzionare regolarmente. + + + 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 + I peer inclusi in whitelist non possono subire ban per DoS e le loro transazioni saranno sempre trasmesse, anche nel caso in cui si trovino già nel mempool. Ciò è utile ad es. per i gateway + + + Accept public REST requests (default: %u) + Accetta richieste REST pubbliche (predefinito: %u) Cannot resolve -whitebind address: '%s' - Impossibile risolvere -whitebind address: '%s' + Impossibile risolvere indirizzo -whitebind: '%s' Connect through SOCKS5 proxy - Connetti attraverso SOCKS5 proxy + Connessione attraverso un proxy SOCKS5 + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Gli sviluppatori di Bitcoin Core + + + Could not parse -rpcbind value %s as network address + Non è stato possibile riconoscere il valore %s di -rpcbind come indirizzo di rete Error loading wallet.dat: Wallet requires newer version of Bitcoin Core - Errore caricamento wallet.dat: il wallet richiede una versione nuova di Bitcoin Core + Errore durante il caricamento del file wallet.dat: il portamonete richiede una versione di Bitcoin Core più recente + + + Error reading from database, shutting down. + Errore durante lalettura del database. Arresto in corso. + + + Error: A fatal internal error occurred, see debug.log for details + Errore: si è presentato un errore interno fatale, consulta il file debug.log per maggiori dettagli + + + Error: Unsupported argument -tor found, use -onion. + Errore: Rilevato argomento -tor non supportato, utilizzare -onion. Fee (in BTC/kB) to add to transactions you send (default: %s) - Commissione (in BTC/kB) da aggiungere alla transazione che invii (default: %s) + Commissione (in BTC/kB) da aggiungere alle transazioni che invii (predefinito: %s) Information Informazioni + + Initialization sanity check failed. Bitcoin Core is shutting down. + Test di integrità iniziale fallito. Bitcoin Core si arresterà. + + + Invalid amount for -maxtxfee=<amount>: '%s' + Importo non valido per -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Importo non valido per -minrelaytxfee=<amount>: '%s' @@ -3042,12 +3180,24 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Importo non valido per -mintxfee=<amount>: '%s' - Node relay options: - Opzioni relay nodo: + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Importo non valido per -paytxfee=<amount>: '%s' (deve essere almeno %s) - Print block on startup, if found in block index - Stampa il blocco all'avvio, se presente nell'indice dei blocchi + Invalid netmask specified in -whitelist: '%s' + Netmask non valida specificata in -whitelist: '%s' + + + Keep at most <n> unconnectable transactions in memory (default: %u) + Mantiene in memoria al massimo <n> transazioni non collegabili (predefinito: %u) + + + Need to specify a port with -whitebind: '%s' + È necessario specificare una porta con -whitebind: '%s' + + + Node relay options: + Opzioni trasmissione nodo: RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -3057,6 +3207,10 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com RPC server options: Opzioni server RPC: + + RPC support for HTTP persistent connections (default: %d) + Supporto RPC per le connessioni HTTP persistenti (predefinito: %d) + Randomly drop 1 of every <n> network messages Scarta casualmente 1 ogni <n> messaggi di rete @@ -3071,7 +3225,7 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Send transactions as zero-fee transactions if possible (default: %u) - Invia transazioni a zero commissioni se possibile (default: %u) + Invia transazioni a zero commissioni se possibile (predefinito: %u) Show all debugging options (usage: --help -help-debug) @@ -3079,11 +3233,11 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Shrink debug.log file on client startup (default: 1 when no -debug) - Riduci il file debug.log all'avvio del client (predefinito: 1 se non impostato -debug) + Riduce il file debug.log all'avvio del client (predefinito: 1 se -debug non è impostato) Signing transaction failed - Transazione di firma fallita + Firma transazione fallita This is experimental software. @@ -3095,24 +3249,31 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Transaction amounts must be positive - L'importo della transazione deve essere positivo + Gli importi della transazione devono essere positivi + + + Transaction too large for fee policy + Transazione troppo grande in base alla policy sulle commissioni Transaction too large Transazione troppo grande + + Unable to bind to %s on this computer (bind returned error %s) + Impossibile associarsi a %s su questo computer (l'associazione ha restituito l'errore %s) + Use UPnP to map the listening port (default: 1 when listening) - Usa UPnP per mappare la porta in ascolto (predefinito: 1 when listening) + Usa UPnP per mappare la porta in ascolto (predefinito: 1 quando in ascolto) Username for JSON-RPC connections - Nome utente per connessioni JSON-RPC - + Nome utente per connessioni JSON-RPC Wallet needed to be rewritten: restart Bitcoin Core to complete - Il wallet ha bisogno di essere reiscritto : riavvia Bitcoin Core per completare l'operazione + Il portamonete necessitava di essere riscritto: riavviare Bitcoin Core per completare l'operazione Warning @@ -3122,9 +3283,17 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Warning: This version is obsolete, upgrade required! Attenzione: questa versione è obsoleta, aggiornamento necessario! + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Attenzione: Argomento -benchmark ignorato in quanto non supportato, usare -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Attenzione: Argomento -debugnet ignorato in quanto non supportato, usare -debug=net. + Zapping all transactions from wallet... - Cancella e ricompila tutte le transazioni dal wallet... + Eliminazione dal portamonete di tutte le transazioni... on startup @@ -3136,12 +3305,11 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Password for JSON-RPC connections - Password per connessioni JSON-RPC - + Password per connessioni JSON-RPC Execute command when the best block changes (%s in cmd is replaced by block hash) - Esegui il comando quando il migliore blocco cambia(%s nel cmd è sostituito dall'hash del blocco) + Esegue un comando quando il miglior blocco cambia (%s nel cmd è sostituito dall'hash del blocco) Upgrade wallet to latest format @@ -3149,22 +3317,19 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Rescan the block chain for missing wallet transactions - Ripeti analisi della catena dei blocchi per cercare le transazioni mancanti dal portamonete - + Ripete la scansione della block chain per individuare le transazioni che mancano dal portamonete Use OpenSSL (https) for JSON-RPC connections - Utilizzare OpenSSL (https) per le connessioni JSON-RPC - + Utilizza OpenSSL (https) per le connessioni JSON-RPC This help message - Questo messaggio di aiuto - + Questo messaggio di aiuto Allow DNS lookups for -addnode, -seednode and -connect - Consenti ricerche DNS per -addnode, -seednode e -connect + Consente interrogazioni DNS per -addnode, -seednode e -connect Loading addresses... @@ -3174,65 +3339,169 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Error loading wallet.dat: Wallet corrupted Errore caricamento wallet.dat: Portamonete corrotto + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = mantiene metadati tx, ad es. proprietario account ed informazioni di richiesta di pagamento, 2 = scarta metadati tx) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Scarica l'attività del database dal pool in memoria al log su disco ogni <n> megabyte (predefinito: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Determina quanto sarà approfondita la verifica da parte di -checkblocks (0-4, predefinito: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Abilita il log della priorità di transazione e della commissione per kB quando si generano blocchi (predefinito: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Mantiene l'indice completo delle transazioni usato dalla chiamata rpc getrawtransaction (predefinito: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Numero di secondi di sospensione prima della riconnessione per i peer che mostrano un comportamento anomalo (predefinito: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Emette informazioni di debug (predefinito: %u, fornire <category> è opzionale) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Usa un proxy SOCKS5 a parte per raggiungere i peer attraverso gli hidden services di Tor (predefinito: %s) + + + (default: %s) + (predefinito: %s) + + + Acceptable ciphers (default: %s) + Cifrari accettabili (predefinito: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Interroga sempre i DNS per ottenere gli indirizzi dei peer (predefinito: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Disabilita la modalità sicura ignorando gli eventi che porterebbero alla sua attivazione (predefinito: %u) + Error loading wallet.dat Errore caricamento wallet.dat Force safe mode (default: %u) - Forza modalità provvisoria (dafault: %u) + Forza modalità sicura (predefinito: %u) Generate coins (default: %u) - Genera coins (default: %u) + Genera bitcoin (predefinito: %u) How many blocks to check at startup (default: %u, 0 = all) - Quanti blocchi da controllare all'avvio (dafault: %u, 0 = tutti) + Numero di blocchi da controllare all'avvio (predefinito: %u, 0 = tutti) + + + Include IP addresses in debug output (default: %u) + Include gli indirizzi IP nell'output del debug (predefinito: %u) Invalid -proxy address: '%s' Indirizzo -proxy non valido: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Limita la dimensione della cache delle firme a <n> voci (predefinito: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Resta in attesa di connessioni JSON-RPC su <port> (predefinito: %u o testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Resta in attesa di connessioni su <port> (predefinito: %u o testnet: %u) + Maintain at most <n> connections to peers (default: %u) - Mantieni al massimo <n> connessioni ai peers (default: %u) + Mantiene al massimo <n> connessioni verso i peer (predefinito: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Buffer di ricezione massimo per connessione, <n>*1000 byte (predefinito: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Buffer di invio massimo per connessione, <n>*1000 byte (predefinito: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + Accetta solo block chain corrispondenti ai checkpoint integrati nel codice (predefinito: %u) Prepend debug output with timestamp (default: %u) - Pretendi output di debug con timestamp (default: %u) + Antepone un timestamp all'output del debug (predefinito: %u) + + + Relay and mine data carrier transactions (default: %u) + Trasmette ed include nei blocchi transazioni di trasporto dati (predefinito: %u) - Print block tree on startup (default: %u) - Stampa l'albero dei blocchi all'avvio (default: %u) + Relay non-P2SH multisig (default: %u) + Trasmette transazioni non-P2SH multisig (predefinito: %u) + + + Run a thread to flush wallet periodically (default: %u) + Mantieni in esecuzione un thread per scaricare periodicamente il portamonete (predefinito: %u) Server certificate file (default: %s) - File certificato del server (default: %s) + File del certificato del server (predefinito: %s) Server private key (default: %s) - Chiave privata del server (default: %s) + Chiave privata del server (predefinito: %s) + + + Set key pool size to <n> (default: %u) + Imposta la dimensione del pool di chiavi a <n> (predefinito: %u) + + + Set minimum block size in bytes (default: %u) + Imposta la dimensione minima del blocco in byte (predefinito: %u) + + + Set the number of threads to service RPC calls (default: %d) + Imposta il numero di thread destinati a rispondere alle chiamate RPC (predefinito %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Imposta il flag DB_PRIVATE nell'ambiente di database del portamonete (predefinito: %u) Specify configuration file (default: %s) - Specifica il file di configurazione (default: %s) + Specifica il file di configurazione (predefinito: %s) Specify connection timeout in milliseconds (minimum: 1, default: %d) - Specifica il timeout di connessione in millisecondi (minimo:1, default: %d) + Specifica il timeout di connessione in millisecondi (minimo:1, predefinito: %d) Specify pid file (default: %s) - Specifica il file pid (default: %s) + Specifica il file pid (predefinito: %s) Spend unconfirmed change when sending transactions (default: %u) - Spendi il resto non confermato quando si inviano transazioni (default: %u) + Abilita la spesa di resto non confermato quando si inviano transazioni (predefinito: %u) Stop running after importing blocks from disk (default: %u) - Interrompi dopo aver importato i blocchi dal disco (default: %u) + Interrompi l'esecuzione dopo aver importato i blocchi dal disco (predefinito: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Soglia di disconnessione per i peer che si comportano in maniera anomala (predefinito: %u) Unknown network specified in -onlynet: '%s' @@ -3240,7 +3509,7 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Cannot resolve -bind address: '%s' - Impossibile risolvere -bind address: '%s' + Impossibile risolvere indirizzo -bind: '%s' Cannot resolve -externalip address: '%s' @@ -3250,21 +3519,17 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Importo non valido per -paytxfee=<amount>: '%s' - - Invalid amount - Importo non valido - Insufficient funds Fondi insufficienti Loading block index... - Caricamento dell'indice del blocco... + Caricamento dell'indice dei blocchi... Add a node to connect to and attempt to keep the connection open - Aggiunge un nodo a cui connettersi e tenta di tenere aperta la connessione + Aggiunge un nodo a cui connettersi e tenta di mantenere aperta la connessione Loading wallet... @@ -3286,10 +3551,6 @@ ad esempio: alertnotify=echo %%s | mail -s "Allarme Bitcoin" admin@foo.com Done loading Caricamento completato - - To use the %s option - Per usare l'opzione %s - Error Errore diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts index 0c9805de8f905..e33bfc457fbda 100644 --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - アドレスまたはラベルを編集するにはダブルクリック + Right-click to edit address or label + 右クリックでアドレスまたはラベルを編集します Create a new address @@ -410,10 +410,18 @@ Show the list of used receiving addresses and labels 支払いを受け取るアドレスとラベルのリストを表示する + + Open a bitcoin: URI or payment request + bitcoin: URIまたは支払いリクエストを開く + &Command-line options コマンドラインオプション (&C) + + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options + 有効な Bitcoin のコマンドライン オプションを見るために Bitcoin Core のヘルプメッセージを表示します。 + %n active connection(s) to Bitcoin network %n の Bitcoin ネットワークへのアクティブな接続 @@ -470,6 +478,10 @@ Up to date バージョンは最新です + + Processed %n blocks of transaction history. + トランザクション履歴の %n ブロックを処理しました。 + Catching up... 追跡中... @@ -535,10 +547,18 @@ Address: %4 Fee: 手数料: + + Dust: + ダスト: + After Fee: 手数料差引後: + + Change: + 釣り銭: + (un)select all すべて選択/選択解除 @@ -555,6 +575,14 @@ Address: %4 Amount 総額 + + Received with label + ラベルに対する入金一覧 + + + Received with address + アドレスに対する入金一覧 + Date 日付 @@ -615,10 +643,62 @@ Address: %4 Copy priority 優先度をコピーする + + Copy dust + ダストをコピーする + + + Copy change + 釣り銭をコピー + + + highest + 最高 + + + higher + 非常に高 + + + high + + + + medium-high + 中〜高 + + + medium + + + + low-medium + 低〜中 + + + low + + + + lower + 非常に低 + + + lowest + 最低 + + + (%1 locked) + (%1 がロック済み) + none なし + + Can vary +/- %1 satoshi(s) per input. + ひとつの入力につき %1 satoshi 前後ずれることがあります。 + yes はい @@ -627,15 +707,43 @@ Address: %4 no いいえ + + This label turns red, if the transaction size is greater than 1000 bytes. + トランザクションサイズが1000バイトを超える場合にはこのラベルは赤くなります。 + + + This means a fee of at least %1 per kB is required. + これは少なくとも1kBあたり %1 の手数料が必要であることを意味します。 + + + Can vary +/- 1 byte per input. + ひとつの入力につき1バイト程度ずれることがあります。 + + + Transactions with higher priority are more likely to get included into a block. + より高い優先度を持つトランザクションの方がブロックに取り込まれやすくなります。 + This label turns red, if the priority is smaller than "medium". 優先度が「中」未満の場合には、このラベルは赤くなります。 + + This label turns red, if any recipient receives an amount smaller than %1. + 少なくともひとつの受取額が %1 を下回る場合にはこのラベルは赤くなります。 + (no label) (ラベル無し) - + + change from %1 (%2) + %1 (%2) からのおつり + + + (change) + (おつり) + + EditAddressDialog @@ -646,6 +754,14 @@ Address: %4 &Label ラベル(&L) + + The label associated with this address list entry + このアドレス帳項目に結びつけられているラベル + + + The address associated with this address list entry. This can only be modified for sending addresses. + このアドレス帳項目に結びつけられているアドレス。この項目は送金用アドレスの場合のみ編集することができます。 + &Address アドレス帳 (&A) @@ -716,6 +832,10 @@ Address: %4 version バージョン + + (%1-bit) + (%1ビット) + About Bitcoin Core Bitcoinコアについて @@ -744,6 +864,10 @@ Address: %4 Start minimized 最小化された状態で起動する + + Set SSL root certificates for payment request (default: -system-) + 支払いリクエスト用にSSLルート証明書を設定する(デフォルト:-system-) + Show splash screen on startup (default: 1) 起動時にスプラッシュ画面を表示する (初期値: 1) @@ -763,6 +887,14 @@ Address: %4 Welcome to Bitcoin Core. ようこそ! + + As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. + これはプログラム最初の起動です。Bitcoin Coreがデータを保存する場所を選択して下さい。 + + + Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + Bitcoin Coreは、ビットコインのブロックチェーンのコピーを、ダウンロードして保存します。少なくとも%1ギガバイトのデータが、このディレクトリに保存されます。そしてそれは時間と共に増加します。またウォレットもこのディレクトリに保存されます。 + Use the default data directory 初期値のデータ ディレクトリを使用 @@ -775,6 +907,10 @@ Address: %4 Bitcoin Core Bitcoin のコア + + Error: Specified data directory "%1" cannot be created. + エラー: 指定のデータディレクトリ "%1" を作成できません。 + Error エラー @@ -845,10 +981,26 @@ Address: %4 Accept connections from outside 外部からの接続を許可する + + Allow incoming connections + 外部からの接続を許可する + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) プロキシのIPアドレス (例えば IPv4: 127.0.0.1 / IPv6: ::1) + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + トランザクションタブのコンテキストメニュー項目に表示する、サードパーティURL (例えばブロックエクスプローラ)。URL中の%sはトランザクションのハッシュ値に置き換えられます。垂直バー | で区切ることで、複数のURLを指定できます。 + + + Third party transaction URLs + サードパーティのトランザクションURL + + + Active command-line options that override above options: + 上のオプションを置き換えることのできる、有効なコマンドラインオプションの一覧: + Reset all client options to default. すべてのオプションを初期値に戻します。 @@ -861,6 +1013,10 @@ Address: %4 &Network ネットワーク (&N) + + (0 = auto, <0 = leave that many cores free) + (0 = 自動、0以上 = 指定した数のコアをフリーにする) + W&allet ウォレット (&A) @@ -873,6 +1029,14 @@ Address: %4 Enable coin &control features コインコントロール機能を有効化する (&C) + + If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. + 未検証のおつりの使用を無効化すると、トランザクションが少なくとも1検証を獲得するまではそのトランザクションのおつりは利用できなくなります。これは残高の計算方法にも影響します。 + + + &Spend unconfirmed change + 未検証のおつりを使用する (&S) + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. 自動的にルーター上の Bitcoin クライアントのポートを開きます。あなたのルーターが UPnP に対応していて、それが有効になっている場合に作動します。 @@ -881,6 +1045,14 @@ Address: %4 Map port using &UPnP UPnP を使ってポートを割り当てる (&U) + + Connect to the Bitcoin network through a SOCKS5 proxy. + SOCKS5 プロキシ経由でBitcoinネットワークに接続する + + + &Connect through SOCKS5 proxy (default proxy): + SOCKS5 プロキシ経由で接続する (デフォルトプロキシ): (&C) + Proxy &IP: プロキシの IP (&I) : @@ -933,6 +1105,10 @@ Address: %4 Choose the default subdivision unit to show in the interface and when sending coins. インターフェース上の表示とコインの送信で使用する単位を選択します。 + + Whether to show coin control features or not. + コインコントロール機能を表示するかどうか。 + &OK &OK @@ -953,6 +1129,18 @@ Address: %4 Confirm options reset オプションのリセットの確認 + + Client restart required to activate changes. + 変更を有効化するにはクライアントを再起動する必要があります。 + + + Client will be shutdown, do you want to proceed? + クライアントは停止されます。続行しますか? + + + This change would require a client restart. + この変更はクライアントの再起動が必要です。 + The supplied proxy address is invalid. プロキシアドレスが無効です。 @@ -968,10 +1156,22 @@ Address: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. 表示された情報は古いかもしれません。接続が確立されると、あなたのウォレットは Bitcoin ネットワークと自動的に同期しますが、このプロセスはまだ完了していません。 + + Watch-only: + 監視限定: + + + Available: + 利用可能: + Your current spendable balance あなたの利用可能残高 + + Pending: + 検証待ち: + Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance 未検証の取引で利用可能残高に反映されていない数 @@ -984,6 +1184,10 @@ Address: %4 Mined balance that has not yet matured 完成していない採掘された残高 + + Balances + 残高 + Total: 合計: @@ -992,14 +1196,30 @@ Address: %4 Your current total balance あなたの現在の残高 + + Your current balance in watch-only addresses + 監視限定アドレス内の現在の残高 + + + Spendable: + 使用可能: + Recent transactions 最近のトランザクション + + Unconfirmed transactions to watch-only addresses + 監視限定アドレスに対する未検証のトランザクション + Mined balance in watch-only addresses that has not yet matured ウォッチオンリーアドレスの採掘された残高のうち、成熟していないもの + + Current total balance in watch-only addresses + 監視限定アドレス内の現在の全残高 + out of sync 同期していない @@ -1019,10 +1239,22 @@ Address: %4 Payment request rejected 支払い要求は拒否されました + + Payment request network doesn't match client network. + 支払いリクエストのネットワークは現在のクライアントのネットワークに一致しません。 + Payment request has expired. 支払いのリクエストは期限切れです + + Payment request is not initialized. + 支払いリクエストは開始されていません。 + + + Requested payment amount of %1 is too small (considered dust). + 要求された支払額 %1 は少なすぎます (ダストとみなされてしまいます)。 + Payment request error 支払いのリクエストのエラーです @@ -1031,10 +1263,46 @@ Address: %4 Cannot start bitcoin: click-to-pay handler Bitcoin を起動できません: click-to-pay handler + + Payment request fetch URL is invalid: %1 + 支払い要求の取得先URLが無効です: %1 + + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI を解析できません! これは無効な Bitcoin アドレスあるいや不正な形式の URI パラメーターによって引き起こされる場合があります。 + + + Payment request file handling + 支払いリクエストファイルを処理しています + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + 支払いリクエストファイルを読み込めませんでした!無効な支払いリクエストファイルにより引き起こされた可能性があります。 + + + Unverified payment requests to custom payment scripts are unsupported. + カスタム支払いスクリプトに対する、検証されていない支払いリクエストはサポートされていません。 + + + Refund from %1 + %1 からの返金 + + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + 支払リクエスト %1 は大きすぎます(%2バイトですが、%3バイトまでが許されています)。 + + + Payment request DoS protection + 支払リクエストDoS保護 + Error communicating with %1: %2 %1: %2とコミュニケーション・エラーです + + Payment request cannot be parsed! + 支払リクエストを読み込めませんでした! + Bad response from server %1 サーバーの返事は無効 %1 @@ -1054,13 +1322,29 @@ Address: %4 User Agent ユーザエージェント - + + Address/Hostname + アドレス/ホスト名 + + + Ping Time + Ping時間 + + QObject Amount 総額 + + Enter a Bitcoin address (e.g. %1) + Bitcoinアドレスを入力してください (例 %1) + + + %1 d + %1日 + %1 h %1 h @@ -1069,11 +1353,31 @@ Address: %4 %1 m %1 m + + %1 s + %1秒 + + + NETWORK + ネットワーク + + + UNKNOWN + 未知 + + + None + なし + N/A N/A - + + %1 ms + %1ミリ秒 + + QRImageWidget @@ -1115,10 +1419,18 @@ Address: %4 Debug window デバッグ ウインドウ + + General + 一般 + Using OpenSSL version 使用中の OpenSSL のバージョン + + Using BerkeleyDB version + 使用中のBerkleyDBバージョン + Startup time 起動した日時 @@ -1143,10 +1455,74 @@ Address: %4 Current number of blocks 現在のブロック数 + + Received + 受取 + + + Sent + 送金 + + + &Peers + ピア (&P) + + + Select a peer to view detailed information. + 詳しい情報を見たいピアを選択してください。 + + + Direction + 方向 + + + Version + バージョン + User Agent ユーザエージェント + + Services + サービス + + + Starting Height + 開始時のブロック高 + + + Sync Height + 同期済みブロック高 + + + Ban Score + Banスコア + + + Connection Time + 接続時間 + + + Last Send + 最終送信 + + + Last Receive + 最終受信 + + + Bytes Sent + 送信済バイト数 + + + Bytes Received + 受信済バイト数 + + + Ping Time + Ping時間 + Last block time 最終ブロックの日時 @@ -1223,7 +1599,31 @@ Address: %4 %1 GB %1 GB - + + via %1 + %1経由 + + + never + 一度もなし + + + Inbound + 内向き + + + Outbound + 外向き + + + Unknown + 未知 + + + Fetching... + 取得中…… + + ReceiveCoinsDialog @@ -1238,6 +1638,30 @@ Address: %4 &Message: メッセージ (&M): + + Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. + 以前利用した受取用アドレスのどれかを再利用します。アドレスの再利用はセキュリティおよびプライバシーにおいて問題があります。以前作成した支払リクエストを再生成するとき以外は利用しないでください。 + + + R&euse an existing receiving address (not recommended) + 既存の受取用アドレスを再利用する (非推奨) (&E) + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. + 支払リクエストが開始された時に表示される、支払リクエストに添える任意のメッセージです。注意:メッセージはBitcoinネットワークを通じて、支払と共に送られるわけではありません。 + + + An optional label to associate with the new receiving address. + 受取用アドレスに紐づく任意のラベル。 + + + Use this form to request payments. All fields are <b>optional</b>. + このフォームを使用して支払のリクエストを行いましょう。すべての項目は<b>任意入力</b>です。 + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + リクエストする任意の金額。特定の金額をリクエストするのでない場合には、この欄は空白のままかゼロにしてください。 + Clear all fields of the form. 全ての入力項目をクリア @@ -1246,6 +1670,18 @@ Address: %4 Clear クリア + + Requested payments history + 支払リクエスト履歴 + + + &Request payment + 支払をリクエストする (&R) + + + Show the selected request (does the same as double clicking an entry) + 選択されたリクエストを表示する(項目をダブルクリックすることでも表示できます) + Show 表示 @@ -1254,6 +1690,10 @@ Address: %4 Remove the selected entries from the list リストから選択項目を削除 + + Remove + 削除 + Copy label ラベルをコピーする @@ -1344,7 +1784,15 @@ Address: %4 (no label) (ラベル無し) - + + (no message) + (メッセージなし) + + + (no amount) + (金額なし) + + SendCoinsDialog @@ -1392,51 +1840,143 @@ Address: %4 手数料差引後: - Send to multiple recipients at once - 一度に複数の人に送る + Change: + 釣り銭: - Add &Recipient - 受取人を追加 (&R) + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + これが有効にもかかわらずおつりアドレスが空欄であったり無効であった場合には、おつりは新しく生成されたアドレスへ送金されます。 - Clear all fields of the form. - 全ての入力項目をクリア + Custom change address + カスタムおつりアドレス - Clear &All - すべてクリア (&A) + Transaction Fee: + トランザクション手数料: - Balance: - 残高: + Choose... + 選択…… - Confirm the send action - 送る操作を確認する + collapse fee-settings + 手数料設定を折りたたむ - S&end - 送る (&e) + Minimize + 最小化 - Confirm send coins - コインを送る確認 + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + カスタム手数料が1000satoshiに設定されている場合、トランザクションサイズが250バイトとすると、「1キロバイトあたり手数料」では250satoshiの手数料のみを支払いますが、「最小手数料」では1000satoshiを支払います。1キロバイトを超えるトランザクションの場合には、どちらの方法を選択したとしても1キロバイトあたりで支払われます。 - Copy quantity - 数量をコピーする + per kilobyte + 1キロバイトあたり手数料 - Copy amount - 総額のコピー + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + カスタム手数料が1000satoshiに設定されている場合、トランザクションサイズが250バイトとすると、「1キロバイトあたり手数料」では250satoshiの手数料のみを支払いますが、「最小手数料」では1000satoshiを支払います。1キロバイトを超えるトランザクションの場合には、どちらの方法を選択したとしても1キロバイトあたりで支払われます。 - Copy fee - 手数料をコピーする + total at least + 最小手数料 - Copy after fee + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + ブロックの容量に比べてトランザクション流量が少ないうちは最小手数料のみの支払で十分です。しかしながらネットワークが処理しきれないほどbitcoinトランザクションの需要がひとたび生まれてしまった場合には、永遠に検証がされないトランザクションになってしまう可能性があることに注意してください。 + + + (read the tooltip) + (ツールチップをお読みください) + + + Recommended: + 推奨: + + + Custom: + カスタム: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (スマート手数料はまだ初期化されていません。これにはおおよそ数ブロックほどかかります……) + + + Confirmation time: + 検証時間: + + + normal + 普通 + + + fast + 高速 + + + Send as zero-fee transaction if possible + 可能な場合には手数料ゼロのトランザクションとして送金する + + + (confirmation may take longer) + (検証に長い時間がかかる可能性があります) + + + Send to multiple recipients at once + 一度に複数の人に送る + + + Add &Recipient + 受取人を追加 (&R) + + + Clear all fields of the form. + 全ての入力項目をクリア + + + Dust: + ダスト: + + + Clear &All + すべてクリア (&A) + + + Balance: + 残高: + + + Confirm the send action + 送る操作を確認する + + + S&end + 送る (&e) + + + Confirm send coins + コインを送る確認 + + + %1 to %2 + %1 から %2 + + + Copy quantity + 数量をコピーする + + + Copy amount + 総額のコピー + + + Copy fee + 手数料をコピーする + + + Copy after fee 手数料差引後の値をコピーする @@ -1447,6 +1987,18 @@ Address: %4 Copy priority 優先度をコピーする + + Copy change + 釣り銭をコピー + + + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + 総額 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + + + or + または + The recipient address is not valid, please recheck. 受取人のアドレスが不正です。再確認してください。 @@ -1467,10 +2019,42 @@ Address: %4 Duplicate address found, can only send to each address once per send operation. 重複しているアドレスが見つかりました。1回の送信で同じアドレスに送ることは出来ません。 + + Transaction creation failed! + トラザクションの作成に失敗しました! + + + The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + トランザクションは拒否されました。wallet.dat のコピーを使い、そしてコピーしたウォレットからコインを使用したことがマークされなかったときなど、ウォレットのいくつかのコインがすでに使用されている場合に、このエラーは起こるかもしれません。 + + + A fee higher than %1 is considered an insanely high fee. + %1 よりも高い手数料は、異常に高い手数料だと考えられます。 + + + Pay only the minimum fee of %1 + 最小手数料 %1 のみを支払う + + + Estimated to begin confirmation within %1 block(s). + %1 ブロック以内に検証が終わると予想されます。 + + + Warning: Invalid Bitcoin address + 警告:無効なBitcoinアドレスです + (no label) (ラベル無し) + + Warning: Unknown change address + 警告:未知のおつりアドレスです + + + Copy dust + ダストをコピーする + Are you sure you want to send? 送ってよろしいですか? @@ -1502,6 +2086,14 @@ Address: %4 Choose previously used address 前に使用したアドレスを選ぶ + + This is a normal payment. + これは通常の支払です。 + + + The Bitcoin address to send the payment to + 支払の送金先Bitcoinアドレス + Alt+A Alt+A @@ -1514,10 +2106,30 @@ Address: %4 Alt+P Alt+P + + Remove this entry + この項目を削除する + Message: メッセージ: + + This is a verified payment request. + これは検証済みの支払リクエストです。 + + + Enter a label for this address to add it to the list of used addresses + このアドレスに対するラベルを入力することで、使用済みアドレスの一覧に追加することができます + + + 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. + bitcoin: URIに添付されていたメッセージです。これは参照用としてトランザクションとともに保存されます。注意:このメッセージはBitcoinネットワークを通して送信されるわけではありません。 + + + This is an unverified payment request. + これは未検証の支払リクエストです。 + Pay To: 支払先: @@ -1552,6 +2164,10 @@ Address: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. あなた自身を立証するためにあなたのアドレスでメッセージに署名することができます。フィッシング攻撃によってあなたを騙して署名を譲渡させようとするかもしれないので、不明確なものは絶対に署名しないように注意してください。あなたが同意する完全に詳細な声明にだけ署名してください。 + + The Bitcoin address to sign the message with + メッセージを署名するBitcoinアドレス + Choose previously used address 前に使用したアドレスを選ぶ @@ -1604,6 +2220,10 @@ Address: %4 Enter the signing 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. メッセージを検証するために、署名するアドレスとメッセージ(改行、スペース、タブなどを正確にコピーしてください)、そして署名を入力します。中間者攻撃によってだまされることを避けるために、署名されたメッセージそのものよりも、署名を読み取られないように注意してください。 + + The Bitcoin address the message was signed with + メッセージの署名に使われたBitcoinアドレス + Verify the message to ensure it was signed with the specified Bitcoin address 指定された Bitcoin アドレスで署名されたことを保証するメッセージを検証 @@ -1697,6 +2317,10 @@ Address: %4 Open until %1 ユニット %1 を開く + + conflicted + 衝突 + %1/offline %1/オフライン @@ -1741,6 +2365,10 @@ Address: %4 own address 自分のアドレス + + watch-only + 監視限定 + label ラベル @@ -1761,6 +2389,14 @@ Address: %4 Debit 引き落とし額 + + Total debit + 総出金額 + + + Total credit + 総入金額 + Transaction fee 取引手数料 @@ -1785,6 +2421,10 @@ Address: %4 Merchant 商人 + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + 生成されたコインは使う前に%1のブロックを完成させる必要があります。あなたが生成した時、このブロックはブロック チェーンに追加されるネットワークにブロードキャストされました。チェーンに追加されるのが失敗した場合、状態が"不承認"に変更されて使えなくなるでしょう。これは、別のノードがあなたの数秒前にブロックを生成する場合に時々起こるかもしれません。 + Debug information デバッグ情報 @@ -1847,6 +2487,10 @@ Address: %4 Address Helbidea + + Immature (%1 confirmations, will be available after %2) + 未成熟(%1検証。%2検証完了後に使用可能となります) + Open for %n more block(s) %n 以上のブロックを開く @@ -1875,6 +2519,14 @@ Address: %4 Unconfirmed 未検証 + + Confirming (%1 of %2 recommended confirmations) + 検証中(%2の推奨検証数のうち、%1検証が完了) + + + Conflicted + 衝突 + Received with 受信元 @@ -1895,6 +2547,10 @@ Address: %4 Mined 発掘した + + watch-only + 監視限定 + (n/a) (n/a) @@ -1911,6 +2567,10 @@ Address: %4 Type of transaction. 取引の種類。 + + Whether or not a watch-only address is involved in this transaction. + 監視限定アドレスがこのトランザクションに含まれているかどうか + Destination address of transaction. 取引の宛先アドレス。 @@ -2006,6 +2666,10 @@ Address: %4 Export Transaction History トランザクション履歴をエクスポートする + + Watch-only + 監視限定 + Exporting Failed エクスポートに失敗しました @@ -2018,6 +2682,10 @@ Address: %4 Exporting Successful エクスポートに成功しました + + The transaction history was successfully saved to %1. + トランザクション履歴は正常に%1に保存されました。 + Comma separated file (*.csv) テキスト CSV (*.csv) @@ -2057,7 +2725,11 @@ Address: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + 金額を表示する際の単位。クリックすることで他の単位を選択します。 + + WalletFrame @@ -2094,6 +2766,14 @@ Address: %4 Backup Failed バックアップに失敗しました + + There was an error trying to save the wallet data to %1. + ウォレットデータを%1へ保存する際にエラーが発生しました。 + + + The wallet data was successfully saved to %1. + ウォレット データは正常に%1に保存されました。 + Backup Successful バックアップ成功 @@ -2133,49 +2813,42 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) 外部からの接続を許可 (初期値: -proxy または -connect を使用していない場合は1) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, rpcpassword を設定ファイルで設定してください: -%s -下記のランダムなパスワードの使用を推奨します: -rpcuser=bitcoinrpc -rpcpassword=%s -(このパスワードを覚える必要はありません) -ユーザー名とパスワードが同じであってはいけません。 -もしもファイルが存在しないなら、所有者だけが読み取れる権限で作成してください。 -また、問題が通知されるように alertnotify を設定することをお勧めします; -例えば: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - Bind to given address and always listen on it. Use [host]:port notation for IPv6 指定のアドレスへバインドし、その上で常にリスンします。IPv6 は [ホスト名]:ポート番号 と表記します - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - エラー: 取引は拒否されました。wallet.dat のコピーを使い、そしてコピーしたウォレットからコインを使用したことがマークされなかったときなど、ウォレットのいくつかのコインがすでに使用されている場合に、このエラーは起こるかもしれません。 + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + ウォレットの全トランザクションを削除し、これらを-rescanオプションを用いることで起動時にブロックチェインのデータのみからリカバリします。 - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - エラー: この取引は、額、複雑さ、あるいは最近受け取った資金の使用のために、少なくとも %s の手数料が必要です! + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + MITソフトウェアライセンスのもとで配布されています。付属のCOPYINGファイルまたは<http://www.opensource.org/licenses/mit-license.php>を参照してください。 + + + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + ブロックを瞬時に解決することができる特別なチェーンを使用して、リグレッションテストモードに入る。 Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) ウォレットの取引を変更する際にコマンドを実行 (cmd の %s は TxID に置換される) + + In this mode -genproclimit controls how many blocks are generated immediately. + このモードでは -genproclimit は何個のブロックをただちに生成するのか制御します。 + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + スクリプト検証スレッドを設定 (%uから%dの間, 0 = 自動, <0 = たくさんのコアを自由にしておく, 初期値: %d) + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications これはリリース前のテストビルドです - 各自の責任で利用すること - 採掘や商取引に使用しないでください + + Unable to bind to %s on this computer. Bitcoin Core is probably already running. + このコンピュータの %s にバインドすることができません。おそらく Bitcoin Core は既に実行されています。 + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. 警告: -paytxfee が非常に高く設定されています! これは取引を送信する場合に支払う取引手数料です。 @@ -2196,10 +2869,18 @@ rpcpassword=%s Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. 警告: wallet.dat が壊れたのでデータを復旧しました! オリジナルの wallet.dat は wallet.{timestamp}.bak として %s に保存されました; もしもあなたの残高や取引が正しくないならバックアップから復元してください。 + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + 与えられたネットマスクやIPアドレスから接続を行う、ホワイトリストのピア。複数回指定できます。 + (default: 1) (デフォルト: 1) + + <category> can be: + <category>は以下の値を指定できます: + Attempt to recover private keys from a corrupt wallet.dat 壊れた wallet.dat から秘密鍵を復旧することを試す @@ -2212,6 +2893,10 @@ rpcpassword=%s Connect only to the specified node(s) 指定したノードだけに接続 + + Connection options: + 接続オプション: + Corrupted block database detected 破損したブロック データベースが見つかりました @@ -2225,6 +2910,10 @@ rpcpassword=%s Discover own IP address (default: 1 when listening and no -externalip) 自分の IP アドレスを発見 (初期値: リスン中と -externalip を使用していない場合は1) + + Do not load the wallet and disable wallet RPC calls + ウォレットは読み込まず、ウォレットRPCコールを無効化する + Do you want to rebuild the block database now? ブロック データベースを今すぐ再構築しますか? @@ -2249,10 +2938,6 @@ rpcpassword=%s Error: Disk space is low! エラー: ディスク容量不足! - - Error: Wallet locked, unable to create transaction! - エラー: ウォレットはロックされ、取引を作成できません! - Failed to listen on any port. Use -listen=0 if you want this. ポートのリスンに失敗しました。必要であれば -listen=0 を使用してください。 @@ -2261,22 +2946,50 @@ rpcpassword=%s If <category> is not supplied, output all debugging information. <category> が与えられなかった場合には、すべてのデバッグ情報が出力されます。 + + Importing... + インポートしています…… + Incorrect or no genesis block found. Wrong datadir for network? 不正なブロックあるいは、生成されていないブロックが見つかりました。ネットワークの datadir が間違っていませんか? + + Invalid -onion address: '%s' + 無効な -onion アドレス:'%s' + Not enough file descriptors available. 使用可能なファイルディスクリプタが不足しています。 + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + <net> (ipv4, ipv6 または onion) ネットワーク内のノードだけに接続する + Rebuild block chain index from current blk000??.dat files 現在の blk000??.dat ファイルからブロック チェーンのインデックスを再構築 + + Set database cache size in megabytes (%d to %d, default: %d) + データベースのキャッシュサイズをメガバイトで設定 (%dから%d。初期値: %d) + + + Set maximum block size in bytes (default: %d) + 最大ブロックサイズをバイトで設定 (初期値: %d) + Specify wallet file (within data directory) ウォレットのファイルを指定 (データ・ディレクトリの中に) + + This is intended for regression testing tools and app development. + これはリグレッションテストツールやアプリ開発のためのものです。 + + + Use UPnP to map the listening port (default: %u) + リッスンポートの割当に UPnP を使用 (初期値: %u) + Verifying blocks... ブロックの検証中... @@ -2289,6 +3002,10 @@ rpcpassword=%s Wallet %s resides outside data directory %s 財布 %s はデータ・ディレクトリ%sの外にあります + + Wallet options: + ウォレットオプション: + You need to rebuild the database using -reindex to change -txindex -txindex を変更するには -reindex を使用してデータベースを再構築する必要があります @@ -2297,14 +3014,178 @@ rpcpassword=%s Imports blocks from external blk000??.dat file 外部の blk000??.dat ファイルからブロックをインポート + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + 指定したアクセス元からのJSON-RPC接続を許可する。有効な<ip>は、単一のIP (例 1.2.3.4)、ネットワーク/ネットマスク (1.2.3.4/255.255.255.0)、またはネットワーク/CIDR (1.2.3.4/24)です。このオプションは複数回指定できます。 + + + An error occurred while setting up the RPC address %s port %u for listening: %s + リッスンする RPC アドレス %s、ポート %u の設定中にエラーが発生しました: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + 指定されたアドレスおよび、そこに接続を行ってきたホワイトリストのピアに対してバインドを行います。IPv6の場合には [host]:port 表記を使用してください + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + 指定されたアドレスに対して JSON-RPC 接続をリッスンしするようバインドします。IPv6の場合には [host]:port 表記を使用してください。このオプションは複数回指定することが可能です (初期値: すべてのインターフェースに対してバインドする) + + + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. + データ ディレクトリ %s のロックを取得することができません。おそらく Bitcoin Core は実行中です。 + + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + 手数料ゼロのトランザクションのリレー速度を一分間あたり <n>*1000 バイトに常に制限する (初期値: %u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + umask 077 ではなく、システムのデフォルトパーミッションで新規ファイルを作成する (ウォレット機能が無効化されていた場合にのみ有効) + + + Error: Listening for incoming connections failed (listen returned error %s) + エラー: 内向きの接続をリッスンするのに失敗しました (エラー %s が返却されました) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + エラー: サポートされていない引数 -socks が見つかりました。SOCKSバージョンの設定はできないようになりました。SOCKS5プロキシのみがサポートされています。 + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) 関連のアラートをもらってもすごく長いのフォークを見てもコマンドを実行 (コマンドの中にあるの%sはメッセージから置き換えさせる) + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + 中継の際、この値未満の手数料 (BTC/Kb単位) はゼロであるとみなす (デフォルト: %s) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + トランザクション作成の際、この値未満の手数料 (BTC/Kb単位) はゼロであるとみなす (デフォルト: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + paytxfee が設定されていなかった場合、平均して n ブロック以内にトランザクションが検証され始めるのに十分な手数料を含める (初期値: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + -maxtxfee=<amount> の数量の指定が不正です: '%s' (トランザクションが詰まってしまうのを防ぐため、少なくとも %s の最小中継手数料を指定しなければいけません) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + 中継および採掘を行う際の、データ運送トランザクションの中のデータの最大サイズ (初期値: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + ひとつのウォレットトランザクションで使用する合計手数料の最大値。低く設定し過ぎると大きなトランザクションの生成に失敗することがあります (初期値: %s) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + 保有するピアアドレスが少ない場合、DNS ルックアップによりピアアドレスを問い合わせる (-connect を使っていない場合の初期値: 1) + + + Require high priority for relaying free or low-fee transactions (default:%u) + 手数料なし、または低手数料のトランザクションのリレー時に高い優先度を要求する (初期値: %u) + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + 最優先/最低手数料の最大サイズをバイトで指定 (初期値: %d) + + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + コイン生成が有効になっていた場合の利用スレッド数を設定する (-1 = すべてのコア, 初期値: %d) + + + 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プロジェクトにより開発されたソフトウェアをOpenSSLツールキットとして利用しています <https://www.openssl.org/>。また、Eric Young氏により開発された暗号ソフトウェア、Thomas Bernard氏により書かれたUPnPソフトウェアを用いています。 + + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + bitcoindを用いる場合や、-server オプションをbitcoin-qtに指定する場合には、設定ファイルにrpcpasswordを設定しなければなりません: +%s +以下のランダムなパスワードを用いることが推奨されます: +rpcuser=bitcoinrpc +rpcpassword=%s +(このパスワードを暗記する必要はありません) +ユーザ名とパスワードは一致してはいけません。 +ファイルが存在しない場合には、所有者のみ読み込み可能なファイルパーミッションでファイルを作成してください。 +またalertnotifyを設定し、問題発生時に通知が行くようにすることをおすすめします; +例: alertnotify=echo %%s | mail -s "Bitcoinアラート" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + 警告: -maxtxfee が非常に高く設定されています!ひとつのトランザクションでこの量の手数料が支払われてしまうことがあります。 + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + 警告: あなたのPCの日付と時刻が正しいことを確認して下さい! もしあなたの時計が正しくなければBitcoin Coreが正確に動作しません。 + + + 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 + ホワイトリストのピアはDoSによるアクセス禁止処理が無効化され、トランザクションは例えmempool内に既に存在していたとしても常にリレーされます。これは例えばゲートウェイに対して有用です + + + Accept public REST requests (default: %u) + 公開 REST リクエストを許可する (初期値: %u) + + + Cannot resolve -whitebind address: '%s' + -whitebind アドレス '%s' を解決できません + + + Connect through SOCKS5 proxy + SOCKS5 プロキシ経由で接続する + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Bitcoin Core 開発者 + + + Could not parse -rpcbind value %s as network address + -rpcbind の値 %s をネットワークアドレスとして解釈できませんでした + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core + wallet.dat の読み込みに失敗しました: ウォレットの読み込みにはより新しいバージョンの Bitcoin Core が必要です + + + Error reading from database, shutting down. + データベースの読み込みエラー。シャットダウンします。 + + + Error: A fatal internal error occurred, see debug.log for details + エラー:致命的な内部エラーが発生しました。詳細はdebug.logを参照してください + + + Error: Unsupported argument -tor found, use -onion. + エラー: サポートされていない引数 -tor が見つかりました。-onion を使用してください。 + + + Fee (in BTC/kB) to add to transactions you send (default: %s) + 送信するトランザクションに付加する手数料 (BTC/kB単位) (初期値: %s) + Information 情報 + + Initialization sanity check failed. Bitcoin Core is shutting down. + 初期化時の健全性チェックに失敗しました。Bitcoin Coreを終了します。 + + + Invalid amount for -maxtxfee=<amount>: '%s' + -maxtxfee=<amount> に対する無効な数量です: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' 不正な額 -minrelaytxfee=<amount>: '%s' @@ -2313,6 +3194,26 @@ rpcpassword=%s Invalid amount for -mintxfee=<amount>: '%s' 不正な額 -minrelaytxfee=<amount>: '%s' + + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + -paytxfee=<amount> に対する無効な数量です: '%s' (少なくとも %s でなければいけません) + + + Invalid netmask specified in -whitelist: '%s' + -whitelist に対する無効なネットマスクです: '%s' + + + Keep at most <n> unconnectable transactions in memory (default: %u) + 最大で <n> 個の孤立したトランザクションをメモリの中に保持する (初期値: %u) + + + Need to specify a port with -whitebind: '%s' + -whitebind を用いてポートを指定する必要があります: '%s' + + + Node relay options: + ノード中継オプション: + RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL オプション: (SSLのセットアップ手順はビットコインWikiを参照してください) @@ -2321,10 +3222,34 @@ rpcpassword=%s RPC server options: RPCサーバのオプション: + + RPC support for HTTP persistent connections (default: %d) + RPCにおけるHTTPの持続的接続のサポート (初期値: %d) + + + Randomly drop 1 of every <n> network messages + <n> 個のネットワークメッセージごとにひとつをランダムに捨てる + + + Randomly fuzz 1 of every <n> network messages + <n>個のネットワークメッセージごとにひとつをランダムに改変する + + + Receive and display P2P network alerts (default: %u) + P2Pネットワークのアラートの受け取りと表示を行う (デフォルト: %u) + Send trace/debug info to console instead of debug.log file トレース/デバッグ情報を debug.log ファイルの代わりにコンソールへ送る + + Send transactions as zero-fee transactions if possible (default: %u) + 可能な場合には手数料ゼロのトランザクションとしてトランザクションを送信する (初期値: %u) + + + Show all debugging options (usage: --help -help-debug) + すべてのデバッグオプションを表示する (使い方: --help -help-debug) + Shrink debug.log file on client startup (default: 1 when no -debug) クライアント起動時に debug.log ファイルを縮小 (初期値: -debug オプションを指定しない場合は1) @@ -2333,6 +3258,10 @@ rpcpassword=%s Signing transaction failed 取引の署名に失敗しました + + This is experimental software. + これは実験的なソフトウェアです。 + Transaction amount too small 取引の額が小さ過ぎます @@ -2341,10 +3270,18 @@ rpcpassword=%s Transaction amounts must be positive 取引の額は0より大きくしてください + + Transaction too large for fee policy + 手数料ポリシーに対してトランザクションが大きすぎます + Transaction too large 取引が大き過ぎます + + Unable to bind to %s on this computer (bind returned error %s) + このコンピュータの %s にバインドすることができません (バインドが返したエラーは %s) + Use UPnP to map the listening port (default: 1 when listening) リスン ポートの割当に UPnP を使用 (初期値: リスン中は1) @@ -2353,6 +3290,10 @@ rpcpassword=%s Username for JSON-RPC connections JSON-RPC 接続のユーザー名 + + Wallet needed to be rewritten: restart Bitcoin Core to complete + ウォレットが書き直される必要がありました: 完了するために Bitcoin Core を再起動します + Warning 警告 @@ -2361,6 +3302,22 @@ rpcpassword=%s Warning: This version is obsolete, upgrade required! 警告: このバージョンは古いのでアップグレードが必要です! + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + 警告: サポートされていない引数 -benchmark は無視されました。-debug=bench を使用してください。 + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + 警告: サポートされていない引数 -debugnet は無視されました。-debug=net を使用してください。 + + + Zapping all transactions from wallet... + ウォレットからすべてのトランザクションを消去しています... + + + on startup + 起動時 + wallet.dat corrupt, salvage failed wallet.dat が壊れ、復旧に失敗しました @@ -2401,14 +3358,170 @@ rpcpassword=%s Error loading wallet.dat: Wallet corrupted wallet.dat 読み込みエラー: ウォレットが壊れました + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = トランザクションのメタデータ、例えばアカウントの所有者や支払リクエストの内容を保持する, 2 = トランザクションのメタデータを破棄する) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + <n> メガバイトごとにメモリプールからデータベースのアクティビティをディスクログに書き出す (初期値: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + -checkblocks のブロックの検証レベル (0-4, 初期値: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + ブロックの採掘時にトランザクションの優先度と1kBあたりの手数料をログに残す (デフォルト: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + getrawtransaction rpc 呼び出し時に用いる、完全なトランザクションインデックスを保持する (初期値: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + 不正なピアを再接続するまでの秒数 (初期値: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + デバッグ情報を出力する (初期値: %u, <category> の指定は任意です) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Tor 秘匿サービスを通し、別々の SOCKS5 プロキシを用いることでピアに到達する (初期値: %s) + + + (default: %s) + (デフォルト: %s) + + + Acceptable ciphers (default: %s) + 受付可能な暗号化方式 (初期値: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + DNS ルックアップを通してピアアドレスを常に問い合わせる (初期値: %u) + + + Disable safemode, override a real safe mode event (default: %u) + セーフモードを無効化し、実際のセーフモードイベントも無効化する (初期値: %u) + Error loading wallet.dat wallet.dat 読み込みエラー + + Force safe mode (default: %u) + セーフモードを強制する (初期値: %u) + + + Generate coins (default: %u) + コインを生成 (初期値: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + 起動時に点検するブロック数 (初期値: %u, 0=すべて) + + + Include IP addresses in debug output (default: %u) + デバッグ出力にIPアドレスを含める (初期値: %u) + Invalid -proxy address: '%s' 無効な -proxy アドレス: '%s' + + Limit size of signature cache to <n> entries (default: %u) + 署名キャッシュのサイズを <n> エントリーに制限する (デフォルト: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + <port> で JSON-RPC 接続をリスン (初期値: %u、testnet は %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + 接続のリッスンを <port> で行う (初期値: %u、testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + ピアの接続数を最大でも <n> 個に維持する (初期値: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + 接続毎の最大受信バッファ <n>*1000 バイト (初期値: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + 接続毎の最大送信バッファ <n>*1000 バイト (初期値: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + 内蔵のチェックポイントと一致するブロック チェーンのみを許可 (初期値: %u) + + + Prepend debug output with timestamp (default: %u) + デバッグ出力にタイムスタンプを付ける (初期値: %u) + + + Relay and mine data carrier transactions (default: %u) + データ運送トランザクションのリレーおよび採掘を行う (初期値: %u) + + + Relay non-P2SH multisig (default: %u) + P2SHでないマルチシグトランザクションをリレーする (初期値: %u) + + + Run a thread to flush wallet periodically (default: %u) + ウォレットを定期的に書き出すためのスレッドを走らせる (初期値: %u) + + + Server certificate file (default: %s) + サーバ証明書ファイル (初期値: %s) + + + Server private key (default: %s) + サーバの秘密鍵 (初期値: %s) + + + Set key pool size to <n> (default: %u) + key pool のサイズを <n> (初期値: %u) にセット + + + Set minimum block size in bytes (default: %u) + 最小ブロックサイズをバイトで設定 (初期値: %u) + + + Set the number of threads to service RPC calls (default: %d) + RPC サービスのスレッド数を設定 (初期値: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + ウォレットDB環境内にDB_PRIVATEフラグを設定する (デフォルト: %u) + + + Specify configuration file (default: %s) + 設定ファイルの指定 (初期値: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + 接続のタイムアウトをミリセコンドで指定 (最小値: 1, 初期値: %d) + + + Specify pid file (default: %s) + pid ファイルの指定 (初期値: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + トランザクション送信時に未検証のおつりを使用する (デフォルト: %u) + + + Stop running after importing blocks from disk (default: %u) + ディスクからブロックを読み込んだ後に終了する (デフォルト: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + 不正なピアを切断するためのしきい値 (初期値: %u) + Unknown network specified in -onlynet: '%s' -onlynet で指定された '%s' は未知のネットワークです @@ -2425,10 +3538,6 @@ rpcpassword=%s Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<amount> の額 '%s' が無効です - - Invalid amount - 無効な総額 - Insufficient funds 残高不足 @@ -2461,10 +3570,6 @@ rpcpassword=%s Done loading 読み込み完了 - - To use the %s option - %s オプションを使うには - Error エラー diff --git a/src/qt/locale/bitcoin_ka.ts b/src/qt/locale/bitcoin_ka.ts index 3faad159adcc0..6fd18907b1625 100644 --- a/src/qt/locale/bitcoin_ka.ts +++ b/src/qt/locale/bitcoin_ka.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - დააკლიკეთ ორჯერ მისამართის ან ნიშნულის შესაცვლელად - Create a new address ახალი მისამართის შექმნა @@ -1584,10 +1580,6 @@ Address: %4 Copy change ხურდის კოპირება - - Total Amount %1 (= %2) - ჯამური თანხა %1 (= %2) - or ან @@ -2330,30 +2322,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) გარედან შეერთებების დაშვება (ნაგულისხმევი: 1 თუ არ გამოიყენება -proxy ან -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, მიუთითეთ rpcpassword საკონფიგურაციო ფაილში: -%s -რეკომენდებულია შემდეგი შემთხვევითი პაროლი: -rpcuser=bitcoinrpc -rpcpassword=%s -(ამის დამახსოვრება არ გჭირდებათ) -სახელი და პაროლი ერთმანეთს არ უნდა ემთხვეოდეს. -თუ ფაილი არ არსებობს, შექმენით იგი უფლებებით owner-readable-only. -ასევე რეკომენდებულია დააყენოთ alertnotify რათა მიიღოთ შეტყობინებები პრობლემების შესახებ; -მაგალითად: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 მოცემულ მისამართზე მიჯაჭვა მუდმივად მასზე მიყურადებით. გამოიყენეთ [host]:port ფორმა IPv6-სათვის @@ -2362,14 +2330,6 @@ rpcpassword=%s Enter regression test mode, which uses a special chain in which blocks can be solved instantly. გადასვლა რეგრესული ტესტირების რეჟიმში, რომელიც იყენებს სპეციალურ ჯაჭვს ბლოკების დაუყოვნებლივი პოვნის შესაძლებლობით. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - შეცდომა: ტრანსაქცია უარყოფილია! შესაძლოა მონეტების ნაწილი თქვენი საფულიდან უკვე გამოყენებულია, რაც შეიძლება მოხდეს wallet.dat-ის ასლის გამოყენებისას, როცა მონეტები გაიგზავნა სხვა ასლიდან, აქ კი არ არის გაგზავნილად მონიშნული. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - შეცდომა: ტრანსაქცია მოითხოვს საკომისიოს მინიმუმ %s რაოდენობის, სირთულის ან ბოლოს მიღებული თანხების შესაბამისად! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) კომანდის შესრულება საფულის ტრანსაქციის ცვლილებისას (%s კომანდაში ჩანაცვლდება TxID-ით) @@ -2450,10 +2410,6 @@ rpcpassword=%s Error: Disk space is low! შეცდომა: დისზე არ არის ადგილი! - - Error: Wallet locked, unable to create transaction! - შეცდომა: საფულე დაბლოკილია, ტრანსაქცია ვერ შეიქმნება! - Failed to listen on any port. Use -listen=0 if you want this. ვერ ხერხდება პორტების მიყურადება. თუ გსურთ, გამოიყენეთ -listen=0. @@ -2642,10 +2598,6 @@ rpcpassword=%s Invalid amount for -paytxfee=<amount>: '%s' დაუშვებელი მნიშვნელობა -paytxfee=<amount>: '%s' - - Invalid amount - დაუშვებელი თანხა - Insufficient funds არ არის საკმარისი თანხა @@ -2678,10 +2630,6 @@ rpcpassword=%s Done loading ჩატვირთვა დასრულებულია - - To use the %s option - %s ოპციის გამოსაყენებლად - Error შეცდომა diff --git a/src/qt/locale/bitcoin_kk_KZ.ts b/src/qt/locale/bitcoin_kk_KZ.ts index 5a39417a7ae61..5e827caa44614 100644 --- a/src/qt/locale/bitcoin_kk_KZ.ts +++ b/src/qt/locale/bitcoin_kk_KZ.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Адресті немесе белгіні өзгерту үшін екі рет шертіңіз - Create a new address Жаңа адрес енгізу diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts index efc41ec6b708a..a3f6ec9ad7607 100644 --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - 지갑 주소나 이름을 수정하려면 더블클릭하세요. + Right-click to edit address or label + 지갑 주소나 이름을 수정하려면 우클릭하세요. Create a new address @@ -93,7 +93,11 @@ Exporting Failed 내보내기 실패 - + + There was an error trying to save the address list to %1. Please try again. + %1으로 주소 리스트를 저장하는 동안 오류가 발생했습니다. 다시 시도해주세요. + + AddressTableModel @@ -414,6 +418,10 @@ Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options 사용할 수 있는 비트코인 명령어 옵션 목록을 가져오기 위해 Bitcoin-Qt 도움말 메시지를 표시합니다. + + %n active connection(s) to Bitcoin network + 비트코인 네트워크와 %n 개의 활성연결 + No block source available... 사용 가능한 블록이 없습니다... @@ -434,6 +442,10 @@ %1 and %2 %1 그리고 %2 + + %n year(s) + %n 년 + %1 behind %1 뒤에 @@ -462,6 +474,10 @@ Up to date 현재까지 + + Processed %n blocks of transaction history. + %n 블록의 거래 기록들이 처리됨. + Catching up... 블록 따라잡기... @@ -504,6 +520,10 @@ Address: %4 CoinControlDialog + + Coin Selection + 코인 선택 + Quantity: 수량: @@ -852,7 +872,15 @@ Address: %4 Error 오류 - + + %n GB of free space available + %n GB가 사용가능 + + + (of %n GB needed) + (%n GB가 필요) + + OpenURIDialog @@ -962,6 +990,14 @@ Address: %4 Map port using &UPnP 사용중인 UPnP 포트 매핑(&U) + + Connect to the Bitcoin network through a SOCKS5 proxy. + SOCKS5 프록시를 통해 비트코인 네트워크 연결 + + + &Connect through SOCKS5 proxy (default proxy): + SOCKS5 프록시를 거쳐 연결합니다 (기본값 프록시): + Proxy &IP: 프록시 IP(&I): @@ -1174,6 +1210,10 @@ Address: %4 Amount 거래량 + + Enter a Bitcoin address (e.g. %1) + 비트코인 주소를 입력하기 (예. %1) + N/A 없음 @@ -1592,10 +1632,6 @@ Address: %4 Copy priority 우선도 복사 - - Total Amount %1 (= %2) - 총 액수 %1(=%2) - or 또는 @@ -2346,16 +2382,6 @@ Address: %4 Bind to given address and always listen on it. Use [host]:port notation for IPv6 선택된 주소로 고정하며 항상 리슨(Listen)합니다. IPv6 프로토콜인 경우 [host]:port 방식의 명령어 표기법을 사용합니다. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - 에러: 거래가 거부되었습니다! 이런 일이 생길 수 있습니다 만약 몇개의 코인들을 지갑에서 이미 사용했다면요, 예를 들어 만약 당신이 wallet.dat를 복사해서 사용했거나 코인들을 사용 후에 복사했다면 여기선 표시가 안되서 사용할 수 없습니다 - --번역은 했으나 약간 이상한점이 있어서 수정해야함- - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - 오류 : 해당 거래는 송금액, 다중 거래, 최근 수령한 금액의 사용 등의 이유로 최소 %s 이상의 송금 수수료가 필요합니다. - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) 지갑 거래가 바뀌면 명령을 실행합니다.(%s 안의 명령어가 TxID로 바뀝니다) @@ -2440,10 +2466,6 @@ Address: %4 Error: Disk space is low! 오류: 디스크 공간이 부족합니다! - - Error: Wallet locked, unable to create transaction! - 오류: 지갑이 잠금상태여서 거래를 생성할 수 없습니다! - Failed to listen on any port. Use -listen=0 if you want this. 어떤 포트도 반응하지 않습니다. 사용자 반응=0 만약 원한다면 @@ -2532,10 +2554,6 @@ Address: %4 Invalid amount for -mintxfee=<amount>: '%s' 최저 거래 수수료가 부족합니다. -mintxfee=<amount>: '%s' - - Print block on startup, if found in block index - 블럭 색인을 발견하면 구동 시 블럭을 출력합니다. - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL 옵션: (비트코인 위키의 SSL 설정 설명서 참고) @@ -2664,10 +2682,6 @@ Address: %4 Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<amount>에 대한 양이 잘못되었습니다: '%s' - - Invalid amount - 효력없는 금액 - Insufficient funds 자금 부족 @@ -2700,10 +2714,6 @@ Address: %4 Done loading 로딩 완료 - - To use the %s option - %s 옵션을 사용하려면 - Error 오류 diff --git a/src/qt/locale/bitcoin_ky.ts b/src/qt/locale/bitcoin_ky.ts index ed7542261cb2e..58ef2e89e2353 100644 --- a/src/qt/locale/bitcoin_ky.ts +++ b/src/qt/locale/bitcoin_ky.ts @@ -1,4 +1,4 @@ - + AddressBookPage diff --git a/src/qt/locale/bitcoin_la.ts b/src/qt/locale/bitcoin_la.ts index c399f36159359..b0011f87afcf2 100644 --- a/src/qt/locale/bitcoin_la.ts +++ b/src/qt/locale/bitcoin_la.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Dupliciter-clicca ut inscriptionem vel titulum mutes - Create a new address Crea novam inscriptionem @@ -1514,42 +1510,10 @@ Inscriptio: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accipe conexiones externas (praedefinitum: 1 nisi -proxy neque -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, necesse est te rpcpassword constituere in plica configurationis: -%s -Hortatur te hanc fortuitam tesseram uti: -rpcuser=bitcoinrpc -rpcpassword=%s -(non est necesse te hanc tesseram meminisse) -Nomen usoris et tessera eadem esse NON POSSUNT. -Si plica non existit, eam crea cum permissionibus ut eius dominus tantum sinitur id legere. -Quoque hortatur alertnotify constituere ut tu notificetur de problematibus; -exempli gratia: alertnotify=echo %%s | mail -s "Bitcoin Notificatio" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Conglutina ad inscriptionem datam et semper in eam ausculta. Utere [moderatrum]:porta notationem pro IPv6 - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Error: Transactio eiecta est! Hoc possit accidere si alii nummorum in cassidili tuo iam soluti sint, ut si usus es exemplar de wallet.dat et nummi soluti sunt in exemplari sed non hic notati ut soluti. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Error: Huic transactioni necesse est merces saltem %s propter eius magnitudinem, complexitatem, vel usum recentum acceptorum nummorum! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Facere mandatum quotiescumque cassidilis transactio mutet (%s in mandato sbstituitur ab TxID) @@ -1614,10 +1578,6 @@ exempli gratia: alertnotify=echo %%s | mail -s "Bitcoin Notificatio" admin@foo.c Error: Disk space is low! Error: Inopia spatii disci! - - Error: Wallet locked, unable to create transaction! - Error: Cassidile seratum, non posse transactionem creare! - Failed to listen on any port. Use -listen=0 if you want this. Non potuisse auscultare in ulla porta. Utere -listen=0 si hoc vis. @@ -1758,10 +1718,6 @@ exempli gratia: alertnotify=echo %%s | mail -s "Bitcoin Notificatio" admin@foo.c Invalid amount for -paytxfee=<amount>: '%s' Quantitas non valida pro -paytxfee=<quantitas>: '%s' - - Invalid amount - Quantitas non valida - Insufficient funds Inopia nummorum @@ -1794,10 +1750,6 @@ exempli gratia: alertnotify=echo %%s | mail -s "Bitcoin Notificatio" admin@foo.c Done loading Completo lengendi - - To use the %s option - Ut utaris optione %s - Error Error diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts index 1f70400df61af..4eaac1e85f896 100644 --- a/src/qt/locale/bitcoin_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Spragtelėkite, kad pakeistumėte adresą arba žymę + Right-click to edit address or label + Spustelėkite dešinįjį klaviša norint keisti adresą arba etiketę Create a new address @@ -29,6 +29,10 @@ &Copy Address &Kopijuoti adresą + + Delete the currently selected address from the list + Ištrinti pasirinktą adresą iš sąrašo + &Export &Eksportuoti @@ -37,6 +41,10 @@ &Delete &Trinti + + Choose the address to send coins to + Pasirinkite adresą kuriam siūsite monetas + C&hoose P&asirinkti @@ -258,6 +266,10 @@ &Receiving addresses... &Gaunami adresai... + + Open &URI... + Atidaryti &URI... + Bitcoin Core client Bitcoin Core klientas @@ -431,6 +443,10 @@ Adresas: %4 CoinControlDialog + + Coin Selection + Monetų pasirinkimas + Quantity: Kiekis: @@ -789,6 +805,10 @@ Adresas: %4 none niekas + + Confirm options reset + Patvirtinti nustatymų atstatymą + The supplied proxy address is invalid. Nurodytas tarpinio serverio adresas negalioja. @@ -800,6 +820,14 @@ Adresas: %4 Form Forma + + Available: + Galimi: + + + Pending: + Laukiantys: + Immature: Nepribrendę: @@ -823,6 +851,10 @@ Adresas: %4 URI handling URI apdorojimas + + Payment request rejected + Mokėjimo siuntimas atmestas + Network request error Tinklo užklausos klaida @@ -899,6 +931,26 @@ Adresas: %4 Current number of blocks Dabartinis blokų skaičius + + Received + Gauta + + + Direction + Kryptis + + + Version + Versija + + + Bytes Sent + Nusiųsti baitai + + + Bytes Received + Gauti baitai + Last block time Paskutinio bloko laikas @@ -947,6 +999,10 @@ Adresas: %4 %1 GB %1 GB + + never + Niekada + ReceiveCoinsDialog @@ -954,6 +1010,10 @@ Adresas: %4 &Label: Ž&ymė: + + Clear + Išvalyti + Copy label Kopijuoti žymę @@ -1733,10 +1793,6 @@ Adresas: %4 Invalid amount for -paytxfee=<amount>: '%s' Neteisinga suma -paytxfee=<amount>: '%s' - - Invalid amount - Neteisinga suma - Insufficient funds Nepakanka lėšų diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts index ac5a1a1396cd3..b2a6a0a6ea8e2 100644 --- a/src/qt/locale/bitcoin_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Adresi vai nosaukumu rediģē ar dubultklikšķi - Create a new address Izveidot jaunu adresi @@ -65,6 +61,14 @@ Receiving addresses Saņemšanas adreses + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Šīs ir jūsu Bitcoin adreses maksājumu sūtīšanai. Vienmēr pārbaudiet summu un saņēmēja adresi pirms monētu sūtīšanas. + + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Šīs ir jūsu Bitcoin adreses maksājumu saņemšanai. Ir ieteicams katram darījumam izmantot jaunu saņemšanas adresi. + Copy &Label Kopēt &Nosaukumu @@ -85,7 +89,11 @@ Exporting Failed Eksportēšana Neizdevās - + + There was an error trying to save the address list to %1. Please try again. + Radās kļūda, saglabājot adrešu sarakstu %1. Lūdzu, mēģiniet vēlreiz! + + AddressTableModel @@ -159,6 +167,10 @@ Are you sure you wish to encrypt your wallet? Vai tu tiešām vēlies šifrēt savu maciņu? + + 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. + SVARĪGI: Iepriekšējie maka faila dublējumi ir jāaizvieto ar jauno, šifrēto maka failu. Drošības apsvērumu dēļ iepriekšējie nešifrētā maka dublējumi vairs nebūs derīgi, tiklīdz sāksiet izmantot jauno, šifrēto maku. + Warning: The Caps Lock key is on! Brīdinājums: Caps Lock ir ieslēgts! @@ -1488,10 +1500,6 @@ Adrese: %4 Copy change Kopēt atlikumu - - Total Amount %1 (= %2) - Kopējā Summa %1 (= %2) - or vai @@ -2234,10 +2242,6 @@ Adrese: %4 Error: Disk space is low! Kļūda: Zema diska vieta! - - Error: Wallet locked, unable to create transaction! - Kļūda: Maciņš ir aizslēgts, nevar izveidot transakciju! - If <category> is not supplied, output all debugging information. Ja <category> nav norādīta, izvadīt visu atkļūdošanas informāciju. @@ -2370,10 +2374,6 @@ Adrese: %4 Invalid amount for -paytxfee=<amount>: '%s' Nederīgs daudzums priekš -paytxfree=<amount>: '%s' - - Invalid amount - Nederīgs daudzums - Insufficient funds Nepietiek bitkoinu @@ -2406,10 +2406,6 @@ Adrese: %4 Done loading Ielāde pabeigta - - To use the %s option - Izmantot opciju %s - Error Kļūda diff --git a/src/qt/locale/bitcoin_mn.ts b/src/qt/locale/bitcoin_mn.ts index f1b0174111d75..b590aad6f1b35 100644 --- a/src/qt/locale/bitcoin_mn.ts +++ b/src/qt/locale/bitcoin_mn.ts @@ -1,26 +1,74 @@ - + AddressBookPage - - Double-click to edit address or label - Хаяг эсвэл шошгыг ѳѳрчлѳхийн тулд хоёр удаа дар - Create a new address Шинэ хаяг нээх + + &New + &Шинэ + Copy the currently selected address to the system clipboard Одоогоор сонгогдсон байгаа хаягуудыг сануулах + + &Copy + &Хуулах + + + C&lose + &Хаах + &Copy Address Хаягийг &Хуулбарлах + + Delete the currently selected address from the list + Одоо сонгогдсон байгаа хаягуудыг жагсаалтаас устгах + + + Export the data in the current tab to a file + Сонгогдсон таб дээрхи дата-г экспортлох + + + &Export + &Экспортдлох + &Delete &Устгах + + Choose the address to send coins to + Зооснуудыг илгээх хаягийг сонгоно уу + + + Choose the address to receive coins with + Зооснуудыг хүлээн авах хаягийг сонгоно уу + + + C&hoose + С&онго + + + Sending addresses + Илгээх хаягууд + + + Receiving addresses + Хүлээн авах хаяг + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Эдгээр Биткойн хаягууд нь илгээх хаягууд. Хүлээн авах хаяг болон тоо хэмжээг илгээхээсээ өмнө сайн нягталж үзэж байна уу + + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Эдгээр Биткойн хаягууд нь хүлээн авах хаягууд. Гүйлгээ болгонд шинээр хаяг үүсгэхийг бид санал болгож байна. + Copy &Label &Шошгыг хуулбарлах @@ -29,6 +77,10 @@ &Edit &Ѳѳрчлѳх + + Export Address List + Экспорт хийх хаягуудын жагсаалт + Comma separated file (*.csv) Таслалаар тусгаарлагдсан хүснэгтэн файл (.csv) @@ -639,10 +691,6 @@ Address: %4 Copy change Ѳѳрчлѳлтийг санах - - Total Amount %1 (= %2) - Нийт дүн %1 (= %2) - or эсвэл @@ -1006,6 +1054,14 @@ Address: %4 WalletView + + &Export + &Экспортдлох + + + Export the data in the current tab to a file + Сонгогдсон таб дээрхи дата-г экспортлох + bitcoin-core @@ -1037,10 +1093,6 @@ Address: %4 Invalid -proxy address: '%s' Эдгээр прокси хаягнууд буруу байна: '%s' - - Invalid amount - Буруу хэмжээ - Insufficient funds Таны дансны үлдэгдэл хүрэлцэхгүй байна @@ -1065,10 +1117,6 @@ Address: %4 Done loading Ачааллаж дууслаа - - To use the %s option - %s сонголтыг ашиглахын тулд - Error Алдаа diff --git a/src/qt/locale/bitcoin_ms_MY.ts b/src/qt/locale/bitcoin_ms_MY.ts index d2e8efbb49931..e7a5a64f4630d 100644 --- a/src/qt/locale/bitcoin_ms_MY.ts +++ b/src/qt/locale/bitcoin_ms_MY.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Klik dua kali untuk mengubah alamat atau label - Create a new address Cipta alamat baru diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts index bdde3da534760..098bbe07f2af1 100644 --- a/src/qt/locale/bitcoin_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -1,13 +1,13 @@ - + AddressBookPage - Double-click to edit address or label - Dobbelklikk for å redigere adresse eller merkelapp + Right-click to edit address or label + Høyreklikk for å redigere adressen eller merkelappen Create a new address - Lag en ny adresse + Opprett en ny addresse &New @@ -91,7 +91,7 @@ Exporting Failed - Ekport Feilet + Eksportering feilet There was an error trying to save the address list to %1. Please try again. @@ -476,7 +476,7 @@ Up to date - Ajour + Oppdatert Processed %n blocks of transaction history. @@ -484,7 +484,7 @@ Catching up... - Kommer ajour... + Laster ned... Sent transaction @@ -508,7 +508,7 @@ Adresse: %4 Wallet is <b>encrypted</b> and currently <b>unlocked</b> - Lommeboken er <b>kryptert</b> og for tiden <b>ulåst</b> + Lommeboken er <b>kryptert</b> og for tiden <b>låst opp</b> Wallet is <b>encrypted</b> and currently <b>locked</b> @@ -554,7 +554,7 @@ Adresse: %4 After Fee: - Etter Gebyr: + Totalt: Change: @@ -562,15 +562,15 @@ Adresse: %4 (un)select all - velg (fjern) alt + velg (fjern) alle Tree mode - Tremodus + Trevisning List mode - Listemodus + Listevisning Amount @@ -634,7 +634,7 @@ Adresse: %4 Copy after fee - Kopier fra gebyr + Kopier totalt Copy bytes @@ -1288,6 +1288,14 @@ Adresse: %4 Refund from %1 Refundering fra %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Betalingsforespørsel %1 er for stor (%2 bytes, tillatt %3 bytes). + + + Payment request DoS protection + Betalingsforespørsel DoS-beskyttelse + Error communicating with %1: %2 Feil i kommunikasjonen med %1: %2 @@ -1985,8 +1993,8 @@ Adresse: %4 Kopier veksel - Total Amount %1 (= %2) - Totalt Beløp %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Totalt Beløp %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -2806,29 +2814,6 @@ Adresse: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Ta imot tilkoblinger fra utsiden (standardverdi: 1 hvis uten -proxy eller -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, du må angi rpcpassord i konfigurasjonsfilen. -%s -Det anbefales at du bruker det følgende tilfeldige passordet: -rpcbruker=bitcoinrpc -rpcpassord=%s -(du behøver ikke å huske passordet) -Brukernavnet og passordet MÅ IKKE være like. -Om filen ikke eksisterer, opprett den nå med eier-kun-les filrettigheter. -Det er også anbefalt at å sette varselsmelding slik du får melding om problemer. -For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.com - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Bind til angitt adresse. Bruk [vertsmaskin]:port notasjon for IPv6 @@ -2845,14 +2830,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comEnter regression test mode, which uses a special chain in which blocks can be solved instantly. Gå til modus for regresjonstesting, som bruker en spesiell blokkjede der blokker kan bli løst momentant. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Feil: Transaksjonen ble avvist! Dette kan skje hvis noen av myntene i lommeboken allerede er blitt brukt, som om du brukte en kopi av wallet.dat og myntene ble brukt i kopien, men ikke markert som brukt her. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Feil: Denne transaksjonen trenger et gebyr på minst %s på grunn av beløpet, kompleksiteten eller bruk av allerede mottatte penger! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Kjør kommando når en lommeboktransaksjon endres (%s i kommando er erstattet med TxID) @@ -2957,18 +2934,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comError opening block database Feil under åpning av blokkdatabase - - Error: A fatal internal error occured, see debug.log for details - Feil: En fatal intern feil oppstod, se debug.log for detaljer - Error: Disk space is low! Feil: Lite ledig lagringsplass! - - Error: Wallet locked, unable to create transaction! - Feil: Lommebok låst, kan ikke opprette transaksjon! - Failed to listen on any port. Use -listen=0 if you want this. Kunne ikke lytte på noen port. Bruk -listen=0 hvis det er dette du vil. @@ -3093,14 +3062,30 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comFees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Gebyrer (i BTC/Kb) mindre enn dette anses som null gebyr for laging av transaksjoner (standardverdi: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Hvis paytxfee ikke er angitt, inkluderer da nok i gebyr til at transaksjoner gjennomsnittligt bekreftes innen n blokker (standardverdi: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Ugyldig beløp for -maxtxfee=<amount>: '%s' (må være minst minimum relé gebyr på %s for å hindre fastlåste transaksjoner) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Maksimal størrelse på data i databærende transaksjoner vi videresender og ufører graving på (standardverdi: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maksimal sum av gebyrer som kan brukes i en enkelt lommebokstransaksjon, settes den for lavt kan store transaksjoner bli avbrutt (standardverdi: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Søk etter nodeadresser via DNS-oppslag, hvis vi har få adresser å koble til (standard: 1 med mindre -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Krev høy prioritet for å videreformidle transaksjoner som er gratis eller har lavt gebyr (standardverdi: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Sett maksimum størrelse for transaksjoner med høy prioritet / lavt gebyr, i bytes (standardverdi: %d) @@ -3113,6 +3098,34 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comThis 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. Dette produktet inneholder programvare utviklet av OpenSSL Project for bruk i OpenSSL Toolkit <https://www.openssl.org/> og kryptografisk programvare skrevet av Eric Young og UPnP-programvare skrevet av Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + For å bruke bitcoind, eller -server valget til bitcoin-qt, må du angi et rpcpassord i konfigurasjonsfilen: +%s +Det anbefales at du bruker det følgende tilfeldige passordet: +rpcuser=bitcoinrpc +rpcpassword=%s +(du behøver ikke å huske passordet) +Brukernavnet og passordet MÅ IKKE være like. +Om filen ikke eksisterer, opprett den med eier-kun-les filrettigheter. +Det er også anbefalt at å sette varselsmelding slik du får melding om problemer; +for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Advarsel: -paytxfee er satt veldig høyt! Så stort gebyr kan bli betalt ved en enkelt transaksjon. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Advarsel: Vennligst undersøk at din datamaskin har riktig dato og klokkeslett! Hvis klokken er stilt feil vil ikke Bitcoin Core fungere riktig. @@ -3121,6 +3134,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comWhitelisted 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 Hvitlistede noder kan ikke DoS-blokkeres, og deres transaksjoner videresendes alltid, selv om de allerede er i minnelageret. Nyttig f.eks. for en gateway. + + Accept public REST requests (default: %u) + Godta offentlige REST forespørsler (standardverdi: %u) + Cannot resolve -whitebind address: '%s' Kan ikke løse -whitebind-adresse: '%s' @@ -3141,6 +3158,14 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comError loading wallet.dat: Wallet requires newer version of Bitcoin Core Feil ved lasting av wallet.dat: Lommeboken krever en nyere versjon av Bitcoin Core + + Error reading from database, shutting down. + Feil ved lesing fra database, stenger ned. + + + Error: A fatal internal error occurred, see debug.log for details + Feil: En fatal intern feil oppstod, se debug.log for detaljer + Error: Unsupported argument -tor found, use -onion. Feil: Argumentet -tor er ikke støttet, bruk -onion. @@ -3157,6 +3182,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comInitialization sanity check failed. Bitcoin Core is shutting down. Sunnhetssjekk ved oppstart feilet. Bitcoin Core stenges ned. + + Invalid amount for -maxtxfee=<amount>: '%s' + Ugyldig beløp for -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Ugyldig mengde for -minrelaytxfee=<beløp>: '%s' @@ -3173,10 +3202,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comInvalid netmask specified in -whitelist: '%s' Ugyldig nettmaske spesifisert i -whitelist: '%s' - - Keep at most <n> unconnectable blocks in memory (default: %u) - Behold på det meste <n> blokker i minnet som ikke er mulig å koble (standardverdi: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Hold på det meste <n> transaksjoner som ikke kobles i minnet (standardverdi: %u) @@ -3189,10 +3214,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comNode relay options: Node alternativer for videresending: - - Print block on startup, if found in block index - Skriv ut blokken ved oppstart, hvis funnet i blokkindeksen - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL-valg: (se Bitcoin Wiki for oppsettsinstruksjoner for SSL) @@ -3201,6 +3222,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comRPC server options: Innstillinger for RPC-server: + + RPC support for HTTP persistent connections (default: %d) + RPC-støtte for persistente HTTP-forbindelser (standardverdi: %d) + Randomly drop 1 of every <n> network messages Slumpvis dropp 1 av hver <n> nettverksmeldinger @@ -3209,6 +3234,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comRandomly fuzz 1 of every <n> network messages Slumpvis bland 1 av hver <n> nettverksmeldinger + + Receive and display P2P network alerts (default: %u) + Motta og vis P2P-nettverksvarsler (standardvalg: %u) + Send trace/debug info to console instead of debug.log file Send spor-/feilsøkingsinformasjon til konsollen istedenfor filen debug.log @@ -3241,6 +3270,10 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comTransaction amounts must be positive Transaksjonsbeløpet må være positivt + + Transaction too large for fee policy + Transaksjon for stor for gebyrpolitikken + Transaction too large Transaksjonen er for stor @@ -3337,10 +3370,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comHow thorough the block verification of -checkblocks is (0-4, default: %u) Hvor grundig blokkverifiseringen til -checkblocks er (0-4, standardverdi: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Hvis paytxfee ikke er angitt, inkluderer da nok gebyr til at transaksjoner gjennomsnittligt bekreftes innen n blokker (standardverdi: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Logg transaksjonsprioritet og gebyr per kB under blokkutvinning (standardverdi: %u) @@ -3433,10 +3462,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comPrepend debug output with timestamp (default: %u) Sett inn tidsstempel i front av feilsøkingsdata (standardverdi: %u) - - Print block tree on startup (default: %u) - Skriv ut blokktreet ved oppstart (standardverdi: %u) - Relay and mine data carrier transactions (default: %u) Videresend og ufør graving av databærende transaksjoner (standardverdi: %u) @@ -3513,10 +3538,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comInvalid amount for -paytxfee=<amount>: '%s' Ugyldig beløp for -paytxfee=<beløp>: '%s' - - Invalid amount - Ugyldig beløp - Insufficient funds Utilstrekkelige midler @@ -3549,10 +3570,6 @@ For eksempel: varselmelding=echo %%s | mail -s "Bitcoin Varsel" admin@foo.comDone loading Ferdig med lasting - - To use the %s option - For å bruke %s opsjonen - Error Feil diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts index 258c7f109fd96..9aaf73e5967ae 100644 --- a/src/qt/locale/bitcoin_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -1,13 +1,13 @@ - + AddressBookPage - Double-click to edit address or label - Dubbelklik om het adres of label te wijzigen + Right-click to edit address or label + Klik met de rechtermuisknop om het adres of label te wijzigen Create a new address - Maak een nieuw adres aan + Maak een nieuw adres &New @@ -15,7 +15,7 @@ Copy the currently selected address to the system clipboard - Kopieer het huidig geselecteerde adres naar het klembord + Kopieer het geselecteerde adres naar het klembord &Copy @@ -51,7 +51,7 @@ Choose the address to receive coins with - Kies het adres om munten voor te ontvangen + Kies het adres om munten op te ontvangen C&hoose @@ -59,15 +59,15 @@ Sending addresses - Bezig met het versturen van de adressen + Verstuur adressen Receiving addresses - Adressen ontvangen + Ontvang adressen These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Dit zijn uw Bitcoinadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvangende adres voordat u uw bitcoins verzendt. + Dit zijn uw Bitcoinadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvang adres voordat u uw bitcoins verzendt. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. @@ -117,7 +117,7 @@ AskPassphraseDialog Passphrase Dialog - Wachtwoorddialoogscherm + Wachtwoorddialoog Enter passphrase @@ -185,11 +185,11 @@ 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>. - Vul een nieuw + Voer een nieuw wachtwoord in voor uw portomonee.<br/>Gebruik een wachtwoord van <b>tien of meer willekeurige karakters</b>, of <b>acht of meer woorden</b>. Bitcoin 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. - Bitcoin zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw bitcoins stelen. + Bitcoin zal nu afsluiten om het versleutelingsproces te voltooien. Onthoudt dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw bitcoins stelen. Wallet encryption failed @@ -240,7 +240,7 @@ Show general overview of wallet - Toon algemeen overzicht van de portemonnee + Toon algemeen overzicht van uw portemonnee &Transactions @@ -284,11 +284,11 @@ &Sending addresses... - &Adressen aan het versturen. + V&erstuur adressen... &Receiving addresses... - &Adressen aan het ontvangen... + O&ntvang adressen... Open &URI... @@ -296,7 +296,7 @@ Bitcoin Core client - Bitcoin kern applicatie + Bitcoin Kern applicatie Importing blocks from disk... @@ -424,11 +424,11 @@ %n active connection(s) to Bitcoin network - %n actieve connectie naar Bitcoinnetwerk%n actieve connecties naar Bitcoinnetwerk + %n actieve connectie naar Bitcoin netwerk%n actieve connecties naar Bitcoin netwerk No block source available... - Geen bron van blokken beschikbaar... + Geen bron voor blokken beschikbaar... %n hour(s) @@ -480,7 +480,7 @@ Processed %n blocks of transaction history. - %n Blok verwerkt van transactie geschiedenis.%n Blokken verwerkt van transactie geschiedenis. + %n Blok transactie geschiedenis verwerkt.%n Blokken transactie geschiedenis verwerkt. Catching up... @@ -618,7 +618,7 @@ Adres: %4 Lock unspent - Blokeer niet gebruikte + Blokeer ongebruikte Unlock unspent @@ -1288,6 +1288,14 @@ Adres: %4 Refund from %1 Restitutie van %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Betalingsverzoek %1 is te groot (%2 bytes, toegestaan ​​%3 bytes). + + + Payment request DoS protection + Betalingsaanvraag DoS bescherming + Error communicating with %1: %2 Fout bij communiceren met %1: %2 @@ -1852,18 +1860,38 @@ Adres: %4 Choose... Kies... + + collapse fee-settings + Transactiekosteninstellingen verbergen + Minimize Minimaliseer + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Als de aangepaste toeslag is ingesteld op 1000 satoshis en de transactie is maar 250 bytes, dan wordt bij "per kilobyte" 250 satoshis aan toeslag berekend, terwijl er bij "tenminste" 1000 satoshis worden berekend. Voor transacties die groter zijn dan een kilobyte, wordt in beide gevallen per kilobyte de toeslag berekend. + per kilobyte per kilobyte + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Als de aangepaste toeslag is ingesteld op 1000 satoshis en de transactie is maar 250 bytes, dan wordt bij "per kilobyte" 250 satoshis aan toeslag berekend, terwijl er bij "totaal tenminste" 1000 satoshis worden berekend. Voor transacties die groter zijn dan een kilobyte, wordt in beide gevallen per kilobyte de toeslag berekend. + total at least totaal ten minste + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + De minimale toeslag betalen is prima mits het transactievolume kleiner is dan de ruimte in de blokken. Let wel op dat dit tot gevolg kan hebben dat een transactie nooit wordt bevestigd als er meer vraag is naar bitcointransacties dan het netwerk kan verwerken. + + + (read the tooltip) + (lees de tooltip) + Recommended: Aanbevolen: @@ -1872,6 +1900,10 @@ Adres: %4 Custom: Handmatig: + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Slimme vergoeding is nog niet geïnitialiseerd. Dit duurt meestal een paar blokken...) + Confirmation time: Bevestigings tijd: @@ -1884,6 +1916,10 @@ Adres: %4 fast snel + + Send as zero-fee transaction if possible + Verstuur als transactie zonder verzendkosten indien mogelijk + (confirmation may take longer) (bevestiging kan langer duren) @@ -1956,10 +1992,6 @@ Adres: %4 Copy change Kopieer wijziging - - Total Amount %1 (= %2) - Totaal bedrag %1 (= %2) - or of @@ -2532,6 +2564,10 @@ Adres: %4 Type of transaction. Type transactie. + + Whether or not a watch-only address is involved in this transaction. + Of er een alleen-bekijken adres is betrokken bij deze transactie. + Destination address of transaction. Ontvangend adres van transactie. @@ -2774,43 +2810,21 @@ Adres: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Accepteer verbindingen van buitenaf (standaard: 1 als geen -proxy of -connect is opgegeven) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, u moet een RPC-wachtwoord instellen in het configuratiebestand: %s -U wordt aangeraden het volgende willekeurige wachtwoord te gebruiken: -rpcuser=bitcoinrpc -rpcpassword=%s -(u hoeft dit wachtwoord niet te onthouden) -De gebruikersnaam en wachtwoord mogen niet hetzelfde zijn. -Als het bestand niet bestaat, make hem dan aan met leesrechten voor enkel de eigenaar. -Het is ook aan te bevelen "alertnotify" in te stellen zodat u op de hoogte gesteld wordt van problemen; -bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Bind aan opgegeven adres en luister er altijd op. Gebruik [host]:port notatie voor IPv6 - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Schakel regressietest-modus in, die een speciale blokketen gebruikt waarin blokken onmiddellijk opgelost kunnen worden. + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Verwijder alle transacties van de portemonnee en herstel alleen de delen van de blockchain door -rescan tijdens het opstarten - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Fout: De transactie was afgewezen! Dit kan gebeuren als sommige munten in uw portemonnee al eerder uitgegeven zijn, zoals wanneer u een kopie van uw wallet.dat heeft gebruikt en in de kopie deze munten zijn uitgegeven, maar in deze portemonnee die munten nog niet als zodanig zijn gemarkeerd. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Uitgegeven onder de MIT software licentie, zie het bijgevoegde bestand COPYING of <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Fout: Deze transactie vereist transactiekosten van tenminste %s, vanwege zijn grootte, complexiteit, of het gebruik van onlangs ontvangen munten! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Schakel regressietest-modus in, die een speciale blokketen gebruikt waarin blokken onmiddellijk opgelost kunnen worden. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2852,6 +2866,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comWarning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Waarschuwing: wallet.dat is corrupt, data is veiliggesteld! Originele wallet.dat is opgeslagen als wallet.{tijdstip}.bak in %s; als uw balans of transacties incorrect zijn dient u een backup terug te zetten. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Goedgekeurde peers die verbinden van het ingegeven netmask of IP adres. Kan meerdere keren gespecificeerd worden. + (default: 1) (standaard: 1) @@ -2916,10 +2934,6 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comError: Disk space is low! Fout: Weinig vrije diskruimte! - - Error: Wallet locked, unable to create transaction! - Fout: Portemonnee vergrendeld, aanmaak transactie niet mogelijk! - Failed to listen on any port. Use -listen=0 if you want this. Mislukt om op welke poort dan ook te luisteren. Gebruik -listen=0 as u dit wilt. @@ -2944,6 +2958,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comNot enough file descriptors available. Niet genoeg file descriptors beschikbaar. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Verbind alleen met nodes in netwerk <net> (ipv4, ipv6 of onion) + Rebuild block chain index from current blk000??.dat files Blokketen opnieuw opbouwen met behulp van huidige blk000??.dat-bestanden @@ -2992,26 +3010,175 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comImports blocks from external blk000??.dat file Importeert blokken van extern blk000??.dat bestand + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Sta JSON-RPC verbindingen toe vanuit een gespecificeerde bron. Geldig voor <ip> zijn een enkel IP (bijv. 1.2.3.4), een netwerk/netmask (bijv. 1.2.3.4/255.255.255.0) of een netwerk/CIDR (bijv. 1.2.3.4/24). Deze optie kan meerdere keren gespecificeerd worden. + + + An error occurred while setting up the RPC address %s port %u for listening: %s + Er is een fout opgetreden tijdens het opzetten van het RPC adres %s poort %u voor luisteren: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Bind aan opgegeven adres en keur peers die ermee verbinden goed. Gebruik [host]:poort notatie voor IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Bind aan gegeven adres om te luisteren voor JSON-RPC verbindingen. Gebruik [host]:poort notatie voor IPv6. Deze optie kan meerdere keren gespecificeerd worden (standaard: bind aan alle interfaces. + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Kan geen lock verkrijgen op gegevensmap %s. Bitcoin Core draait waarschijnlijk al. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Doorlopend tarief-limiet op gratis transacties toepassen tot <n>*1000 bytes per minuut (standaard: %u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Creër nieuwe bestanden met standaard systeem bestandsrechten in plaats van umask 077 (alleen effectief met uitgeschakelde portemonnee functionaliteit) + + + Error: Listening for incoming connections failed (listen returned error %s) + Fout: luisteren naar binnenkomende verbindingen mislukt (luisteren gaf foutmelding %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Fout: er is een niet-ondersteund argument -socks aangetroffen. Het instellen van de SOCKS-versie is niet langer mogelijk. Alleen SOCKS5-proxy's worden ondersteund. + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) Voer commando uit zodra een waarschuwing is ontvangen of wanneer we een erg lange fork detecteren (%s in commando wordt vervangen door bericht) + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + Toeslagen (in BTC/Kb) kleiner dan dit worden beschouwd als geen vergoeding (voor doorgeven) (standaard: %s) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Toeslagen (in BTC/Kb) kleiner dan dit worden beschouwd als geen vergoeding transactieaanmaak (standaard: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Als paytxfee niet is ingesteld, het pakket voldoende vergoeding zodat transacties beginnen bevestiging gemiddeld binnen in blokken (default: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + ongeldig bedrag voor -maxtxfee=<amount>: '%s' (moet ten minste de minrelay vergoeding van %s het voorkomen geplakt transacties voorkomen) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maximale grootte va n de gegevens in gegevensdrager transacties we relais en de mijnen +(default: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maximale totale kosten om te gebruiken in een enkele portemonnee transactie , vaststellen van een te laag kan grote transacties af te breken (default: %s) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Query voor peer- adressen via DNS- lookup , als laag op adressen (default: 1 unless -connect) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Vereisen een hoge prioriteit voor het doorgeven van gratis of tegen lage vergoeding transacties (default:%u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Stel maximumgrootte in bytes in voor hoge-prioriteits-/lage-transactiekosten-transacties (standaard: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Stel het aantal threads in voor het genereren van coins indien ingesteld (-1 = alle kernen, standaard: %d) + + + 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. + Dit product bevat software dat ontwikkeld is door het OpenSSL Project voor gebruik in de OpenSSL Toolkit <https://www.openssl.org/> en cryptografische software geschreven door Eric Young en UPnP software geschreven door Thomas Bernard. + + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Om bitcoind of de -server optie naar bitcoin-gt te gebruiken, dient u een rpcwachtwoord in te stellen in het configuratiebestand: + %s +Wij raden u aan om het volgende wachtwoord willekeurig te gebruiken: +rpcuser=bitcoinrpc +rpcpassword=%s +(u hoeft dit wachtwoord niet te onthouden) +De gebruikersnaam en het wachtwoorden moeten NIET hetzelfde zijn. +Indien het bestand niet bestaat, maak het bestand aan met bestandsrechten: alleen lezen voor eigenaar. +Het is ook aan te raden om een alarmnotificatie in te stellen, zodat u op de hoogte bent van de problemen; +Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Let op: -maxtxfee is erg hoog ingesteld! Transactiekosten van dergelijke groottes kunnen in een enkele transactie worden betaald. + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Waarschuwing: Controleer dat de datum en tijd van uw computer correct zijn ingesteld! Bij een onjuist ingestelde klok zal Bitcoin Core niet goed werken. + + + 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 + Goedgekeurde peers kunnen niet ge-DoS-banned worden en hun transacties worden altijd doorgestuurd, zelfs als ze reeds in de mempool aanwezig zijn, nuttig voor bijv. een gateway + + + Accept public REST requests (default: %u) + Accepteer publieke REST-requests (standaard: %u) + + + Cannot resolve -whitebind address: '%s' + Kan -whitebind adres niet herleiden: '%s' + + + Connect through SOCKS5 proxy + Verbind door SOCKS5 proxy + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Auteursrecht (C) 2009-%i De Bitcoin Core Ontwikkelaars + + + Could not parse -rpcbind value %s as network address + Niet mogelijk om -rpcbind waarde %s te verwerken als netwerk adres + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Fout bij laden wallet.dat: Portemonnee vereist een nieuwere versie van Bitcoin Core + + Error reading from database, shutting down. + Fout bij het lezen van de database, afsluiten. + + + Error: Unsupported argument -tor found, use -onion. + Fout: Niet ondersteund argument -tor gevonden, gebruik -onion. + + + Fee (in BTC/kB) to add to transactions you send (default: %s) + Transactiekosten (in BTC/kB) om toe te voegen aan transacties die u verstuurd (standaard: %s) + Information Informatie + + Initialization sanity check failed. Bitcoin Core is shutting down. + Initialisatie sanity check mislukt. Bitcoin Core is aan het afsluiten. + + + Invalid amount for -maxtxfee=<amount>: '%s' + Ongeldig bedrag voor -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Ongeldig bedrag voor -minrelaytxfee=<bedrag>: '%s' @@ -3025,16 +3192,20 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comOngeldig bedrag voor -paytxfee=<bedrag>: '%s' (Minimum %s) - Keep at most <n> unconnectable blocks in memory (default: %u) - Houd maximaal <n> onverbonden blokken in geheugen (standaard: %u) + Invalid netmask specified in -whitelist: '%s' + Ongeldig netmask gespecificeerd in -whitelist: '%s' Keep at most <n> unconnectable transactions in memory (default: %u) Houd maximaal <n> onverbonden transacties in geheugen (standaard: %u) - Print block on startup, if found in block index - Toon block bij opstarten, wanneer gevonden in block index + Need to specify a port with -whitebind: '%s' + Verplicht een poort met -whitebind op te geven: '%s' + + + Node relay options: + Node relay opties: RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -3044,6 +3215,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comRPC server options: RPC server opties: + + RPC support for HTTP persistent connections (default: %d) + RPC ondersteuning voor HTTP persisten verbindingen (default: %d) + Randomly drop 1 of every <n> network messages Laat willekeurig 1 elke <n> netwerkberichten vallen @@ -3056,6 +3231,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comSend trace/debug info to console instead of debug.log file Stuur trace/debug-info naar de console in plaats van het debug.log bestand + + Send transactions as zero-fee transactions if possible (default: %u) + Verstuur transacties zonder verzendkosten indien mogelijk (standaard: %u) + Show all debugging options (usage: --help -help-debug) Toon alle foutopsporingsopties (gebruik: --help -help-debug) @@ -3080,10 +3259,18 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comTransaction amounts must be positive Transactiebedragen moeten positief zijn + + Transaction too large for fee policy + De transactie is te groot voor het toeslagenbeleid + Transaction too large Transactie te groot + + Unable to bind to %s on this computer (bind returned error %s) + Niet in staat om aan %s te binden op deze computer (bind gaf error %s) + Use UPnP to map the listening port (default: 1 when listening) Gebruik UPnP om de luisterende poort te mappen (standaard: 1 als er wordt geluisterd) @@ -3092,6 +3279,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comUsername for JSON-RPC connections Gebruikersnaam voor JSON-RPC-verbindingen + + Wallet needed to be rewritten: restart Bitcoin Core to complete + Portemonnee moest herschreven worden: Herstart Bitcoin Core om te voltooien + Warning Waarschuwing @@ -3100,6 +3291,14 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comWarning: This version is obsolete, upgrade required! Waarschuwing: Deze versie is verouderd, een upgrade is vereist! + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Waarschuwing: Niet ondersteund argument -benchmark genegeerd, gebruik -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Waarschuwing: Niet ondersteund argument -debugnet genegeerd, gebruik -debug=net. + Zapping all transactions from wallet... Bezig met het zappen van alle transacties van de portemonnee... @@ -3148,6 +3347,22 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comError loading wallet.dat: Wallet corrupted Fout bij laden wallet.dat: Portemonnee corrupt + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = behoudt tx meta data bijv. account eigenaar en betalingsverzoek informatie, 2. sla tx meta data niet op) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Leeg database-activiteit uit de geheugen pool naar schijf log elke <n> megabytes (standaard: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Hoe grondig de blokverificatie van -checkblocks is (0-4, standaard: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Log transactieprioriteit en -kosten per kB bij het mijnen van blokken (standaard: %u) + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) Onderhoud een volledige transactieindex, gebruikt door de getrawtransaction rpc call (standaard: %u) @@ -3164,6 +3379,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comUse separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) Gebruik een aparte SOCKS5 proxy om 'Tor hidden services' te bereiken (standaard: %s) + + Acceptable ciphers (default: %s) + Geaccepteerde versleutelingen (standaard: %s) + Always query for peer addresses via DNS lookup (default: %u) Vind anderen door middel van een DNS-naslag (standaard: %u) @@ -3188,6 +3407,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comHow many blocks to check at startup (default: %u, 0 = all) Aantal te checken blokken bij het opstarten (standaard: %u, 0 = allemaal) + + Include IP addresses in debug output (default: %u) + IP-adressen toevoegen in de debuguitvoer (standaard: %u) + Invalid -proxy address: '%s' Ongeldig -proxy adres: '%s' @@ -3225,8 +3448,12 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comPrepend debug output met tijdstempel (standaard: %u) - Print block tree on startup (default: %u) - Toon block structuur bij opstarten (default: %u) + Relay and mine data carrier transactions (default: %u) + Gegevensdrager transacties relay en de mijnen (default: %u) + + + Relay non-P2SH multisig (default: %u) + Relay non-P2SH multisig (default: %u) Run a thread to flush wallet periodically (default: %u) @@ -3272,6 +3499,10 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comSpend unconfirmed change when sending transactions (default: %u) Besteed onbevestigd wisselgeld bij het versturen van transacties (standaard: %u) + + Stop running after importing blocks from disk (default: %u) + Stop uitvoeren na het importeren van blokken van de schijf (standaard: %u) + Threshold for disconnecting misbehaving peers (default: %u) Drempel om verbinding te verbreken naar zich misdragende peers (standaard: %u) @@ -3292,10 +3523,6 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comInvalid amount for -paytxfee=<amount>: '%s' Ongeldig bedrag voor -paytxfee=<bedrag>: '%s' - - Invalid amount - Ongeldig bedrag - Insufficient funds Ontoereikend saldo @@ -3328,10 +3555,6 @@ bijvoorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.comDone loading Klaar met laden - - To use the %s option - Om de %s optie te gebruiken - Error Fout diff --git a/src/qt/locale/bitcoin_pam.ts b/src/qt/locale/bitcoin_pam.ts index b0a92a1578f02..a35e0278215c1 100644 --- a/src/qt/locale/bitcoin_pam.ts +++ b/src/qt/locale/bitcoin_pam.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Pindutan meng makatidduang besis ban ayalilan me ing address o label + Right-click to edit address or label + I-right click ban alilan ing address o libel Create a new address @@ -1542,10 +1542,6 @@ Address: %4 Invalid amount for -paytxfee=<amount>: '%s' Eya maliari ing alaga keng -paytxfee=<amount>: '%s' - - Invalid amount - Ing alaga e ya katanggap-tanggap - Insufficient funds Kulang a pondo @@ -1578,10 +1574,6 @@ Address: %4 Done loading Yari ne ing pamag-load - - To use the %s option - Para agamit ing %s a pimamilian - Error Mali diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts index c53a9970efeeb..ef48e24e78a20 100644 --- a/src/qt/locale/bitcoin_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Kliknij dwukrotnie, aby edytować adres lub etykietę + Right-click to edit address or label + Kliknij prawym przyciskiem myszy żeby edytować adres lub etykietę Create a new address @@ -47,11 +47,11 @@ Choose the address to send coins to - Wybierz adres żeby wysłać bitcoins + Wybierz adres, na który chcesz wysłać monety Choose the address to receive coins with - Wybierz adres do otrzymania monet. + Wybierz adres, na który chcesz otrzymać monety C&hoose @@ -67,11 +67,11 @@ These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Tutaj znajdują się Twoje adresy Bitcoin do wysyłania płatności. Zawsze sprawdzaj ilość i adres odbiorcy przed wysyłką monet. + Tutaj znajdują się adresy Bitcoin, na które wysyłasz płatności. Zawsze sprawdzaj ilość i adres odbiorcy przed wysyłką monet. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - To twoje adresy bitcoin do odbierania płatności. Zaleca się używanie nowych adresów odbiorczych dla każdej tranzakcji. + To twoje adresy Bitcoin, na które otrzymujesz płatności. Zaleca się używanie nowych adresów odbiorczych dla każdej transakcji. Copy &Label @@ -95,7 +95,7 @@ There was an error trying to save the address list to %1. Please try again. - Wystąpił błąd podczas próby zapisu listy adresów %1. Proszę spróbować ponownie + Wystąpił błąd podczas próby zapisu listy adresów do %1. Proszę spróbować ponownie. @@ -110,7 +110,7 @@ (no label) - (bez etykiety) + (brak etykiety) @@ -137,7 +137,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Ta operacja wymaga hasła do portfela ażeby odblokować portfel. + Ta operacja wymaga hasła do portfela aby odblokować portfel. Unlock wallet @@ -177,15 +177,19 @@ Warning: The Caps Lock key is on! - Uwaga: Klawisz Caps Lock jest włączony + Uwaga: Klawisz Caps Lock jest włączony! Wallet encrypted Portfel zaszyfrowany + + 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>. + Wprowadź nowe hasło do portfela.<br/>Proszę używać hasła złożonego z <b>10 lub więcej losowych znaków</b> lub <b>ośmiu lub więcej słów.</b> + Bitcoin 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. - Program Bitcoin zamknie się aby dokończyć proces szyfrowania. Pamiętaj, że szyfrowanie portfela nie zabezpiecza w pełni Twoich bitcoinów przed kradzieżą przez wirusy lub trojany mogące zainfekować Twój komputer. + Program Bitcoin zamknie się aby dokończyć proces szyfrowania. Pamiętaj, że szyfrowanie portfela nie zabezpiecza w pełni Twoich bitcoinów przed kradzieżą przez wirusy mogące zainfekować Twój komputer. Wallet encryption failed @@ -236,7 +240,7 @@ Show general overview of wallet - Pokazuje ogólny zarys portfela + Pokazuje ogólny widok portfela &Transactions @@ -280,11 +284,11 @@ &Sending addresses... - Adres wysyłania + Adresy wysyłania... &Receiving addresses... - Adres odbiorczy + Adresy odbioru... Open &URI... @@ -360,7 +364,7 @@ Encrypt the private keys that belong to your wallet - Szyfruj klucze prywatne, które są powiązane z twoim portfelem + Szyfruj klucze prywatne, które są w Twoim portfelu Sign messages with your Bitcoin addresses to prove you own them @@ -368,7 +372,7 @@ Verify messages to ensure they were signed with specified Bitcoin addresses - Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin. + Zweryfikuj wiadomość, aby upewnić się, że została podpisana podanym adresem Bitcoin. &File @@ -388,7 +392,7 @@ Bitcoin Core - Rdzeń BitCoin + Rdzeń Bitcoin Request payments (generates QR codes and bitcoin: URIs) @@ -400,15 +404,19 @@ Show the list of used sending addresses and labels - Pokaż listę użytych adresów wysyłających i etykiety + Pokaż listę adresów i etykiet użytych do wysyłania Show the list of used receiving addresses and labels - Pokaż listę użytych adresów odbiorczych i etykiety + Pokaż listę adresów i etykiet użytych do odbierania + + + Open a bitcoin: URI or payment request + Otwórz URI bitcoin: lub żądanie zapłaty &Command-line options - &Opcje konsoli + &Opcje linii komend Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options @@ -470,9 +478,13 @@ Up to date Aktualny + + Processed %n blocks of transaction history. + Przetworzono %n blok historii transakcji.Przetworzono %n bloki historii transakcji.Przetworzono %n bloków historii transakcji. + Catching up... - Łapanie bloków... + Synchronizuję się... Sent transaction @@ -496,7 +508,7 @@ Adres: %4 Wallet is <b>encrypted</b> and currently <b>unlocked</b> - Portfel jest <b>zaszyfrowany</b> i obecnie <b>niezablokowany</b> + Portfel jest <b>zaszyfrowany</b> i obecnie <b>odblokowany</b> Wallet is <b>encrypted</b> and currently <b>locked</b> @@ -507,11 +519,15 @@ Adres: %4 ClientModel Network Alert - Sieć Alert + Komunikat Sieci CoinControlDialog + + Coin Selection + Wybór monet + Quantity: Ilość: @@ -532,6 +548,10 @@ Adres: %4 Fee: Opłata: + + Dust: + Pył: + After Fee: Po opłacie: @@ -556,6 +576,14 @@ Adres: %4 Amount Kwota + + Received with label + Otrzymano z opisem + + + Received with address + Otrzymano z adresem + Date Data @@ -590,11 +618,11 @@ Adres: %4 Lock unspent - Zablokuj + Zablokuj niewydane Unlock unspent - Odblokuj + Odblokuj niewydane Copy quantity @@ -616,6 +644,10 @@ Adres: %4 Copy priority Skopiuj priorytet + + Copy dust + Kopiuj pył + Copy change Skopiuj resztę @@ -664,6 +696,10 @@ Adres: %4 none żaden + + Can vary +/- %1 satoshi(s) per input. + Waha się +/- %1 satoshi na wejście. + yes tak @@ -674,7 +710,7 @@ Adres: %4 This label turns red, if the transaction size is greater than 1000 bytes. - Etykieta staje się czerwona kiedy transakcja jest większa niż 1000 bajtów. + Ta etykieta staje się czerwona, kiedy transakcja jest większa niż 1000 bajtów. This means a fee of at least %1 per kB is required. @@ -686,7 +722,7 @@ Adres: %4 Transactions with higher priority are more likely to get included into a block. - Transakcje o wyższym priorytecie zostają szybciej dołączone do bloku. + Transakcje o wyższym priorytecie zwykle szybciej zostają dołączone do bloku. This label turns red, if the priority is smaller than "medium". @@ -698,7 +734,7 @@ Adres: %4 (no label) - (bez etykiety) + (brak etykiety) change from %1 (%2) @@ -733,7 +769,7 @@ Adres: %4 New receiving address - Nowy adres odbiorczy + Nowy adres otrzymywania New sending address @@ -768,7 +804,7 @@ Adres: %4 FreespaceChecker A new data directory will be created. - Utworzono nowy folder danych. + Będzie utworzony nowy folder danych. name @@ -780,7 +816,7 @@ Adres: %4 Path already exists, and is not a directory. - Ścieżka już istnieje i nie wskazuje na folder. + Ścieżka już istnieje i nie jest katalogiem. Cannot create data directory here. @@ -791,7 +827,7 @@ Adres: %4 HelpMessageDialog Bitcoin Core - Rdzeń BitCoin + Rdzeń Bitcoin version @@ -819,7 +855,7 @@ Adres: %4 UI options - UI opcje + Opcje UI Set language, for example "de_DE" (default: system locale) @@ -829,6 +865,10 @@ Adres: %4 Start minimized Uruchom zminimalizowany + + Set SSL root certificates for payment request (default: -system-) + Ustaw certyfikaty główne SSL dla żądań płatności (domyślnie: -system-) + Show splash screen on startup (default: 1) Pokazuj okno powitalne przy starcie (domyślnie: 1) @@ -850,11 +890,11 @@ Adres: %4 As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. - Ponieważ jest to pierwsze uruchomienie programu, możesz wybrać gdzie będą przechowywane informacje. + Ponieważ jest to pierwsze uruchomienie programu, możesz wybrać gdzie Bitcoin Core będzie przechowywał swoje dane. Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Program pobierze i będzie przechowywał kopię łańcucha bloków Bitcoin. W wybranym katalogu musi być przynajmniej %1GB miejsca, a z czasem wielkość danych będzie rosła. Portfel będzie przechowywany w tym samym katalogu. + Program pobierze i będzie przechowywał kopię łańcucha bloków Bitcoin. W wybranym katalogu musi być przynajmniej %1GB miejsca, a z czasem ilość danych będzie rosła. Portfel będzie przechowywany w tym samym katalogu. Use the default data directory @@ -866,7 +906,7 @@ Adres: %4 Bitcoin Core - Rdzeń BitCoin + Rdzeń Bitcoin Error: Specified data directory "%1" cannot be created. @@ -876,12 +916,20 @@ Adres: %4 Error Błąd - + + %n GB of free space available + %n GB dostępnego wolnego miejsca%n GB dostępnego wolnego miejsca%n GB dostępnego wolnego miejsca + + + (of %n GB needed) + (z %n GB potrzebnego)(z %n GB potrzebnych)(z %n GB potrzebnych) + + OpenURIDialog Open URI - Otwórz URI: + Otwórz URI Open payment request from URI or file @@ -918,6 +966,10 @@ Adres: %4 &Start Bitcoin on system login Uruchamiaj Bitcoin wraz z zalogowaniem do &systemu + + Size of &database cache + Wielkość bufora bazy &danych + MB MB @@ -938,13 +990,21 @@ Adres: %4 IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) Adres IP serwera proxy (np. IPv4: 127.0.0.1 / IPv6: ::1) + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + Zewnętrzne URL podglądu transakcji (np. eksplorator bloków), które będą wyświetlały się w menu kontekstowym, w zakładce transakcji. %s będzie zamieniany w adresie na hash transakcji. Oddziel wiele adresów pionową kreską |. + + + Third party transaction URLs + Zewnętrzne URL podglądu transakcji + Active command-line options that override above options: Aktywne opcje linii komend, które nadpisują powyższe opcje: Reset all client options to default. - Przywróć domyślne wszystkie ustawienia klienta. + Przywróć wszystkie domyślne ustawienia klienta. &Reset Options @@ -954,6 +1014,10 @@ Adres: %4 &Network &Sieć + + (0 = auto, <0 = leave that many cores free) + (0 = automatycznie, <0 = zostaw tyle wolnych rdzeni) + W&allet Portfel @@ -962,6 +1026,18 @@ Adres: %4 Expert Ekspert + + Enable coin &control features + Włącz funk&cje kontoli monet + + + If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. + Jeżeli wyłączysz możliwość wydania niezatwierdzonej wydanej reszty, reszta z transakcji nie będzie mogła zostać wykorzystana, dopóki ta transakcja nie będzie miała przynajmniej jednego potwierdzenia. To także ma wpływ na obliczanie Twojego salda. + + + &Spend unconfirmed change + Wydaj niepotwierdzoną re&sztę + Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. Automatycznie otwiera port klienta Bitcoin na routerze. Ta opcja dzieła tylko jeśli twój router wspiera UPnP i jest ono włączone. @@ -970,6 +1046,14 @@ Adres: %4 Map port using &UPnP Mapuj port używając &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Połącz się z siecią Bitcoin poprzez proxy SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + Połącz przez proxy SO&CKS5 (domyślne proxy): + Proxy &IP: Proxy &IP: @@ -1022,6 +1106,10 @@ Adres: %4 Choose the default subdivision unit to show in the interface and when sending coins. Wybierz podział jednostki pokazywany w interfejsie oraz podczas wysyłania monet + + Whether to show coin control features or not. + Wybierz pokazywanie lub nie funkcji kontroli monet. + &OK &OK @@ -1069,6 +1157,10 @@ Adres: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. Wyświetlana informacja może być nieaktualna. Twój portfel synchronizuje się automatycznie z siecią bitcoin, zaraz po tym jak uzyskano połączenie, ale proces ten nie został jeszcze ukończony. + + Watch-only: + Tylko podglądaj: + Available: Dostępne: @@ -1091,7 +1183,11 @@ Adres: %4 Mined balance that has not yet matured - Balans wydobycia, który jeszcze nie dojrzał + Balans wydobytych monet, które jeszcze nie dojrzały + + + Balances + Salda Total: @@ -1101,9 +1197,33 @@ Adres: %4 Your current total balance Twoje obecne saldo + + Your current balance in watch-only addresses + Twoje obecne saldo na podglądanym adresie + + + Spendable: + Możliwe do wydania: + + + Recent transactions + Ostatnie transakcje + + + Unconfirmed transactions to watch-only addresses + Niepotwierdzone transakcje na podglądanych adresach + + + Mined balance in watch-only addresses that has not yet matured + Wykopane monety na podglądanych adresach które jeszcze nie dojrzały + + + Current total balance in watch-only addresses + Łączna kwota na podglądanych adresach + out of sync - desynchronizacja + nie zsynchronizowany @@ -1116,6 +1236,22 @@ Adres: %4 Invalid payment address %1 błędny adres płatności %1 + + Payment request rejected + Żądanie płatności odrzucone + + + Payment request network doesn't match client network. + Sieć żądania płatności nie odpowiada sieci klienta. + + + Payment request has expired. + Zażądanie płatności się przedawniło. + + + Payment request is not initialized. + Żądanie płatności nie jest zainicjowane. + Requested payment amount of %1 is too small (considered dust). Żądana kwota %1 jest za niska (uznano za kurz). @@ -1126,16 +1262,48 @@ Adres: %4 Cannot start bitcoin: click-to-pay handler - Nie można rozpocząć bitcoin: kliknij-by-zapłacić opiekunowi + Nie można uruchomić protokołu bitcoin: kliknij-by-zapłacić + + + Payment request fetch URL is invalid: %1 + URL pobrania żądania zapłaty jest nieprawidłowe: %1 + + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI nie może zostać przetworzony! Może to być spowodowane nieprawidłowym adresem Bitcoin lub uszkodzonymi parametrami URI. + + + Payment request file handling + Przechwytywanie plików żądania płatności + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Plików żądania płatności nie może zostać odczytany. Mogło to być spowodowane nieprawidłowym plikiem żądania płatności. + + + Unverified payment requests to custom payment scripts are unsupported. + Niezweryfikowane żądania płatności do własnych skryptów płatności są niewspierane. Refund from %1 Zwrot z %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Żądanie płatności %1 jest zbyt duże (%2 bajtów, dozwolone %3 bajtów). + + + Payment request DoS protection + Zabezpieczenie żądania płatności przed atakiem DoS + Error communicating with %1: %2 Błąd komunikacji z %1 : %2 + + Payment request cannot be parsed! + Żądanie płatności nie może zostać przetworzone. + Bad response from server %1 Błędna odpowiedź z serwera %1 @@ -1151,13 +1319,33 @@ Adres: %4 PeerTableModel - + + User Agent + Aplikacja kliencka + + + Address/Hostname + Adres/Nazwa hosta + + + Ping Time + Czas odpowiedzi + + QObject Amount Kwota + + Enter a Bitcoin address (e.g. %1) + Wprowadź adres Bitcoin (np. %1) + + + %1 d + %1 d + %1 h %1 h @@ -1166,11 +1354,31 @@ Adres: %4 %1 m %1 m + + %1 s + %1 s + + + NETWORK + SIEĆ + + + UNKNOWN + NIEZNANY + + + None + Żaden + N/A NIEDOSTĘPNE - + + %1 ms + %1 ms + + QRImageWidget @@ -1220,6 +1428,10 @@ Adres: %4 Using OpenSSL version Używana wersja OpenSSL + + Using BerkeleyDB version + Używana wersja BerkeleyDB + Startup time Czas uruchomienia @@ -1238,12 +1450,80 @@ Adres: %4 Block chain - Ciąg bloków + Łańcuch bloków Current number of blocks Aktualna liczba bloków + + Received + Otrzymane + + + Sent + Wysłane + + + &Peers + &Węzły + + + Select a peer to view detailed information. + Wybierz węzeł żeby zobaczyć szczegóły. + + + Direction + Kierunek + + + Version + Wersja + + + User Agent + Aplikacja kliencka + + + Services + Usługi + + + Starting Height + Początkowa wysokość + + + Sync Height + Zsynchronizowana wysokość + + + Ban Score + Punkty karne + + + Connection Time + Czas połączenia + + + Last Send + Ostatnio wysłano + + + Last Receive + Ostatnio odebrano + + + Bytes Sent + Bajtów wysłano + + + Bytes Received + Bajtów pobrano + + + Ping Time + Czas odpowiedzi + Last block time Czas ostatniego bloku @@ -1258,7 +1538,7 @@ Adres: %4 &Network Traffic - $Ruch sieci + Ruch sieci &Clear @@ -1294,7 +1574,7 @@ Adres: %4 Welcome to the Bitcoin RPC console. - Witam w konsoli Bitcoin RPC + Witam w konsoli Bitcoin RPC. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. @@ -1320,7 +1600,31 @@ Adres: %4 %1 GB %1 GB - + + via %1 + przez %1 + + + never + nigdy + + + Inbound + Wejściowy + + + Outbound + Wyjściowy + + + Unknown + Nieznany + + + Fetching... + Pobieram... + + ReceiveCoinsDialog @@ -1337,7 +1641,11 @@ Adres: %4 Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. - Użyj jeden z poprzednio użytych adresów odbiorczych. Podczas ponownego używania adresów występują problemy z bezpieczeństwem i prywatnością. Nie korzystaj z tej opcji, chyba że odtwarzasz żądanie płatności wykonane już wcześniej. + Użyj jednego z poprzednio użytych adresów odbiorczych. Podczas ponownego używania adresów występują problemy z bezpieczeństwem i prywatnością. Nie korzystaj z tej opcji, chyba że odtwarzasz żądanie płatności wykonane już wcześniej. + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. + Opcjonalna wiadomość do dołączenia do żądania płatności, która będzie wyświetlana, gdy żądanie zostanie otwarte. Uwaga: wiadomość ta nie zostanie wysłana wraz z płatnością w sieci Bitcoin. An optional label to associate with the new receiving address. @@ -1347,9 +1655,13 @@ Adres: %4 Use this form to request payments. All fields are <b>optional</b>. Użyj tego formularza do zażądania płatności. Wszystkie pola są <b>opcjonalne</b>. + + An optional amount to request. Leave this empty or zero to not request a specific amount. + Opcjonalna kwota by zażądać. Zostaw puste lub zero by nie zażądać konkretnej kwoty. + Clear all fields of the form. - Wyczyść pola formularza + Wyczyść pola formularza. Clear @@ -1363,6 +1675,10 @@ Adres: %4 &Request payment &Żądaj płatności + + Show the selected request (does the same as double clicking an entry) + Pokaż wybrane żądanie (robi to samo co dwukrotne kliknięcie pozycji) + Show Pokaż @@ -1408,7 +1724,7 @@ Adres: %4 Request payment to %1 - Żądaj płatności do %1 + Zażądaj płatności do %1 Payment information @@ -1480,6 +1796,10 @@ Adres: %4 Send Coins Wyślij Monety + + Coin Control Features + Funkcje kontroli monet + Inputs... Wejścia... @@ -1490,7 +1810,7 @@ Adres: %4 Insufficient funds! - Niewystarczające środki + Niewystarczające środki! Quantity: @@ -1522,7 +1842,83 @@ Adres: %4 If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. - Kiedy ta opcja jest wybrana, ale adres reszty jest pusty lub nieprawidłowy to reszta będzie wysyłana na adres nowo-wygenerowany. + Kiedy ta opcja zostanie wybrana, a adres reszty będzie pusty lub nieprawidłowy, to reszta będzie wysłana na nowo wygenerowany adres. + + + Custom change address + Własny adres wydania reszty + + + Transaction Fee: + Opłata transakcyjna: + + + Choose... + Wybierz... + + + collapse fee-settings + zwiń opcje opłaty + + + Minimize + Minimalizuj + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Jeżeli własna opłata zostanie ustawiona na 1000 satoshi, a transakcja będzie miała tylko 250 bajtów, to "za kilobajt" płaci tylko 250 satoshi, podczas gdy, "przynajmniej" płaci 1000 satoshi. Przy transakcjach większych niż kilobajt, w obu przypadkach płaci za każdy kilobajt. + + + per kilobyte + za kilobajt + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Jeżeli własna opłata zostanie ustawiona na 1000 satoshi, a transakcja będzie miała tylko 250 bajtów, to "za kilobajt" płaci tylko 250 satoshi, podczas gdy, "razem przynajmniej" płaci 1000 satoshi. Przy transakcjach większych niż kilobajt, w obu przypadkach płaci za każdy kilobajt. + + + total at least + razem przynajmniej + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Zapłacenie tylko minimalnej opłaty jest nadal wystarczające, dopóki jest mniejszy wolumen transakcji niż miejsca w blokach. Należy jednak mieć świadomość, że może skończyć się to niezatwierdzeniem nigdy transakcji, gdy jest większe zapotrzebowanie na transakcje bitcoina niż sieć może przetworzyć. + + + (read the tooltip) + (przeczytaj podpowiedź) + + + Recommended: + Zalecane: + + + Custom: + Własna: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Sprytne opłaty nie są jeszcze zainicjowane. Trwa to zwykle kilka bloków...) + + + Confirmation time: + Czas potwierdzenia: + + + normal + normalnie + + + fast + szybko + + + Send as zero-fee transaction if possible + Wyślij bez opłaty jeżeli to możliwe + + + (confirmation may take longer) + (potwierdzenie może potrwać dłużej) Send to multiple recipients at once @@ -1530,11 +1926,15 @@ Adres: %4 Add &Recipient - Dodaj Odbio&rce + Dodaj Odbio&rcę Clear all fields of the form. - Wyczyść wszystkie pola formularza + Wyczyść wszystkie pola formularza. + + + Dust: + Pył: Clear &All @@ -1589,8 +1989,8 @@ Adres: %4 Skopiuj resztę - Total Amount %1 (= %2) - Łączna kwota %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Całkowita kwota %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -1598,7 +1998,7 @@ Adres: %4 The recipient address is not valid, please recheck. - Adres odbiorcy jest nieprawidłowy, proszę poprawić + Adres odbiorcy jest nieprawidłowy, proszę poprawić. The amount to pay must be larger than 0. @@ -1614,7 +2014,7 @@ Adres: %4 Duplicate address found, can only send to each address once per send operation. - Znaleziono powtórzony adres, można wysłać tylko raz na każdy adres podczas operacji wysyłania. + Znaleziono powtórzony adres, można wysłać tylko raz na każdy adres podczas jednej operacji wysyłania. Transaction creation failed! @@ -1624,6 +2024,14 @@ Adres: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Transakcja została odrzucona! Może się to zdarzyć jeśli część monet z portfela została już wydana używając kopii pliku wallet.dat i nie zostało to tutaj uwzględnione. + + A fee higher than %1 is considered an insanely high fee. + Opłata wyższa niż %1 jest uważana za szalenie wysoką. + + + Pay only the minimum fee of %1 + Płac tylko minimalna opłatę %1 + Warning: Invalid Bitcoin address Ostrzeżenie: nieprawidłowy adres Bitcoin @@ -1634,7 +2042,11 @@ Adres: %4 Warning: Unknown change address - Ostrzeżenie: Nieznany adres + Ostrzeżenie: Nieznany adres reszty + + + Copy dust + Kopiuj kurz Are you sure you want to send? @@ -1671,6 +2083,10 @@ Adres: %4 This is a normal payment. To jest standardowa płatność + + The Bitcoin address to send the payment to + Adres Bitcoin gdzie wysłać płatność + Alt+A Alt+A @@ -1693,12 +2109,16 @@ Adres: %4 This is a verified payment request. - Zweryfikowano żądanie zapłaty. + To żądanie zapłaty jest zweryfikowane. Enter a label for this address to add it to the list of used addresses Wprowadź etykietę dla tego adresu by dodać go do listy użytych adresów + + 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. + Wiadomość, która została dołączona do URI bitcoin:, która będzie przechowywana wraz z transakcją w celach informacyjnych. Uwaga: Ta wiadomość nie będzie rozsyłana w sieci Bitcoin. + This is an unverified payment request. To żądanie zapłaty nie zostało zweryfikowane. @@ -1737,6 +2157,10 @@ Adres: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Możesz podpisywać wiadomości swoimi adresami aby udowodnić, że jesteś ich właścicielem. Uważaj, aby nie podpisywać niczego co wzbudza Twoje podejrzenia, ponieważ ktoś może stosować phishing próbując nakłonić Cię do ich podpisania. Akceptuj i podpisuj tylko w pełni zrozumiałe komunikaty i wiadomości. + + The Bitcoin address to sign the message with + Adres Bitcoin, za pomocą którego podpisać wiadomość + Choose previously used address Wybierz wcześniej użyty adres @@ -1755,7 +2179,7 @@ Adres: %4 Enter the message you want to sign here - Wprowadź wiadomość, którą chcesz podpisać, tutaj + Tutaj wprowadź wiadomość, którą chcesz podpisać Signature @@ -1789,6 +2213,10 @@ Adres: %4 Enter the signing 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. Wpisz adres podpisu, wiadomość (upewnij się, że dokładnie skopiujesz wszystkie zakończenia linii, spacje, tabulacje itp.) oraz podpis poniżej by sprawdzić wiadomość. Uważaj by nie dodać więcej do podpisu niż do samej podpisywanej wiadomości by uniknąć ataku man-in-the-middle (człowiek pośrodku) + + The Bitcoin address the message was signed with + Adres Bitcoin, którym została podpisana wiadomość + Verify the message to ensure it was signed with the specified Bitcoin address Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin. @@ -1823,11 +2251,11 @@ Adres: %4 Private key for the entered address is not available. - Klucz prywatny dla podanego adresu nie jest dostępny + Klucz prywatny dla podanego adresu nie jest dostępny. Message signing failed. - Podpisanie wiadomości nie powiodło się + Podpisanie wiadomości nie powiodło się. Message signed. @@ -1843,7 +2271,7 @@ Adres: %4 The signature did not match the message digest. - Podpis nie odpowiadał streszczeniu wiadomości + Podpis nie odpowiada skrótowi wiadomości. Message verification failed. @@ -1858,7 +2286,7 @@ Adres: %4 SplashScreen Bitcoin Core - Rdzeń BitCoin + Rdzeń Bitcoin The Bitcoin Core developers @@ -1882,6 +2310,10 @@ Adres: %4 Open until %1 Otwórz do %1 + + conflicted + konflikt + %1/offline %1/offline @@ -1900,7 +2332,7 @@ Adres: %4 , broadcast through %n node(s) - , emitowany przez %n węzeł, emitowany przez %n węzły, emitowany przez %n węzłów + , przekazywany przez %n węzeł, przekazywany przez %n węzły, przekazywany przez %n węzłów Date @@ -1926,6 +2358,10 @@ Adres: %4 own address własny adres + + watch-only + tylko-obserwowany + label etykieta @@ -1946,9 +2382,17 @@ Adres: %4 Debit Debet + + Total debit + Razem wychodzących + + + Total credit + Razem przychodzących + Transaction fee - Prowizja transakcji + Opłata transakcyjna Net amount @@ -1972,7 +2416,7 @@ Adres: %4 Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Wygenerowane monety muszą dojrzeć przez %1 bloków zanim będzie można je wysłać. Gdy wygenerowałeś ten blok został on ogłoszony w sieci i dodany do łańcucha bloków. Jeżeli nie uda mu się wejść do łańcucha jego status zostanie zmieniony na "nie zaakceptowano" i nie będzie można go wydać. To czasem zdarza się gdy inny węzeł wygeneruje blok w kilka sekund od twojego. + Wygenerowane monety muszą dojrzeć przez %1 bloków zanim będzie można je wydać. Gdy wygenerowałeś ten blok został on ogłoszony w sieci i dodany do łańcucha bloków. Jeżeli nie uda mu się wejść do łańcucha jego status zostanie zmieniony na "nie zaakceptowano" i nie będzie można go wydać. To czasem zdarza się gdy inny węzeł wygeneruje blok w kilka sekund od twojego. Debug information @@ -2000,7 +2444,7 @@ Adres: %4 , has not been successfully broadcast yet - , nie został jeszcze pomyślnie wyemitowany + , nie został jeszcze pomyślnie rozesłany Open for %n more block(s) @@ -2036,6 +2480,10 @@ Adres: %4 Address Adres + + Immature (%1 confirmations, will be available after %2) + Niedojrzała (%1 potwierdzeń, będzie dostępna po %2) + Open until %1 Otwórz do %1 @@ -2064,6 +2512,10 @@ Adres: %4 Confirming (%1 of %2 recommended confirmations) Potwierdzanie (%1 z %2 rekomendowanych potwierdzeń) + + Conflicted + Konflikt + Received with Otrzymane przez @@ -2084,6 +2536,10 @@ Adres: %4 Mined Wydobyto + + watch-only + tylko-obserwowany + (n/a) (brak) @@ -2100,6 +2556,10 @@ Adres: %4 Type of transaction. Rodzaj transakcji. + + Whether or not a watch-only address is involved in this transaction. + Czy adres tylko-obserwowany jest lub nie użyty w tej transakcji. + Destination address of transaction. Adres docelowy transakcji. @@ -2195,6 +2655,10 @@ Adres: %4 Export Transaction History Eksport historii transakcji + + Watch-only + Tylko obserwowany + Exporting Failed Błąd przy próbie eksportu @@ -2250,7 +2714,11 @@ Adres: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Jednostka w jakiej pokazywane są kwoty. Kliknij aby wybrać inną. + + WalletFrame @@ -2262,7 +2730,7 @@ Adres: %4 WalletModel Send Coins - Wyślij płatność + Wyślij monety @@ -2335,51 +2803,44 @@ Adres: %4 Akceptuj połączenia z zewnątrz (domyślnie: 1 jeśli nie ustawiono -proxy lub -connect) - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, musisz ustawić rpcpassword w pliku konfiguracyjnym:⏎ -%s⏎ -Zalecane jest użycie losowego hasła:⏎ -rpcuser=bitcoinrpc⏎ -rpcpassword=%s⏎ -(nie musisz pamiętać tego hasła)⏎ -Użytkownik i hasło nie mogą być takie same.⏎ -Jeśli plik nie istnieje, utwórz go z uprawnieniami tylko-do-odczytu dla właściciela.⏎ -Zalecane jest ustawienie alertnotify aby poinformować o problemach:⏎ -na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Skojarz z podanym adresem i nasłuchuj na nim. Użyj formatu [host]:port dla IPv6 - Bind to given address and always listen on it. Use [host]:port notation for IPv6 - Skojarz z podanym adresem. Użyj formatu [host]:port dla IPv6 + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Usuwa wszystkie transakcje w portfelu i tylko odtwarza te części z łańcucha bloków poprzez -rescan przy starcie - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Błąd: transakcja została odrzucona. Może się to zdarzyć, gdy monety z Twojego portfela zostały już wydane, na przykład gdy używałeś kopii wallet.dat i bitcoiny które tam wydałeś nie zostały jeszcze odjęte z portfela z którego teraz korzystasz. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Rozprowadzane na licencji MIT, zobacz dołączony plik COPYING lub <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Transakcja przekracza limit. Możesz wysłać ją płacąc prowizję %s, która zostaje przekazana do węzłów, które ją prześlą i pomoże wspierać sieć Bitcoin. Czy chcesz zapłacić prowizję? + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Wejdź do trybu testów regresyjnych, który korzysta ze specjalnego łańcucha, w którym bloki mogą być rozwiązywane natychmiastowo. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Wykonaj polecenie, kiedy transakcja portfela ulegnie zmianie (%s w poleceniu zostanie zastąpione przez TxID) + + In this mode -genproclimit controls how many blocks are generated immediately. + W tym trybie -genproclimit ustala ilość bloków generowanych natychmiast. + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Ustaw liczbę wątków skryptu weryfikacyjnego (%u do %d, 0 = auto, <0 = zostaw tyle rdzeni wolnych, domyślnie: %d) + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications To jest testowa wersja - używaj na własne ryzyko - nie używaj do wykopywania oraz przy aplikacjach kupieckich + + Unable to bind to %s on this computer. Bitcoin Core is probably already running. + Nie można przywiązać z portem %s na tym komputerze. Bitcoin Core prawdopodobnie już działa. + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Ostrzeżenie: -paytxfee jest bardzo duży. To jest prowizja za transakcje, którą płacisz, gdy wysyłasz monety. + Ostrzeżenie: -paytxfee jest bardzo duże! Jest to prowizja za transakcje, którą płacisz, gdy wysyłasz monety. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -2397,10 +2858,18 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Ostrzeżenie: Odtworzono dane z uszkodzonego pliku wallet.dat! Oryginalny wallet.dat został zapisany jako wallet.{timestamp}.bak w %s; jeśli twoje saldo lub transakcje są niepoprawne powinieneś odtworzyć kopię zapasową. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Dodawaj do białej listy węzły łączące się z podanej maski sieciowej lub adresu IP. Może być określona kilka razy. + (default: 1) (domyślnie: 1) + + <category> can be: + <category> mogą być: + Attempt to recover private keys from a corrupt wallet.dat Próbuj odzyskać klucze prywatne z uszkodzonego wallet.dat @@ -2411,7 +2880,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Connect only to the specified node(s) - Łącz tylko do wskazanego węzła + Łącz się tylko do wskazanego węzła/węzłów Connection options: @@ -2427,11 +2896,11 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Discover own IP address (default: 1 when listening and no -externalip) - Odkryj własny adres IP (domyślnie: 1 kiedy w trybie nasłuchu i brak -externalip ) + Wykryj własny adres IP (domyślnie: 1 kiedy w trybie nasłuchu i brak -externalip ) Do not load the wallet and disable wallet RPC calls - Nie ładuj portfela i wyłącz odwołania RPC + Nie ładuj portfela i wyłącz wywołania RPC portfela Do you want to rebuild the block database now? @@ -2439,7 +2908,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Error initializing block database - Błąd inicjowania bloku bazy danych + Błąd inicjowania bazy danych bloków Error initializing wallet database environment %s! @@ -2451,19 +2920,19 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Error opening block database - Błąd ładowania bazy bloków + Błąd otwierania bazy bloków Error: Disk space is low! Błąd: Mało miejsca na dysku! - Error: Wallet locked, unable to create transaction! - Błąd: Zablokowany portfel, nie można utworzyć transakcji! + Failed to listen on any port. Use -listen=0 if you want this. + Próba nasłuchiwania na jakimkolwiek porcie nie powiodła się. Użyj -listen=0 jeśli tego chcesz. - Failed to listen on any port. Use -listen=0 if you want this. - Próba otwarcia jakiegokolwiek portu nie powiodła się. Użyj -listen=0 jeśli tego chcesz. + If <category> is not supplied, output all debugging information. + Jeżeli <category> nie zostanie określona, wyświetl wszystkie informacje debugowania. Importing... @@ -2481,6 +2950,10 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Not enough file descriptors available. Brak wystarczającej liczby deskryptorów plików. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Łącz z węzłami tylko w sieci <net> (ipv4, ipv6 lub onion) + Rebuild block chain index from current blk000??.dat files Odbuduj indeks łańcucha bloków z obecnych plików blk000??.dat @@ -2497,6 +2970,14 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Specify wallet file (within data directory) Określ plik portfela (w obrębie folderu danych) + + This is intended for regression testing tools and app development. + Jest to przeznaczone dla narzędzi testowania regresji i rozwoju aplikacji. + + + Use UPnP to map the listening port (default: %u) + Użyj UPnP do przekazania portu nasłuchu (domyślnie : %u) + Verifying blocks... Weryfikacja bloków... @@ -2521,18 +3002,178 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Imports blocks from external blk000??.dat file Importuj bloki z zewnętrznego pliku blk000??.dat + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Pozwól na połączenia JSON-RPC z podanego źródła. Jako <ip> prawidłowe jest pojedyncze IP (np. 1.2.3.4), podsieć/maska (np. 1.2.3.4/255.255.255.0) lub sieć/CIDR (np. 1.2.3.4/24). Opcja ta może być użyta wiele razy. + + + An error occurred while setting up the RPC address %s port %u for listening: %s + Napotkano błąd podczas ustawiania adres RPC %s port %u dla nasłuchiwania: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Podepnij się do podanego adresu i dodawaj do białej listy węzły łączące się z nim. Użyj notacji [host]:port dla IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Powiąż się z podanym adresem, aby nasłuchiwać połączenia JSON-RPC. Użyj notacji [host]:port dla IPv6. Ta opcja może być określona kilka razy (domyślnie: powiąż ze wszystkimi interfejsami) + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Nie można uzyskać blokady na katalogu z danymi %s. Rdzeń Bitcoin najprawdopodobniej jest już uruchomiony. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Ograniczaj przepustowość dla transakcji bez opłat do <n>*1000 bajtów na minutę (domyślnie: %u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Twórz nowe pliki z domyślnymi dla systemu uprawnieniami, zamiast umask 077 (skuteczne tylko przy wyłączonej funkcjonalności portfela) + + + Error: Listening for incoming connections failed (listen returned error %s) + Błąd: Nasłuchiwanie połączeń przychodzących nie powiodło się (nasłuch zwrócił błąd %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Błąd: Znaleziono niewspierany argument -socks . Ustawienie wersji SOCKS nie jest już możliwe, tylko serwery proxy SOCKS5 są wspierane. + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) Uruchom polecenie przy otrzymaniu odpowiedniego powiadomienia lub gdy zobaczymy naprawdę długie rozgałęzienie (%s w poleceniu jest podstawiane za komunikat) + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + Opłaty (w BTC/Kb) mniejsze niż ta będą traktowane jako bez opłaty przy propagowaniu (domyślnie: %s) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Opłaty (w BTC/Kb) mniejsze niż ta będą traktowane jako bez opłaty przy tworzeniu transakcji (domyślnie: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Jeżeli nie ustawiono paytxfee, dołącz wystarczająca opłatę, aby transakcja mogła zostać zatwierdzona w ciągu średniej ilości n bloków (domyślnie: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Niewłaściwa ilość dla -maxtxfee=<ilość>: '%s' (musi wynosić przynajmniej minimalną wielkość %s aby zapobiec utknięciu transakcji) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maksymalny rozmiar danych w transakcji przekazującej dane które przekazujemy i wydobywamy (domyślnie: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maksymalne całkowite opłaty użyte dla każdej pojedynczej transakcji portfela, ustawienie za niskiej może przerwać większe transakcje (domyślnie: %s) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Wyszukaj adresy węzłów wykorzystując zapytanie DNS, jeżeli masz mało adresów (domyślnie: 1 jeśli nie użyto -connect) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Wymagaj wysokiego priorytetu dla przekazywania transakcji darmowych lub o niskiej opłacie (domyślnie:%u) + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + Ustaw maksymalny rozmiar transakcji o wysokim priorytecie/niskiej prowizji w bajtach (domyślnie: %d) + + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Ustaw liczbę wątków dla generowania monet (-1 = wszystkie rdzenie, domyślnie: %d) + + + 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. + Program ten zawiera oprogramowanie stworzone przez OpenSSL Project do użycia w OpensSSL Toolkit <https://www.openssl.org/>, oprogramowanie kryptograficzne napisane przez Eric Young oraz oprogramowanie UPnP napisane przez Thomas Bernard. + + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Aby korzystać z bitcoind, lub opcji -server w bitcoin-qt, musisz ustawić opcję rpcpassword w pliku konfiguracyjnym: +%s +Zalecane jest użycie poniższego losowego hasła: +rpcuser=bitcoinrpc +rpcpassword=%s +(nie musisz pamiętać tego hasła) +Nazwa użytkownika i hasło NIE MOGĄ być takie same. +Jeżeli ten plik nie istnieje, utwórz go z uprawnieniami tylko-do-odczytu przez właściciela. +Zalecane jest także ustawienie opcji alertnotify, dzięki której będziesz powiadamiany o problemach; +na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Ostrzeżenie: -matxfee jest ustawione bardzo wysokie! Tak wysokie opłaty mogą być zapłacone w jednej transakcji. + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Ostrzeżenie: Proszę sprawdzić czy data i czas na Twoim komputerze są poprawne! Jeżeli ustawienia zegara będą złe, Bitcoin Core nie będzie działał prawidłowo. + + + 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 + Węzły z białej listy nie mogą zostać zbanowane za ataki DoS, a ich transakcje będą zawsze przekazywane, nawet jeżeli będą znajdywać się już w pamięci, przydatne np. dla bramek płatniczych + + + Accept public REST requests (default: %u) + Akceptuj publiczne żądania REST (domyślnie: %u) + + + Cannot resolve -whitebind address: '%s' + Nie można rozwiązać adresu -whitebind: '%s' + + + Connect through SOCKS5 proxy + Połącz przez SOCKS5 proxy + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i The Bitcoin Core Developers + + + Could not parse -rpcbind value %s as network address + Nie można przetworzyć wartości -rpcbind %s jako adresu sieciowego + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core + Błąd ładowania wallet.dat: Portfel wymaga nowszej wersji Bitcoin Core + + + Error reading from database, shutting down. + Błąd odczytu z bazy danych, wyłączam się. + + + Error: A fatal internal error occurred, see debug.log for details + Błąd: Wystąpił fatalny błąd wewnętrzny, sprawdź szczegóły w debug.log + + + Error: Unsupported argument -tor found, use -onion. + Błąd: Znaleziono nieprawidłowy argument -tor, użyj -onion. + + + Fee (in BTC/kB) to add to transactions you send (default: %s) + Prowizja (w BTC za kB) dodawana do wysyłanej transakcji (domyślnie: %s) + Information Informacja + + Initialization sanity check failed. Bitcoin Core is shutting down. + Wstępna kontrola poprawności nie powiodła się. Bitcoin Core wyłącza się. + + + Invalid amount for -maxtxfee=<amount>: '%s' + Nieprawidłowa kwota dla -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Nieprawidłowa kwota dla -minrelaytxfee=<amount>: '%s' @@ -2542,12 +3183,20 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Nieprawidłowa kwota dla -mintxfee=<amount>: '%s' - Node relay options: - Opcje przekaźnikowe węzła: + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Nieprawidłowa kwota dla -paytxfee=<amount>: '%s' (musi być co najmniej %s) - Print block on startup, if found in block index - Wyświetlaj blok podczas uruchamiania, jeżeli znaleziono indeks bloków + Invalid netmask specified in -whitelist: '%s' + Nieprawidłowa maska sieci określona w -whitelist: '%s' + + + Keep at most <n> unconnectable transactions in memory (default: %u) + Przechowuj w pamięci maksymalnie <n> transakcji nie możliwych do połączenia (domyślnie: %u) + + + Node relay options: + Opcje przekaźnikowe węzła: RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2557,18 +3206,26 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎RPC server options: Opcje serwera RPC: + + RPC support for HTTP persistent connections (default: %d) + Wsparcie RPC dla ciągłych połączeń HTTP (domyślnie: %d) + Randomly drop 1 of every <n> network messages Losowo ignoruje 1 z każdych <n> wiadomości sieciowych. Randomly fuzz 1 of every <n> network messages - Losowo ignoruje 1 z wszystkich <n> wiadomości sieciowych. + Losowo miesza 1 z wszystkich <n> wiadomości sieciowych. Send trace/debug info to console instead of debug.log file Wyślij informację/raport do konsoli zamiast do pliku debug.log. + + Send transactions as zero-fee transactions if possible (default: %u) + Wyślij bez opłaty jeżeli to możliwe (domyślnie: %u) + Show all debugging options (usage: --help -help-debug) Pokaż wszystkie opcje odpluskwiania (użycie: --help -help-debug) @@ -2583,7 +3240,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ This is experimental software. - To oprogramowanie eksperymentalne. + To oprogramowanie jest eksperymentalne. Transaction amount too small @@ -2593,10 +3250,18 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Transaction amounts must be positive Kwota transakcji musi być dodatnia + + Transaction too large for fee policy + Transakcja jest zbyt duża dla tej opłaty + Transaction too large Transakcja zbyt duża + + Unable to bind to %s on this computer (bind returned error %s) + Nie można przywiązać do %s na tym komputerze (bind zwrócił błąd %s) + Use UPnP to map the listening port (default: 1 when listening) Używaj UPnP do mapowania portu nasłuchu (domyślnie: 1 gdy nasłuchuje) @@ -2607,7 +3272,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Wallet needed to be rewritten: restart Bitcoin Core to complete - Portfel wymaga przepisania: zresetuj Bitcoina aby ukończyć + Portfel wymaga przepisania: zrestartuj Bitcoina aby ukończyć Warning @@ -2615,7 +3280,19 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Warning: This version is obsolete, upgrade required! - Uwaga: Ta wersja jest przestarzała, aktualizacja wymagana! + Uwaga: Ta wersja jest przestarzała, wymagana jest aktualizacja! + + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Uwaga: Zignorowano nieprawidłowy argument -benchmark, użyj -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Uwaga: Zignorowano nieprawidłowy argument -debugnet , użyj -debug=net. + + + Zapping all transactions from wallet... + Usuwam wszystkie transakcje z portfela... on startup @@ -2639,7 +3316,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Rescan the block chain for missing wallet transactions - Przeskanuj blok łańcuchów żeby znaleźć zaginione transakcje portfela + Przeskanuj łańcuch bloków w poszukiwaniu zaginionych transakcji portfela Use OpenSSL (https) for JSON-RPC connections @@ -2661,14 +3338,170 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Error loading wallet.dat: Wallet corrupted Błąd ładowania wallet.dat: Uszkodzony portfel + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = zachowaj wysłane metadane np. właściciel konta i informacje o żądaniach płatności, 2 = porzuć wysłane metadane) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Przeładuj aktywność bazy danych z pamięci do logu dyskowego co <n> megabajtów (domyślnie: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Jak dokładna jest weryfikacja bloków przy -checkblocks (0-4, domyślnie: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Loguj priorytety transakcji i opłaty na kB podczas kopania bloków (domyślnie: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Utrzymuj pełny indeks transakcji, używany przy wywołaniu RPC getrawtransaction (domyślnie: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Czas w sekundach, przez jaki nietrzymające się zasad węzły nie będą mogły ponownie się podłączyć (domyślnie: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Wypuść informacje debugowania (domyślnie: %u, podanie <category> jest opcjonalne) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Użyj oddzielnego prozy SOCKS5 aby osiągnąć węzły w ukrytych usługach Tor (domyślnie: %s) + + + (default: %s) + (domyślnie: %s) + + + Acceptable ciphers (default: %s) + Akceptowane szyfry (domyślne: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Zawsze wypytuj o adresy węzłów poprzez podejrzenie DNS (domyślnie: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Wyłącz tryb bezpieczny, zastąp domyślne zachowanie przełączania w tryb bezpieczny (domyślnie: %u) + Error loading wallet.dat Błąd ładowania wallet.dat + + Force safe mode (default: %u) + Wymuś tryb bezpieczny (domyślnie: %u) + + + Generate coins (default: %u) + Generuj monety (domyślnie: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Ile bloków sprawdzić przy starcie (domyślnie: %u, 0 = wszystkie) + + + Include IP addresses in debug output (default: %u) + Dołącz adresy IP do logowania (domyślnie: %u) + Invalid -proxy address: '%s' Nieprawidłowy adres -proxy: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Ogranicz rozmiar pamięci podręcznej sygnatur do <n> wpisów (domyślnie: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Nasłuchuj połączeń JSON-RPC na <port> (domyślnie: %u lub testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Nasłuchuj połączeń na <port> (domyślnie: %u lub testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Utrzymuj maksymalnie <n> połączeń z węzłami (domyślnie: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Maksymalny bufor odbioru na połączenie, <n>*1000 bajtów (domyślnie: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Maksymalny bufor wysyłania na połączenie, <n>*1000 bajtów (domyślnie: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + Akceptuj tylko łańcuch bloków zgodny z wbudowanymi punktami kontrolnymi (domyślnie: %u) + + + Prepend debug output with timestamp (default: %u) + Dołączaj znacznik czasu do logowania (domyślnie: %u) + + + Relay and mine data carrier transactions (default: %u) + Przekazuj i wydobywaj transakcje zawierające dane (domyślnie: %u) + + + Relay non-P2SH multisig (default: %u) + Przekazuj transakcje multisig inne niż P2SH (domyślnie: %u) + + + Run a thread to flush wallet periodically (default: %u) + Uruchom wątek do okresowego zapisywania portfela (domyślnie: %u) + + + Server certificate file (default: %s) + Plik certyfikatu serwera (domyślnie: %s) + + + Server private key (default: %s) + Klucz prywatny serwera (domyślnie: %s) + + + Set key pool size to <n> (default: %u) + Ustaw rozmiar puli kluczy na <n> (domyślnie: %u) + + + Set minimum block size in bytes (default: %u) + Ustaw minimalny rozmiar bloku w bajtach (domyślnie: %u) + + + Set the number of threads to service RPC calls (default: %d) + Ustaw liczbę wątków do obsługi RPC (domyślnie: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Ustaw flagę DB_PRIVATE w środowisku wallet db (domyślnie: %u) + + + Specify configuration file (default: %s) + Wskaż plik konfiguracyjny (domyślnie: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Wskaż czas oczekiwania na połączenie w milisekundach (minimum: 1, domyślnie: %d) + + + Specify pid file (default: %s) + Wskaż plik pid (domyślnie: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Wydawaj niepotwierdzoną resztę podczas wysyłania transakcji (domyślnie: %u) + + + Stop running after importing blocks from disk (default: %u) + Zatrzymaj po zaimportowaniu bloków z dysku (domyślnie: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Próg, po którym nastąpi rozłączenie węzłów nietrzymających się zasad (domyślnie: %u) + Unknown network specified in -onlynet: '%s' Nieznana sieć w -onlynet: '%s' @@ -2685,10 +3518,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Invalid amount for -paytxfee=<amount>: '%s' Nieprawidłowa kwota dla -paytxfee=<amount>: '%s' - - Invalid amount - Nieprawidłowa kwota - Insufficient funds Niewystarczające środki @@ -2699,7 +3528,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎ Add a node to connect to and attempt to keep the connection open - Dodaj węzeł do łączenia się and attempt to keep the connection open + Dodaj węzeł do podłączenia się i próbuj utrzymać to połączenie Loading wallet... @@ -2721,10 +3550,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com⏎Done loading Wczytywanie zakończone - - To use the %s option - Aby użyć opcji %s - Error Błąd diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts index 65f07ca59c6fe..fb212b5e18709 100644 --- a/src/qt/locale/bitcoin_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -1,17 +1,17 @@ - + AddressBookPage - Double-click to edit address or label - Duplo-clique para editar o endereço ou o rótulo + Right-click to edit address or label + Clique com o botão direito para editar o endereço ou rótulo Create a new address - Criar um novo endereço + Criar novo endereço &New - &Novo + Novo Copy the currently selected address to the system clipboard @@ -19,15 +19,15 @@ &Copy - &Copiar + Copiar C&lose - &Fechar + Fechar &Copy Address - &Copiar Endereço + Copiar Endereço Delete the currently selected address from the list @@ -39,11 +39,11 @@ &Export - &Exportar + Exportar &Delete - &Excluir + Excluir Choose the address to send coins to @@ -79,7 +79,7 @@ &Edit - &Editar + Editar Export Address List @@ -224,7 +224,7 @@ BitcoinGUI Sign &message... - &Assinar Mensagem... + Assinar Mensagem... Synchronizing with network... @@ -232,7 +232,7 @@ &Overview - &Visão geral + Visão geral Node @@ -244,7 +244,7 @@ &Transactions - &Transações + Transações Browse transaction history @@ -268,19 +268,19 @@ &Options... - &Opções... + Opções... &Encrypt Wallet... - &Criptografar Carteira... + Criptografar Carteira... &Backup Wallet... - &Backup Carteira... + Backup Carteira... &Change Passphrase... - &Mudar frase de segurança... + Mudar frase de segurança... &Sending addresses... @@ -288,15 +288,15 @@ &Receiving addresses... - &Receber endereços... + Receber endereços... Open &URI... - Abrir &URI... + Abrir URI... Bitcoin Core client - Cliente Bitcoin Core + Cliente Bitcoin Importing blocks from disk... @@ -332,7 +332,7 @@ &Verify message... - &Verificar mensagem... + Verificar mensagem... Bitcoin @@ -344,19 +344,19 @@ &Send - &Enviar + Enviar &Receive - &Receber + Receber Show information about Bitcoin Core - Mostrar informações sobre Bitcoin Core + Mostrar informações sobre Bitcoin &Show / Hide - &Exibir/Ocultar + Exibir/Ocultar Show or hide the main Window @@ -368,7 +368,7 @@ Sign messages with your Bitcoin addresses to prove you own them - Assine mensagems com seus endereços Bitcoin para provar que você é dono deles + Assine mensagens com seus endereços Bitcoin para provar que você é dono delas Verify messages to ensure they were signed with specified Bitcoin addresses @@ -392,7 +392,7 @@ Bitcoin Core - Núcleo Bitcoin + Bitcoin Request payments (generates QR codes and bitcoin: URIs) @@ -400,7 +400,7 @@ &About Bitcoin Core - &A respeito do Bitcoin Core + &Sobre Bitcoin Show the list of used sending addresses and labels @@ -420,7 +420,7 @@ Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options - Mostra a mensagem de ajuda do Bitcoin Core para pegar a lista com os comandos possíveis + Mostra a mensagem de ajuda do Bitcoin para pegar a lista com os comandos possíveis %n active connection(s) to Bitcoin network @@ -519,6 +519,10 @@ Endereço: %4 CoinControlDialog + + Coin Selection + Selecionar Moeda + Quantity: Quantidade: @@ -567,6 +571,14 @@ Endereço: %4 Amount Quantidade + + Received with label + Recebido com rótulo + + + Received with address + Recebido com endereço + Date Data @@ -810,7 +822,7 @@ Endereço: %4 HelpMessageDialog Bitcoin Core - Núcleo Bitcoin + Bitcoin version @@ -822,7 +834,7 @@ Endereço: %4 About Bitcoin Core - Sobre o Bitcoin Core + Sobre o Bitcoin Command-line options @@ -869,15 +881,15 @@ Endereço: %4 Welcome to Bitcoin Core. - Bem vindo ao Bitcoin Core. + Bem vindo ao Bitcoin. As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. - A primeira vez que o programa é aberto você pode escolher onde o Bitcoin Core vai guardar os dados. + A primeira vez que o programa é aberto você pode escolher onde o Bitcoin vai guardar os dados. Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Bitcoin Core vai fazer download e guardar uma cópia da longa e única cadeia de blocos do Bitcoin: Blockchain. Pelo menos %1 GB de dados serão armazenados nesse diretório e isso aumentará ao longo do tempo. Sua carteira também será armazenada nesse diretório. + O Bitcoin vai fazer download e salvar uma cópia da cadeia de blocos do Bitcoin: Blockchain. Pelo menos %1 GB de dados serão armazenados nesse diretório e isso aumentará ao longo do tempo. Sua carteira também será armazenada nesse diretório. Use the default data directory @@ -889,7 +901,7 @@ Endereço: %4 Bitcoin Core - Núcleo Bitcoin + Bitcoin Error: Specified data directory "%1" cannot be created. @@ -979,7 +991,7 @@ Endereço: %4 Third party transaction URLs - URLs da transação de terceiros + URLs de transação de terceiros: Active command-line options that override above options: @@ -1029,6 +1041,14 @@ Endereço: %4 Map port using &UPnP Mapear porta usando &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Conectar na rede Bitcoin através de um proxy SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Conectar usando proxy SOCKS5 (proxy pradrão): + Proxy &IP: &IP do proxy: @@ -1067,7 +1087,7 @@ Endereço: %4 User Interface &language: - &Língua da interface com usuário: + &Linguagem da interface: The user interface language can be set here. This setting will take effect after restarting Bitcoin. @@ -1134,7 +1154,7 @@ Endereço: %4 Watch-only: - Apenas visualizar: + Monitorados: Available: @@ -1176,10 +1196,26 @@ Endereço: %4 Your current balance in watch-only addresses Sua balança atual em endereços apenas visualizados + + Spendable: + Disponível: + Recent transactions Transações recentes + + Unconfirmed transactions to watch-only addresses + Transações não confirmadas de um endereço monitorado + + + Mined balance in watch-only addresses that has not yet matured + Saldo minerado de endereço monitorado ainda não foi implementado + + + Current total balance in watch-only addresses + Balanço total em endereços monitorados + out of sync fora de sincronia @@ -1199,10 +1235,18 @@ Endereço: %4 Payment request rejected Solicitação de pagamento rejeitada + + Payment request network doesn't match client network. + Rede de pedido de pagamento não corresponde rede do cliente. + Payment request has expired. Solicitação de pagamento expirou. + + Payment request is not initialized. + Pedido de pagamento não é inicializado. + Requested payment amount of %1 is too small (considered dust). Valor do pagamento solicitado de %1 é muito pequeno (Considerado poeira). @@ -1219,10 +1263,18 @@ Endereço: %4 Payment request fetch URL is invalid: %1 URL de cobrança é inválida: %1 + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI não pode ser analisado ! Isto pode ser causado por um endereço Bitcoin inválido ou parâmetros URI informados incorretamente. + Payment request file handling Manipulação de arquivo de cobrança + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Arquivo de pedido de pagamento não pode ser lido ! Isto pode ser causado por uma requisição de pagamento inválida. + Unverified payment requests to custom payment scripts are unsupported. Cobrança não verificada para scripts de pagamento personalizados não é suportado. @@ -1231,10 +1283,22 @@ Endereço: %4 Refund from %1 Reembolso de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Pedido de pagamento %1 é muito grande (%2 bytes, permitido %3 bytes). + + + Payment request DoS protection + Pagamento requer proteção DoS + Error communicating with %1: %2 Erro na comunicação com %1: %2 + + Payment request cannot be parsed! + Requisição de pagamento não pode ser analisado! + Bad response from server %1 Resposta incorreta do servidor %1 @@ -1250,9 +1314,17 @@ Endereço: %4 PeerTableModel + + User Agent + User Agent + + + Address/Hostname + Endereço/Hostname + Ping Time - Tempo de Ping + Ping @@ -1349,7 +1421,11 @@ Endereço: %4 Using OpenSSL version - Usando OpenSSL versão + Versão do OpenSSL + + + Using BerkeleyDB version + Versão do BerkeleyDB Startup time @@ -1387,6 +1463,10 @@ Endereço: %4 &Peers &Pares + + Select a peer to view detailed information. + Selecione um cliente para ver informações detalhadas. + Direction Direção @@ -1395,14 +1475,30 @@ Endereço: %4 Version Versão + + User Agent + User Agent + Services Serviços + + Starting Height + Altura inicial + + + Sync Height + Altura sincronizada + Ban Score Banir pontuação + + Connection Time + Tempo de conexão + Last Send Ultimo Envio @@ -1417,11 +1513,11 @@ Endereço: %4 Bytes Received - bytes Recebidos + Bytes recebidos Ping Time - Tempo de Ping + Ping Last block time @@ -1519,7 +1615,11 @@ Endereço: %4 Unknown Desconhecido - + + Fetching... + Buscando... + + ReceiveCoinsDialog @@ -1693,11 +1793,11 @@ Endereço: %4 SendCoinsDialog Send Coins - Enviar dinheiro + Enviar moedas Coin Control Features - Opções de Controle da Moeda + Opções de controle de moeda Inputs... @@ -1737,7 +1837,7 @@ Endereço: %4 Change: - trocar + troco If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. @@ -1747,6 +1847,78 @@ Endereço: %4 Custom change address Endereço específico de troco + + Transaction Fee: + Taxa de transação: + + + Choose... + Escolher + + + collapse fee-settings + colapso Taxa de definições + + + Minimize + Minimizar + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se a taxa personalizada for definida em 1000 satoshis e a transação tiver somente 250 bytes, então "por kilobyte" somente paga 250 satoshis de taxa, enquanto "pelo menos" paga 1000 satoshis. Se a transação for maior que 1 kilobyte, ambos pagam por kilobyte. + + + per kilobyte + por kilobyte + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se a taxa personalizada for definida em 1000 satoshis e a transação tiver somente 250 bytes, então "por kilobyte" somente paga 250 satoshis de taxa, enquanto "pelo menos" paga 1000 satoshis. Se a transação for maior que 1 kilobyte, ambos pagam por kilobyte. + + + total at least + pelo menos + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Pagando apenas a taxa mínima é bom, desde que haja pouco volume de transações. Mas esteja ciente de que isso pode acabar em uma transação nunca confirmanda uma vez que há mais demanda por transações do que a rede pode processar. + + + (read the tooltip) + (Leia o popup) + + + Recommended: + Recomendado: + + + Custom: + Personalizado: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Smart fee não iniciado. Isso requer alguns blocos...) + + + Confirmation time: + Tempo de confirmação: + + + normal + normal + + + fast + rápido + + + Send as zero-fee transaction if possible + Enviar sem taxa de transação se possível + + + (confirmation may take longer) + (confirmação pode demorar) + Send to multiple recipients at once Enviar para vários destinatários de uma só vez @@ -1781,7 +1953,7 @@ Endereço: %4 Confirm send coins - Confirmar envio de dinheiro + Confirmar envio de moedas %1 to %2 @@ -1815,10 +1987,6 @@ Endereço: %4 Copy change Copia alteração - - Total Amount %1 (= %2) - Quantidade Total %1 (= %2) - or ou @@ -1851,6 +2019,18 @@ Endereço: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. A transação foi rejeitada! Isso pode acontecer se alguns bitcoins na sua carteira já foram gastos em outro local, por exemplo se você tiver uma cópia do wallet.dat e os bitcoins tiverem sido gastos na cópia mas não marcados como gastos aqui ainda. + + A fee higher than %1 is considered an insanely high fee. + Uma taxa acima de %1 é considerada uma taxa insanamente alta. + + + Pay only the minimum fee of %1 + Pagar somente a taxa mínima de %1 + + + Estimated to begin confirmation within %1 block(s). + Confirmação estimada em %1 bloco(s) + Warning: Invalid Bitcoin address Atenção: endereço de Bitcoin inválido @@ -1904,7 +2084,7 @@ Endereço: %4 The Bitcoin address to send the payment to - O enderesso Bitcoin que enviarár o pagamento + Endereço que enviará o pagamento Alt+A @@ -1955,11 +2135,11 @@ Endereço: %4 ShutdownWindow Bitcoin Core is shutting down... - Bitcoin Core está desligando... + Bitcoin está desligando... Do not shut down the computer until this window disappears. - Não desligue o computador até esta janela desaparece. + Não desligue o computador até esta janela desapareça. @@ -1974,7 +2154,7 @@ Endereço: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Você pode assinar mensagens com seus endereços para provar que você é o dono deles. Seja cuidadoso para não assinar algo vago, pois ataques de pishing podem tentar te enganar para dar sua assinatura de identidade para eles. Apenas assine afirmações completamente detalhadas com as quais você concorda. + Você pode assinar mensagens com seus endereços para provar que você é o dono delas. Seja cuidadoso para não assinar algo vago, pois ataques de phishing podem tentar te enganar para dar sua assinatura de identidade para eles. Apenas assine afirmações completamente detalhadas com as quais você concorda. The Bitcoin address to sign the message with @@ -2105,11 +2285,11 @@ Endereço: %4 SplashScreen Bitcoin Core - Núcleo Bitcoin + Bitcoin The Bitcoin Core developers - Programadores do Bitcoin Core + Programadores do Bitcoin [testnet] @@ -2179,7 +2359,7 @@ Endereço: %4 watch-only - Vizualização apenas + monitorado label @@ -2235,7 +2415,7 @@ Endereço: %4 Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Bitcoins recém minerados precisam aguardar %1 blocos antes de serem gastos. Quando o bloco foi gerado, ele foi disseminado pela rede para ser adicionado à cadeia de blocos: blockchain. Se ele falhar em ser inserido na cadeia, seu estado será modificado para "não aceito" e ele não poderá ser gasto. Isso pode acontecer eventualmente quando blocos são gerados quase que simultaneamente. + Bitcoins recém minerados precisam aguardar %1 blocos antes de serem gastos. Quando o bloco foi gerado, ele foi disseminado pela rede para ser adicionado à blockchain. Se ele falhar em ser inserido na cadeia, seu estado será modificado para "não aceito" e ele não poderá ser gasto. Isso pode acontecer eventualmente quando blocos são gerados quase que simultaneamente. Debug information @@ -2341,15 +2521,15 @@ Endereço: %4 Received with - Recebido por + Recebido Received from - Recebido de + Recebido Sent to - Enviado para + Enviado Payment to yourself @@ -2361,7 +2541,7 @@ Endereço: %4 watch-only - Vizualização apenas + monitorado (n/a) @@ -2379,6 +2559,10 @@ Endereço: %4 Type of transaction. Tipo de transação. + + Whether or not a watch-only address is involved in this transaction. + Mostrar ou não endereços Bitcoin na lista de transações. + Destination address of transaction. Endereço de destino da transação. @@ -2420,11 +2604,11 @@ Endereço: %4 Received with - Recebido por + Recebido Sent to - Enviado para + Enviado To yourself @@ -2476,7 +2660,7 @@ Endereço: %4 Watch-only - Vizualização apenas + Monitorado Exporting Failed @@ -2533,7 +2717,11 @@ Endereço: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Unidade para mostrar. Clique para selecionar outra unidade. + + WalletFrame @@ -2617,45 +2805,21 @@ Endereço: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Aceitar conexões externas (padrão: 1 se opções -proxy ou -connect não estiverem presentes) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, você deve especificar uma senha rpcpassword no arquivo de configuração:⏎ -%s⏎ -É recomendado que você use a seguinte senha aleatória:⏎ -rpcuser=bitcoinrpc⏎ -rpcpassword=%s⏎ -(você não precisa lembrar esta senha)⏎ -O nome de usuário e a senha NÃO PODEM ser os mesmos.⏎ -Se o arquivo não existir, crie um com permissão de leitura apenas para o dono.⏎ -É recomendado também definir um alertnotify para que você seja notificado de problemas;⏎ -por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Vincular ao endereço fornecido e sempre escutar nele. Use a notação [host]:port para IPv6 - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entra no modo de teste de regressão, que usa uma cadeia especial onde os blocos podem ser resolvidos instantaneamente. + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Apaga todas as transações da carteira e somente recupera essas partes da blockchain usando o comando -rescan na inicialização - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Erro: A transação foi rejeitada. Isso pode acontecer se alguns dos bitcoins de sua carteira já haviam sido gastos, por exemplo se você usou uma cópia do arquivo wallet.dat e alguns bitcoins foram gastos na cópia mas não foram marcados como gastos aqui. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuido sob a licença MIT software license. Veja os termos em <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Erro: Esta transação requer uma taxa de transação de pelo menos %s, por causa sua quantidade, complexidade ou uso de dinheiro recebido recentemente. + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entra no modo de teste de regressão, que usa uma cadeia especial onde os blocos podem ser resolvidos instantaneamente. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2675,7 +2839,7 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Unable to bind to %s on this computer. Bitcoin Core is probably already running. - Impossível ouvir em %s neste computador. Bitcoin Core já está sendo executado provavelmente. + Impossível ouvir em %s neste computador. Provavelmente o Bitcoin já está sendo executado. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -2697,6 +2861,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Atenção: wallet.dat corrompido, dados recuperados! Arquivo wallet.dat original salvo como wallet.{timestamp}.bak em %s; se seu saldo ou transações estiverem incorretos, você deve restaurar o backup. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Lista Branca pares de ligação da máscara de rede dado ou o endereço IP . Pode ser especificado várias vezes. + (default: 1) (padrão: 1) @@ -2757,18 +2925,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Error opening block database Erro ao abrir banco de dados de blocos - - Error: A fatal internal error occured, see debug.log for details - Erro: Um erro interno fatal ocorreu, ver o debug.log para detalhes - Error: Disk space is low! Erro: Espaço em disco insuficiente! - - Error: Wallet locked, unable to create transaction! - Erro: Carteira bloqueada, impossível criar transação! - Failed to listen on any port. Use -listen=0 if you want this. Falha ao escutar em qualquer porta. Use -listen=0 se você quiser isso. @@ -2793,6 +2953,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Not enough file descriptors available. Decriptadores de arquivos disponíveis insuficientes. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Somente conectar a clientes na rede <net> (ipv4, ipv6 ou onion) + Rebuild block chain index from current blk000??.dat files Reconstruir índice de blockchain a partir dos arquivos atuais blk000??.dat @@ -2813,6 +2977,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ This is intended for regression testing tools and app development. Isso é usado para testes de regressão e ferramentas de desenvolvimento. + + Use UPnP to map the listening port (default: %u) + Use UPnP para mapear a porta de entrada (padrão: %u) + Verifying blocks... Verificando blocos... @@ -2827,27 +2995,35 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Wallet options: - Opções da Carteira: + Opções da carteira: You need to rebuild the database using -reindex to change -txindex - Você precisa reconstruir o banco de dados utilizando-reindexar a mudar-txindex + Você precisa reconstruir o banco de dados utilizando -reindex Imports blocks from external blk000??.dat file Importar blocos de um arquivo externo blk000??.dat + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Permitir conexões JSON-RPC de uma fonte específica. Válido para um único ip (ex. 1.2.3.4), até uma rede/máscara (ex. 1.2.3.4/255.255.255.0) ou uma rede/CIDR (ex. 1.2.3.4/24). Esta opção pode ser usada múltiplas vezes + An error occurred while setting up the RPC address %s port %u for listening: %s Um erro ocorreu enquanto configurando o endereço RPC %s porta %u para escuta: %s + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Vincular ao endereço fornecido e sempre escutar nele. Use a notação [host]:port para IPv6 + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. - Não foi possível obter proteção exclusiva ao diretório de dados %s. Bitcoin Core já está sendo executado provavelmente. + Não foi possível obter acesso exclusivo ao diretório de dados %s. Provavelmente Bitcoin já está sendo executado. Error: Listening for incoming connections failed (listen returned error %s) - Erro: Escutar por conexões de entrada falhou (escutar retornou erro %s) + Erro: Aceitar conexões de entrada falhou (retornou erro %s) Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) @@ -2865,6 +3041,30 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Define o tamanho máximo de alta-prioridade por taxa baixa nas transações em bytes (padrão: %d) + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Para usar o bitcoind, ou a opção -server do bitcoin-qt, você deve definir rpcpassword no arquivo de configuração: +%s +É recomendado que use a seguinte senha randômica: +rpcuser=bitcoinrpc +rpcpassword=%s +(você não precisa lembrar esta senha) +O usuário e senha NÃO DEVEM ser os mesmos. +Se o arquivo não existir, crie com permissão de proprietário criador somente. +É também recomendado definir a opção alertnotify se deseja ser notificado de problemas; +por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br + + Cannot resolve -whitebind address: '%s' Impossível resolver endereço -whitebind: '%s' @@ -2881,6 +3081,18 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Could not parse -rpcbind value %s as network address Impossível interpretar o valor -rpcbind %s como um endereço da rede + + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core + Erro ao carregar wallet.dat: A carteira requer a nova versão do Bitcoin + + + Error reading from database, shutting down. + Erro ao ler o banco de dados. Finalizando. + + + Error: Unsupported argument -tor found, use -onion. + Erro: Argumento não suportado -tor, use -onion. + Fee (in BTC/kB) to add to transactions you send (default: %s) Taxa (em BTC/kB) a adicionar nas transações que você envia (padrão: %s) @@ -2889,6 +3101,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Information Informação + + Invalid amount for -maxtxfee=<amount>: '%s' + Quantidade inválida para -maxtxfee=<quantidade>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Quantidade inválida para -minrelaytxfee=<amount>: '%s' @@ -2905,17 +3121,13 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Invalid netmask specified in -whitelist: '%s' Máscara de rede especificada em -whitelist: '%s' é inválida - - Keep at most <n> unconnectable blocks in memory (default: %u) - Manter no máximo <n> blocos pendentes em memória (padrão: %u) - Need to specify a port with -whitebind: '%s' Necessário informar uma porta com -whitebind: '%s' - Print block on startup, if found in block index - Imprime bloco ao iniciar, se encontrado no índice de blocos + Node relay options: + Opções de relé nó : RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2937,6 +3149,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Send trace/debug info to console instead of debug.log file Mandar informação de trace/debug para o console em vez de para o arquivo debug.log + + Send transactions as zero-fee transactions if possible (default: %u) + Enviar transação sem taxa, se possível (padrão: %u) + Show all debugging options (usage: --help -help-debug) Exibir todas opções de debug (uso: --help -help-debug) @@ -2961,6 +3177,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Transaction amounts must be positive As quantidades das transações devem ser positivas. + + Transaction too large for fee policy + Transação muito grande para enviar sem taxa + Transaction too large Transação muito larga @@ -2987,7 +3207,7 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Warning: This version is obsolete, upgrade required! - Atenção: Esta versão está obsoleta, atualização exigida! + Atenção: Esta versão está obsoleta, atualização necessária! Zapping all transactions from wallet... @@ -3037,14 +3257,82 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Error loading wallet.dat: Wallet corrupted Erro ao carregar wallet.dat: Carteira corrompida + + (default: %s) + (padrão: %s) + + + Acceptable ciphers (default: %s) + Cífras aceitas (padrão: %s) + Error loading wallet.dat Erro ao carregar wallet.dat + + Force safe mode (default: %u) + Forçar modo seguro (default: %u) + + + Generate coins (default: %u) + Gerar moedas (padrão: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Quantos blocos devem ser checados ao iniciar (padrão: %u, 0 = todos) + + + Include IP addresses in debug output (default: %u) + Incluir endereço IP na saída de debug (padrão: %u) + Invalid -proxy address: '%s' Endereço -proxy inválido: '%s' + + Limit size of signature cache to <n> entries (default: %u) + Tamanho limite do cache de assinaturas de <n> entradas (padrão: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Aguardar por conexões na porta <port> (padrão: %u ou testnet: %u) + + + Prepend debug output with timestamp (default: %u) + Adiciona timestamp como prefixo no debug (default: %u) + + + Relay non-P2SH multisig (default: %u) + Retransmitir P2SH não multisig (default: %u) + + + Server certificate file (default: %s) + Arquivo de certificado do servidor (padrão: %s) + + + Server private key (default: %s) + Chave privada do servidor (padrão: %s) + + + Set key pool size to <n> (default: %u) + Defina o tamanho da chave para piscina <n> (default: %u) + + + Set minimum block size in bytes (default: %u) + Definir tamanho mínimo do bloco, em bytes (padrão: %u) + + + Set the number of threads to service RPC calls (default: %d) + Defina o número de threads para chamadas do serviço RPC (padrão: %d) + + + Specify configuration file (default: %s) + Especificar arquivo de configuração (padrão: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Especificar tempo para desistência de conexões, em mili segundos (mínimo: 1, padrão: %d) + Specify pid file (default: %s) Especificar aqrquivo pid (default: %s) @@ -3065,10 +3353,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Invalid amount for -paytxfee=<amount>: '%s' Quantidade inválida para -paytxfee=<quantidade>: '%s' - - Invalid amount - Quantidade inválida - Insufficient funds Saldo insuficiente @@ -3101,10 +3385,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com⏎ Done loading Carregamento terminado - - To use the %s option - Para usar a opção %s - Error Erro diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts index dc016623e4f9d..39e65ca1d177a 100644 --- a/src/qt/locale/bitcoin_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Clique duas vezes para editar o endereço ou o rótulo + Right-click to edit address or label + Clique á direita para editar endereço ou rótulo Create a new address @@ -43,7 +43,7 @@ &Delete - E&liminar\ + &Eliminar\ Choose the address to send coins to @@ -93,7 +93,11 @@ Exporting Failed A Exportação Falhou - + + There was an error trying to save the address list to %1. Please try again. + Houve um erro ao tentar a guardar a lista de endereços em %1. Por favor tente novamente. + + AddressTableModel @@ -290,6 +294,10 @@ Open &URI... Abrir &URI... + + Bitcoin Core client + Cliente Bitcoin Core + Importing blocks from disk... A importar blocos do disco... @@ -342,6 +350,10 @@ &Receive &Receber + + Show information about Bitcoin Core + Mostrar informação sobre Bitcoin Core + &Show / Hide Mo&strar / Ocultar @@ -368,11 +380,11 @@ &Settings - Con&figurações + &Configurações &Help - A&juda + &Ajuda Tabs toolbar @@ -404,7 +416,7 @@ &Command-line options - Opções da linha de &comandos + &Opções da linha de &comandos Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options @@ -507,6 +519,10 @@ Endereço: %4 CoinControlDialog + + Coin Selection + Seleção de moeda + Quantity: Quantidade: @@ -527,6 +543,10 @@ Endereço: %4 Fee: Taxa: + + Dust: + Lixo: + After Fee: Depois da Taxa: @@ -551,6 +571,14 @@ Endereço: %4 Amount Quantia + + Received with label + Recebido com rótulo + + + Received with address + Recebido com endereço + Date Data @@ -611,6 +639,10 @@ Endereço: %4 Copy priority Copiar prioridade + + Copy dust + Copiar lixo + Copy change Copiar alteração @@ -659,6 +691,10 @@ Endereço: %4 none nenhum + + Can vary +/- %1 satoshi(s) per input. + Pode variar +/- %1 satoshi(s) por entrada + yes sim @@ -792,6 +828,10 @@ Endereço: %4 version versão + + (%1-bit) + (%1-bit) + About Bitcoin Core Sobre o Bitcoin Core @@ -820,6 +860,10 @@ Endereço: %4 Start minimized Iniciar minimizado + + Set SSL root certificates for payment request (default: -system-) + Configurar certificados SSL root para pedido de pagamento (default: -system-) + Show splash screen on startup (default: 1) Mostrar imagem ao iniciar (por defeito: 1) @@ -859,11 +903,23 @@ Endereço: %4 Bitcoin Core Bitcoin Core + + Error: Specified data directory "%1" cannot be created. + Erro: Pasta de dados especificada como "%1, não pode ser criada. + Error Erro - + + %n GB of free space available + %n GB de espaço livre disponível %n GB de espaço livre disponível + + + (of %n GB needed) + (de %n GB necessários)(de %n GB necessário) + + OpenURIDialog @@ -917,10 +973,27 @@ Endereço: %4 Number of script &verification threads Número de processos de &verificação de scripts + + Accept connections from outside + Aceitar conceções externas + + + Allow incoming connections + Permitir conexão + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) Endereço IP do proxy (p.ex. IPv4: 127.0.0.1 / IPv6: ::1) + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + URLs de outrem (ex. um explorador de blocos) que aparece no separador de transações como itens do menu de contexto. +%s do URL é substituído por hash de transação. Vários URLs são separados por barra vertical |. + + + Third party transaction URLs + URLs de transação de outrem + Active command-line options that override above options: Opções de linha de comandos ativas que se sobrepõem ás opções anteriores: @@ -937,6 +1010,10 @@ Endereço: %4 &Network &Rede + + (0 = auto, <0 = leave that many cores free) + (0 = auto, <0 = Deixar essa quantidade de núcleos livre) + W&allet C&arteira @@ -965,17 +1042,25 @@ Endereço: %4 Map port using &UPnP Mapear porta usando &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Conectar à rede da Bitcoin através dum proxy SOCLS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Ligar através dum proxy SOCKS5 (proxy por defeito): + Proxy &IP: &IP do proxy: &Port: - &Porta: + &Porto: Port of the proxy (e.g. 9050) - Porta do proxy (p.ex. 9050) + Porto do proxy (p.ex. 9050) &Window @@ -999,7 +1084,7 @@ Endereço: %4 &Display - Vis&ualização + &Visualização User Interface &language: @@ -1068,6 +1153,10 @@ Endereço: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede Bitcoin depois de estabelecer ligação, mas este processo ainda não está completo. + + Watch-only: + Modo-verificação: + Available: Disponível: @@ -1092,6 +1181,10 @@ Endereço: %4 Mined balance that has not yet matured O saldo minado ainda não amadureceu + + Balances + Balanços + Total: Total: @@ -1100,6 +1193,30 @@ Endereço: %4 Your current total balance O seu saldo total actual + + Your current balance in watch-only addresses + O seu balanço atual em endereços de apenas observação + + + Spendable: + Dispensável: + + + Recent transactions + transações recentes + + + Unconfirmed transactions to watch-only addresses + Transações não confirmadas para endereços modo-verificação + + + Mined balance in watch-only addresses that has not yet matured + Saldo minado ainda não disponivél de endereços modo-verificação + + + Current total balance in watch-only addresses + Saldo disponivél em enderços modo-verificação + out of sync fora de sincronia @@ -1119,6 +1236,18 @@ Endereço: %4 Payment request rejected Pedido de pagamento rejeitado + + Payment request network doesn't match client network. + Rede de requisição de pagamento não corresponde com a rede do cliente. + + + Payment request has expired. + Pedido de pagamento expirado. + + + Payment request is not initialized. + Requisição de pagamento não iniciou. + Requested payment amount of %1 is too small (considered dust). Quantia solicitada para pagamento de %1 é muito pequena (considerada "pó"). @@ -1135,10 +1264,18 @@ Endereço: %4 Payment request fetch URL is invalid: %1 O URL de pedido de pagamento é inválido: %1 + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI não foi lido correctamente! Isto pode ser causado por um endereço Bitcoin inválido ou por parâmetros URI malformados. + Payment request file handling Controlo de pedidos de pagamento. + + Payment request file cannot be read! This can be caused by an invalid payment request file. + O ficheiro de pedido de pagamento não pôde ser lido! Isto pode ter sido causado por um ficheiro de pedido de pagamento inválido. + Unverified payment requests to custom payment scripts are unsupported. Pedidos de pagamento não-verificados para scripts de pagamento personalizados não são suportados. @@ -1147,10 +1284,22 @@ Endereço: %4 Refund from %1 Reembolsar de %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Pedido de pagamento %1 excede o tamanho (%2 bytes, permitido %3 bytes). + + + Payment request DoS protection + Pedido de pagamento proteção DdS + Error communicating with %1: %2 Erro ao comunicar com %1: %2 + + Payment request cannot be parsed! + O pedido de pagamento não pode ser lido ou processado! + Bad response from server %1 Má resposta do servidor %1 @@ -1166,13 +1315,33 @@ Endereço: %4 PeerTableModel - + + User Agent + Agente Usuário + + + Address/Hostname + Endereço/Nome da Rede + + + Ping Time + Tempo de Latência + + QObject Amount Quantia + + Enter a Bitcoin address (e.g. %1) + Entre um endereço Bitcoin (ex. %1) + + + %1 d + %1 d + %1 h %1 h @@ -1181,11 +1350,31 @@ Endereço: %4 %1 m %1 m + + %1 s + %1 s + + + NETWORK + REDE + + + UNKNOWN + DESCONHECIDO + + + None + Nenhum + N/A N/D - + + %1 ms + %1 ms + + QRImageWidget @@ -1235,6 +1424,10 @@ Endereço: %4 Using OpenSSL version Usando versão OpenSSL + + Using BerkeleyDB version + Versão BerkeleyDB em uso + Startup time Hora de inicialização @@ -1259,6 +1452,74 @@ Endereço: %4 Current number of blocks Número actual de blocos + + Received + Recebido + + + Sent + Enviado + + + &Peers + &Conexção + + + Select a peer to view detailed information. + Selecione uma conexação para ver informação em detalhe. + + + Direction + Direcção + + + Version + Versão + + + User Agent + Agente Usuário + + + Services + Serviços + + + Starting Height + Iniciando Altura + + + Sync Height + Sincronização da Altura + + + Ban Score + Resultado da Suspensão + + + Connection Time + Tempo de Conexção + + + Last Send + Ultimo Envio + + + Last Receive + Ultimo Recebimento + + + Bytes Sent + Bytes Enviados + + + Bytes Received + Bytes Recebidos + + + Ping Time + Tempo de Latência + Last block time Data do último bloco @@ -1335,7 +1596,31 @@ Endereço: %4 %1 GB %1 GB - + + via %1 + via %1 + + + never + nunca + + + Inbound + Entrada + + + Outbound + Saída + + + Unknown + Desconhecido + + + Fetching... + Em busca... + + ReceiveCoinsDialog @@ -1344,7 +1629,7 @@ Endereço: %4 &Label: - Rótu&lo: + &Rótulo: &Message: @@ -1563,6 +1848,78 @@ Endereço: %4 Custom change address Endereço de troco personalizado + + Transaction Fee: + Custo da Transação: + + + Choose... + Escolha... + + + collapse fee-settings + fechar definições-de custos + + + Minimize + Minimizar + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se a taxa fixa for 1000 satoshis e a transação for somente 250 bytes, pagará somente 250 satoshis "por kilobyte" em custos se trasacionar "pelo menos" 1000 satoshis. Transações superiores a um kilobyte são cobradas por kilobyte. + + + per kilobyte + por kilobyte + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Se a taxa fixa for 1000 satoshis e a transação for somente 250 bytes, pagará somente 250 satoshis "por kilobyte" em custos se trasacionar "pelo menos" 1000 satoshis. Transações superiores a um kilobyte são cobradas por kilobyte. + + + total at least + total minimo + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Pode pagar somente a taxa minima desde que haja um volume de transações inferior ao espaço nos blocos. No entanto tenha em atenção que esta opção poderá acabar em uma transação nunca confirmada assim que os pedidos de transações excedam a capacidade de processamento da rede. + + + (read the tooltip) + (leia a dica) + + + Recommended: + Recomendado: + + + Custom: + Uso: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Taxa inteligente ainda não foi acionada. Normalmente demora alguns blocos...) + + + Confirmation time: + Tempo de confirmação: + + + normal + normal + + + fast + rapido + + + Send as zero-fee transaction if possible + Enviar como uma transação a custo zero se possivél + + + (confirmation may take longer) + (confirmação poderá demorar mais) + Send to multiple recipients at once Enviar para múltiplos destinatários de uma vez @@ -1575,9 +1932,13 @@ Endereço: %4 Clear all fields of the form. Limpar todos os campos do formulário. + + Dust: + Lixo: + Clear &All - &Limpar Tudo + Limpar &Tudo Balance: @@ -1589,7 +1950,7 @@ Endereço: %4 S&end - &Enviar + E&nviar Confirm send coins @@ -1627,10 +1988,6 @@ Endereço: %4 Copy change Copiar alteração - - Total Amount %1 (= %2) - Quantia Total %1 (= %2) - or ou @@ -1663,6 +2020,18 @@ Endereço: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. A transação foi rejeitada! Isto poderá acontecer se algumas das moedas na sua carteira já tiverem sido gastas, se por exemplo tiver usado uma cópia do ficheiro wallet.dat e as moedas tiverem sido gastas na cópia mas não tiverem sido marcadas como gastas aqui. + + A fee higher than %1 is considered an insanely high fee. + Uma taxa superior a %1 é considerada muito alta. + + + Pay only the minimum fee of %1 + Pagar somente a taxa minima de %1 + + + Estimated to begin confirmation within %1 block(s). + Confirmação deverá começar dentro de %1 bloco(s). + Warning: Invalid Bitcoin address Aviso: Endereço Bitcoin inválido @@ -1675,6 +2044,10 @@ Endereço: %4 Warning: Unknown change address Aviso: Endereço de troco desconhecido + + Copy dust + Copiar lixo + Are you sure you want to send? Tem a certeza que deseja enviar? @@ -1710,6 +2083,10 @@ Endereço: %4 This is a normal payment. Este é um pagamento normal. + + The Bitcoin address to send the payment to + O endereço Bitcoin para enviar o pagamento + Alt+A Alt+A @@ -1748,7 +2125,7 @@ Endereço: %4 Pay To: - Pagar A: + Pagar a: Memo: @@ -1774,12 +2151,16 @@ Endereço: %4 &Sign Message - A&ssinar Mensagem + &Assinar Mensagem You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Pode assinar mensagens com os seus endereços para provar que são seus. Tenha atenção ao assinar mensagens ambíguas, pois ataques de phishing podem tentar enganá-lo de modo a assinar a sua identidade para os atacantes. Apenas assine declarações detalhadas com as quais concorde. + + The Bitcoin address to sign the message with + O endereço Bitcoin para designar a mensagem + Choose previously used address Escolher endereço usado previamente @@ -1832,6 +2213,10 @@ Endereço: %4 Enter the signing 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. Introduza o endereço de assinatura, mensagem (assegure-se que copia quebras de linha, espaços, tabulações, etc. exactamente) e assinatura abaixo para verificar a mensagem. Tenha atenção para não ler mais na assinatura do que o que estiver na mensagem assinada, para evitar ser enganado por um atacante que se encontre entre si e quem assinou a mensagem. + + The Bitcoin address the message was signed with + O endereço Bitcoin com que a mensagem foi designada + Verify the message to ensure it was signed with the specified Bitcoin address Verifique a mensagem para assegurar que foi assinada com o endereço Bitcoin especificado @@ -1973,6 +2358,10 @@ Endereço: %4 own address endereço próprio + + watch-only + modo-verificação + label rótulo @@ -1993,6 +2382,14 @@ Endereço: %4 Debit Débito + + Total debit + Total a debitar + + + Total credit + Total a creditar + Transaction fee Taxa de transação @@ -2143,6 +2540,10 @@ Endereço: %4 Mined Minadas + + watch-only + modo-verificação + (n/a) (n/d) @@ -2159,6 +2560,10 @@ Endereço: %4 Type of transaction. Tipo de transação. + + Whether or not a watch-only address is involved in this transaction. + Desde que um endereço de modo-verificação faça parte ou não desta transação + Destination address of transaction. Endereço de destino da transação. @@ -2254,6 +2659,10 @@ Endereço: %4 Export Transaction History Exportar Histórico de Transacções + + Watch-only + Modo-verificação + Exporting Failed A Exportação Falhou @@ -2309,7 +2718,11 @@ Endereço: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Unidade de valores recebidos. Clique para selecionar outra unidade. + + WalletFrame @@ -2393,49 +2806,34 @@ Endereço: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Aceitar ligações externas (padrão: 1 sem -proxy ou -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, deverá definir uma rpcpassword no ficheiro de configuração: -%s -É recomendado que use a seguinte palavra-passe aleatória: -rpcuser=bitcoinrpc -rpcpassword=%s -(não é necessário lembrar esta palavra-passe) -O nome de utilizador e palavra-passe NÃO PODEM ser iguais. -Se o ficheiro não existir, crie-o com permissões de leitura apenas para o dono. -Também é recomendado definir um alertnotify para que seja alertado sobre problemas; -por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Associar a endereço específico e escutar sempre nele. Use a notação [anfitrião]:porta para IPv6 - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Entre no modo de teste de regressão, que usa uma cadeia especial cujos blocos podem ser resolvidos instantaneamente. + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Apague todas as transações da carteira e somente restore aquelas que façam parte do blockchain através de re-scan ao reiniciar o programa - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Erro: A transação foi rejeitada! Isso poderá acontecer se algumas das moedas na sua carteira já tiverem sido gastas, se por exemplo tiver usado uma cópia do ficheiro wallet.dat e as moedas tiverem sido gastas na cópia mas não tiverem sido marcadas como gastas aqui. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuido através da licença de software MIT, verifique o ficheiro anexado COPYING ou <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Erro: Esta transação requer uma taxa de transação mínima de %s devido á sua quantia, complexidade, ou uso de fundos recebidos recentemente! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entre no modo de teste de regressão, que usa uma cadeia especial cujos blocos podem ser resolvidos instantaneamente. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Executar comando quando uma das transações na carteira mudar (no comando, %s é substituído pelo ID da Transação) + + In this mode -genproclimit controls how many blocks are generated immediately. + O modo -genproclimit controla quantos blocos são generados imediatamente. + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Defina o número de processos de verificação (%u até %d, 0 = automático, <0 = ldisponibiliza esse número de núcleos livres, por defeito: %d) + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Esta é uma versão de testes pré-lançamento - use à sua responsabilidade - não usar para minar ou aplicações comerciais @@ -2464,6 +2862,14 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comWarning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Atenção: wallet.dat corrompido, dados recuperados! wallet.dat original salvo como wallet.{timestamp}.bak em %s; se o seu saldo ou transações estiverem incorrectos deverá recuperar uma cópia de segurança. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Ligações na lista branca conectam desde a seguinte netmask ou endereço IP. Posse ser especificado varias vezes. + + + (default: 1) + (padrão: 1) + <category> can be: <categoria> pode ser: @@ -2480,10 +2886,18 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comConnect only to the specified node(s) Apenas ligar ao(s) nó(s) especificado(s) + + Connection options: + Opcões de conexção: + Corrupted block database detected Cadeia de blocos corrompida detectada + + Debugging/Testing options: + Depuração/Opções teste: + Discover own IP address (default: 1 when listening and no -externalip) Descobrir endereço IP próprio (padrão: 1 ao escutar sem -externalip) @@ -2516,10 +2930,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comError: Disk space is low! Erro: Pouco espaço em disco! - - Error: Wallet locked, unable to create transaction! - Erro: Carteira bloqueada, incapaz de criar transação! - Failed to listen on any port. Use -listen=0 if you want this. Falhou a escutar em qualquer porta. Use -listen=0 se quiser isto. @@ -2528,6 +2938,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comIf <category> is not supplied, output all debugging information. Se uma <categoria> não é fornecida, imprimir toda a informação de depuração. + + Importing... + A importar... + Incorrect or no genesis block found. Wrong datadir for network? Bloco génese incorreto ou nenhum bloco génese encontrado. Pasta de dados errada para a rede? @@ -2540,6 +2954,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comNot enough file descriptors available. Os descritores de ficheiros disponíveis são insuficientes. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Somente conectar aos nodes na rede <net> (ipv4, ipv6 ou onion) + Rebuild block chain index from current blk000??.dat files Reconstruir a cadeia de blocos a partir dos ficheiros blk000??.dat atuais @@ -2560,6 +2978,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comThis is intended for regression testing tools and app development. Isto têm como fim a realização de testes de regressão para pools e desenvolvimento de aplicações. + + Use UPnP to map the listening port (default: %u) + Use UPnP para mapear a porto de escuta (default: %u) + Verifying blocks... A verificar blocos... @@ -2584,6 +3006,22 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comImports blocks from external blk000??.dat file Importar blocos de um ficheiro blk000??.dat externo + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Permitir conexções JSON-RPC de fontes especificas. Valido para <ip> um unico IP (ex. 1.2.3.4), uma rede/netmask (ex. 1.2.3.4/255.255.255.0) ou uma rede/CIDR (ex. 1.2.3.4/24). Esta opção pode ser especificada varias vezes + + + An error occurred while setting up the RPC address %s port %u for listening: %s + Um erro ocorreu durante a definição do endereço RPC %s porto %u para escutar: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Vincualar o endereço dado e listar as ligações conectadas ao mesmo na lista branca. Use a notação [anfitrião]:porta para IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Vinculado para dar o endereço para atender as ligações JSON-RPC. Use [host]: Notação de porta para IPv6. Esta opção pode ser especificada várias vezes (padrão: ligam-se a todas as interfaces) + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Impossível trancar a pasta de dados %s. Provavelmente o Bitcoin Core já está a ser executado. @@ -2596,6 +3034,18 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comSet maximum size of high-priority/low-fee transactions in bytes (default: %d) Definir tamanho máximo de transações com alta-prioridade/baixa-taxa em bytes (por defeito: %d) + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Atenção: Por favor verifique que a data e hora do seu computador estão correctas! Se o seu relógio não estiver certo o Bitcoin Core não irá funcionar correctamente. + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Os Programadores do Bitcoin Core + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core + Erro ao carregar wallet.dat: A Carteira requer uma versão mais recente do Bitcoin Core + Information Informação @@ -2640,6 +3090,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comUsername for JSON-RPC connections Nome de utilizador para ligações JSON-RPC + + Wallet needed to be rewritten: restart Bitcoin Core to complete + A Carteira precisou de ser reescrita: reinicie o Bitcoin Core para completar o processo + Warning Aviso @@ -2700,6 +3154,58 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comInvalid -proxy address: '%s' Endereço -proxy inválido: '%s' + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Escutar por ligações JSON-RPC na porta <port> (por defeito: %u ou rede de testes: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Escute ligações na porta <port> (por defeito: %u ou testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + Manter no máximo <n> ligações a outros nós da rede (por defeito: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Maximo armazenamento intermédio de recepção por ligação, <n>*1000 bytes (por defeito: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Maximo armazenamento intermédio de envio por ligação, <n>*1000 bytes (por defeito: %u) + + + Prepend debug output with timestamp (default: %u) + Adicionar data e hora à informação de depuração (por defeito: %u) + + + Server certificate file (default: %s) + Ficheiro de certificado do servidor (por defeito: %s) + + + Server private key (default: %s) + Chave privada do servidor (por defeito: %s) + + + Set key pool size to <n> (default: %u) + Definir o tamanho da memória de chaves para <n> (por defeito: %u) + + + Set minimum block size in bytes (default: %u) + Definir tamanho minímo de um bloco em bytes (por defeito: %u) + + + Set the number of threads to service RPC calls (default: %d) + Defina o número de processos para servir as chamadas RPC (por defeito: %d) + + + Specify configuration file (default: %s) + Especificar ficheiro de configuração (por defeito: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Especificar tempo de espera da ligação em milissegundos (mínimo 1, por defeito: %d) + Unknown network specified in -onlynet: '%s' Rede desconhecida especificada em -onlynet: '%s' @@ -2716,10 +3222,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comInvalid amount for -paytxfee=<amount>: '%s' Quantia inválida para -paytxfee=<amount>: '%s' - - Invalid amount - Quantia inválida - Insufficient funds Fundos insuficientes @@ -2752,10 +3254,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.comDone loading Carregamento completo - - To use the %s option - Para usar a opção %s - Error Erro diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts index 81342c5dbc781..8f5902636387b 100644 --- a/src/qt/locale/bitcoin_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dublu-click pentru a edita adresa sau eticheta + Right-click to edit address or label + Click-dreapta pentru a edita adresa sau eticheta Create a new address @@ -19,11 +19,11 @@ &Copy - &Copiere + &Copiază C&lose - &Inchidere + Închide &Copy Address @@ -31,11 +31,11 @@ Delete the currently selected address from the list - Sterge adresele curent selectate din lista + Şterge adresele curent selectate din listă Export the data in the current tab to a file - Exporta datele din tab-ul curent într-un fișier + Exportă datele din tab-ul curent într-un fişier &Export @@ -43,35 +43,35 @@ &Delete - Ște&rge + Şterge Choose the address to send coins to - Alegeti adresa unde vreti sa trimiteti monezile + Alegeţi adresa unde vreţi să trimiteţi monezile Choose the address to receive coins with - Alegeti adresa unde vreti sa primiti monezile + Alegeţi adresa unde vreţi să primiţi monezile C&hoose - &Alege + &Alegeţi Sending addresses - Adresa Destinatarului + Adresa destinatarului Receiving addresses - Adresa pe care primiti + Adresa de primire These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - Acestea sunt adresele dumneavoastra Bitcoin care pot fi folosite la trimiterea platilor. Verificati totdeauna cantitatea si adresa de primire inainte de a trimite monezi. + Acestea sînt adresele dumneavoastră Bitcoin pentru efectuarea plăţilor. Verificaţi întotdeauna cantitatea şi adresa de primire înainte de a trimite monezi. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Acestea sunt adresele dumneavoastra Bitcoin folosite pentru a primi plati. Este recomandat sa folositi cate o adresa noua de primire pentru fiecare tranzactie in parte. + Acestea sînt adresele dumneavoastră Bitcoin folosite pentru a primi plati. Este recomandat să folosiţi o adresă nouă de primire pentru fiecare tranzacţie în parte. Copy &Label @@ -79,21 +79,25 @@ &Edit - &Editează + &Editare Export Address List - Exportati Agenda + Exportă listă de adrese Comma separated file (*.csv) - Valori separate prin virgulă (*.csv) + Fişier text cu valori separate prin virgulă (*.csv) Exporting Failed - Exportare esuata + Export nereuşit - + + There was an error trying to save the address list to %1. Please try again. + A apărut o eroare la salvarea listei de adrese la %1. Vă rugăm să încercaţi din nou. + + AddressTableModel @@ -117,7 +121,7 @@ Enter passphrase - Introdu fraza de acces + Introduceţi fraza de acces New passphrase @@ -125,71 +129,75 @@ Repeat new passphrase - Repetă noua frază de acces + Repetaţi noua frază de acces Encrypt wallet - Criptează portofelul + Criptare portofel This operation needs your wallet passphrase to unlock the wallet. - Această acțiune necesită fraza ta de acces pentru deblocarea portofelului. + Această acţiune necesită fraza dvs. de acces pentru deblocarea portofelului. Unlock wallet - Deblochează portofelul + Deblocare portofel This operation needs your wallet passphrase to decrypt the wallet. - Această acțiune necesită fraza ta de acces pentru decriptarea portofelului. + Această acţiune necesită fraza dvs. de acces pentru decriptarea portofelului. Decrypt wallet - Decriptează portofelul. + Decriptare portofel Change passphrase - Schimbă fraza de acces + Schimbare frază de acces Enter the old and new passphrase to the wallet. - Introdu vechea și noua parolă pentru portofel. + Introduceţi vechea şi noua parolă pentru portofel. Confirm wallet encryption - Confirmă criptarea portofelului + Confirmaţi criptarea portofelului Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Atenție: Dacă pierdeţi parola portofelului electronic dupa criptare, <b>VEŢI PIERDE ÎNTREAGA SUMĂ DE BITCOIN ACUMULATĂ</b>! + Atenţie: Dacă pierdeţi parola portofelului electronic după criptare, <b>VEŢI PIERDE ÎNTREAGA SUMĂ DE BITCOIN ACUMULATĂ</b>! Are you sure you wish to encrypt your wallet? - Sunteţi sigur că doriţi să criptaţi portofelul electronic? + Sigur doriţi să criptaţi portofelul dvs.? 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. - IMPORTANT: Orice copie de siguranta facuta in prealabil portofelului dumneavoastra ar trebui inlocuita cu cea generata cel mai recent fisier criptat al portofelului. Pentru siguranta, copiile de siguranta vechi ale portofelului ne-criptat vor deveni inutile de indata ce veti incepe folosirea noului fisier criptat al portofelului. + IMPORTANT: Orice copie de siguranţă făcută anterior portofelului dumneavoastră ar trebui înlocuită cu cea generată cel mai recent, fişier criptat al portofelului. Pentru siguranţă, copiile de siguranţă vechi ale portofelului ne-criptat vor deveni inutile imediat ce veţi începe folosirea noului fişier criptat al portofelului. Warning: The Caps Lock key is on! - Atentie! Caps Lock este pornit + Atenţie! Caps Lock este pornit! Wallet encrypted Portofel criptat + + 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>. + Introduceţi noua parolă a portofelului electronic.<br/>Vă rugăm să folosiţi o parolă de<b>minimum 10 caractere aleatoare</b>, sau <b>minimum 8 cuvinte</b>. + Bitcoin 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. - Bitcoin se va închide acum pentru a termina procesul de criptare. Ține minte că criptarea portofelului nu te poate proteja în totalitate de furtul monedelor de către programe dăunătoare care îți infectează calculatorul. + Bitcoin se va închide acum pentru a termina procesul de criptare. Ţineţi minte că criptarea portofelului nu vă poate proteja în totalitate de furtul monedelor de către programe dăunătoare care vă infectează calculatorul. Wallet encryption failed - Criptarea portofelului a eșuat + Criptarea portofelului nu a reuşit Wallet encryption failed due to an internal error. Your wallet was not encrypted. - Criptarea portofelului a eșuat din cauza unei erori interne. Portofelul tău nu a fost criptat. + Criptarea portofelului nu a reuşit din cauza unei erori interne. Portofelul dvs. nu a fost criptat. The supplied passphrases do not match. @@ -197,7 +205,7 @@ Wallet unlock failed - Deblocarea portofelului a eșuat + Deblocarea portofelului nu a reuşit The passphrase entered for the wallet decryption was incorrect. @@ -205,7 +213,7 @@ Wallet decryption failed - Decriptarea portofelului a eșuat + Decriptarea portofelului nu a reuşit Wallet passphrase was successfully changed. @@ -220,7 +228,7 @@ Synchronizing with network... - Se sincronizează cu rețeaua... + Se sincronizează cu reţeaua... &Overview @@ -236,19 +244,19 @@ &Transactions - &Tranzacții + &Tranzacţii Browse transaction history - Răsfoiește istoricul tranzacțiilor + Răsfoire istoric tranzacţii E&xit - &Ieșire + Ieşire Quit application - Închide aplicația + Închide aplicaţia About &Qt @@ -256,19 +264,19 @@ Show information about Qt - Arată informații despre Qt + Arată informaţii despre Qt &Options... - &Setări... + &Opţiuni... &Encrypt Wallet... - Criptează portofelul electronic... + Cript&ează portofelul... &Backup Wallet... - &Fă o copie de siguranță a portofelului... + Face o copie de siguranţă a portofelului... &Change Passphrase... @@ -276,19 +284,23 @@ &Sending addresses... - &Trimitere adrese... + Adrese de trimitere... &Receiving addresses... - &Primire adrese... + Adrese de p&rimire... Open &URI... - Vizitaţi &URI... + Deschide &URI... + + + Bitcoin Core client + Clientul Bitcoin Core Importing blocks from disk... - Importare blocks de pe disk... + Import blocuri de pe disk... Reindexing blocks on disk... @@ -300,11 +312,11 @@ Modify configuration options for Bitcoin - Modifică opțiunile de configurare pentru Bitcoin + Modifică opţiunile de configurare pentru Bitcoin Backup wallet to another location - Creează o copie de rezervă a portofelului într-o locație diferită + Creează o copie de rezervă a portofelului într-o locaţie diferită Change the passphrase used for wallet encryption @@ -312,15 +324,15 @@ &Debug window - Fereastră &debug + Fereastra de &depanare Open debugging and diagnostic console - Deschide consola de debug și diagnosticare + Deschide consola de depanare şi diagnosticare &Verify message... - &Verifică mesajul... + &Verifică mesaj... Bitcoin @@ -328,19 +340,23 @@ Wallet - Portofelul + Portofel &Send - &Trimite + Trimite &Receive - &Primește + P&rimeşte + + + Show information about Bitcoin Core + Arată informaţii despre Bitcoin Core &Show / Hide - Arata/Ascunde + Arată/Ascunde Show or hide the main Window @@ -348,19 +364,19 @@ Encrypt the private keys that belong to your wallet - Criptează cheile private ale portofelului tău + Criptează cheile private ale portofelului dvs. Sign messages with your Bitcoin addresses to prove you own them - Semnează mesaje cu adresa ta Bitcoin pentru a dovedi că îți aparțin + Semnaţi mesaje cu adresa dvs. Bitcoin pentru a dovedi că vă aparţin Verify messages to ensure they were signed with specified Bitcoin addresses - Verifică mesaje pentru a te asigura că au fost semnate cu adresa Bitcoin specificată + Verificaţi mesaje pentru a vă asigura că au fost semnate cu adresa Bitcoin specificată &File - &Fișier + &Fişier &Settings @@ -372,15 +388,15 @@ Tabs toolbar - Bara de file + Bara de unelte Bitcoin Core - Bitcoin Core + Nucleul Bitcoin Request payments (generates QR codes and bitcoin: URIs) - Cereti plati (genereaza coduri QR si bitcoin-uri: URls) + Cereţi plăţi (generează coduri QR şi bitcoin-uri: URls) &About Bitcoin Core @@ -388,31 +404,31 @@ Show the list of used sending addresses and labels - Aratati lista de adrese trimise si etichete folosite. + Arată lista de adrese trimise şi etichetele folosite. Show the list of used receiving addresses and labels - Aratati lista de adrese pentru primire si etichete + Arată lista de adrese pentru primire şi etichetele Open a bitcoin: URI or payment request - Deschideti un bitcoin: o adresa URI sau o cerere de plata + Deschidere bitcoin: o adresa URI sau o cerere de plată &Command-line options - Command-line setări + Opţiuni linie de &comandă Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options - Arată mesajul de ajutor Bitcoin Core pentru a obține o listă cu opțiunile posibile de linii de comandă Bitcoin + Arată mesajul de ajutor Bitcoin Core pentru a obţine o listă cu opţiunile posibile de linii de comandă Bitcoin %n active connection(s) to Bitcoin network - %n conexiune activă către rețeaua Bitcoin%n conexiuni active către rețeaua Bitcoin%n de conexiuni active către rețeaua Bitcoin + %n conexiune activă către reţeaua Bitcoin%n conexiuni active către reţeaua Bitcoin%n de conexiuni active către reţeaua Bitcoin No block source available... - Nici o sursă de bloc disponibil ... + Nici o sursă de bloc disponibilă... %n hour(s) @@ -420,7 +436,7 @@ %n day(s) - %n zi%n zile%n zile + %n zi%n zile%n de zile %n week(s) @@ -428,7 +444,11 @@ %1 and %2 - %1 si %2 + %1 şi %2 + + + %n year(s) + %n an%n ani%n de ani %1 behind @@ -436,11 +456,11 @@ Last received block was generated %1 ago. - Ultimul bloc recepționat a fost generat acum %1. + Ultimul bloc recepţionat a fost generat acum %1. Transactions after this will not yet be visible. - Tranzacții după aceasta nu va fi încă disponibile. + Tranzacţiile după aceasta nu vor fi vizibile încă. Error @@ -448,27 +468,31 @@ Warning - Avertizare + Avertisment Information - Informație + Informaţie Up to date Actualizat + + Processed %n blocks of transaction history. + S-a procesat %n bloc din istoricul tranzacţiilor.S-au procesat %n blocuri din istoricul tranzacţiilor.S-au procesat %n de blocuri din istoricul tranzacţiilor. + Catching up... Se actualizează... Sent transaction - Tranzacție expediată + Tranzacţie expediată Incoming transaction - Tranzacție recepționată + Tranzacţie recepţionată Date: %1 @@ -484,22 +508,26 @@ Adresa: %4 Wallet is <b>encrypted</b> and currently <b>unlocked</b> - Portofelul este <b>criptat</b> iar în momentul de față este <b>deblocat</b> + Portofelul este <b>criptat</b> iar în momentul de faţă este <b>deblocat</b> Wallet is <b>encrypted</b> and currently <b>locked</b> - Portofelul este <b>criptat</b> iar în momentul de față este <b>blocat</b> + Portofelul este <b>criptat</b> iar în momentul de faţă este <b>blocat</b> ClientModel Network Alert - Alertă rețea + Alertă reţea CoinControlDialog + + Coin Selection + Selectarea monezii + Quantity: Cantitate: @@ -518,11 +546,15 @@ Adresa: %4 Fee: - Taxa: + Taxă: + + + Dust: + Praf: After Fee: - După taxe: + După taxă: Change: @@ -530,20 +562,28 @@ Adresa: %4 (un)select all - (de)selectaţi tot + (de)selectare tot Tree mode - Modul arborescent + Mod arbore List mode - Modul lista + Mod listă Amount Sumă + + Received with label + Primite cu eticheta + + + Received with address + Primite cu adresa + Date Data @@ -574,43 +614,47 @@ Adresa: %4 Copy transaction ID - Copiază ID tranzacție + Copiază ID tranzacţie Lock unspent - Blocaţi necheltuite + Blocare necheltuiţi Unlock unspent - Deblocaţi necheltuite + Deblocare necheltuiţi Copy quantity - Copiaţi quantitea + Copiază cantitea Copy fee - Copiaţi taxele + Copiază taxa Copy after fee - Copiaţi după taxe + Copiază după taxă Copy bytes - Copiaţi octeţi + Copiază octeţi Copy priority - Copiaţi prioritatea + Copiază prioritatea + + + Copy dust + Copiază praf Copy change - Copiaţi schimb + Copiază rest highest - cel mai mare + cea mai mare higher @@ -622,32 +666,36 @@ Adresa: %4 medium-high - marime medie + medie-mare medium - mediu + medie low-medium - mediu-scazut + medie-scăzută low - scazut + scazută lower - mai scazut + mai scăzută lowest - cel mai scazut + cea mai scăzută none nimic + + Can vary +/- %1 satoshi(s) per input. + Poate varia +/- %1 satoshi pentru fiecare intrare. + yes da @@ -658,19 +706,19 @@ Adresa: %4 This label turns red, if the transaction size is greater than 1000 bytes. - Această etichetă devine roşie, în cazul în care dimensiunea tranzacţiei este mai mare de 1000 de octeţi. + Această etichetă devine roşie, în cazul în care dimensiunea tranzacţiei este mai mare de 1000 de octeţi. Can vary +/- 1 byte per input. - Poate varia +/- 1 octet pentru fiecare intrare. + Poate varia +/- 1 octet pentru fiecare intrare. Transactions with higher priority are more likely to get included into a block. - Tranzacţiile cu prioritate mai mare sunt mai susceptibile de fi incluse într-un bloc. + Tranzacţiile cu prioritate mai mare sînt mai susceptibile de fi incluse într-un bloc. This label turns red, if the priority is smaller than "medium". - Aceasta eticheta se face rosie daca prioritatea e mai mica decat media + Această etichetă devine roşie dacă prioritatea e mai mică decît "medie". (no label) @@ -682,7 +730,7 @@ Adresa: %4 (change) - (schimb) + (rest) @@ -697,11 +745,11 @@ Adresa: %4 The label associated with this address list entry - Etichetele asociate cu aceasta intrare din lista. + Eticheta asociată cu această intrare din listă. The address associated with this address list entry. This can only be modified for sending addresses. - Adresa asociata cu aceasta adresa din lista. Aceasta poate fi modificata doar pentru Destinatari. + Adresa asociată cu această adresă din listă. Aceasta poate fi modificată doar pentru adresele de trimitere. &Address @@ -737,7 +785,7 @@ Adresa: %4 New key generation failed. - Generarea noii chei a eșuat. + Generarea noii chei nu a reuşit. @@ -752,11 +800,11 @@ Adresa: %4 Directory already exists. Add %1 if you intend to create a new directory here. - Dosarul deja există. Adaugă %1 dacă intenționezi să creezi un nou dosar aici. + Dosarul deja există. Adaugă %1 dacă intenţionaţi să creaţi un nou dosar aici. Path already exists, and is not a directory. - Calea deja există și nu este un dosar. + Calea deja există şi nu este un dosar. Cannot create data directory here. @@ -767,7 +815,7 @@ Adresa: %4 HelpMessageDialog Bitcoin Core - Bitcoin Core + Nucleul Bitcoin version @@ -783,7 +831,7 @@ Adresa: %4 Command-line options - Command-line setări + Opţiuni linie de comandă Usage: @@ -791,23 +839,27 @@ Adresa: %4 command-line options - command-line setări + Opţiuni linie de comandă UI options - UI setări + Opţiuni UI Set language, for example "de_DE" (default: system locale) - Seteaza limba, de exemplu: "de_DE" (initialt: system locale) + Setează limba, de exemplu: "de_DE" (implicit: sistem local) Start minimized - Incepe miniaturizare + Începe minimizat + + + Set SSL root certificates for payment request (default: -system-) + Setare rădăcină certificat SSL pentru cerere de plată (implicit: -sistem- ) Show splash screen on startup (default: 1) - Afișează pe ecran splash la pornire (implicit: 1) + Afişează pe ecran splash la pornire (implicit: 1) Choose data directory on startup (default: 0) @@ -822,34 +874,46 @@ Adresa: %4 Welcome to Bitcoin Core. - Bine Aţi Venit la Nucleul Bitcoin. + Bine aţi venit la Nucleul Bitcoin. As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. - Dacă aceasta este prima dată când programul este lansat, puteţi alege unde Nucleul Bitcoin va stoca datele. + Dacă aceasta este prima dată cînd programul este lansat, puteţi alege unde Nucleul Bitcoin va stoca datele. Use the default data directory - Folosește dosarul de date implicit + Foloseşte dosarul de date implicit Use a custom data directory: - Folosește un dosar de date personalizat: + Foloseşte un dosar de date personalizat: Bitcoin Core - Bitcoin Core + Nucleul Bitcoin + + + Error: Specified data directory "%1" cannot be created. + Eroare: Directorul datelor specificate "%1" nu poate fi creat. Error Eroare - + + %n GB of free space available + %n GB de spaţiu liber disponibil%n GB de spaţiu liber disponibil%n GB de spaţiu liber disponibil + + + (of %n GB needed) + (din %n GB necesar)(din %n GB necesari)(din %n GB necesari) + + OpenURIDialog Open URI - Deschideti adresa URI + Deschide URI Open payment request from URI or file @@ -857,62 +921,122 @@ Adresa: %4 URI: - adresa URI: + URI: Select payment request file - Selectaţi fişierul de cerere de plată + Selectaţi fişierul cerere de plată Select payment request file to open - Selectaţi fişierul de cerere de plată de deschis + Selectaţi fişierul cerere de plată pentru deschidere OptionsDialog Options - Setări + Opţiuni &Main - &Principal + Principal Automatically start Bitcoin after logging in to the system. - Porneşte automat programul Bitcoin la pornirea computerului. + Porneşte automat Bitcoin după pornirea calculatorului. &Start Bitcoin on system login - &S Porneşte Bitcoin la pornirea sistemului + Porneşte Bitcoin la pornirea sistemului + + + Size of &database cache + Mărimea bazei de &date cache MB MB + + Number of script &verification threads + Numărul de thread-uri de &verificare + + + Accept connections from outside + Acceptă conexiuni din exterior + + + Allow incoming connections + Permite conexiuni de intrare + + + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + Adresa IP a serverului proxy (de exemplu: IPv4: 127.0.0.1 / IPv6: ::1) + + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + URL-uri terţe părţi (de exemplu, un explorator de bloc), care apar în tab-ul tranzacţiilor ca elemente de meniu contextual. %s în URL este înlocuit cu hash de tranzacţie. URL-urile multiple sînt separate prin bară verticală |. + + + Third party transaction URLs + URL-uri tranzacţii terţe părţi + + + Active command-line options that override above options: + Opţiuni linie de comandă active care oprimă opţiunile de mai sus: + Reset all client options to default. Resetează toate setările clientului la valorile implicite. &Reset Options - &Resetează opțiunile + &Resetează opţiunile &Network - &Retea + Reţea + + + (0 = auto, <0 = leave that many cores free) + (0 = automat, <0 = lasă atîtea nuclee libere) + + + W&allet + Portofel Expert - expert + Expert + + + Enable coin &control features + Activare caracteristici de control ale monedei + + + If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. + Dacă dezactivaţi cheltuirea restului neconfirmat, restul dintr-o tranzacţie nu poate fi folosit pînă cînd tranzacţia are cel puţin o confirmare. Aceasta afectează de asemenea calcularea soldului. + + + &Spend unconfirmed change + Cheltuire rest neconfirmat Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - Deschide automat în router portul aferent clientului Bitcoin. Funcţionează doar în cazul în care routerul e compatibil UPnP şi opţiunea e activată. + Deschide automat în router portul aferent clientului Bitcoin. Funcţionează doar dacă routerul duportă UPnP şi e activat. Map port using &UPnP - Mapeaza portul folosind &UPnP + Mapare port folosind &UPnP + + + Connect to the Bitcoin network through a SOCKS5 proxy. + Conectare la reţeaua Bitcoin printr-un proxy SOCKS. + + + &Connect through SOCKS5 proxy (default proxy): + &Conectare printr-un proxy SOCKS (implicit proxy): Proxy &IP: @@ -924,27 +1048,27 @@ Adresa: %4 Port of the proxy (e.g. 9050) - Portul pe care se concetează proxy serverul (de exemplu: 9050) + Portul proxy (de exemplu: 9050) &Window - &Fereastra + &Fereastră Show only a tray icon after minimizing the window. - Afişează doar un icon in tray la ascunderea ferestrei + Arată doar un icon în tray la ascunderea ferestrei &Minimize to the tray instead of the taskbar - &M Ascunde în tray în loc de taskbar + &Minimizare în tray în loc de taskbar Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - Ascunde fereastra în locul părăsirii programului în momentul închiderii ferestrei. Când acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii Quit din menu. + Ascunde fereastra în locul părăsirii programului în momentul închiderii ferestrei. Cînd acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii 'Închide aplicaţia' din menu. M&inimize on close - &i Ascunde fereastra în locul închiderii programului + M&inimizare fereastră în locul închiderii programului &Display @@ -952,11 +1076,11 @@ Adresa: %4 User Interface &language: - Interfata & limba userului + &Limbă interfaţă utilizator The user interface language can be set here. This setting will take effect after restarting Bitcoin. - Limba interfeței utilizatorului poate fi setat aici. Această setare va avea efect după repornirea Bitcoin. + Limba interfeţei utilizatorului poate fi setată aici. Această setare va avea efect după repornirea Bitcoin. &Unit to show amounts in: @@ -964,23 +1088,23 @@ Adresa: %4 Choose the default subdivision unit to show in the interface and when sending coins. - Alege subdiviziunea folosită la afişarea interfeţei şi la trimiterea de bitcoin. + Alegeţi subdiviziunea folosită la afişarea interfeţei şi la trimiterea de bitcoin. Whether to show coin control features or not. - Dacă să se afişeze controlul caracteristicilor monedei sau nu. + Arată controlul caracteristicilor monedei sau nu. &OK - & OK + &OK &Cancel - & Renunta + Renunţă default - Initial + iniţial none @@ -988,11 +1112,11 @@ Adresa: %4 Confirm options reset - Confirmă resetarea opțiunilor + Confirmă resetarea opţiunilor Client restart required to activate changes. - Este necesar un restart al clientului pentru a activa schimbările. + Este necesară repornirea clientului pentru a activa schimbările. Client will be shutdown, do you want to proceed? @@ -1000,11 +1124,11 @@ Adresa: %4 This change would require a client restart. - Această schimbare va necesita un restart al clientului. + Această schimbare necesită o repornire a clientului. The supplied proxy address is invalid. - Adresa bitcoin pe care a-ti specificat-o este invalida + Adresa bitcoin pe care aţi specificat-o nu este validă. @@ -1015,7 +1139,11 @@ Adresa: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. - Informațiile afișate pot neactualizate. Portofelul tău se sincronizează automat cu rețeaua Bitcoin după ce o conexiune este stabilită, dar acest proces nu a fost finalizat încă. + Informaţiile afişate pot fi neactualizate. Portofelul dvs. se sincronizează automat cu reţeaua Bitcoin după ce o conexiune este stabilită, dar acest proces nu a fost finalizat încă. + + + Watch-only: + Doar-supraveghere: Available: @@ -1023,7 +1151,7 @@ Adresa: %4 Your current spendable balance - Balanța ta curentă de cheltuieli + Balanţa dvs. curentă de cheltuieli Pending: @@ -1031,7 +1159,7 @@ Adresa: %4 Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance - Totalul tranzacțiilor care nu sunt confirmate încă și care nu sunt încă adunate la balanța de cheltuieli + Totalul tranzacţiilor care nu sunt confirmate încă şi care nu sunt încă adunate la balanţa de cheltuieli Immature: @@ -1039,7 +1167,11 @@ Adresa: %4 Mined balance that has not yet matured - Balanta minata care nu s-a maturizat inca + Balanţa minertită care nu s-a maturizat încă + + + Balances + Balanţă Total: @@ -1047,11 +1179,35 @@ Adresa: %4 Your current total balance - Balanța totală curentă + Balanţa totală curentă + + + Your current balance in watch-only addresses + Soldul dvs. curent în adresele doar-supraveghere + + + Spendable: + Cheltuibil: + + + Recent transactions + Tranzacţii recente + + + Unconfirmed transactions to watch-only addresses + Tranzacţii neconfirmate la adresele doar-supraveghere + + + Mined balance in watch-only addresses that has not yet matured + Balanţă minată în adresele doar-supraveghere care nu s-a maturizat încă + + + Current total balance in watch-only addresses + Soldul dvs. total în adresele doar-supraveghere out of sync - Nu este sincronizat + nesincronizat @@ -1064,9 +1220,25 @@ Adresa: %4 Invalid payment address %1 Adresă pentru plată nevalidă %1 + + Payment request rejected + Cerere de plată refuzată + + + Payment request network doesn't match client network. + Cererea de plată din reţea nu se potriveşte cu clientul din reţea + + + Payment request has expired. + Cererea de plată a expirat. + + + Payment request is not initialized. + Cererea de plată nu este iniţializată. + Requested payment amount of %1 is too small (considered dust). - Cereti plata cu suma de %1 este prea mica (considerata praf) + Suma cerută de plată de %1 este prea mică (considerată praf). Payment request error @@ -1074,23 +1246,51 @@ Adresa: %4 Cannot start bitcoin: click-to-pay handler - Nu poate porni bitcoin: regula clic-pentru-plata + Nu poate porni bitcoin: manipulator clic-pentru-plată + + + Payment request fetch URL is invalid: %1 + URL-ul cererii de plată preluat nu este valid: %1 + + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI nu poate fi analizat! Acest lucru poate fi cauzat de o adresă Bitcoin nevalidă sau parametri URI deformaţi. + + + Payment request file handling + Manipulare fişier cerere de plată + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Fişierul cerere de plată nu poate fi citit! Cauza poate fi un fişier cerere de plată nevalid. Unverified payment requests to custom payment scripts are unsupported. - Cereri de plată neverificate prin script-uri personalizate de plată nu sunt suportate. + Cererile de plată neverificate prin script-uri personalizate de plată nu sînt suportate. Refund from %1 - rambursare de la %1 + Rambursare de la %1 + + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Cererea de plată %1 este prea mare (%2 octeţi, permis %3 octeţi). + + + Payment request DoS protection + Protecţie DoS cerere de plată Error communicating with %1: %2 Eroare la comunicarea cu %1: %2 + + Payment request cannot be parsed! + Cererea de plată nu poate fi analizată! + Bad response from server %1 - Răspuns greșit de la server %1 + Răspuns greşit de la server %1 Payment acknowledged @@ -1098,17 +1298,37 @@ Adresa: %4 Network request error - Eroare în cererea de rețea + Eroare în cererea de reţea PeerTableModel - + + User Agent + Agent utilizator + + + Address/Hostname + Adresă/Nume gazdă + + + Ping Time + Timp ping + + QObject Amount - Sumă + Cantitate + + + Enter a Bitcoin address (e.g. %1) + Introduceţi o adresă Bitcoin (de exemplu %1) + + + %1 d + %1 z %1 h @@ -1118,20 +1338,40 @@ Adresa: %4 %1 m %1 m + + %1 s + %1 s + + + NETWORK + REŢEA + + + UNKNOWN + NECUNOSCUT + + + None + Niciuna + N/A N/A - + + %1 ms + %1 ms + + QRImageWidget &Save Image... - Salvarea imaginii ... + &Salvează imagine... &Copy Image - Copierea imaginii + &Copiază imaginea Save QR Code @@ -1150,7 +1390,7 @@ Adresa: %4 N/A - N/A + indisponibil Client version @@ -1158,7 +1398,7 @@ Adresa: %4 &Information - &Informație + &Informaţii Debug window @@ -1170,7 +1410,11 @@ Adresa: %4 Using OpenSSL version - Foloseste versiunea OpenSSL + Foloseşte OpenSSL versiunea + + + Using BerkeleyDB version + Foloseşte BerkeleyDB versiunea Startup time @@ -1178,11 +1422,11 @@ Adresa: %4 Network - Rețea + Reţea Name - Numele + Nume Number of connections @@ -1190,12 +1434,68 @@ Adresa: %4 Block chain - Lanț de blocuri + Lanţ de blocuri Current number of blocks Numărul curent de blocuri + + Received + Recepţionat + + + Sent + Trimis + + + &Peers + &Parteneri + + + Select a peer to view detailed information. + Selectaţi un partener pentru a vedea informaţiile detaliate. + + + Direction + Direcţie + + + Version + Versiune + + + User Agent + Agent utilizator + + + Services + Servicii + + + Connection Time + Timp conexiune + + + Last Send + Ultima trimitere + + + Last Receive + Ultima primire + + + Bytes Sent + Octeţi trimişi + + + Bytes Received + Octeţi primiţi + + + Ping Time + Timp ping + Last block time Data ultimului bloc @@ -1210,11 +1510,11 @@ Adresa: %4 &Network Traffic - Traficul in rețea + Trafic reţea &Clear - &Ştergeţi + &Curăţă Totals @@ -1222,11 +1522,11 @@ Adresa: %4 In: - în: + Intrare: Out: - Ieșire. + Ieşire: Build date @@ -1234,27 +1534,27 @@ Adresa: %4 Debug log file - Loguri debug + Fişier jurnal depanare Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - Deschide logurile debug din directorul curent. Aceasta poate dura cateva secunde pentru fisierele mai mari + Deschide fişierul jurnal depanare din directorul curent. Aceasta poate dura cîteva secunde pentru fişierele mai mari. Clear console - Curăță consola + Curăţă consola Welcome to the Bitcoin RPC console. - Bun venit la consola bitcoin RPC + Bun venit la consola bitcoin RPC. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Foloseste sagetile sus si jos pentru a naviga in istoric si <b>Ctrl-L</b> pentru a curata. + Folosiţi săgetile sus şi jos pentru a naviga în istoric şi <b>Ctrl-L</b> pentru a curăţa. Type <b>help</b> for an overview of available commands. - Scrie <b>help</b> pentru a vedea comenzile disponibile + Scrieţi <b>help</b> pentru a vedea comenzile disponibile. %1 B @@ -1272,12 +1572,36 @@ Adresa: %4 %1 GB %1 GB - + + via %1 + via %1 + + + never + niciodată + + + Inbound + Intrare + + + Outbound + Ieşire + + + Unknown + Necunoscut + + + Fetching... + Preluare... + + ReceiveCoinsDialog &Amount: - & suma: + Sum&a: &Label: @@ -1285,47 +1609,63 @@ Adresa: %4 &Message: - & mesaj: + &Mesaj: Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. - Refolositi una din adresele de primire folosite in prealabil. Refolosirea adreselor poate crea probleme de securitate si confidentialitate. Nu folositi aceasta optiune decat daca o cerere de regenerare a platii a fost facuta in prealabil. + Refoloseşte una din adresele de primire folosite anterior. Refolosirea adreselor poate crea probleme de securitate şi confidenţialitate. Nu folosiţi această opţiune decît dacă o cerere de regenerare a plăţii a fost făcută anterior. R&euse an existing receiving address (not recommended) - &Refolosirea unei adrese de primire (nu este recomandat) + R&efoloseşte o adresă de primire (nu este recomandat) + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. + Un mesaj opţional de ataşat la cererea de plată, care va fi afişat cînd cererea este deschisă. Notă: Acest mesaj nu va fi trimis cu plata către reţeaua Bitcoin. + + + An optional label to associate with the new receiving address. + O etichetă opţională de asociat cu adresa de primire. Use this form to request payments. All fields are <b>optional</b>. - Folosește acest formular pentru a solicita plăți. Toate câmpurile sunt <b>opționale</b>. + Foloseşte acest formular pentru a solicita plăţi. Toate cîmpurile sînt <b>opţionale</b>. + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + O sumă opţională de cerut. Lăsaţi gol sau zero pentru a nu cere o sumă anume. Clear all fields of the form. - Stergeti toate campurile formularului + Curăţă toate cîmpurile formularului. Clear - Stergeti + Curăţă Requested payments history - Istoricul platilor a fost cerut + Istoricul plăţilor cerute &Request payment - &Cereti plata + &Cerere plată Show the selected request (does the same as double clicking an entry) - Arata cererea selectata (acelas lucru ca si dublu-click pe o inregistrare) + Arată cererea selectată (acelaşi lucru ca şi dublu-clic pe o înregistrare) Show Arată + + Remove the selected entries from the list + Înlătură intrările selectate din listă + Remove - Elimină + Înlătură Copy label @@ -1333,7 +1673,7 @@ Adresa: %4 Copy message - Copiaţi mesajul + Copiază mesajul Copy amount @@ -1348,27 +1688,27 @@ Adresa: %4 Copy &URI - Copiati &URl + Copiază &URl Copy &Address - Copiati &Adresa + Copiază &adresa &Save Image... - Salvarea imaginii ... + &Salvează imaginea... Request payment to %1 - Cereti plata pentru %1 + Cere plata pentru %1 Payment information - Informatiile platii + Informaţiile plăţii URI - Identificator uniform de resurse + URI Address @@ -1388,7 +1728,7 @@ Adresa: %4 Resulting URI too long, try to reduce the text for label / message. - URI rezultat este prea lung, încearcă să reduci textul pentru etichetă / mesaj. + URI rezultat este prea lung, încearcaţi să reduceţi textul pentru etichetă / mesaj. Error encoding URI into QR Code. @@ -1423,7 +1763,7 @@ Adresa: %4 (no amount) - (suma nulă) + (sumă nulă) @@ -1432,13 +1772,17 @@ Adresa: %4 Send Coins Trimite monede + + Coin Control Features + Caracteristici de control ale monedei + Inputs... - Intrări + Intrări... automatically selected - Selectie automatică + selecţie automată Insufficient funds! @@ -1462,43 +1806,103 @@ Adresa: %4 Fee: - Taxa: + Taxă: After Fee: - După taxe: + După taxă: Change: - Schimbaţi: + Rest: + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Dacă este activat, dar adresa de rest este goală sau nevalidă, restul va fi trimis la o adresă nou generată. + + + Custom change address + Adresă personalizată de rest + + + Transaction Fee: + Taxă tranzacţie: + + + Choose... + Alegeţi... + + + Minimize + Minimizare + + + per kilobyte + per kilooctet + + + total at least + total cel puţin + + + Recommended: + Recomandat: + + + Custom: + Personalizat: + + + Confirmation time: + Timp confirmare: + + + normal + normal + + + fast + rapid + + + Send as zero-fee transaction if possible + Trimite ca taxă zero dacă este posibil + + + (confirmation may take longer) + (confirmarea poate dura mai mult) Send to multiple recipients at once - Trimite simultan către mai mulți destinatari + Trimite simultan către mai mulţi destinatari Add &Recipient - &Adaugă destinatar + Adaugă destinata&r Clear all fields of the form. - Stergeti toate campurile formularului + Şterge toate cîmpurile formularului. + + + Dust: + Praf: Clear &All - Șterge &tot + Curăţă to&ate Balance: - Balanță: + Balanţă: Confirm the send action - Confirmă operațiunea de trimitere + Confirmă operaţiunea de trimitere S&end - &S Trimite + Trimit&e Confirm send coins @@ -1510,7 +1914,7 @@ Adresa: %4 Copy quantity - Copiaţi quantitea + Copiază cantitea Copy amount @@ -1518,27 +1922,23 @@ Adresa: %4 Copy fee - Copiaţi taxele + Copiază taxa Copy after fee - Copiaţi după taxe + Copiază după taxă Copy bytes - Copiaţi octeţi + Copiază octeţi Copy priority - Copiaţi prioritatea + Copiază prioritatea Copy change - Copiaţi schimb - - - Total Amount %1 (= %2) - Suma totală %1 (= %2) + Copiază rest or @@ -1550,31 +1950,35 @@ Adresa: %4 The amount to pay must be larger than 0. - Suma de plată trebuie să fie mai mare decât 0. + Suma de plată trebuie să fie mai mare decît 0. The amount exceeds your balance. - Suma depășește soldul contului. + Suma depăşeşte soldul contului. The total exceeds your balance when the %1 transaction fee is included. - Totalul depășește soldul contului dacă se include și plata comisionului de %1. + Totalul depăşeşte soldul contului dacă se include şi plata taxei de %1. Duplicate address found, can only send to each address once per send operation. - S-a descoperit o adresă care figurează de două ori. Expedierea se poate realiza către fiecare adresă doar o singură dată pe operațiune. + S-a descoperit o adresă duplicat.Se poate trimite către fiecare adresă doar o singură dată per operaţiune. Transaction creation failed! - Creare de tranzactie nereusita! + Creare tranzacţie nereuşită! The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Tranzactia a fost respinsa! Acest lucru se poate intampla daca o parte din monedele tale din portofel au fost deja cheltuite, la fel ca si cum ai fi folosit o copie a wallet.dat si monedele au fost cheltuite in copie, dar nu au fost marcate si si cheltuite si aici. + Tranzacţia a fost respinsă! Acest lucru se poate întîmpla dacă o parte din monedele tale din portofel au fost deja cheltuite, la fel ca şi cum aţi fi folosit o copie a wallet.dat şi monedele au fost cheltuite în copie, dar nu au fost marcate ca şi cheltuite şi aici. + + + Pay only the minimum fee of %1 + Plăteşte doar taxa minimă de %1 Warning: Invalid Bitcoin address - Atentie: Adresa Bitcoin invalida! + Atenţie: Adresa bitcoin nevalidă! (no label) @@ -1582,15 +1986,19 @@ Adresa: %4 Warning: Unknown change address - Atentie: Schimbare de adresa necunoscuta + Atenţie: Adresă de rest necunoscută + + + Copy dust + Copiază praf Are you sure you want to send? - Ești sigur că vrei să trimiți? + Sigur doriţi să trimiteţi? added as transaction fee - adăugat ca taxă de tranzacție + adăugat ca taxă de tranzacţie @@ -1601,11 +2009,11 @@ Adresa: %4 Pay &To: - Plătește că&tre: + Plăteşte că&tre: Enter a label for this address to add it to your address book - Introdu o etichetă pentru această adresă pentru a fi adăugată în lista ta de adrese + Introduceţi o etichetă pentru această adresă pentru a fi adăugată în lista dvs. de adrese &Label: @@ -1613,19 +2021,23 @@ Adresa: %4 Choose previously used address - Alegeti adrese folosite in prealabil. + Alegeţi adrese folosite anterior This is a normal payment. Aceasta este o tranzacţie normală. + + The Bitcoin address to send the payment to + Adresa bitcoin către care se face plata + Alt+A Alt+A Paste address from clipboard - Lipește adresa din clipboard + Lipeşte adresa din clipboard Alt+P @@ -1633,7 +2045,7 @@ Adresa: %4 Remove this entry - Scoate aceasta introducere + Înlătură această intrare Message: @@ -1641,19 +2053,23 @@ Adresa: %4 This is a verified payment request. - Aceasta este o cerere de plata verificata + Aceasta este o cerere de plată verificată. Enter a label for this address to add it to the list of used addresses - Introduceti eticheta pentru ca aceasta adresa sa fie introdusa in lista de adrese folosite + Introduceţi eticheta pentru ca această adresa să fie introdusă în lista de adrese folosite + + + 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. + un mesaj a fost ataşat la bitcoin: URI care va fi stocat cu tranzacţia pentru referinţa dvs. Notă: Acest mesaj nu va fi trimis către reţeaua bitcoin. This is an unverified payment request. - Aceasta este o cerere de plata neverificata + Aceasta este o cerere de plata neverificată. Pay To: - Plateste catre: + Plăteşte către: Memo: @@ -1664,30 +2080,34 @@ Adresa: %4 ShutdownWindow Bitcoin Core is shutting down... - Bitcoin Core se închide... + Nucleul Bitcoin se închide... Do not shut down the computer until this window disappears. - Nu închide calculatorul până ce această fereastră nu dispare. + Nu închide calculatorul pînă ce această fereastră nu dispare. SignVerifyMessageDialog Signatures - Sign / Verify a Message - Semnatura- Semneaza/verifica un mesaj + Semnaturi - Semnează/verifică un mesaj &Sign Message - Semneaza Mesajul + &Semnează mesaj You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Puteti semna mesaje cu adresa dumneavoastra pentru a demostra ca sunteti proprietarul lor. Aveti grija sa nu semnati nimic vag, deoarece atacurile de tip phishing va pot pacali sa le transferati identitatea. Semnati numai declaratiile detaliate cu care sunteti deacord. + Puteţi semna mesaje cu adresa dvs. pentru a demostra ca sînteti proprietarul lor. Aveţi grijă să nu semnaţi nimic vag, deoarece atacurile de tip phishing vă pot păcăli să le transferaţi identitatea. Semnaţi numai declaraţiile detaliate cu care sînteti de acord. + + + The Bitcoin address to sign the message with + Adresa cu care semnaţi mesajul Choose previously used address - Alegeti adrese folosite in prealabil + Alegeţi adrese folosite anterior Alt+A @@ -1695,7 +2115,7 @@ Adresa: %4 Paste address from clipboard - Lipiţi adresa copiată in clipboard. + Lipeşte adresa copiată din clipboard Alt+P @@ -1703,7 +2123,7 @@ Adresa: %4 Enter the message you want to sign here - Introduce mesajul pe care vrei sa il semnezi, aici. + Introduceţi mesajul pe care vreţi să-l semnaţi, aici Signature @@ -1711,106 +2131,110 @@ Adresa: %4 Copy the current signature to the system clipboard - Copiaza semnatura curenta in clipboard-ul sistemului + Copiază semnatura curentă în clipboard-ul sistemului Sign the message to prove you own this Bitcoin address - Semneaza mesajul pentru a dovedi ca detii acesta adresa Bitcoin + Semnează mesajul pentru a dovedi ca deţineţi acestă adresă Bitcoin Sign &Message - Semnează &Message + Semnează &mesaj Reset all sign message fields - Reseteaza toate spatiile mesajelor semnate. + Resetează toate cîmpurile mesajelor semnate Clear &All - Şterge &tot + Curăţă to&ate &Verify Message - Verifica mesajul + &Verifică mesaj Enter the signing 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. - Introduceti adresa de semnatura, mesajul (asigurati-va ca ati copiat spatiile, taburile etc. exact) si semnatura dedesubt pentru a verifica mesajul. Aveti grija sa nu cititi mai mult in semnatura decat mesajul in sine, pentru a evita sa fiti pacaliti de un atac de tip man-in-the-middle. + Introduceţi adresa de semnatură, mesajul (asiguraţi-vă că aţi copiat spaţiile, taburile etc. exact) şi semnatura dedesubt pentru a verifica mesajul. Aveţi grijă să nu citiţi mai mult în semnatură decît mesajul în sine, pentru a evita să fiţi păcăliţi de un atac de tip man-in-the-middle. + + + The Bitcoin address the message was signed with + Introduceţi o adresă Bitcoin Verify the message to ensure it was signed with the specified Bitcoin address - Verifica mesajul pentru a fi sigur ca a fost semnat cu adresa Bitcoin specifica + Verificaţi mesajul pentru a vă asigura că a fost semnat cu adresa Bitcoin specificată Verify &Message - Verifică &Message + Verifică &mesaj Reset all verify message fields - Reseteaza toate spatiile mesajelor semnate. + Resetează toate cîmpurile mesajelor semnate Click "Sign Message" to generate signature - Click "Semneaza msajul" pentru a genera semnatura + Faceţi clic pe "Semneaza msaj" pentru a genera semnătura The entered address is invalid. - Adresa introdusa nu este valida + Adresa introdusă nu este validă Please check the address and try again. - Te rugam verifica adresa si introduce-o din nou + Vă rugăm verificaţi adresa şi încercaţi din nou. The entered address does not refer to a key. - Adresa introdusa nu se refera la o cheie. + Adresa introdusă nu se referă la o cheie. Wallet unlock was cancelled. - Blocarea portofelului a fost intrerupta + Blocarea portofelului a fost întreruptă. Private key for the entered address is not available. - Cheia privata pentru adresa introdusa nu este valida. + Cheia privată pentru adresa introdusă nu este validă. Message signing failed. - Semnarea mesajului a esuat + Semnarea mesajului nu a reuşit. Message signed. - Mesaj Semnat! + Mesaj semnat. The signature could not be decoded. - Aceasta semnatura nu a putut fi decodata + Această semnatură nu a putut fi decodată. Please check the signature and try again. - Verifica semnatura si incearca din nou + Vă rugăm verificaţi semnătura şi încercaţi din nou. The signature did not match the message digest. - Semnatura nu seamana! + Semnatura nu se potriveşte cu mesajul. Message verification failed. - Verificarea mesajului a esuat + Verificarea mesajului nu a reuşit. Message verified. - Mesaj verificat + Mesaj verificat. SplashScreen Bitcoin Core - Bitcoin Core + Nucleul Bitcoin The Bitcoin Core developers - Dezvoltatorii Bitcoin Core + Dezvoltatorii Nucleului Bitcoin [testnet] @@ -1828,7 +2252,11 @@ Adresa: %4 TransactionDesc Open until %1 - Deschis până la %1 + Deschis pînă la %1 + + + conflicted + în conflict %1/offline @@ -1872,7 +2300,11 @@ Adresa: %4 own address - Adresa posedata + adresa proprie + + + watch-only + doar-supraveghere label @@ -1888,15 +2320,23 @@ Adresa: %4 not accepted - nu este acceptat + neacceptat Debit Debit + + Total debit + Total debit + + + Total credit + Total credit + Transaction fee - Comisionul tranzacţiei + Taxă tranzacţie Net amount @@ -1908,11 +2348,11 @@ Adresa: %4 Comment - Comentarii + Comentariu Transaction ID - ID-ul tranzactiei + ID-ul tranzacţie Merchant @@ -1920,11 +2360,11 @@ Adresa: %4 Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Monezile generate trebuie sa creasca %1 block-uri inainte sa poata fi cheltuite. Cand ati generat acest block, a fost transmis retelei pentru a fi adaugat la lantul de block-uri. Aceasta se poate intampla ocazional daca alt nod genereaza un block la numai cateva secunde de al tau. + Monezile generate trebuie să crească %1 blocuri înainte să poată fi cheltuite. Cînd aţi generat acest bloc, a fost transmis reţelei pentru a fi adaugat la lanţul de blocuri. Aceasta se poate întîmpla ocazional dacă alt nod generează un bloc la numai cîteva secunde de al dvs. Debug information - Informatii pentru debug + Informaţii pentru depanare Transaction @@ -1932,7 +2372,7 @@ Adresa: %4 Inputs - Intrari + Intrări Amount @@ -1940,11 +2380,11 @@ Adresa: %4 true - Adevarat! + adevărat false - Fals! + fals , has not been successfully broadcast yet @@ -1959,11 +2399,11 @@ Adresa: %4 TransactionDescDialog Transaction details - Detaliile tranzacției + Detaliile tranzacţiei This pane shows a detailed description of the transaction - Acest panou afișează o descriere detaliată a tranzacției + Acest panou arată o descriere detaliată a tranzacţiei @@ -1974,11 +2414,15 @@ Adresa: %4 Type - Tipul + Tip Address - Adresa + Adresă + + + Immature (%1 confirmations, will be available after %2) + Imatur (%1 confirmări, va fi disponibil după %2) Open until %1 @@ -1990,7 +2434,7 @@ Adresa: %4 This block was not received by any other nodes and will probably not be accepted! - Acest bloc nu a fost recepționat de niciun alt nod și probabil nu va fi acceptat! + Acest bloc nu a fost recepţionat de nici un alt nod şi probabil nu va fi acceptat! Generated but not accepted @@ -2006,11 +2450,15 @@ Adresa: %4 Confirming (%1 of %2 recommended confirmations) - Confirmare (%1 dintre %2 confirmări recomandate) + Confirmare (%1 din %2 confirmări recomandate) + + + Conflicted + În conflict Received with - Recepționat cu + Recepţionat cu Received from @@ -2022,31 +2470,39 @@ Adresa: %4 Payment to yourself - Plată către tine + Plată către dvs. Mined - Produs + Minerit + + + watch-only + doar-supraveghere (n/a) - (n/a) + indisponibil Transaction status. Hover over this field to show number of confirmations. - Starea tranzacției. Treci cu mausul peste acest câmp pentru afișarea numărului de confirmări. + Starea tranzacţiei. Treceţi cu mouse-ul peste acest cîmp pentru afişarea numărului de confirmări. Date and time that the transaction was received. - Data și ora la care a fost recepționată tranzacția. + Data şi ora la care a fost recepţionată tranzacţia. Type of transaction. - Tipul tranzacției. + Tipul tranzacţiei. + + + Whether or not a watch-only address is involved in this transaction. + Indiferent dacă sau nu o adresă doar-suăpraveghere este implicată în această tranzacţie. Destination address of transaction. - Adresa de destinație a tranzacției. + Adresa de destinaţie a tranzacţiei. Amount removed from or added to balance. @@ -2065,7 +2521,7 @@ Adresa: %4 This week - Săptămâna aceasta + Săptămîna aceasta This month @@ -2081,11 +2537,11 @@ Adresa: %4 Range... - Între... + Interval... Received with - Recepționat cu + Recepţionat cu Sent to @@ -2093,11 +2549,11 @@ Adresa: %4 To yourself - Către tine + Către dvs. Mined - Produs + Minerit Other @@ -2105,11 +2561,11 @@ Adresa: %4 Enter address or label to search - Introdu adresa sau eticheta pentru căutare + Introduceţi adresa sau eticheta pentru căutare Min amount - Cantitatea minimă + Suma minimă Copy address @@ -2125,7 +2581,7 @@ Adresa: %4 Copy transaction ID - Copiază ID tranzacție + Copiază ID tranzacţie Edit label @@ -2133,23 +2589,27 @@ Adresa: %4 Show transaction details - Arată detaliile tranzacției + Arată detaliile tranzacţiei Export Transaction History - Exportare Istoric Tranzacţii + Export istoric tranzacţii + + + Watch-only + Doar-supraveghere Exporting Failed - Exportare Eşuată + Export nereuşit There was an error trying to save the transaction history to %1. - S-a produs o eroare încercând să se salveze istoricul tranzacţiilor la %1. + S-a produs o eroare la salvarea istoricului tranzacţiilor la %1. Exporting Successful - Exportare Reuşită + Export reuşit The transaction history was successfully saved to %1. @@ -2157,7 +2617,7 @@ Adresa: %4 Comma separated file (*.csv) - Fișier text cu valori separate prin virgulă (*.csv) + Fişier text cu valori separate prin virgulă (*.csv) Confirmed @@ -2169,7 +2629,7 @@ Adresa: %4 Type - Tipul + Tip Label @@ -2194,34 +2654,38 @@ Adresa: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Unitatea în care sînt arătate sumele. Faceţi clic pentru a selecta o altă unitate. + + WalletFrame No wallet has been loaded. - Nu a fost încărcat niciun portofel. + Nu a fost încărcat nici un portofel. WalletModel Send Coins - Trimite Bitcoin + Trimitere bitcoin WalletView &Export - &Exportă + &Export Export the data in the current tab to a file - Exporta datele din tab-ul curent într-un fișier + Exportă datele din tab-ul curent într-un fişier Backup Wallet - Fă o copie de siguranță a portofelului + Copie de siguranţă portofel Wallet Data (*.dat) @@ -2229,11 +2693,11 @@ Adresa: %4 Backup Failed - Copia de rezerva a esuat + Copierea de siguranţă nu a reuşit There was an error trying to save the wallet data to %1. - S-a produs o eroare încercând să se salveze datele portofelului la %1. + S-a produs o eroare la salvarea datelor portofelului la %1. The wallet data was successfully saved to %1. @@ -2241,107 +2705,98 @@ Adresa: %4 Backup Successful - Copia de siguranță efectuată cu succes + Copie de siguranţă efectuată cu succes bitcoin-core Options: - Setări: + Opţiuni: Specify data directory - Specifică dosarul de date + Specificaţi dosarul de date Connect to a node to retrieve peer addresses, and disconnect - Conectează-te la nod pentru a obține adresele partenerilor, și apoi deconectează-te + Se conectează la un nod pentru a obţine adresele partenerilor, şi apoi se deconectează Specify your own public address - Specifică adresa ta publică + Specificaţi adresa dvs. publică Accept command line and JSON-RPC commands - Se acceptă comenzi din linia de comandă și comenzi JSON-RPC + Acceptă comenzi din linia de comandă şi comenzi JSON-RPC Run in the background as a daemon and accept commands - Rulează în fundal ca un demon și acceptă comenzi + Rulează în fundal ca un demon şi acceptă comenzi Use the test network - Utilizează rețeaua de test + Utilizează reţeaua de test Accept connections from outside (default: 1 if no -proxy or -connect) - Acceptă conexiuni din afară (implicit: 1 dacă nu se folosește -proxy sau -connect) - - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s trebuie sa setezi o parola rpc in fisierul de configurare -%s -Este recomandat sa folosesti aceasta parola aleatorie: -rpcuser=bitcoinrpc -parola rpc=%s -(nu este necesar ca sa iti amintesti aceasta parola) -Numele de utilizator si parola NU trebuie sa fie la fel. -Daca fisierul nu exista, creaza-l cu fisier de citit permis doar proprietarului. -Este de asemenea recomandat sa setezi alerta de notificare ca sa primesti notificari ale problemelor; -spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com - - + Acceptă conexiuni din afară (implicit: 1 dacă nu se foloseşte -proxy sau -connect) Bind to given address and always listen on it. Use [host]:port notation for IPv6 - Atasati adresei date si ascultati totdeauna pe ea. Folositi [host]:port notatia pentru IPv6 + Ataşaţi adresei date şi ascultaţi totdeauna pe ea. Folosiţi notaţia [host]:port pentru IPv6 - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Eroare: Tranzactia a fost respinsa! Acest lucru se poate intampla daca anumite monezi din portofelul dumneavoastra au fost deja cheltuite, deasemenea daca ati folosit o copie a fisierului wallet.dat si monezile au fost folosite in acea copie dar nu au fost marcate ca fiind folosite acolo. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuit sub licenţa de programe MIT/X11, vezi fişierul însoţitor COPYING sau <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Eroare: Aceasta tranzactie necesita o taxa de cel putin %s din cauza sumei, complexitatii sau folosirii fondurilor recent primite! + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Iniţiază modul de test regresie, care foloseşte un lanţ special în care blocurile pot fi rezolvate instantaneu. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) - Executati comanda cand o tranzactie a portofelului se schimba (%s in cmd este inlocuit de TxID) + Execută comanda cînd o tranzacţie a portofelului se schimbă (%s în cmd este înlocuit de TxID) + + + In this mode -genproclimit controls how many blocks are generated immediately. + În acest mod -genproclimit controlează cîte blocuri sînt generate imediat. + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Setează numărul de thread-uri de verificare a script-urilor (%u la %d, 0 = auto, <0 = lasă atîtea nuclee libere, implicit: %d) This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Aceasta este o versiune de test preliminara - va asumati riscul folosind-o - nu folositi pentru minerit sau aplicatiile comerciantilor. + Aceasta este o versiune de test preliminară - vă asumaţi riscul folosind-o - nu folosiţi pentru minerit sau aplicaţiile comercianţilor + + + Unable to bind to %s on this computer. Bitcoin Core is probably already running. + Nu se poate lega la %s pe acest calculator. Nucleul Bitcoin probabil deja rulează. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Atentie: setarea -paytxfee este foarte ridicata! Aceasta este taxa tranzactiei pe care o vei plati daca trimiti o tranzactie. + Atenţie: setarea -paytxfee este foarte mare! Aceasta este taxa tranzacţiei pe care o veţi plăti dacă trimiteţi o tranzacţie. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. - Atentie: Reteaua nu pare sa fie deacord in totalitate! Aparent niste mineri au probleme. + Atenţie: Reţeaua nu pare să fie de acord în totalitate! Aparent nişte mineri au probleme. Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. - Atentie: Aparent, nu suntem deacord cu toti membrii nostri! Va trebui sa faci un upgrade, sau alte noduri ar necesita upgrade. + Atenţie: Aparent, nu sîntem de acord cu toţi partenerii noştri! Va trebui să faceţi o actualizare, sau alte noduri necesită actualizare. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - Atentie: eroare la citirea fisierului wallet.dat! Toate cheile sunt citite corect, dar datele tranzactiei sau anumite intrari din agenda sunt incorecte sau lipsesc. + Atenţie: eroare la citirea fişierului wallet.dat! Toate cheile sînt citite corect, dar datele tranzactiei sau anumite intrări din agenda sînt incorecte sau lipsesc. Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - Atentie: fisierul wallet.dat este corupt, date salvate! Fisierul original wallet.dat a fost salvat ca wallet.{timestamp}.bak in %s; daca balansul sau tranzactiile sunt incorecte ar trebui sa restaurati dintr-o copie de siguranta. + Atenţie: fişierul wallet.dat este corupt, date salvate! Fişierul original wallet.dat a fost salvat ca wallet.{timestamp}.bak in %s; dacă balansul sau tranzactiile sînt incorecte ar trebui să restauraţi dintr-o copie de siguranţă. + + + (default: 1) + (iniţial: 1) <category> can be: @@ -2349,35 +2804,47 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Attempt to recover private keys from a corrupt wallet.dat - Încearcă recuperarea cheilor private dintr-un wallet.dat corupt + Încercare de recuperare a cheilor private dintr-un wallet.dat corupt Block creation options: - Optiuni creare block + Opţiuni creare bloc: Connect only to the specified node(s) - Conecteaza-te doar la nod(urile) specifice + Conectare doar la nod(urile) specificate + + + Connection options: + Opţiuni conexiune: Corrupted block database detected - Baza de date 'bloc' defectată a fost detectată + Bloc defect din baza de date detectat + + + Debugging/Testing options: + Opţiuni Depanare/Test: Discover own IP address (default: 1 when listening and no -externalip) - Descopera propria ta adresa IP (intial: 1) + Descoperă propria adresă IP (inţial: 1) + + + Do not load the wallet and disable wallet RPC calls + Nu încarcă portofelul şi dezactivează solicitările portofel RPC Do you want to rebuild the block database now? - Doriți să reconstruiți baza de date 'bloc' acum? + Doriţi să reconstruiţi baza de date blocuri acum? Error initializing block database - Eroare la inițializarea bazei de date de blocuri + Eroare la iniţializarea bazei de date de blocuri Error initializing wallet database environment %s! - Eroare la initializarea mediului de baza de date a portofelului %s! + Eroare la iniţializarea mediului de bază de date a portofelului %s! Error loading block database @@ -2389,43 +2856,59 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Error: Disk space is low! - Eroare: Spațiu pe disc redus! + Eroare: Spaţiu pe disc redus! - Error: Wallet locked, unable to create transaction! - Eroare: Portofel blocat, nu se poate crea o tranzacție! + Failed to listen on any port. Use -listen=0 if you want this. + Nu s-a reuşit ascultarea pe orice port. Folosiţi -listen=0 dacă vreţi asta. - Failed to listen on any port. Use -listen=0 if you want this. - Am esuat ascultarea pe orice port. Folositi -listen=0 daca vreti asta. + If <category> is not supplied, output all debugging information. + Dacă <category> nu este furnizat, produce toate informaţiile de depanare. + + + Importing... + Import... Incorrect or no genesis block found. Wrong datadir for network? - Incorect sau nici un bloc de Geneza găsite. Directorul de retea greşit? + Incorect sau nici un bloc de geneza găsit. Directorul de retea greşit? Invalid -onion address: '%s' - Adresa -onion invalidă: '%s' + Adresa -onion nevalidă: '%s' Not enough file descriptors available. - Nu sunt destule descriptoare disponibile. + Nu sînt destule descriptoare disponibile. + + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Se conectează doar la noduri în reţeaua <net> (ipv4, ipv6 sau onion) Rebuild block chain index from current blk000??.dat files - Reconstruirea indexului lantului de block-uri din fisierele actuale blk000???.dat + Reconstruirea indexului lanţului de bloc din fişierele actuale blk000???.dat + + + Set database cache size in megabytes (%d to %d, default: %d) + Setează mărimea bazei de date cache în megaocteţi (%d la %d, implicit: %d) Set maximum block size in bytes (default: %d) - Setaţi dimensiunea maximă a unui block în bytes (implicit: %d) + Setaţi dimensiunea maximă a unui bloc în bytes (implicit: %d) Specify wallet file (within data directory) - Specifică fișierul wallet (în dosarul de date) + Specifică fişierul portofel (în dosarul de date) This is intended for regression testing tools and app development. - Este folosita pentru programe de testare a regresiei in algoritmi si dezvoltare de alte aplicatii. + Este folosită pentru programe de testare a regresiei în algoritmi şi dezvoltare de alte aplicaţii. + + + Use UPnP to map the listening port (default: %u) + Foloseşte mapare UPnP pentru asculatere port (implicit: %u) Verifying blocks... @@ -2441,83 +2924,199 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Wallet options: - Optiuni de portofel + Opţiuni portofel: You need to rebuild the database using -reindex to change -txindex - Trebuie să reconstruiești baza de date folosind -reindex pentru a schimba -txindex + Trebuie să reconstruiţi baza de date folosind -reindex pentru a schimba -txindex Imports blocks from external blk000??.dat file - Importă blocuri dintr-un fișier extern blk000??.dat + Importă blocuri dintr-un fişier extern blk000??.dat + + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Permite conexiunile JSON-RPC din sursa specificată. Valid pentru <ip> sînt IP singulare (ex. 1.2.3.4), o reţea/mască-reţea (ex. 1.2.3.4/255.255.255.0) sau o reţea/CIDR (ex. 1.2.3.4/24). Această opţiune poate fi specificată de mai multe ori + + + An error occurred while setting up the RPC address %s port %u for listening: %s + A apărut o eroare la setarea adresei RPC %s portul %u pentru ascultare: %s + + + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. + Nu se poate obţine blocarea folderului cu date %s. Nucleul Bitcoin probabil deja rulează. Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) - Executati comanda cand o alerta relevanta este primita sau vedem o bifurcatie foarte lunga (%s in cmd este inlocuti de mesaj) + Execută comanda cînd o alertă relevantă este primită sau vedem o bifurcaţie foarte lungă (%s în cmd este înlocuit de mesaj) + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + Setează mărimea pentru tranzacţiile prioritare/taxe mici în octeţi (implicit: %d) + + + 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. + Acest produs include programe dezvoltate de către Proiectul OpenSSL pentru a fi folosite în OpenSSL Toolkit <https://www.openssl.org/> şi programe criptografice scrise de către Eric Young şi programe UPnP scrise de către Thomas Bernard. + + + Accept public REST requests (default: %u) + Acceptă cererile publice REST (implicit: %u) + + + Connect through SOCKS5 proxy + Conectare prin proxy SOCKS5 + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Dezvoltatorii Bitcoin + + + Error reading from database, shutting down. + Eroare la citirea bazei de date. Oprire. + + + Error: Unsupported argument -tor found, use -onion. + Eroare: Argument nesuportat -tor găsit, folosiţi -onion. + + + Fee (in BTC/kB) to add to transactions you send (default: %s) + Taxa (în BTC/kB) de adăugat la tranzacţiile pe care le trimiteţi(implicit: %s) Information - Informație + Informaţie + + + Initialization sanity check failed. Bitcoin Core is shutting down. + Nu s-a reuşit iniţierea verificării sănătăţii. Nucleul Bitcoin se opreşte. + + + Invalid amount for -maxtxfee=<amount>: '%s' + Sumă nevalidă pentru -maxtxfee=<suma>: '%s' Invalid amount for -minrelaytxfee=<amount>: '%s' - Suma invalida pentru -minrelaytxfee=<suma>:'%s' + Sumă nevalidă pentru -minrelaytxfee=<suma>:'%s' Invalid amount for -mintxfee=<amount>: '%s' - Suma invalida pentru -mintxfee=<suma>: '%s' + Sumă nevalidă pentru -mintxfee=<suma>: '%s' + + + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Sumă nevalidă pentru -paytxfee=<suma>: '%s' (trebuie să fie cel puţin %s) + + + Invalid netmask specified in -whitelist: '%s' + Mască reţea nevalidă specificată în -whitelist: '%s' - Print block on startup, if found in block index - Publica bloc la pornire daca exista in index-ul de blocuri. + Need to specify a port with -whitebind: '%s' + Trebuie să specificaţi un port cu -whitebind: '%s' + + + RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) + Opţiuni RPC SSL: (vedeţi Wiki Bitcoin pentru intrucţiunile de setare SSL) + + + RPC server options: + Opţiuni server RPC: + + + RPC support for HTTP persistent connections (default: %d) + RPC suportă pentru HTTP conexiuni persistente (implicit: %d) + + + Randomly drop 1 of every <n> network messages + Aleator sccapă 1 din fiecare <n> mesaje ale reţelei + + + Randomly fuzz 1 of every <n> network messages + Aleator aproximează 1 din fiecare <n> mesaje ale reţelei Send trace/debug info to console instead of debug.log file - Trimite informațiile trace/debug la consolă în locul fișierului debug.log + Trimite informaţiile trace/debug la consolă în locul fişierului debug.log + + + Send transactions as zero-fee transactions if possible (default: %u) + Trimitere tranzacţii ca tranzacţii taxă-zero dacă este posibil (implicit: %u) + + + Show all debugging options (usage: --help -help-debug) + Arată toate opţiunile de depanare (uz: --help -help-debug) Shrink debug.log file on client startup (default: 1 when no -debug) - Micsorati fisierul debug.log la inceperea clientului (implicit: 1 cand nu -debug) + Micşorează fişierul debug.log la pornirea clientului (implicit: 1 cînd nu se foloseşte -debug) Signing transaction failed - Semnarea tranzacției a eșuat + Nu s-a reuşit semnarea tranzacţiei + + + This is experimental software. + Acesta este un program experimental. Transaction amount too small - Suma tranzacționată este prea mică + Suma tranzacţionată este prea mică Transaction amounts must be positive - Sumele tranzacționate trebuie să fie pozitive + Sumele tranzacţionate trebuie să fie pozitive + + + Transaction too large for fee policy + Tranzacţie prea mare pentru politică gratis Transaction too large - Tranzacția este prea mare + Tranzacţie prea mare + + + Unable to bind to %s on this computer (bind returned error %s) + Nu se poate lega la %s pe acest calculator. (Legarea a întors eroarea %s) Use UPnP to map the listening port (default: 1 when listening) - Foloseste UPnP pentru a vedea porturile (initial: 1 cand listezi) + Foloseşte UPnP pentru a vedea porturile (implicit: 1 cînd ascultă) Username for JSON-RPC connections Utilizator pentru conexiunile JSON-RPC + + Wallet needed to be rewritten: restart Bitcoin Core to complete + Portofelul necesită rescrierea: reporniţi Nucleul Bitcoin pentru completare + Warning - Avertizare + Avertisment Warning: This version is obsolete, upgrade required! - Atenție: această versiune este depășită, este necesară actualizarea! + Atenţie: această versiune este depăşită, este necesară actualizarea! + + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Avertisment: Argument nesuportat -benchmark ignorat, folosiţi -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Avertisment: Argument nesuportat -debugnet ignorat, folosiţi -debug=net. + + + Zapping all transactions from wallet... + Şterge toate tranzacţiile din portofel... on startup - in timpul pornirii + la pornire wallet.dat corrupt, salvage failed - wallet.dat corupt, recuperare eșuată + wallet.dat corupt, salvare nereuşită Password for JSON-RPC connections @@ -2525,7 +3124,7 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Execute command when the best block changes (%s in cmd is replaced by block hash) - Execută comanda când cel mai bun bloc se modifică (%s în cmd este înlocuit cu hash-ul blocului) + Execută comanda cînd cel mai bun bloc se modifică (%s în cmd este înlocuit cu hash-ul blocului) Upgrade wallet to latest format @@ -2533,11 +3132,11 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Rescan the block chain for missing wallet transactions - Rescanează lanțul de bloc pentru tranzacțiile portofel lipsă + Rescanează lanţul de bloc pentru tranzacţiile portofel lipsă Use OpenSSL (https) for JSON-RPC connections - Folosește OpenSSL (https) pentru conexiunile JSON-RPC + Foloseşte OpenSSL (https) pentru conexiunile JSON-RPC This help message @@ -2545,27 +3144,75 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Allow DNS lookups for -addnode, -seednode and -connect - Permite căutări DNS pentru -addnode, -seednode și -connect + Permite căutări DNS pentru -addnode, -seednode şi -connect Loading addresses... - Încarc adrese... + Încărcare adrese... Error loading wallet.dat: Wallet corrupted Eroare la încărcarea wallet.dat: Portofel corupt + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Goleşte baza de date a activităţii din memoria pool în jurnal pe disc la fiecare <n> megaocteţi (implicit: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Produce toate informaţiile de depanare (implicit: %u <category> furnizată este opţională) + + + (default: %s) + (implicit: %s) + + + Acceptable ciphers (default: %s) + Cifruri acceptabile (implicit: %s) + Error loading wallet.dat Eroare la încărcarea wallet.dat + + Force safe mode (default: %u) + Forţează mod sigur (implicit: %u) + + + Generate coins (default: %u) + Generează monede (implicit: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Cîte blocuri verifică la pornire (implicit: %u, 0 = toate) + Invalid -proxy address: '%s' Adresa -proxy nevalidă: '%s' + + Server certificate file (default: %s) + Fişierul certificat al serverului (implicit: %s) + + + Server private key (default: %s) + Cheia privată a serverului (implicit: %s) + + + Set minimum block size in bytes (default: %u) + Setare mărime minimă bloc în octeţi (implicit: %u) + + + Specify configuration file (default: %s) + Specificaţi fişierul configuraţie (implicit: %s) + + + Specify pid file (default: %s) + Specifică fişierul pid (implicit: %s) + Unknown network specified in -onlynet: '%s' - Rețeaua specificată în -onlynet este necunoscută: '%s' + Reţeaua specificată în -onlynet este necunoscută: '%s' Cannot resolve -bind address: '%s' @@ -2579,25 +3226,21 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Suma nevalidă pentru -paytxfee=<amount>: '%s' - - Invalid amount - Sumă nevalidă - Insufficient funds Fonduri insuficiente Loading block index... - Încarc indice bloc... + Încărcare index bloc... Add a node to connect to and attempt to keep the connection open - Adaugă un nod la care te poți conecta pentru a menține conexiunea deschisă + Adaugă un nod la care te poţi conecta pentru a menţine conexiunea deschisă Loading wallet... - Încarc portofel... + Încărcare portofel... Cannot downgrade wallet @@ -2609,16 +3252,12 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@foo.com Rescanning... - Rescanez... + Rescanare... Done loading Încărcare terminată - - To use the %s option - Pentru a folosi opțiunea %s - Error Eroare diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts index 55986d4092443..53fb0c4e5eccc 100644 --- a/src/qt/locale/bitcoin_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Для того, чтобы изменить адрес или метку, дважды кликните по изменяемому объекту + Right-click to edit address or label + Клик правой кнопкой для редактирования адреса или метки Create a new address @@ -11,7 +11,7 @@ &New - &Новый + Новый Copy the currently selected address to the system clipboard @@ -19,15 +19,15 @@ &Copy - &Копировать + Копировать C&lose - &Закрыть + Закрыть &Copy Address - &Копировать адрес + Копировать адрес Delete the currently selected address from the list @@ -35,15 +35,15 @@ Export the data in the current tab to a file - Экспортировать данные из вкладки в файл + Экспортировать данные текущей вкладки в файл &Export - &Экспорт + Экспорт &Delete - &Удалить + Удалить Choose the address to send coins to @@ -55,7 +55,7 @@ C&hoose - &Выбрать + Выбрать Sending addresses @@ -75,11 +75,11 @@ Copy &Label - Копировать &метку + Копировать &Метку &Edit - &Правка + Правка Export Address List @@ -87,7 +87,7 @@ Comma separated file (*.csv) - Текст, разделённый запятыми (*.csv) + Файл, разделённый запятыми (*.csv) Exporting Failed @@ -106,7 +106,7 @@ (no label) - [нет метки] + (нет метки) @@ -133,7 +133,7 @@ This operation needs your wallet passphrase to unlock the wallet. - Для выполнения операции требуется пароль вашего бумажника. + Данная операция требует введения пароля для разблокировки вашего бумажника. Unlock wallet @@ -141,7 +141,7 @@ This operation needs your wallet passphrase to decrypt the wallet. - Для выполнения операции требуется пароль вашего бумажника. + Данная операция требует введения пароля для расшифровки вашего бумажника. Decrypt wallet @@ -161,7 +161,7 @@ Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Внимание: если вы зашифруете бумажник и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОЙНЫ</b>! + Предупреждение: если вы зашифруете бумажник и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОЙНЫ</b>! Are you sure you wish to encrypt your wallet? @@ -205,7 +205,7 @@ The passphrase entered for the wallet decryption was incorrect. - Указанный пароль не подходит. + Неверно указан пароль для расшиврования бумажника. Wallet decryption failed @@ -220,7 +220,7 @@ BitcoinGUI Sign &message... - &Подписать сообщение... + Подписать &сообщение Synchronizing with network... @@ -228,7 +228,7 @@ &Overview - &Обзор + Обзор Node @@ -240,15 +240,15 @@ &Transactions - &Транзакции + Транзакции Browse transaction history - Показать историю транзакций + Просмотр истории транзакций E&xit - В&ыход + Выход Quit application @@ -256,7 +256,7 @@ About &Qt - О &Qt + О Qt Show information about Qt @@ -264,31 +264,31 @@ &Options... - &Параметры + Параметры &Encrypt Wallet... - &Зашифровать бумажник... + Зашифровать бумажник... &Backup Wallet... - &Сделать резервную копию бумажника... + Сделать резервную копию бумажника... &Change Passphrase... - &Изменить пароль... + Сменить пароль &Sending addresses... - &Адреса отправки... + Адреса отправки... &Receiving addresses... - Адреса &получения... + Адреса получения... Open &URI... - Открыть &URI... + Открыть URI... Bitcoin Core client @@ -304,7 +304,7 @@ Send coins to a Bitcoin address - Отправить монеты на указанный адрес Bitcoin + Отправить монеты на адрес Bitcoin Modify configuration options for Bitcoin @@ -320,7 +320,7 @@ &Debug window - &Окно отладки + Окно отладки Open debugging and diagnostic console @@ -328,11 +328,11 @@ &Verify message... - &Проверить сообщение... + Проверить сообщение... Bitcoin - Bitcoin + Биткойн Wallet @@ -340,11 +340,11 @@ &Send - &Отправить + Отправить &Receive - &Получить + Получить Show information about Bitcoin Core @@ -352,7 +352,7 @@ &Show / Hide - &Показать / Скрыть + Показать / Скрыть Show or hide the main Window @@ -400,11 +400,11 @@ Show the list of used sending addresses and labels - Показать список использованных адресов и меток отправки + Показать список использованных адресов отправки и меток Show the list of used receiving addresses and labels - Показать список использованных адресов и меток получения + Показать список использованных адресов получения и меток Open a bitcoin: URI or payment request @@ -412,3135 +412,231 @@ &Command-line options - &Пармаетры командной строки + &Параметры командной строки Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options Показать помощь по Bitcoin Core и получить список доступных параметров командной строки. - - %n active connection(s) to Bitcoin network - %n активное соединение с сетью%n активных соединений с сетью%n активных соединений с сетью Bitcoin - No block source available... - Источник блоков недоступен... + Нет доступного источника блоков... %n hour(s) - %n час%n часа%n часов + %n час%n часа%n часов%n часов %n day(s) - %n день%n дня%n дней - - - %n week(s) - %n неделя%n недели%n недель - - - %1 and %2 - %1 и %2 - - - %n year(s) - %n год%n лет%n года - - - %1 behind - %1 позади - - - Last received block was generated %1 ago. - Последний полученный блок был сгенерирован %1 назад. - - - Transactions after this will not yet be visible. - Транзакции после него пока не будут видны. - - - Error - Ошибка - - - Warning - Внимание - - - Information - Информация - - - Up to date - Синхронизировано - - - Processed %n blocks of transaction history. - Обработан %n блок истории транзакций.Обработано %n блока истории транзакций.Обработано %n блоков истории транзакций. - - - Catching up... - Синхронизируется... - - - Sent transaction - Исходящая транзакция - - - Incoming transaction - Входящая транзакция - - - Date: %1 -Amount: %2 -Type: %3 -Address: %4 - - Дата: %1 -Сумма: %2 -Тип: %3 -Адрес: %4 - - - - Wallet is <b>encrypted</b> and currently <b>unlocked</b> - Бумажник <b>зашифрован</b> и в настоящее время <b>разблокирован</b> - - - Wallet is <b>encrypted</b> and currently <b>locked</b> - Бумажник <b>зашифрован</b> и в настоящее время <b>заблокирован</b> + %n день%n дня%n дней%n дней - + ClientModel - - Network Alert - Сетевая Тревога - - + CoinControlDialog - - Coin Selection - Выбор монет - - - Quantity: - Количество: - - - Bytes: - Байт: - - - Amount: - Сумма: - - - Priority: - Приоритет: - - - Fee: - Комиссия: - - - Dust: - Пыль: - - - After Fee: - После комиссии: - Change: - Сдача: - - - (un)select all - Отменить выбор всего - - - Tree mode - Режим дерева - - - List mode - Режим списка - - - Amount - Сумма - - - Received with label - Получено с пометкой - - - Received with address - Получено с адреса - - - Date - Дата - - - Confirmations - Подтверждений - - - Confirmed - Подтверждено - - - Priority - Приоритет - - - Copy address - Копировать адрес + Размен: - Copy label - Копировать метку + Copy change + Копировать размен - Copy amount - Скопировать сумму + (no label) + (нет метки) + + + EditAddressDialog + + + FreespaceChecker + + + HelpMessageDialog - Copy transaction ID - Скопировать ID транзакции + Bitcoin Core + Bitcoin Core + + + Intro - Lock unspent - Заблокировать непотраченное + Bitcoin Core + Bitcoin Core + + + OpenURIDialog + + + OptionsDialog + + + OverviewPage + + + PaymentServer + + + PeerTableModel + + + QObject + + + QRImageWidget + + + RPCConsole + + + ReceiveCoinsDialog - Unlock unspent - Разблокировать непотраченное + Clear all fields of the form. + Очистить все поля формы + + + ReceiveRequestDialog - Copy quantity - Копировать количество + Address + Адрес - Copy fee - Копировать комиссию + Label + Метка + + + RecentRequestsTableModel - Copy after fee - Копировать после комиссии + Label + Метка - Copy bytes - Копировать байты + (no label) + (нет метки) + + + SendCoinsDialog - Copy priority - Копировать приоритет + Change: + Размен: - Copy dust - Копировать пыль + Clear all fields of the form. + Очистить все поля формы Copy change - Копировать сдачу - - - highest - самый высокий - - - higher - выше - - - high - высокий - - - medium-high - выше среднего - - - medium - средний - - - low-medium - ниже среднего - - - low - низкий - - - lower - ниже - - - lowest - самый низкий - - - (%1 locked) - (%1 заблокировано) + Копировать размен - none - ничего + (no label) + (нет метки) + + + SendCoinsEntry + + + ShutdownWindow + + + SignVerifyMessageDialog + + + SplashScreen - Can vary +/- %1 satoshi(s) per input. - Может отличаться на +/- %1 сатоши на вход. + Bitcoin Core + Bitcoin Core + + + TrafficGraphWidget + + + TransactionDesc + + + TransactionDescDialog + + + TransactionTableModel - yes - да + Address + Адрес - no - нет + Received with + Получено на - This label turns red, if the transaction size is greater than 1000 bytes. - Эта пометка становится красной, если размер транзакции больше 1000 байт. + Sent to + Отправлено на - This means a fee of at least %1 per kB is required. - Это значит, что требуется комиссия как минимум %1 на КБ. + Mined + Добытые + + + TransactionView - Can vary +/- 1 byte per input. - Может отличаться на +/- 1 байт на вход. + Received with + Получено на - Transactions with higher priority are more likely to get included into a block. - Транзакции с более высоким приоритетом будут вероятнее других включены в блок. + Sent to + Отправлено на - This label turns red, if the priority is smaller than "medium". - Эта пометка становится красной, если приоритет ниже, чем "средний". + Mined + Добытые - This label turns red, if any recipient receives an amount smaller than %1. - Эта пометка становится красной, если какой-либо из адресатов получает сумму менее %1. + Exporting Failed + Экспорт не удался - (no label) - [нет метки] + Comma separated file (*.csv) + Файл, разделённый запятыми (*.csv) - change from %1 (%2) - сдача с %1 (%2) + Label + Метка - (change) - (размен) + Address + Адрес - + - EditAddressDialog - - Edit Address - Изменить адрес - - - &Label - &Метка - - - The label associated with this address list entry - Метка, связанная с этой записью списка адресов - - - The address associated with this address list entry. This can only be modified for sending addresses. - Адрес, связанный с этой записью списка адресов. Он может быть изменён только для адресов отправки. - - - &Address - &Адрес - - - New receiving address - Новый адрес для получения - + UnitDisplayStatusBarControl + + + WalletFrame + + + WalletModel + + + WalletView - New sending address - Новый адрес для отправки + &Export + Экспорт - Edit receiving address - Изменение адреса для получения + Export the data in the current tab to a file + Экспортировать данные текущей вкладки в файл - - Edit sending address - Изменение адреса для отправки - - - The entered address "%1" is already in the address book. - Введённый адрес «%1» уже находится в адресной книге. - - - The entered address "%1" is not a valid Bitcoin address. - Введённый адрес "%1" не является правильным Bitcoin-адресом. - - - Could not unlock wallet. - Не удается разблокировать бумажник. - - - New key generation failed. - Генерация нового ключа не удалась. - - - - FreespaceChecker - - A new data directory will be created. - Будет создан новый каталог данных. - - - name - имя - - - Directory already exists. Add %1 if you intend to create a new directory here. - Каталог уже существует. Добавьте %1, если вы хотите создать здесь новый каталог. - - - Path already exists, and is not a directory. - Путь уже существует и не является каталогом. - - - Cannot create data directory here. - Не удаётся создать здесь каталог данных. - - - - HelpMessageDialog - - Bitcoin Core - Bitcoin Core - - - version - версия - - - (%1-bit) - (%1-бит) - - - About Bitcoin Core - О Bitcoin Core - - - Command-line options - Параметры командной строки - - - Usage: - Использование: - - - command-line options - параметры командной строки - - - UI options - Настройки интерфейса - - - Set language, for example "de_DE" (default: system locale) - Выберите язык, например "de_DE" (по умолчанию: как в системе) - - - Start minimized - Запускать свёрнутым - - - Set SSL root certificates for payment request (default: -system-) - Указать корневые SSL-сертификаты для запроса платежа (по умолчанию: -system-) - - - Show splash screen on startup (default: 1) - Показывать сплэш при запуске (по умолчанию: 1) - - - Choose data directory on startup (default: 0) - Выбрать каталог данных при запуске (по умолчанию: 0) - - - - Intro - - Welcome - Добро пожаловать - - - Welcome to Bitcoin Core. - Добро пожаловать в Bitcoin Core. - - - As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. - Так как вы впервые запустили программу, вы можете выбрать, где Bitcoin Core будет хранить данные. - - - Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Bitcoin Core скачает и сохранит копию цепи блоков. Как минимум, %1ГБ данных будет храниться в этом каталоге, и со временем он будет расти. Бумажник будет также сохранён в этом каталоге. - - - Use the default data directory - Использовать каталог данных по умолчанию - - - Use a custom data directory: - Использовать другой каталог данных: - - - Bitcoin Core - Bitcoin Core - - - Error: Specified data directory "%1" cannot be created. - Ошибка: не удалось создать указанный каталог данных "%1". - - - Error - Ошибка - - - %n GB of free space available - %nГБ свободного места доступно%nГБ свободного места доступно%nГБ свободного места доступно - - - (of %n GB needed) - (из необходимых %nГБ)(из необходимых %nГБ)(из необходимых %nГБ) - - - - OpenURIDialog - - Open URI - Открыть URI - - - Open payment request from URI or file - Открыть запрос платежа из URI или файла - - - URI: - URI: - - - Select payment request file - Выбрать файл запроса платежа - - - Select payment request file to open - Выберите файл запроса платежа - - - - OptionsDialog - - Options - Параметры - - - &Main - &Главная - - - Automatically start Bitcoin after logging in to the system. - Автоматически запускать Bitcoin после входа в систему - - - &Start Bitcoin on system login - &Запускать Bitcoin при входе в систему - - - Size of &database cache - Размер кэша &БД - - - MB - МБ - - - Number of script &verification threads - Число потоков проверки &сценария - - - Accept connections from outside - Разрешать соединения извне - - - Allow incoming connections - Разрешить входящие подключения - - - IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) - IP-адрес прокси (например IPv4: 127.0.0.1 / IPv6: ::1) - - - Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. - Сторонние URL (например, block explorer), которые отображаются на вкладке транзакций как пункты контекстного меню. %s в URL заменяется хэшем транзакции. URL отделяются друг от друга вертикальной чертой |. - - - Third party transaction URLs - Сторонние URL транзакций. - - - Active command-line options that override above options: - Активные опции командной строки, которые перекрывают вышеуказанные опции: - - - Reset all client options to default. - Сбросить все настройки клиента на значения по умолчанию. - - - &Reset Options - &Сбросить параметры - - - &Network - &Сеть - - - (0 = auto, <0 = leave that many cores free) - (0 = автоматически, <0 = оставить столько незагруженных ядер) - - - W&allet - Б&умажник - - - Expert - Эксперт - - - Enable coin &control features - Включить управление входами - - - If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. - При отключении траты неподтверждённой сдачи, сдача от транзакции не может быть использована до тех пор пока у этой транзакции не будет хотя бы одно подтверждение. Это также влияет как ваш баланс рассчитывается. - - - &Spend unconfirmed change - &Тратить неподтверждённую сдачу - - - Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - Автоматически открыть порт для Bitcoin-клиента на роутере. Работает только если Ваш роутер поддерживает UPnP, и данная функция включена. - - - Map port using &UPnP - Пробросить порт через &UPnP - - - Connect to the Bitcoin network through a SOCKS5 proxy. - Подключаться к сети Bitcoin через прокси SOCKS5 - - - &Connect through SOCKS5 proxy (default proxy): - &Подключаться к сети Bitcoin через прокси SOCKS5 (прокси по умолчанию): - - - Proxy &IP: - &IP Прокси: - - - &Port: - По&рт: - - - Port of the proxy (e.g. 9050) - Порт прокси-сервера (например, 9050) - - - &Window - &Окно - - - Show only a tray icon after minimizing the window. - Показывать только иконку в системном лотке после сворачивания окна. - - - &Minimize to the tray instead of the taskbar - &Cворачивать в системный лоток вместо панели задач - - - Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - Сворачивать вместо закрытия. Если данная опция будет выбрана — приложение закроется только после выбора соответствующего пункта в меню. - - - M&inimize on close - С&ворачивать при закрытии - - - &Display - О&тображение - - - User Interface &language: - &Язык интерфейса: - - - The user interface language can be set here. This setting will take effect after restarting Bitcoin. - Здесь можно выбрать язык интерфейса. Настройки вступят в силу после перезапуска Bitcoin. - - - &Unit to show amounts in: - &Отображать суммы в единицах: - - - Choose the default subdivision unit to show in the interface and when sending coins. - Выберите единицу измерения монет при отображении и отправке. - - - Whether to show coin control features or not. - Показывать ли функции контроля монет или нет. - - - &OK - &OK - - - &Cancel - &Отмена - - - default - по умолчанию - - - none - ничего - - - Confirm options reset - Подтвердите сброс параметров - - - Client restart required to activate changes. - Для применения изменений требуется перезапуск клиента. - - - Client will be shutdown, do you want to proceed? - Клиент будет выключен, желаете продолжить? - - - This change would require a client restart. - Это изменение потребует перезапуска клиента. - - - The supplied proxy address is invalid. - Адрес прокси неверен. - - - - OverviewPage - - Form - Форма - - - The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. - Отображаемая информация может быть устаревшей. Ваш бумажник автоматически синхронизируется с сетью Bitcoin после подключения, но этот процесс пока не завершён. - - - Watch-only: - Только наблюдение: - - - Available: - Доступно: - - - Your current spendable balance - Ваш текущий расходный баланс - - - Pending: - В ожидании: - - - Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance - Общая сумма всех транзакций, которые до сих пор не подтверждены, и до сих пор не учитываются в расходном балансе - - - Immature: - Незрелые: - - - Mined balance that has not yet matured - Баланс добытых монет, который ещё не созрел - - - Balances - Балансы - - - Total: - Итого: - - - Your current total balance - Ваш текущий общий баланс - - - Your current balance in watch-only addresses - Ваш текущий баланс в адресах наблюдения - - - Spendable: - Доступно: - - - Recent transactions - Последние транзакции - - - Unconfirmed transactions to watch-only addresses - Неподтверждённые транзакции на адреса наблюдения - - - Mined balance in watch-only addresses that has not yet matured - Баланс добытых монет на адресах наблюдения, который ещё не созрел - - - Current total balance in watch-only addresses - Текущий общий баланс на адресах наблюдения - - - out of sync - не синхронизировано - - + - PaymentServer - - URI handling - Обработка URI - - - Invalid payment address %1 - Неверный адрес платежа %1 - - - Payment request rejected - Запрос платежа отклонён - - - Payment request network doesn't match client network. - Сеть запроса платежа не совпадает с сетью клиента. - - - Payment request has expired. - Запрос платежа просрочен. - - - Payment request is not initialized. - Запрос платежа не инициализирован. - - - Requested payment amount of %1 is too small (considered dust). - Запрошенная сумма платежа %1 слишком мала (считается пылью). - - - Payment request error - Ошибка запроса платежа - - - Cannot start bitcoin: click-to-pay handler - Не удаётся запустить bitcoin: обработчик click-to-pay - - - Payment request fetch URL is invalid: %1 - Неверный URL запроса платежа: %1 - - - URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. - Не удалось обработать URI! Это может быть связано с неверным адресом Bitcoin или неправильными параметрами URI. - - - Payment request file handling - Обработка файла запроса платежа - - - Payment request file cannot be read! This can be caused by an invalid payment request file. - Файл запроса платежа не может быть прочитан! Обычно это происходит из-за неверного файла запроса платежа. - - - Unverified payment requests to custom payment scripts are unsupported. - Непроверенные запросы платежей с нестандартными платёжными сценариями не поддерживаются. - - - Refund from %1 - Возврат от %1 - - - Error communicating with %1: %2 - Ошибка связи с %1: %2 - - - Payment request cannot be parsed! - Запрос платежа не может быть разобран! - - - Bad response from server %1 - Плохой ответ от сервера %1 - - - Payment acknowledged - Платёж принят - - - Network request error - Ошибка сетевого запроса - - - - PeerTableModel - - User Agent - Юзер-агент - - - Address/Hostname - Адрес/имя хоста - - - Ping Time - Время задержки - - - - QObject - - Amount - Сумма - - - Enter a Bitcoin address (e.g. %1) - Введите адрес Bitcoin (например, %1) - - - %1 d - %1 д - - - %1 h - %1 ч - - - %1 m - %1 мин - - - %1 s - %1 с - - - NETWORK - СЕТЬ - - - UNKNOWN - НЕИЗВЕСТНЫЙ - - - None - Ничего - - - N/A - Н/Д - - - %1 ms - %1 мс - - - - QRImageWidget - - &Save Image... - &Сохранить изображение... - - - &Copy Image - &Копировать изображение - - - Save QR Code - Сохранить QR-код - - - PNG Image (*.png) - Изображение PNG (*.png) - - - - RPCConsole - - Client name - Имя клиента - - - N/A - Н/Д - - - Client version - Версия клиента - - - &Information - &Информация - - - Debug window - Окно отладки - - - General - Общие - - - Using OpenSSL version - Используется версия OpenSSL - - - Using BerkeleyDB version - Используется версия BerkeleyDB - - - Startup time - Время запуска - - - Network - Сеть - - - Name - Имя - - - Number of connections - Число подключений - - - Block chain - Цепь блоков - - - Current number of blocks - Текущее число блоков - - - Received - Получено - - - Sent - посланный - - - &Peers - &Участники - - - Select a peer to view detailed information. - Выберите участника для просмотра подробностей. - - - Direction - Направление - - - Version - Версия - - - User Agent - Юзер-агент - - - Services - Сервисы - - - Starting Height - Начальная высота - - - Sync Height - Высота синхронизации - - - Ban Score - Очков бана - - - Connection Time - Время соединения - - - Last Send - Последняя отправка - - - Last Receive - Последний раз получено - - - Bytes Sent - Байт передано - - - Bytes Received - Байт получено - - - Ping Time - Время задержки - - - Last block time - Время последнего блока - - - &Open - &Открыть - - - &Console - Консоль - - - &Network Traffic - Сетевой &трафик - - - &Clear - &Очистить - - - Totals - Всего - - - In: - Вход: - - - Out: - Выход: - - - Build date - Дата сборки - - - Debug log file - Отладочный лог-файл - - - Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files. - Открыть отладочный лог-файл Bitcoin из текущего каталога данных. Это может занять несколько секунд для больших лог-файлов. - - - Clear console - Очистить консоль - - - Welcome to the Bitcoin RPC console. - Добро пожаловать в RPC-консоль Bitcoin. - - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Используйте стрелки вверх и вниз для просмотра истории и <b>Ctrl-L</b> для очистки экрана. - - - Type <b>help</b> for an overview of available commands. - Напишите <b>help</b> для просмотра доступных команд. - - - %1 B - %1 Б - - - %1 KB - %1 КБ - - - %1 MB - %1 МБ - - - %1 GB - %1 ГБ - - - via %1 - через %1 - - - never - никогда - - - Inbound - Входящие - - - Outbound - Исходящие - - - Unknown - Неизвестно - - - Fetching... - Получение... - - - - ReceiveCoinsDialog - - &Amount: - &Сумма: - - - &Label: - &Метка: - - - &Message: - &Сообщение - - - Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. - Повторно использовать один из ранее использованных адресов. Повторное использование адресов несёт риски безопасности и приватности. Не используйте эту опцию, если вы не создаёте повторно ранее сделанный запрос платежа. - - - R&euse an existing receiving address (not recommended) - &Повторно использовать существующий адрес получения (не рекомендуется) - - - An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. - Необязательное сообщение для запроса платежа, которое будет показано при открытии запроса. Заметьте: сообщение не будет отправлено вместе с платежом через сеть Bitcoin. - - - An optional label to associate with the new receiving address. - Необязательная метка для нового адреса получения. - - - Use this form to request payments. All fields are <b>optional</b>. - Заполните форму для запроса платежей. Все поля <b>необязательны</b>. - - - An optional amount to request. Leave this empty or zero to not request a specific amount. - Необязательная сумма для запроса. Оставьте пустым или укажите ноль, чтобы запросить неопределённую сумму. - - - Clear all fields of the form. - Очистить все поля формы. - - - Clear - Очистить - - - Requested payments history - История запрошенных платежей - - - &Request payment - &Запросить платёж - - - Show the selected request (does the same as double clicking an entry) - Показать выбранный запрос (то же самое, что и двойной клик по записи) - - - Show - Показать - - - Remove the selected entries from the list - Удалить выбранные записи из списка - - - Remove - Удалить - - - Copy label - Копировать метку - - - Copy message - Копировать сообщение - - - Copy amount - Скопировать сумму - - - - ReceiveRequestDialog - - QR Code - QR код - - - Copy &URI - Копировать &URI - - - Copy &Address - Копировать &адрес - - - &Save Image... - &Сохранить изображение... - - - Request payment to %1 - Запросить платёж на %1 - - - Payment information - Информация платежа - - - URI - URI - - - Address - Адрес - - - Amount - Сумма - - - Label - Метка - - - Message - Сообщение - - - Resulting URI too long, try to reduce the text for label / message. - Получившийся URI слишком длинный, попробуйте сократить текст метки / сообщения. - - - Error encoding URI into QR Code. - Ошибка кодирования URI в QR-код - - - - RecentRequestsTableModel - - Date - Дата - - - Label - Метка - - - Message - Сообщение - - - Amount - Сумма - - - (no label) - [нет метки] - - - (no message) - (нет сообщения) - - - (no amount) - (нет суммы) - - - - SendCoinsDialog - - Send Coins - Отправка - - - Coin Control Features - Функции Контроля Монет - - - Inputs... - Входы... - - - automatically selected - автоматически выбрано - - - Insufficient funds! - Недостаточно средств! - - - Quantity: - Количество: - - - Bytes: - Байт: - - - Amount: - Сумма: - - - Priority: - Приоритет: - - - Fee: - Комиссия: - - - After Fee: - После комиссии: - - - Change: - Размен: - - - If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. - Если это выбрано, но адрес сдачи пустой или неверный, сдача будет отправлена на новый сгенерированный адрес. - - - Custom change address - Свой адрес для сдачи - - - Transaction Fee: - Комиссия - - - Choose... - Выберите... - - - collapse fee-settings - Свернуть настройки комиссии - - - Minimize - Сворачивать - - - If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. - Если комиссия установлена в 1000 сатоши, а транзакция составляет лишь 250 байт, тогда комиссия "на килобайт" составит 250 сатоши, а "как минимум" — 1000 сатоши. Для транзакций крупнее килобайта в обоих случаях будет использоваться платёж "на килобайт". - - - per kilobyte - за килобайт - - - If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. - Если комиссия установлена в 1000 сатоши, а транзакция составляет лишь 250 байт, тогда комиссия "на килобайт" составит 250 сатоши, а "всего как минимум" — 1000 сатоши. Для транзакций крупнее килобайта в обоих случаях будет использоваться платёж "на килобайт". - - - total at least - Итого как минимум - - - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. - Уплата минимальной комиссии — не проблема, пока объём транзакций меньше, чем свободное место в блоках. Учтите, однако, что такая транзакция может никогда не подтвердиться, если спрос на транзакции превышает возможности сети по их обработке. - - - (read the tooltip) - (прочтите подсказку) - - - Recommended: - Рекомендовано: - - - Custom: - Выборочно: - - - (Smart fee not initialized yet. This usually takes a few blocks...) - (Умная комиссия пока не инициализирована. Обычно для этого требуется несколько блоков...) - - - Confirmation time: - Время подтверждения: - - - normal - обычный - - - fast - ускоренный - - - Send as zero-fee transaction if possible - Осуществить транзакцию бесплатно, если возможно - - - (confirmation may take longer) - (подтверждение может занять больше времени) - - - Send to multiple recipients at once - Отправить нескольким получателям одновременно - - - Add &Recipient - &Добавить получателя - - - Clear all fields of the form. - Очистить все поля формы - - - Dust: - Пыль: - - - Clear &All - Очистить &всё - - - Balance: - Баланс: - - - Confirm the send action - Подтвердить отправку - - - S&end - &Отправить - - - Confirm send coins - Подтвердите отправку монет - - - %1 to %2 - С %1 на %2 - - - Copy quantity - Копировать количество - - - Copy amount - Скопировать сумму - - - Copy fee - Копировать комиссию - - - Copy after fee - Копировать после комиссии - - - Copy bytes - Копировать байты - - - Copy priority - Копировать приоритет - - - Copy change - Копировать размен - - - Total Amount %1 (= %2) - Общая сумма %1 (= %2) - - - or - или - - - The recipient address is not valid, please recheck. - Адрес получателя неверный, пожалуйста, перепроверьте. - - - The amount to pay must be larger than 0. - Сумма для отправки должно быть больше 0. - - - The amount exceeds your balance. - Сумма превышает Ваш баланс - - - The total exceeds your balance when the %1 transaction fee is included. - Сумма превысит Ваш баланс, если комиссия в размере %1 будет добавлена к транзакции - - - Duplicate address found, can only send to each address once per send operation. - Обнаружен дублирующийся адрес. Отправка на один и тот же адрес возможна только один раз за одну операцию отправки - - - Transaction creation failed! - Не удалось создать транзакцию! - - - The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Транзакция была отклонена! Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию бумажника (wallet.dat), а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой. - - - A fee higher than %1 is considered an insanely high fee. - Комиссия больше, чем %1, считается невероятно большой. - - - Estimated to begin confirmation within %1 block(s). - Начало подтверждения ожидается через %1 блок(ов). - - - Warning: Invalid Bitcoin address - Внимание: неверный адрес Bitcoin - - - (no label) - [нет метки] - - - Warning: Unknown change address - Внимание: неизвестный адрес для сдачи - - - Copy dust - Копировать пыль - - - Are you sure you want to send? - Вы уверены, что хотите отправить? - - - added as transaction fee - добавлено как комиссия - - - - SendCoinsEntry - - A&mount: - Ко&личество: - - - Pay &To: - Полу&чатель: - - - Enter a label for this address to add it to your address book - Введите метку для данного адреса (для добавления в адресную книгу) - - - &Label: - &Метка: - - - Choose previously used address - Выберите ранее использованный адрес - - - This is a normal payment. - Это нормальный платёж. - - - The Bitcoin address to send the payment to - Адрес Bitcoin, на который отправить платёж - - - Alt+A - Alt+A - - - Paste address from clipboard - Вставить адрес из буфера обмена - - - Alt+P - Alt+P - - - Remove this entry - Удалить эту запись - - - Message: - Сообщение: - - - This is a verified payment request. - Это проверенный запрос платежа. - - - Enter a label for this address to add it to the list of used addresses - Введите метку для этого адреса, чтобы добавить его в список использованных - - - 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. - К bitcoin: URI было прикреплено сообщение, которое будет сохранено вместе с транзакцией для вашего сведения. Заметьте: сообщение не будет отправлено через сеть Bitcoin. - - - This is an unverified payment request. - Это непроверенный запрос платежа. - - - Pay To: - Получатель: - - - Memo: - Примечание: - - - - ShutdownWindow - - Bitcoin Core is shutting down... - Bitcoin Core выключается... - - - Do not shut down the computer until this window disappears. - Не выключайте компьютер, пока это окно не исчезнет. - - - - SignVerifyMessageDialog - - Signatures - Sign / Verify a Message - Подписи - подписать/проверить сообщение - - - &Sign Message - &Подписать сообщение - - - You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Вы можете подписывать сообщения своими адресами, чтобы доказать владение ими. Будьте осторожны, не подписывайте что-то неопределённое, так как фишинговые атаки могут обманным путём заставить вас подписать нежелательные сообщения. Подписывайте только те сообщения, с которыми вы согласны вплоть до мелочей. - - - The Bitcoin address to sign the message with - Адрес Bitcoin, которым подписать сообщение - - - Choose previously used address - Выберите ранее использованный адрес - - - Alt+A - Alt+A - - - Paste address from clipboard - Вставить адрес из буфера обмена - - - Alt+P - Alt+P - - - Enter the message you want to sign here - Введите сообщение для подписи - - - Signature - Подпись - - - Copy the current signature to the system clipboard - Скопировать текущую подпись в системный буфер обмена - - - Sign the message to prove you own this Bitcoin address - Подписать сообщение, чтобы доказать владение адресом Bitcoin - - - Sign &Message - Подписать &Сообщение - - - Reset all sign message fields - Сбросить значения всех полей подписывания сообщений - - - Clear &All - Очистить &всё - - - &Verify Message - &Проверить сообщение - - - Enter the signing 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. - Введите ниже адрес для подписи, сообщение (убедитесь, что переводы строк, пробелы, табы и т.п. в точности скопированы) и подпись, чтобы проверить сообщение. Убедитесь, что не скопировали лишнего в подпись, по сравнению с самим подписываемым сообщением, чтобы не стать жертвой атаки "man-in-the-middle". - - - The Bitcoin address the message was signed with - Адрес Bitcoin, которым было подписано сообщение - - - Verify the message to ensure it was signed with the specified Bitcoin address - Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Bitcoin - - - Verify &Message - Проверить &Сообщение - - - Reset all verify message fields - Сбросить все поля проверки сообщения - - - Click "Sign Message" to generate signature - Нажмите "Подписать сообщение" для создания подписи - - - The entered address is invalid. - Введённый адрес неверен - - - Please check the address and try again. - Пожалуйста, проверьте адрес и попробуйте ещё раз. - - - The entered address does not refer to a key. - Введённый адрес не связан с ключом - - - Wallet unlock was cancelled. - Разблокировка бумажника была отменена. - - - Private key for the entered address is not available. - Для введённого адреса недоступен закрытый ключ - - - Message signing failed. - Не удалось подписать сообщение - - - Message signed. - Сообщение подписано - - - The signature could not be decoded. - Подпись не может быть раскодирована. - - - Please check the signature and try again. - Пожалуйста, проверьте подпись и попробуйте ещё раз. - - - The signature did not match the message digest. - Подпись не соответствует отпечатку сообщения. - - - Message verification failed. - Проверка сообщения не удалась. - - - Message verified. - Сообщение проверено. - - - - SplashScreen - - Bitcoin Core - Bitcoin Core - - - The Bitcoin Core developers - Разработчики Bitcoin Core - - - [testnet] - [тестовая сеть] - - - - TrafficGraphWidget - - KB/s - КБ/сек - - - - TransactionDesc - - Open until %1 - Открыто до %1 - - - conflicted - в противоречии - - - %1/offline - %1/отключен - - - %1/unconfirmed - %1/не подтверждено - - - %1 confirmations - %1 подтверждений - - - Status - Статус - - - , broadcast through %n node(s) - , разослано через %n узел, разослано через %n узла, разослано через %n узлов - - - Date - Дата - - - Source - Источник - - - Generated - Сгенерированно - - - From - От - - - To - Для - - - own address - свой адрес - - - watch-only - только наблюдение - - - label - метка - - - Credit - Кредит - - - matures in %n more block(s) - будет доступно через %n блокбудет доступно через %n блокабудет доступно через %n блоков - - - not accepted - не принято - - - Debit - Дебет - - - Total debit - Всего дебет - - - Total credit - Всего кредит - - - Transaction fee - Комиссия - - - Net amount - Чистая сумма - - - Message - Сообщение - - - Comment - Комментарий: - - - Transaction ID - ID транзакции - - - Merchant - Продавец - - - Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. - Сгенерированные монеты должны подождать %1 блоков, прежде чем они могут быть потрачены. Когда Вы сгенерировали этот блок, он был отправлен в сеть для добавления в цепочку блоков. Если он не попадёт в цепь, его статус изменится на "не принят", и монеты будут недействительны. Это иногда происходит в случае, если другой узел сгенерирует блок на несколько секунд раньше вас. - - - Debug information - Отладочная информация - - - Transaction - Транзакция - - - Inputs - Входы - - - Amount - Сумма - - - true - истина - - - false - ложь - - - , has not been successfully broadcast yet - , ещё не было успешно разослано - - - Open for %n more block(s) - Открыто для ещё %n блокаОткрыто для ещё %n блоковОткрыто для ещё %n блоков - - - unknown - неизвестно - - - - TransactionDescDialog - - Transaction details - Детали транзакции - - - This pane shows a detailed description of the transaction - Эта панель отображает детальное описание транзакции. - - - - TransactionTableModel - - Date - Дата - - - Type - Тип - - - Address - Адрес - - - Immature (%1 confirmations, will be available after %2) - Незрелый (%1 подтверждений, будет доступен после %2) - - - Open for %n more block(s) - Открыто для ещё %n блокаОткрыто для ещё %n блоковОткрыто для ещё %n блоков - - - Open until %1 - Открыто до %1 - - - Confirmed (%1 confirmations) - Подтверждено (%1 подтверждений) - - - This block was not received by any other nodes and will probably not be accepted! - Этот блок не был получен другими узлами и, возможно, не будет принят! - - - Generated but not accepted - Сгенерированно, но не подтверждено - - - Offline - Нет активных соединений с сетью - - - Unconfirmed - Неподтверждено - - - Conflicted - В противоречии - - - Received with - Получено - - - Received from - Получено от - - - Sent to - Отправлено - - - Payment to yourself - Отправлено себе - - - Mined - Добыто - - - watch-only - только наблюдение - - - (n/a) - [не доступно] - - - Transaction status. Hover over this field to show number of confirmations. - Статус транзакции. Подведите курсор к нужному полю для того, чтобы увидеть количество подтверждений. - - - Date and time that the transaction was received. - Дата и время, когда транзакция была получена. - - - Type of transaction. - Тип транзакции. - - - Whether or not a watch-only address is involved in this transaction. - Использовался ли в транзакции адрес для наблюдения. - - - Destination address of transaction. - Адрес назначения транзакции. - - - Amount removed from or added to balance. - Сумма, добавленная, или снятая с баланса. - - - - TransactionView - - All - Все - - - Today - Сегодня - - - This week - На этой неделе - - - This month - В этом месяце - - - Last month - В прошлом месяце - - - This year - В этом году - - - Range... - Промежуток... - - - Received with - Получено на - - - Sent to - Отправлено на - - - To yourself - Отправленные себе - - - Mined - Добытые - - - Other - Другое - - - Enter address or label to search - Введите адрес или метку для поиска - - - Min amount - Мин. сумма - - - Copy address - Копировать адрес - - - Copy label - Копировать метку - - - Copy amount - Скопировать сумму - - - Copy transaction ID - Скопировать ID транзакции - - - Edit label - Изменить метку - - - Show transaction details - Показать подробности транзакции - - - Export Transaction History - Экспортировать историю транзакций - - - Watch-only - Для наблюдения - - - Exporting Failed - Экспорт не удался - - - There was an error trying to save the transaction history to %1. - Произошла ошибка при сохранении истории транзакций в %1. - - - Exporting Successful - Экспорт успешно завершён - - - The transaction history was successfully saved to %1. - История транзакций была успешно сохранена в %1. - - - Comma separated file (*.csv) - Текст, разделённый запятыми (*.csv) - - - Confirmed - Подтверждено - - - Date - Дата - - - Type - Тип - - - Label - Метка - - - Address - Адрес - - - ID - ID - - - Range: - Промежуток от: - - - to - до - - - - UnitDisplayStatusBarControl - - Unit to show amounts in. Click to select another unit. - Единица измерения количества монет. Щёлкните для выбора другой единицы. - - - - WalletFrame - - No wallet has been loaded. - Не был загружен ни один бумажник. - - - - WalletModel - - Send Coins - Отправка - - - - WalletView - - &Export - &Экспорт - - - Export the data in the current tab to a file - Экспортировать данные из вкладки в файл - - - Backup Wallet - Сделать резервную копию бумажника - - - Wallet Data (*.dat) - Данные бумажника (*.dat) - - - Backup Failed - Резервное копирование не удалось - - - There was an error trying to save the wallet data to %1. - Произошла ошибка при сохранении данных бумажника в %1. - - - The wallet data was successfully saved to %1. - Данные бумажника были успешно сохранены в %1. - - - Backup Successful - Резервное копирование успешно завершено - - - - bitcoin-core - - Options: - Параметры: - - - Specify data directory - Задать каталог данных - - - Connect to a node to retrieve peer addresses, and disconnect - Подключиться к участнику, чтобы получить список адресов других участников и отключиться - - - Specify your own public address - Укажите ваш собственный публичный адрес - - - Accept command line and JSON-RPC commands - Принимать командную строку и команды JSON-RPC - - - Run in the background as a daemon and accept commands - Запускаться в фоне как демон и принимать команды - - - Use the test network - Использовать тестовую сеть - - - Accept connections from outside (default: 1 if no -proxy or -connect) - Принимать подключения извне (по умолчанию: 1, если не используется -proxy или -connect) - - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, вы должны установить опцию rpcpassword в конфигурационном файле: - %s -Рекомендуется использовать следующий случайный пароль: -rpcuser=bitcoinrpc -rpcpassword=%s -(вам не нужно запоминать этот пароль) -Имя и пароль ДОЛЖНЫ различаться. -Если файл не существует, создайте его и установите права доступа только для владельца, только для чтения. -Также рекомендуется включить alertnotify для оповещения о проблемах; -Например: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 - Привязаться к указанному адресу и всегда прослушивать только его. Используйте [хост]:порт для IPv6 - - - Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup - Удалить все транзакции бумажника с возможностью восстановить эти части цепи блоков с помощью -rescan при запуске - - - Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. - Распространяется под лицензией MIT, см. приложенный файл COPYING или <http://www.opensource.org/licenses/mit-license.php>. - - - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Войти в режим тестирования на регрессии, в котором используется специальная цепь, где блоки находятся мгновенно. - - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Ошибка: транзакция была отклонена! Это могло произойти в случае, если некоторые монеты в вашем бумажнике уже были потрачены, например, если вы используете копию wallet.dat, и монеты были использованы в копии, но не отмечены как потраченные здесь. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Ошибка: эта транзакция требует комиссию как минимум %s из-за суммы, сложности или использования недавно полученных средств! - - - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) - Выполнить команду, когда меняется транзакция в бумажнике (%s в команде заменяется на TxID) - - - In this mode -genproclimit controls how many blocks are generated immediately. - В этом режиме -genproclimit определяет, сколько блоков генерируется немедленно. - - - Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) - Задать число потоков проверки скрипта (от %u до %d, 0=авто, <0 = оставить столько ядер свободными, по умолчанию: %d) - - - This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Это пре-релизная тестовая сборка - используйте на свой страх и риск - не используйте для добычи или торговых приложений - - - Unable to bind to %s on this computer. Bitcoin Core is probably already running. - Не удалось забиндиться на %s на этом компьютере. Возможно, Bitcoin Core уже запущен. - - - Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Внимание: установлено очень большое значение -paytxfee. Это комиссия, которую вы заплатите при проведении транзакции. - - - Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. - Внимание: похоже, в сети нет полного согласия! Некоторый майнеры, возможно, испытывают проблемы. - - - Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. - Внимание: мы не полностью согласны с подключенными участниками! Вам или другим участникам, возможно, следует обновиться. - - - Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - Внимание: ошибка чтения wallet.dat! Все ключи прочитаны верно, но данные транзакций или записи адресной книги могут отсутствовать или быть неправильными. - - - Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. - Внимание: wallet.dat повреждён, данные спасены! Оригинальный wallet.dat сохранён как wallet.{timestamp}.bak в %s; если ваш баланс или транзакции некорректны, вы должны восстановить файл из резервной копии. - - - Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. - Вносить в белый список участников, подключающихся с указанной маски сети или IP. Можно использовать многократно. - - - (default: 1) - (по умолчанию: 1) - - - <category> can be: - <category> может быть: - - - Attempt to recover private keys from a corrupt wallet.dat - Попытаться восстановить приватные ключи из повреждённого wallet.dat - - - Block creation options: - Параметры создания блоков: - - - Connect only to the specified node(s) - Подключаться только к указанному узлу(ам) - - - Connection options: - Параметры подключения: - - - Corrupted block database detected - БД блоков повреждена - - - Debugging/Testing options: - Параметры отладки/тестирования: - - - Discover own IP address (default: 1 when listening and no -externalip) - Определить свой IP (по умолчанию: 1 при прослушивании и если не используется -externalip) - - - Do not load the wallet and disable wallet RPC calls - Не загружать бумажник и запретить обращения к нему через RPC - - - Do you want to rebuild the block database now? - Пересобрать БД блоков прямо сейчас? - - - Error initializing block database - Ошибка инициализации БД блоков - - - Error initializing wallet database environment %s! - Ошибка инициализации окружения БД бумажника %s! - - - Error loading block database - Ошибка чтения базы данных блоков - - - Error opening block database - Не удалось открыть БД блоков - - - Error: A fatal internal error occured, see debug.log for details - Ошибка: произошла неустранимая ошибка, детали в debug.log - - - Error: Disk space is low! - Ошибка: мало места на диске! - - - Error: Wallet locked, unable to create transaction! - Ошибка: бумажник заблокирован, невозможно создать транзакцию! - - - Failed to listen on any port. Use -listen=0 if you want this. - Не удалось начать прослушивание на порту. Используйте -listen=0 если вас это устраивает. - - - If <category> is not supplied, output all debugging information. - Если <category> не предоставлена, выводить всю отладочную информацию. - - - Importing... - Импорт ... - - - Incorrect or no genesis block found. Wrong datadir for network? - Неверный или отсутствующий начальный блок. Неправильный каталог данных для сети? - - - Invalid -onion address: '%s' - Неверный -onion адрес: '%s' - - - Not enough file descriptors available. - Недостаточно файловых дескрипторов. - - - Only connect to nodes in network <net> (ipv4, ipv6 or onion) - Соединяться только по сети <net> (ipv4, ipv6 или onion) - - - Rebuild block chain index from current blk000??.dat files - Перестроить индекс цепи блоков из текущих файлов blk000??.dat - - - Set database cache size in megabytes (%d to %d, default: %d) - Установить размер кэша БД в мегабайтах(от %d до %d, по умолчанию: %d) - - - Set maximum block size in bytes (default: %d) - Задать максимальный размер блока в байтах (по умолчанию: %d) - - - Specify wallet file (within data directory) - Укажите файл бумажника (внутри каталога данных) - - - This is intended for regression testing tools and app development. - Это рассчитано на инструменты регрессионного тестирования и разработку приложений. - - - Use UPnP to map the listening port (default: %u) - Использовать UPnP для проброса порта (по умолчанию: %u) - - - Verifying blocks... - Проверка блоков... - - - Verifying wallet... - Проверка бумажника... - - - Wallet %s resides outside data directory %s - Бумажник %s располагается вне каталога данных %s - - - Wallet options: - Настройки бумажника: - - - You need to rebuild the database using -reindex to change -txindex - Вам необходимо пересобрать базы данных с помощью -reindex, чтобы изменить -txindex - - - Imports blocks from external blk000??.dat file - Импортировать блоки из внешнего файла blk000??.dat - - - Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times - Разрешить подключения JSON-RPC с указанного источника. Разрешённые значения для <ip> — отдельный IP (например, 1.2.3.4), сеть/маска сети (например, 1.2.3.4/255.255.255.0) или сеть/CIDR (например, 1.2.3.4/24). Эту опцию можно использовать многократно - - - An error occurred while setting up the RPC address %s port %u for listening: %s - Произошла ошибка в процессе открытия RPC адреса %s порта %u для прослушивания: %s - - - Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 - Привязаться к указанному адресу и внести в белый список подключающихся к нему участников. Используйте [хост]:порт для IPv6 - - - Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) - Привязаться к указанному адресу для прослушивания JSON-RPC подключений. Используйте запись [хост]:порт для IPv6. Эту опцию можно использовать многократно (по умолчанию: привязываться ко всем интерфейсам) - - - Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. - Не удалось установить блокировку на каталог данных %s. Возможно, Bitcoin Core уже запущен. - - - Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) - Ограничить скорость передачи бесплатных транзакций до <n>*1000 байт в минуту (по умолчанию: %u) - - - Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) - Создавать новые файлы с системными правами по умолчанию вместо umask 077 (эффективно только при отключенном бумажнике) - - - Error: Listening for incoming connections failed (listen returned error %s) - Ошибка: не удалось начать прослушивание входящих подключений (прослушивание вернуло ошибку %s) - - - Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Ошибка: обнаружен неподдерживаемый аргумент -socks. Выбор версии SOCKS более невозможен, поддерживаются только прокси SOCKS5. - - - Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) - Выполнить команду, когда приходит соответствующее сообщение о тревоге или наблюдается очень длинное расщепление цепи (%s в команде заменяется на сообщение) - - - Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) - Комиссии (в BTC/Кб) меньшие этого значения считаются нулевыми для трансляции (по умолчанию: %s) - - - Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Комиссии (в BTC/Кб) меньшие этого значения считаются нулевыми для создания транзакции (по умолчанию: %s) - - - Maximum size of data in data carrier transactions we relay and mine (default: %u) - Наибольший размер данных в носителе данных транзакций, которые мы передаем и генерируем (по умолчанию: %u) - - - Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) - Запрашивать адреса участников с помощью DNS, если адресов мало (по умолчанию: 1, если не указан -connect) - - - Set maximum size of high-priority/low-fee transactions in bytes (default: %d) - Задать максимальный размер высокоприоритетных/низкокомиссионных транзакций в байтах (по умолчанию: %d) - - - Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) - Задать число потоков генерации монет, если она включена (-1 = все ядра процессора, по умолчанию: %d) - - - 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 Project для использования в OpenSSL Toolkit <https://www.openssl.org/> и криптографическое ПО, написанное Eric Young и ПО для работы с UPnP, написанное Thomas Bernard. - - - Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. - Внимание: убедитесь, что дата и время на Вашем компьютере выставлены верно. Если Ваши часы идут неправильно, Bitcoin Core будет работать некорректно. - - - 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 - Участники из белого списка не могуть быть забанены за DoS, и их транзакции всегда транслируются, даже если они уже содержатся в памяти. Полезно, например, для шлюза. - - - Cannot resolve -whitebind address: '%s' - Не удаётся разрешить адрес в параметре -whitebind: '%s' - - - Connect through SOCKS5 proxy - Подключаться через SOCKS5 прокси - - - Copyright (C) 2009-%i The Bitcoin Core Developers - Все права защищены © 2009-%i Разработчики Bitcoin Core - - - Could not parse -rpcbind value %s as network address - Не удалось разобрать значение %s параметра -rpcbind как сетевой адрес - - - Error loading wallet.dat: Wallet requires newer version of Bitcoin Core - Ошибка загрузки wallet.dat: бумажник требует более новую версию Bitcoin Core - - - Error: Unsupported argument -tor found, use -onion. - Ошибка: обнаружен неподдерживаемый параметр -tor, используйте -onion. - - - Fee (in BTC/kB) to add to transactions you send (default: %s) - Комиссия (в BTC/Кб) для добавления к вашим транзакциям (по умолчанию: %s) - - - Information - Информация - - - Initialization sanity check failed. Bitcoin Core is shutting down. - Не удалось проверить чистоту. Bitcoin Core выключается. - - - Invalid amount for -minrelaytxfee=<amount>: '%s' - Неверная сумма в параметре -minrelaytxfee=<кол-во>: '%s' - - - Invalid amount for -mintxfee=<amount>: '%s' - Неверная сумма в параметре -mintxfee=<кол-во>: '%s' - - - Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) - Неверное количество в параметре -paytxfee=<кол-во>: '%s' (должно быть как минимум %s) - - - Invalid netmask specified in -whitelist: '%s' - Указана неверная сетевая маска в -whitelist: '%s' - - - Keep at most <n> unconnectable blocks in memory (default: %u) - Хранить максимум <n> несоединённых блоков в памяти (по умолчанию: %u) - - - Keep at most <n> unconnectable transactions in memory (default: %u) - Держать в памяти до <n> несвязных транзакций (по умолчанию: %u) - - - Need to specify a port with -whitebind: '%s' - Необходимо указать порт с помощью -whitebind: '%s' - - - Node relay options: - Параметры трансляции узла: - - - Print block on startup, if found in block index - Печатать блок при запуске, если он найден в индексе блоков - - - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) - Параметры RPC SSL: (см. Bitcoin вики для инструкций по настройке SSL) - - - RPC server options: - Параметры сервера RPC: - - - Randomly drop 1 of every <n> network messages - Случайно отбрасывать 1 из каждых <n> сетевых сообщений - - - Randomly fuzz 1 of every <n> network messages - Случайно разбрасывать 1 из каждых <n> сетевых сообщений - - - Send trace/debug info to console instead of debug.log file - Выводить информацию трассировки/отладки на консоль вместо файла debug.log - - - Send transactions as zero-fee transactions if possible (default: %u) - Осуществить транзакцию бесплатно, если возможно (по умолчанию: %u) - - - Show all debugging options (usage: --help -help-debug) - Показать все отладочные параметры (использование: --help -help-debug) - - - Shrink debug.log file on client startup (default: 1 when no -debug) - Сжимать файл debug.log при запуске клиента (по умолчанию: 1, если нет -debug) - - - Signing transaction failed - Не удалось подписать транзакцию - - - This is experimental software. - Это экспериментальное ПО. - - - Transaction amount too small - Сумма транзакции слишком мала - - - Transaction amounts must be positive - Сумма транзакции должна быть положительна - - - Transaction too large - Транзакция слишком большая - - - Unable to bind to %s on this computer (bind returned error %s) - Невозможно привязаться к %s на этом компьютере (bind вернул ошибку %s) - - - Use UPnP to map the listening port (default: 1 when listening) - Использовать UPnP для проброса порта (по умолчанию: 1, если используется прослушивание) - - - Username for JSON-RPC connections - Имя для подключений JSON-RPC - - - Wallet needed to be rewritten: restart Bitcoin Core to complete - Необходимо перезаписать бумажник, перезапустите Bitcoin Core для завершения операции. - - - Warning - Внимание - - - Warning: This version is obsolete, upgrade required! - Внимание: эта версия устарела, требуется обновление! - - - Warning: Unsupported argument -benchmark ignored, use -debug=bench. - Внимание: неподдерживаемый аргумент -benchmark проигнорирован, используйте -debug=bench. - - - Warning: Unsupported argument -debugnet ignored, use -debug=net. - Внимание: неподдерживаемый аргумент -debugnet проигнорирован, используйте -debug=net. - - - Zapping all transactions from wallet... - Стираем все транзакции из кошелька... - - - on startup - при запуске - - - wallet.dat corrupt, salvage failed - wallet.dat повреждён, спасение данных не удалось - - - Password for JSON-RPC connections - Пароль для подключений JSON-RPC - - - Execute command when the best block changes (%s in cmd is replaced by block hash) - Выполнить команду, когда появляется новый блок (%s в команде заменяется на хэш блока) - - - Upgrade wallet to latest format - Обновить бумажник до последнего формата - - - Rescan the block chain for missing wallet transactions - Перепроверить цепь блоков на предмет отсутствующих в бумажнике транзакций - - - Use OpenSSL (https) for JSON-RPC connections - Использовать OpenSSL (https) для подключений JSON-RPC - - - This help message - Эта справка - - - Allow DNS lookups for -addnode, -seednode and -connect - Разрешить поиск в DNS для -addnode, -seednode и -connect - - - Loading addresses... - Загрузка адресов... - - - Error loading wallet.dat: Wallet corrupted - Ошибка загрузки wallet.dat: Бумажник поврежден - - - (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) - (1 = сохранять метаданные транзакции: например, владельца аккаунта и информацию запроса платежа; 2 = отбросить метаданные) - - - Flush database activity from memory pool to disk log every <n> megabytes (default: %u) - Сбрасывать активность базы данных из памяти на диск каждые <n> мегабайт (по умолчанию: %u) - - - How thorough the block verification of -checkblocks is (0-4, default: %u) - Насколько тщательна проверка контрольных блоков -checkblocks (0-4, по умолчанию: %u) - - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Если paytxfee не задан, включить достаточную комиссию для подтверждения транзакции в среднем за n блоков (по умолчанию: %u) - - - Log transaction priority and fee per kB when mining blocks (default: %u) - Записывать в лог приоритет транзакции и комиссию на килобайт во время добычи блоков (по умолчанию: %u) - - - Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) - Держать полный индекс транзакций, используемый RPC-запросом getrawtransaction (по умолчанию: %u) - - - Number of seconds to keep misbehaving peers from reconnecting (default: %u) - Число секунд блокирования неправильно ведущих себя узлов (по умолчанию: %u) - - - Output debugging information (default: %u, supplying <category> is optional) - Выводить отладочную информацию (по умолчанию: %u, указание <category> необязательно) - - - Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) - Использовать отдельный прокси SOCKS5 для соединения с участниками через скрытые сервисы Tor (по умолчанию: %s) - - - (default: %s) - (по умолчанию: %s) - - - Acceptable ciphers (default: %s) - Допустимые шифры (по умолчанию: %s) - - - Always query for peer addresses via DNS lookup (default: %u) - Всегда запрашивать адреса участников с помощью DNS (по умолчанию: %u) - - - Disable safemode, override a real safe mode event (default: %u) - Отключить безопасный режим, перекрыть реальное событие безопасного режима (по умолчанию: %u) - - - Error loading wallet.dat - Ошибка при загрузке wallet.dat - - - Force safe mode (default: %u) - Принудительный безопасный режим (по умолчанию: %u) - - - Generate coins (default: %u) - Включить добычу монет (по умолчанию: %u) - - - How many blocks to check at startup (default: %u, 0 = all) - Сколько блоков проверять при запуске (по умолчанию: %u, 0 = все) - - - Include IP addresses in debug output (default: %u) - Включить IP-адреса в отладочный вывод (по умолчанию: %u) - - - Invalid -proxy address: '%s' - Неверный адрес -proxy: '%s' - - - Limit size of signature cache to <n> entries (default: %u) - Ограничить размер кэша подписей <n> записями (по умолчанию: %u) - - - Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) - Прослушивать подключения JSON-RPC на <порту> (по умолчанию: %u или %u в тестовой сети) - - - Listen for connections on <port> (default: %u or testnet: %u) - Принимать входящие подключения на <port> (по умолчанию: %u или %u в тестовой сети) - - - Maintain at most <n> connections to peers (default: %u) - Поддерживать не более <n> подключений к узлам (по умолчанию: %u) - - - Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) - Максимальный размер буфера приёма на соединение, <n>*1000 байт (по умолчанию: %u) - - - Maximum per-connection send buffer, <n>*1000 bytes (default: %u) - Максимальный размер буфера отправки на соединение, <n>*1000 байт (по умолчанию: %u) - - - Only accept block chain matching built-in checkpoints (default: %u) - Принимать цепь блоков, лишь если она соответствует встроенным контрольным точкам (по умолчанию: %u) - - - Prepend debug output with timestamp (default: %u) - Дописывать отметки времени к отладочному выводу (по умолчанию: %u) - - - Print block tree on startup (default: %u) - Печатать дерево блоков при запуске (по умолчанию: %u) - - - Relay and mine data carrier transactions (default: %u) - Транслировать и генерировать транзакции носителей данных (по умолчанию: %u) - - - Relay non-P2SH multisig (default: %u) - Транслировать не-P2SH мультиподпись (по умолчанию: %u) - - - Run a thread to flush wallet periodically (default: %u) - Запустить поток для периодического сохранения бумажника (по умолчанию: %u) - - - Server certificate file (default: %s) - Файл сертификата сервера (по умолчанию: %s) - - - Server private key (default: %s) - Закрытый ключ сервера (по умолчанию: %s) - - - Set key pool size to <n> (default: %u) - Установить размер пула ключей в <n> (по умолчанию: %u) - - - Set the number of threads to service RPC calls (default: %d) - Задать число потоков выполнения запросов RPC (по умолчанию: %d) - - - Sets the DB_PRIVATE flag in the wallet db environment (default: %u) - Установить флаг DB_PRIVATE в окружении базы данных бумажника (по умолчанию: %u) - - - Specify configuration file (default: %s) - Указать конфигурационный файл (по умолчанию: %s) - - - Specify connection timeout in milliseconds (minimum: 1, default: %d) - Указать тайм-аут соединения в миллисекундах (минимум: 1, по умолчанию: %d) - - - Specify pid file (default: %s) - Указать pid-файл (по умолчанию: %s) - - - Spend unconfirmed change when sending transactions (default: %u) - Тратить неподтвержденную сдачу при отправке транзакций (по умолчанию: %u) - - - Stop running after importing blocks from disk (default: %u) - Остановиться после импорта блоков с диска (по умолчанию: %u) - - - Threshold for disconnecting misbehaving peers (default: %u) - Порог для отключения неправильно ведущих себя узлов (по умолчанию: %u) - - - Unknown network specified in -onlynet: '%s' - В параметре -onlynet указана неизвестная сеть: '%s' - - - Cannot resolve -bind address: '%s' - Не удаётся разрешить адрес в параметре -bind: '%s' - - - Cannot resolve -externalip address: '%s' - Не удаётся разрешить адрес в параметре -externalip: '%s' - - - Invalid amount for -paytxfee=<amount>: '%s' - Неверная сумма в параметре -paytxfee=<кол-во>: '%s' - - - Invalid amount - Неверная сумма - - - Insufficient funds - Недостаточно монет - - - Loading block index... - Загрузка индекса блоков... - - - Add a node to connect to and attempt to keep the connection open - Добавить узел для подключения и пытаться поддерживать соединение открытым - - - Loading wallet... - Загрузка бумажника... - - - Cannot downgrade wallet - Не удаётся понизить версию бумажника - - - Cannot write default address - Не удаётся записать адрес по умолчанию - - - Rescanning... - Сканирование... - - - Done loading - Загрузка завершена - - - To use the %s option - Чтобы использовать опцию %s - - - Error - Ошибка - - + bitcoin-core + \ No newline at end of file diff --git a/src/qt/locale/bitcoin_sah.ts b/src/qt/locale/bitcoin_sah.ts index 84b973bf924d3..6cc17f480afd4 100644 --- a/src/qt/locale/bitcoin_sah.ts +++ b/src/qt/locale/bitcoin_sah.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Аадырыскын уларытаргар иккитэ баттаа - AddressTableModel diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts index fe7c62cd60437..de1b615d7d38c 100644 --- a/src/qt/locale/bitcoin_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dvojklikom editovať adresu alebo popis + Right-click to edit address or label + Kliknutím pravým tlačidlom upravte adresu alebo popis Create a new address @@ -284,11 +284,11 @@ &Sending addresses... - Posielajúca adresa ... + &Odosielajúce adresy ... &Receiving addresses... - Prijímajúca adresa... + &Prijímajúce adresy... Open &URI... @@ -440,7 +440,7 @@ %n week(s) - %n týždeň%n týždne%n týždňov + %n týždňom%n týždňami%n týždňami %1 and %2 @@ -460,7 +460,7 @@ Transactions after this will not yet be visible. - Transakcie potom nebudú ešte viditeľné. + Transakcie po tomto čase ešte nebudú viditeľné. Error @@ -478,6 +478,10 @@ Up to date Aktualizovaný + + Processed %n blocks of transaction history. + Spracovaný %n blok transakčnej histórie.Spracované %n bloky transakčnej histórie.Spracovaných %n blokov transakčnej histórie. + Catching up... Sťahujem... @@ -519,6 +523,10 @@ Adresa: %4 CoinControlDialog + + Coin Selection + Výber mince + Quantity: Množstvo: @@ -539,6 +547,10 @@ Adresa: %4 Fee: Poplatok: + + Dust: + Prach: + After Fee: Po poplatku: @@ -563,6 +575,14 @@ Adresa: %4 Amount Suma + + Received with label + Prijaté s označením + + + Received with address + Prijaté s adresou + Date Dátum @@ -623,6 +643,10 @@ Adresa: %4 Copy priority Kopírovať prioritu + + Copy dust + Kopírovať prach + Copy change Kopírovať zmenu @@ -671,6 +695,10 @@ Adresa: %4 none žiadne + + Can vary +/- %1 satoshi(s) per input. + Môže sa líšiť o +/- %1 satoshi pre každý vstup + yes áno @@ -879,11 +907,23 @@ Adresa: %4 Bitcoin Core Jadro Bitcoin + + Error: Specified data directory "%1" cannot be created. + Chyba: Zadaný priečinok pre dáta "%1" nemôže byť vytvorený. + Error Chyba - + + %n GB of free space available + %n GB voľného miesta%n GB voľného miesta%n GB voľného miesta + + + (of %n GB needed) + (z %n GB potrebného)(z %n GB potrebných)(z %n GB potrebných) + + OpenURIDialog @@ -927,7 +967,7 @@ Adresa: %4 Size of &database cache - Veľkosť vyrovnávacej pamäti databázy + Veľkosť vyrovnávacej pamäti &databázy MB @@ -935,7 +975,15 @@ Adresa: %4 Number of script &verification threads - Počet skript overujucich vlákien + Počet &vlákien overujúcich skript + + + Accept connections from outside + Prijať spojenia zvonku + + + Allow incoming connections + Povoliť prichádzajúce spojenia IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) @@ -979,7 +1027,7 @@ Adresa: %4 Enable coin &control features - Povoliť možnosti coin control + Povoliť možnosti "&coin control" If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. @@ -997,6 +1045,14 @@ Adresa: %4 Map port using &UPnP Mapovať port pomocou &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Pripojiť do siete Bitcoin cez proxy server SOCKS5. + + + &Connect through SOCKS5 proxy (default proxy): + &Pripojiť cez proxy server SOCKS5 (predvolený proxy). + Proxy &IP: Proxy &IP: @@ -1098,7 +1154,11 @@ Adresa: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. - Zobrazené informácie môžu byť neaktuápne. Vaša peňaženka sa automaticky synchronizuje so sieťou Bitcoin po nadviazaní spojenia ale tento proces ešte nieje ukončený. + Zobrazené informácie môžu byť neaktuálne. Vaša peňaženka sa automaticky synchronizuje so sieťou Bitcoin po nadviazaní spojenia, ale tento proces ešte nie je ukončený. + + + Watch-only: + Iba sledované: Available: @@ -1110,7 +1170,7 @@ Adresa: %4 Pending: - Čakajúce potvrdenie + Čakajúce potvrdenie: Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance @@ -1124,6 +1184,10 @@ Adresa: %4 Mined balance that has not yet matured Vytvorený zostatok ktorý ešte nedosiahol zrelosť + + Balances + Stav účtu + Total: Celkovo: @@ -1132,6 +1196,30 @@ Adresa: %4 Your current total balance Váš súčasný celkový zostatok + + Your current balance in watch-only addresses + Váš celkový zostatok pre adresy ktoré sa iba sledujú + + + Spendable: + Použiteľné: + + + Recent transactions + Nedávne transakcie + + + Unconfirmed transactions to watch-only addresses + Nepotvrdené transakcie pre adresy ktoré sa iba sledujú + + + Mined balance in watch-only addresses that has not yet matured + Vyťažená suma pre adresy ktoré sa iba sledujú ale ešte nie je dozretá + + + Current total balance in watch-only addresses + Aktuálny celkový zostatok pre adries ktoré sa iba sledujú + out of sync nesynchronizované @@ -1147,6 +1235,18 @@ Adresa: %4 Invalid payment address %1 Neplatná adresa platby %1 + + Payment request rejected + Požiadavka na platbu zamietnutá + + + Payment request network doesn't match client network. + Sieť požiadavky na platbu nie je zhodná so sieťou klienta. + + + Payment request is not initialized. + Požiadavka na platbu nie je inicializovaná + Requested payment amount of %1 is too small (considered dust). Požadovaná platba sumy %1 je príliš malá (považovaná za prach). @@ -1163,10 +1263,18 @@ Adresa: %4 Payment request fetch URL is invalid: %1 URL pre stiahnutie výzvy na zaplatenie je neplatné: %1 + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI sa nedá analyzovať! To môže byť spôsobené neplatnou Bitcoin adresou alebo zle upravenými vlastnosťami URI. + Payment request file handling Obsluha súboru s požiadavkou na platbu + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Súbor s výzvou na zaplatenie sa nedá čítať alebo spracovať! To môže byť spôsobené aj neplatným súborom s výzvou. + Unverified payment requests to custom payment scripts are unsupported. Program nepodporuje neoverené platobné výzvy na vlastná skripty. @@ -1175,10 +1283,22 @@ Adresa: %4 Refund from %1 Vrátenie z %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Požiadavka na platbu %1 je príliš veľká (%2 bajtov, povolené je %3 bajtov). + + + Payment request DoS protection + Ochrana pred zahltením požiadavkami na platbu + Error communicating with %1: %2 Chyba komunikácie s %1: %2 + + Payment request cannot be parsed! + Požiadavka na platbu nemôže byť analyzovaná! + Bad response from server %1 Zlá odpoveď zo servera %1 @@ -1194,13 +1314,33 @@ Adresa: %4 PeerTableModel - + + User Agent + Aplikácia + + + Address/Hostname + Adresa/Názov počítača + + + Ping Time + Čas odozvy + + QObject Amount Suma + + Enter a Bitcoin address (e.g. %1) + Zadajte bitcoin adresu (napr. %1) + + + %1 d + %1 d + %1 h %1 h @@ -1209,11 +1349,23 @@ Adresa: %4 %1 m %1 m + + %1 s + %1 s + + + None + Žiadne + N/A nie je k dispozícii - + + %1 ms + %1 ms + + QRImageWidget @@ -1263,6 +1415,10 @@ Adresa: %4 Using OpenSSL version Používa OpenSSL verziu + + Using BerkeleyDB version + Používa BerkeleyDB verziu + Startup time Čas spustenia @@ -1287,6 +1443,74 @@ Adresa: %4 Current number of blocks Aktuálny počet blokov + + Received + Prijaté + + + Sent + Odoslané + + + &Peers + &Partneri + + + Select a peer to view detailed information. + Vyberte počítač pre zobrazenie podrobností. + + + Direction + Smer + + + Version + Verzia + + + User Agent + Aplikácia + + + Services + Služby + + + Starting Height + Počiatočná výška + + + Sync Height + Synchronizovaná výška + + + Ban Score + Skóre zákazu + + + Connection Time + Dĺžka spojenia + + + Last Send + Posledné odoslanie + + + Last Receive + Posledné prijatie + + + Bytes Sent + Odoslaných bajtov + + + Bytes Received + Prijatých bajtov + + + Ping Time + Čas odozvy + Last block time Čas posledného bloku @@ -1301,7 +1525,7 @@ Adresa: %4 &Network Traffic - Sieťová prevádzka + &Sieťová prevádzka &Clear @@ -1337,11 +1561,11 @@ Adresa: %4 Welcome to the Bitcoin RPC console. - Vitajte v Bitcoin RPC konzole. Baník, pyčo! + Vitajte v Bitcoin RPC konzole. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Použi šipky hore a dolu pre navigáciu históriou a <b>Ctrl-L</b> pre vyčistenie obrazovky. + Použi šípky hore a dolu pre navigáciu históriou a <b>Ctrl-L</b> pre vyčistenie obrazovky. Type <b>help</b> for an overview of available commands. @@ -1363,7 +1587,31 @@ Adresa: %4 %1 GB %1 GB - + + via %1 + cez %1 + + + never + nikdy + + + Inbound + Prichádzajúce + + + Outbound + Odchádzajúce + + + Unknown + neznámy + + + Fetching... + Získava sa... + + ReceiveCoinsDialog @@ -1591,6 +1839,78 @@ Adresa: %4 Custom change address Vlastná adresa zmeny + + Transaction Fee: + Poplatok za transakciu: + + + Choose... + Zvoliť... + + + collapse fee-settings + zbaliť nastavenia poplatkov + + + Minimize + Minimalizovať + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Ak je poplatok nastavený na 1000 satoshi a transakcia je veľká len 250 bajtov, potom "za kilobajt" zaplatí poplatok 250 satoshi, ale "aspoň" zaplatí 1000 satoshi. Pre transakcie väčšie ako kilobajt platia oba spôsoby za každý kilobajt. + + + per kilobyte + za kilobajt + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Ak je poplatok nastavený na 1000 satoshi a transakcia je veľká len 250 bajtov, potom "za kilobajt" zaplatí poplatok 250 satoshi, ale "spolu aspoň" zaplatí 1000 satoshi. Pre transakcie väčšie ako kilobajt platia oba spôsoby za každý kilobajt. + + + total at least + spolu aspoň + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Zaplatenie len minimálneho poplatku je v poriadku, pokiaľ existuje menej transakcií ako miesta v blokoch. Uvedomte si však, že ak bude vyšší dopyt po transakciách ako dokáže sieť spracovať, môže byť vaša transakcia odsúvaná a nepotvrdená donekonečna. + + + (read the tooltip) + (prečítajte si nápovedu pod kurzorom) + + + Recommended: + Odporúčaný: + + + Custom: + Vlastný: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Automatický poplatok ešte nebol aktivovaný. Toto zvyčajne trvá niekoľko blokov...) + + + Confirmation time: + Čas potvrdenia: + + + normal + normálne + + + fast + rýchle + + + Send as zero-fee transaction if possible + Poslať ako transakciu bez poplatku, ak je to možné + + + (confirmation may take longer) + (potvrdenie môže trvať dlhšie) + Send to multiple recipients at once Poslať viacerým príjemcom naraz @@ -1603,6 +1923,10 @@ Adresa: %4 Clear all fields of the form. Vyčistiť všetky polia formulára. + + Dust: + Prach: + Clear &All Zmazať &všetko @@ -1655,10 +1979,6 @@ Adresa: %4 Copy change Kopírovať zmenu - - Total Amount %1 (= %2) - Celková suma %1 (= %2) - or alebo @@ -1691,6 +2011,14 @@ Adresa: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Transakcia bola zamietnutá! Toto sa môže stať ak niektoré coins vo vašej peňaženke už boli minuté, ako keď použijete kópiu wallet.dat a coins boli minuté z kópie ale neoznačené ako minuté tu. + + A fee higher than %1 is considered an insanely high fee. + Poplatok vyšší ako %1 je považovaný za šialene vysoký. + + + Pay only the minimum fee of %1 + Zaplatiť minimálny poplatok %1 + Warning: Invalid Bitcoin address Varovanie: Nesprávna Bitcoin adresa @@ -1703,6 +2031,10 @@ Adresa: %4 Warning: Unknown change address Varovanie: Neznáma adresa pre výdavok + + Copy dust + Kopírovať prach + Are you sure you want to send? Určite to chcete odoslať? @@ -1738,6 +2070,10 @@ Adresa: %4 This is a normal payment. Toto je normálna platba. + + The Bitcoin address to send the payment to + Zvoľte adresu kam poslať platbu + Alt+A Alt+A @@ -1860,6 +2196,10 @@ Adresa: %4 Enter the signing 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. Vložte podpisovaciu adresu, správu (uistite sa, že kopírujete ukončenia riadkov, medzery, odrážky, atď. presne) a podpis pod to na overenie adresy. Buďte opatrní a nečítajte ako podpísané viac než je v samotnej podpísanej správe a môžete sa tak vyhnúť podvodu mitm útokom. + + The Bitcoin address the message was signed with + Adresa Bitcoin, ktorou bola podpísaná správa + Verify the message to ensure it was signed with the specified Bitcoin address Overím správy sa uistiť že bola podpísaná označenou Bitcoin adresou @@ -1997,6 +2337,10 @@ Adresa: %4 own address vlastná adresa + + watch-only + Iba sledovanie + label popis @@ -2013,6 +2357,14 @@ Adresa: %4 Debit Debet + + Total debit + Debit spolu + + + Total credit + Kredit spolu + Transaction fee Transakčný poplatok @@ -2155,6 +2507,10 @@ Adresa: %4 Mined Vyfárané + + watch-only + Iba sledovanie + (n/a) (n/a) @@ -2171,6 +2527,10 @@ Adresa: %4 Type of transaction. Typ transakcie. + + Whether or not a watch-only address is involved in this transaction. + Či sú ale nie sú, adresy iba na sledovanie zahrnuté v tejto transakcii. + Destination address of transaction. Cieľová adresa transakcie. @@ -2266,6 +2626,10 @@ Adresa: %4 Export Transaction History Exportovať históriu transakcií + + Watch-only + Iba sledovanie + Exporting Failed Export zlyhal @@ -2321,7 +2685,11 @@ Adresa: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Jednotka pre zobrazovanie súm. Kliknite pre zvolenie inej jednotky. + + WalletFrame @@ -2383,7 +2751,7 @@ Adresa: %4 Connect to a node to retrieve peer addresses, and disconnect - Pripojiť sa k nóde, získať adresy ďaľších počítačov v sieti a odpojit sa. + Pripojiť sa k uzlu, získať adresy ďalších počítačov v sieti a odpojiť sa Specify your own public address @@ -2405,45 +2773,21 @@ Adresa: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Prijať spojenia zvonku (predvolené: 1 ak žiadne -proxy alebo -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, musíte nastaviť rpcpassword heslo v súbore nastavení: -%s -Odporúča sa používať nasledujúce náhodné heslo: -rpcuser=bitcoinrpc -rpcpassword=%s -(nemusíte si pamätať toto heslo) -Užívateľské meno a heslo NESMÚ byť rovnaké. -Ak súbor neexistuje, vytvorte ho s prístupovým právom owner-readable-only čitateľné len pre majiteľa. -Tiež sa odporúča nastaviť alertnotify aby ste boli upozorňovaní na problémy; -napríklad: alertnotify=echo %%s | mail -s "Bitcoin Výstraha" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Spojiť s danou adresou a vždy na nej počúvať. Použite zápis [host]:port pre IPv6 - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - Vojsť do režimu regresného testovania, ktorý používa špeciálnu reťaz v ktorej môžu byť bloky v okamihu vyriešené. + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Vymazať všetky transakcie z peňaženky a pri spustení znova získať z reťazca blokov iba tie získané pomocou -rescan - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Transakcia bola zamietnutá! Toto sa môže stať ak niektoré coins vo vašej peňaženke už boli minuté, ako keď použijete kópiu wallet.dat a coins boli minuté z kópie ale neoznačené ako minuté tu. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuované pod softvérovou licenciou MIT, viď sprievodný súbor COPYING alebo <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Chyba: Táto transakcia vyžaduje transakčný poplatok aspoň %s kvôli svojej sume, komplexite alebo použitiu nedávno prijatých prostriedkov. + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Vojsť do režimu regresného testovania, ktorý používa špeciálnu reťaz v ktorej môžu byť bloky v okamihu vyriešené. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2477,7 +2821,7 @@ The network does not appear to fully agree! Some miners appear to be experiencin Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. - Varovanie: Zjavne sa úplne nezhodujeme s našimi peer-mi! Možno potrebujete prejsť na novšiu verziu alebo ostatné nódy potrebujú vyššiu verziu. + Varovanie: Zjavne sa úplne nezhodujeme s našimi peer-mi! Možno potrebujete prejsť na novšiu verziu alebo ostatné uzly potrebujú vyššiu verziu. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. @@ -2487,6 +2831,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. Varovanie: wallet.dat je poškodený, údaje úspešne získané! Pôvodný wallet.dat uložený ako wallet.{timestamp}.bak v %s; ak váš zostatok alebo transakcie niesu správne, mali by ste súbor obnoviť zo zálohy. + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Uzle na zoznam povolených, ktoré sa pripájajú z danej netmask alebo IP adresy. Môže byť zadané viac krát. + (default: 1) (predvolené: 1) @@ -2551,10 +2899,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin Error: Disk space is low! Chyba: Málo miesta na disku! - - Error: Wallet locked, unable to create transaction! - Chyba: Peňaženka je zamknutá, nemôžem vytvoriť transakciu! - Failed to listen on any port. Use -listen=0 if you want this. Chyba počúvania na ktoromkoľvek porte. Použi -listen=0 ak toto chcete. @@ -2579,13 +2923,17 @@ The network does not appear to fully agree! Some miners appear to be experiencin Not enough file descriptors available. Nedostatok kľúčových slov súboru. + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Pripojiť iba k uzlom v sieti <net> (ipv4, ipv6, alebo onion) + Rebuild block chain index from current blk000??.dat files Znovu vytvoriť zoznam blokov zo súčasných blk000??.dat súborov Set database cache size in megabytes (%d to %d, default: %d) - Nastaviť veľkosť pomocnej pamäti databázy v megabajtoch (%d na %d, prednatavené: %d) + Nastaviť veľkosť pomocnej pamäti databázy v megabajtoch (%d do %d, prednastavené: %d) Set maximum block size in bytes (default: %d) @@ -2599,6 +2947,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin This is intended for regression testing tools and app development. Toto je mienené nástrojom pre regresné testovania a vývoj programu. + + Use UPnP to map the listening port (default: %u) + Použiť UPnP pre mapovanie počúvajúceho portu (predvolené: %u) + Verifying blocks... Overujem bloky... @@ -2623,22 +2975,138 @@ The network does not appear to fully agree! Some miners appear to be experiencin Imports blocks from external blk000??.dat file Importuje bloky z externého súboru blk000??.dat + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Povoliť JSON-RPC pripojenia zo zadaného zdroja. Pre <ip> sú platné jednoduché IP (napr. 1.2.3.4), sieť/netmask (napr. 1.2.3.4/255.255.255.0) alebo sieť/CIDR (napr. 1.2.3.4/24). Táto možnosť môže byť zadaná niekoľko krát + + + An error occurred while setting up the RPC address %s port %u for listening: %s + Pri nastavovaní RPC adresy %s na porte %u pre počúvanie došlo k chybe: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Spojiť s danou adresou a povolenými partnerskými zariadeniami ktoré sa tam pripájajú. Použite zápis [host]:port pre IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Spojiť s danou adresou pre počúvanie JSON-RPC spojení. Použite zápis [host]:port pre IPv6. Táto možnosť môže byt zadaná niekoľko krát (predvolené: spojiť so všetkými rozhraniami) + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. Neviem uzamknúť data adresár %s. Jadro Bitcoin je pravdepodobne už spustené. + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Vytvoriť nové súbory z predvolenými systémovými právami, namiesto umask 077 (funguje iba z vypnutou funkcionalitou peňaženky) + + + Error: Listening for incoming connections failed (listen returned error %s) + Chyba: Počúvanie prichádzajúcich spojení zlyhalo (vrátená chyba je %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Chyba: Nájdený nepodporovaný argument -socks. Nastavenie SOCKS verzie nie je už možné, podporované sú už iba proxy SOCKS5. + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) - Vykonať príkaz keď po prijatí patričné varovanie alebo vidíme veľmi dlhé rozdvojenie siete (%s v cmd je nahradené správou) + Vykonať príkaz po prijatí patričného varovania alebo uvidíme veľmi dlhé rozdvojenie siete (%s v cmd je nahradené správou) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + Poplatky (v BTC/Kb) nižšie ako toľkoto sa považujú za nulové pri postupovaní transakcií (predvolené: %s) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Poplatky (v BTC/Kb) nižšie ako toľkoto sa považujú za nulové pri vytváraní transakcií (predvolené: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Ak nie je nastavené paytxfee, pridať dostatočný poplatok aby sa transakcia začala potvrdzovať priemerne v rámci bloku (predvolené: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Neplatná suma pre -maxtxfee=<amount>: '%s' (aby sa transakcia nezasekla, minimálny prenosový poplatok musí byť aspoň %s) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maximálna veľkosť dát v transakciách nosných dát, ktoré prenášame a ťažíme (predvolené: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Dotaz na partnerské adresy pomocou vyhľadávania DNS v prípade nedostatku adries (predvolené: 1, pokiaľ -connect) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Vyžadovať vysokú prioritu pre postúpenie transakcií s nízkymi poplatkami (predvolené:%u) Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Nastaviť najväčšiu veľkosť vysoká-dôležitosť/nízke-poplatky transakcií v bajtoch (prednastavené: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Nastaviť počet vlákien pre generáciu mincí (-1 = všetky jadrá, predvolené: %d) + + + 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. + Tento produkt obsahuje softvér vyvinutý projektom OpenSSL pre použitie sady nástrojov OpenSSL <https://www.openssl.org/> a kryptografického softvéru napísaného Eric Young a UPnP softvér napísaný Thomas Bernard. + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Upozornenie: -maxtxfee je nastavené príliš vysoko! Takto vysoké poplatky by mali byť zaplatené za jednu transakciu. + + + 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 + Uzle na zoznam povolených nemôžu byť DoS zakázané a ich transakcie vždy postúpené ďalej, aj v prípade, ak sú už pamäťovej fronte. Užitočné napr. pre brány + + + Accept public REST requests (default: %u) + Akceptovať verejné REST žiadosti (predvolené: %u) + + + Cannot resolve -whitebind address: '%s' + Nedá sa vyriešiť -whitebind adresa: '%s' + + + Connect through SOCKS5 proxy + Pripojiť cez proxy server SOCKS5 + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Vývojári jadra Bitcoin + + + Could not parse -rpcbind value %s as network address + Nedá sa analyzovať -rpcbind hodnota %s ako sieťová adresa + + + Error loading wallet.dat: Wallet requires newer version of Bitcoin Core + Chyba pri čítaní wallet.dat: Peňaženka vyžaduje vyššiu verziu Jadra Bitcoin + + + Error reading from database, shutting down. + Chyba pri načítaní z databázy, ukončuje sa. + + + Error: Unsupported argument -tor found, use -onion. + Chyba: nájdený nepodporovaný argument -tor, použite -onion. + + + Fee (in BTC/kB) to add to transactions you send (default: %s) + Poplatok (v BTC/kB), ktorý sa pridá k transakciám, ktoré odosielate (predvolený: %s) + Information Informácia + + Invalid amount for -maxtxfee=<amount>: '%s' + Neplatná suma pre -maxtxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Neplatná suma pre -minrelaytxfee=<amount>: '%s' @@ -2648,8 +3116,24 @@ The network does not appear to fully agree! Some miners appear to be experiencin Neplatná suma pre -mintxfee=<amount>: '%s' - Print block on startup, if found in block index - Vytlač blok pri spustení, ak nájdený v zozname blokov + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Neplatná suma pre -paytxfee=<amount>: '%s' (musí byť aspoň %s) + + + Invalid netmask specified in -whitelist: '%s' + Nadaná neplatná netmask vo -whitelist: '%s' + + + Keep at most <n> unconnectable transactions in memory (default: %u) + V pamäti udržiavať najviac <n> nepotvrdených transakcií (predvolené: %u) + + + Need to specify a port with -whitebind: '%s' + Je potrebné zadať port s -whitebind: '%s' + + + Node relay options: + Prenosové možnosti uzla: RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) @@ -2659,6 +3143,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin RPC server options: Možnosti servra RPC: + + RPC support for HTTP persistent connections (default: %d) + Podpora RPC pre trvalé HTTP spojenia (predvolené: %d) + Randomly drop 1 of every <n> network messages Náhodne zahadzuj 1 z každých <n> sieťových správ @@ -2671,6 +3159,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin Send trace/debug info to console instead of debug.log file Odoslať trace/debug informácie na konzolu namiesto debug.info žurnálu + + Send transactions as zero-fee transactions if possible (default: %u) + Poslať ako transakcie bez poplatku, ak je to možné (predvolené: %u) + Show all debugging options (usage: --help -help-debug) Zobraziť všetky možnosti ladenia (použitie: --help --help-debug) @@ -2683,6 +3175,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin Signing transaction failed Podpísanie správy zlyhalo + + This is experimental software. + Toto je experimentálny softvér. + Transaction amount too small Suma transakcie príliš malá @@ -2691,10 +3187,18 @@ The network does not appear to fully agree! Some miners appear to be experiencin Transaction amounts must be positive Hodnoty transakcie musia byť väčšie ako nula (pozitívne) + + Transaction too large for fee policy + Transakcia je príliš veľká pre aktuálne podmienky poplatkov + Transaction too large Transakcia príliš veľká + + Unable to bind to %s on this computer (bind returned error %s) + Na tomto počítači sa nedá vytvoriť väzba %s (vytvorenie väzby vrátilo chybu %s) + Use UPnP to map the listening port (default: 1 when listening) Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 1 when listening) @@ -2711,6 +3215,14 @@ The network does not appear to fully agree! Some miners appear to be experiencin Warning: This version is obsolete, upgrade required! Upozornenie: Táto verzia je zastaraná, vyžaduje sa aktualizácia! + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Upozornenie: Nepodporovaný argument -benchmark bol ignorovaný, použite -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Upozornenie: Nepodporovaný argument -debugnet bol ignorovaný, použite -debug=net. + Zapping all transactions from wallet... Zmazať všetky transakcie z peňaženky... @@ -2759,14 +3271,134 @@ The network does not appear to fully agree! Some miners appear to be experiencin Error loading wallet.dat: Wallet corrupted Chyba načítania wallet.dat: Peňaženka je poškodená + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = zachovať metaúdaje tx napr. vlastníka účtu a informácie o platobných príkazoch, 2 = zahodiť metaúdaje tx) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + Ako dôkladné je -checkblocks overenie blokov (0-4, predvolené: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Zaznamenať prioritu transakcie a poplatok za kB pri ťažení blokov (predvolené: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Udržiavať kompletný transakčný index, využíva getrawtransaction rpc volanie (predvolené: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Počet sekúnd, počas ktorých nepripájať zle správajúce sa uzle (predvolené: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + Výstupné ladiace informácie (predvolené: %u, dodanie <category> je voliteľné) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Použiť samostatný SOCKS5 proxy server na dosiahnutie počítačov cez skryté služby Tor (predvolené: %s) + + + (default: %s) + (predvolené: %s) + + + Acceptable ciphers (default: %s) + Prijateľné šifry (predvolené: %s) + + + Always query for peer addresses via DNS lookup (default: %u) + Vždy sa dotazovať adresy partnerských uzlov cez vyhľadávanie DNS (predvolené: %u) + Error loading wallet.dat Chyba načítania wallet.dat + + How many blocks to check at startup (default: %u, 0 = all) + Koľko blokov overiť pri spustení (predvolené: %u, 0 = všetky) + + + Include IP addresses in debug output (default: %u) + Zahrnúť IP adresy v ladiacom výstupe (predvolené: %u) + Invalid -proxy address: '%s' Neplatná adresa proxy: '%s' + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Počúvať JSON-RPC pripojenia na <port> (predvolené: %u alebo testovacia sieť: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Počúvať pripojenia na <port> (predvolené: %u alebo testovacia sieť: %u) + + + Maintain at most <n> connections to peers (default: %u) + Udržiavať najviac <n> spojení s inými počítačmi (predvolené: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Maximálna prijímajúca medzipamäť pre pripojenie, <n>*1000 bajtov (predvolené: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Maximálna odosielajúca medzipamäť pre pripojenie, <n>*1000 bajtov (predvolené: %u) + + + Prepend debug output with timestamp (default: %u) + Na začiatok pripojiť časovú známku k ladiacemu výstupu (predvolené: %u) + + + Relay and mine data carrier transactions (default: %u) + Prenášať a ťažiť transakcie nosných dát (predvolené: %u) + + + Relay non-P2SH multisig (default: %u) + Prenášať non-P2SH multi-podpis (predvolené: %u) + + + Server certificate file (default: %s) + Certifikačný súbor servera (predvolené: %s) + + + Server private key (default: %s) + Privátny kľúč servera (predvolené: %s) + + + Set key pool size to <n> (default: %u) + Nastaviť veľkosť kľúča fronty na <n> (predvolené: %u) + + + Set minimum block size in bytes (default: %u) + Nastaviť minimálnu veľkosť bloku v bajtoch (predvolené: %u) + + + Set the number of threads to service RPC calls (default: %d) + Nastaviť počet vlákien na obsluhu RPC volaní (predvolené: %d) + + + Specify configuration file (default: %s) + Zadať konfiguračný súbor (predvolené: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Zadajte časový limit pripojenia v milisekundách (minimum: 1, predvolené: %d) + + + Specify pid file (default: %s) + Zadať pid súbor (predvolené: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Minúť nepotvrdené zmenu pri posielaní transakcií (predvolené: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Hranica pre odpájanie zle sa správajúcim partnerským uzlom (predvolené: %u) + Unknown network specified in -onlynet: '%s' Neznáma sieť upresnená v -onlynet: '%s' @@ -2783,10 +3415,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin Invalid amount for -paytxfee=<amount>: '%s' Neplatná suma pre -paytxfee=<amount>: '%s' - - Invalid amount - Neplatná suma - Insufficient funds Nedostatok prostriedkov @@ -2819,10 +3447,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin Done loading Dokončené načítavanie - - To use the %s option - Použiť %s možnosť. - Error Chyba diff --git a/src/qt/locale/bitcoin_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts index 60fc4a93e5c2b..3a1754546ddda 100644 --- a/src/qt/locale/bitcoin_sl_SI.ts +++ b/src/qt/locale/bitcoin_sl_SI.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dvakrat klikni za urejanje naslovov ali oznak + Right-click to edit address or label + Desni klik za urejanje naslovov ali oznak Create a new address @@ -23,7 +23,7 @@ C&lose - &Zapri (close) + &Zapri &Copy Address @@ -35,7 +35,7 @@ Export the data in the current tab to a file - Izvozi podatke v trenutni zavih v datoteko + Izvozi podatke v trenutnem zavihku v datoteko &Export @@ -47,11 +47,11 @@ Choose the address to send coins to - Izberi naslov prejemnika kovancev + Izberite naslov, na katerega pošiljate plačilo Choose the address to receive coins with - Izberi naslov pošiljatelja kovancev + Izberite naslov za prejem plačila C&hoose @@ -59,19 +59,19 @@ Sending addresses - Naslovi za pošiljanje + Seznam naslovov pošiljanja ... Receiving addresses - Naslovi za prejemanje + Prejemni naslovi These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - To so tvoji Bitcoin naslovi za pošiljanje plačil. Vedno preveri znesek in prejemnikov naslov pred pošiljanjem kovancev. + Tukaj so vaši Bitcoin naslovi za pošiljanje plačil. Vedno preverite znesek in prejemnikov naslov pred pošiljanjem kovancev. These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - To so tvoji Bitcoin naslovi za prejemanje plačil. Priporočljivo je uporabljati nov prejemni naslov za vsako izmed transakcij. + Tukaj so vaši Bitcoin naslovi za prejemanje plačil. Priporočljivo je uporabiti nov naslov za vsako novo plačilo. Copy &Label @@ -91,7 +91,7 @@ Exporting Failed - Neuspešen izvoz + Izvoz neuspešen @@ -113,7 +113,7 @@ AskPassphraseDialog Passphrase Dialog - Poziv gesla + Vnos gesla Enter passphrase @@ -149,7 +149,7 @@ Change passphrase - Zamenjaj geslo + Spremeni geslo Enter the old and new passphrase to the wallet. @@ -157,43 +157,51 @@ Confirm wallet encryption - Potrdi šifriranje denarnice + Potrditev šifriranja denarnice Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>! - Opozorilo: V primeru izgube gesla kriptirane denarnice, boš <b>IZGUBIL VSE SVOJE BITCOINE</b>! + Opozorilo: V primeru izgube gesla šifrirane denarnice, boste <b>IZGUBILI VSE SVOJE BITCOINE</b>! Are you sure you wish to encrypt your wallet? Ali ste prepričani, da želite šifrirati vašo denarnico? + + 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. + POMEMBNO: Vse starejše varnostne kopije denarnice je potrebno zamenjati z novoizdelano, šifrirano, varnostno kopijo. Zaradi varnosti bodo stare varnostne kopije postale neuporabne takoj, ko začnete uporabljati novo, šifrirano denarnico. + Warning: The Caps Lock key is on! - Opozorilo: imate prižgan Cap Lock + Opozorilo: imate vklopljene velike črke (Caps Lock)! Wallet encrypted - Denarnica šifrirana + Denarnica je šifrirana + + + 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>. + Vnesite novo geslo. Prosimo, da uporabite geslo sestavljeno iz <b>deset ali več</b> naključnih znakov, ali <b>osem ali več</b> besed. Bitcoin 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. - Bitcoin se bo zaprl, da bi dokončal proces šifriranja. Zapomnite si, da šifriranje vaše denarnice ne more popolnoma zaščititi pred krajami zlonamernih programov, ki bi lahko bili nameščeni na vašem računalniku. + Program se bo zaprl, da dokonča proces šifriranja. Zapomnite si, da šifriranje ne more popolnoma zaščititi vašo denarnico pred krajami in zlonamernimi programi, ki bi lahko bili nameščeni na vašem računalniku. Wallet encryption failed - Šifriranje denarnice spodletelo + Šifriranje denarnice je spodletelo Wallet encryption failed due to an internal error. Your wallet was not encrypted. - Šifriranje denarnice spodletelo zaradi notranje napake. Vaša denarnica ni šifrirana. + Šifriranje denarnice je spodletelo zaradi notranje napake. Vaša denarnica ni bila šifrirana. The supplied passphrases do not match. - Vnešeno geslo se ne ujema + Vnešeno geslo se ne ujema. Wallet unlock failed - Odklep denarnice spodletel + Odklepanje denarnice je spodletelo The passphrase entered for the wallet decryption was incorrect. @@ -201,9 +209,13 @@ Wallet decryption failed - Dešifriranje denarnice spodletelo + Dešifriranje denarnice je spodletelo - + + Wallet passphrase was successfully changed. + Geslo za dostop do denarnice je bilo uspešno zamenjano. + + BitcoinGUI @@ -228,11 +240,11 @@ &Transactions - &Transakcije + &Plačila Browse transaction history - Brskaj po zgodovini transakcij + Brskaj po zgodovini plačil E&xit @@ -240,7 +252,7 @@ Quit application - Izhod iz aplikacije + Izhod iz programa About &Qt @@ -260,7 +272,7 @@ &Backup Wallet... - &Napravi varnostno kopijo denarnice ... + Shrani &varnostno kopijo denarnice ... &Change Passphrase... @@ -268,15 +280,15 @@ &Sending addresses... - &Pošiljanje naslovov... + Naslovi za po&šiljanje ... &Receiving addresses... - &Prejemanje naslovov... + Naslovi za &prejemanje... Open &URI... - Odpri &URI... + Odpri &URI ... Bitcoin Core client @@ -284,11 +296,11 @@ Importing blocks from disk... - Uvažam bloke z diska... + Uvažanje blokov z diska ... Reindexing blocks on disk... - Poustvarjam kazalo blokov na disku... + Poustvarjam kazalo blokov na disku ... Send coins to a Bitcoin address @@ -296,15 +308,15 @@ Modify configuration options for Bitcoin - Spremeni konfiguracijo nastavitev za Bitcoin + Urejanje nastavitev programa Backup wallet to another location - Napravi varnostno kopijo denarnice na drugo lokacijo + Shrani kopijo denarnice na drugo lokacijo Change the passphrase used for wallet encryption - Spremeni šifrirno geslo denarnice + Spremeni geslo za šifriranje denarnice &Debug window @@ -332,7 +344,7 @@ Show information about Bitcoin Core - Pokaži informacije o Bitcoin Core + Pokaži informacije o programu &Show / Hide @@ -344,11 +356,15 @@ Encrypt the private keys that belong to your wallet - Šifiraj zasebne ključe v moji denarnici + Šifiraj zasebne ključe v denarnici Sign messages with your Bitcoin addresses to prove you own them - Za dokaz, da ste lastniki sporočil, se podpišite z Bitcoin naslovom + Podpišite sporočilo za dokaz, da ste lastnik naslova + + + Verify messages to ensure they were signed with specified Bitcoin addresses + Preverite, da je sporočilo bilo podpisano z danim naslovom &File @@ -368,11 +384,15 @@ Bitcoin Core - Jedro Bitcoina + Bitcoin Core + + + Request payments (generates QR codes and bitcoin: URIs) + Ustvarjanje zahtevka za plačilo (izdelava QR kode in bitcoin: URI naslova) &About Bitcoin Core - &O jedru Bitcoina + &O programu Show the list of used sending addresses and labels @@ -386,13 +406,25 @@ Open a bitcoin: URI or payment request Odpri Bitcoin: URI ali zahteva o plačilu + + &Command-line options + Opcije &ukazne vrstice + + + Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options + Prikaže seznam vseh opcij pri zagonu programa in kratek opis + %n active connection(s) to Bitcoin network %n aktivna povezava v bitcoin omrežje%n aktivni povezavi v bitcoin omrežje%n aktivnih povezav v bitcoin omrežje%n aktivnih povezav v bitcoin omrežje + + No block source available... + Ni virov za prenos blokov ... + %n hour(s) - %n ura%n uri%n ure%n ura + %n ura%n uri%n ure%n ur %n day(s) @@ -416,7 +448,7 @@ Transactions after this will not yet be visible. - Transkacija za tem ne bo bila še na voljo. + Transkacije za tem ne bodo še na voljo. Error @@ -436,7 +468,7 @@ Catching up... - Pridobivanje ... + Pridobivanje... Sent transaction @@ -453,7 +485,7 @@ Type: %3 Address: %4 Datum: %1 -Količina: %2 +Znesek: %2 Vrsta: %3 Naslov: %4 @@ -471,22 +503,26 @@ Naslov: %4 ClientModel Network Alert - Omrežno Opozorilo + Omrežno opozorilo CoinControlDialog + + Coin Selection + Izbira vhodnih kovancev + Quantity: Količina: Bytes: - Biti: + Bajtov: Amount: - Količina: + Znesek: Priority: @@ -500,17 +536,21 @@ Naslov: %4 Dust: Prah: + + After Fee: + Po proviziji: + Change: - Sprememba: + Vračilo: (un)select all - (ne)izberi vse + izberi vse/nič Tree mode - Drevo + Drevesni prikaz List mode @@ -518,7 +558,15 @@ Naslov: %4 Amount - Količina + Znesek + + + Received with label + Oznaka priliva + + + Received with address + Naslov priliva Date @@ -568,9 +616,13 @@ Naslov: %4 Copy fee Kopiraj provizijo + + Copy after fee + Kopiraj Po proviziji + Copy bytes - Kopiraj bite + Kopiraj bajte Copy priority @@ -582,7 +634,7 @@ Naslov: %4 Copy change - Kopiraj drobiž + Kopiraj vračilo highest @@ -602,7 +654,7 @@ Naslov: %4 medium - srednje + srednja low-medium @@ -626,7 +678,7 @@ Naslov: %4 none - Nič + nič Can vary +/- %1 satoshi(s) per input. @@ -642,11 +694,11 @@ Naslov: %4 This label turns red, if the transaction size is greater than 1000 bytes. - V primeru, da je velikost transakcije večja od 1000 bitov, se ta oznaka se obarva rdeče. + Oznaka postane rdeča, če je transakcije večja od 1000 bajtov. Can vary +/- 1 byte per input. - Se lahko razlikuje +/- 1 byte na vnos. + Se lahko razlikuje +/-1 bajt na vnos. Transactions with higher priority are more likely to get included into a block. @@ -654,7 +706,11 @@ Naslov: %4 This label turns red, if the priority is smaller than "medium". - Oznaka se obarva rdeče, kadar je prioriteta manjša od "srednje". + Oznaka postane rdeča, če je prioriteta transakcije manjša od "srednje". + + + This label turns red, if any recipient receives an amount smaller than %1. + Oznaka postane rdeča, če je znesek manjši od %1. (no label) @@ -662,11 +718,11 @@ Naslov: %4 change from %1 (%2) - drobiž od %1 (%2) + vračilo od %1 (%2) (change) - (drobiž) + (vračilo) @@ -681,7 +737,7 @@ Naslov: %4 The label associated with this address list entry - Oznaka je povezana s tem vnosom seznama naslovov + Oznaka povezana s tem vnosom seznama naslovov The address associated with this address list entry. This can only be modified for sending addresses. @@ -707,13 +763,17 @@ Naslov: %4 Edit sending address Uredi naslov za odlive + + The entered address "%1" is already in the address book. + Vnešeni naslov "%1" je že v imeniku. + The entered address "%1" is not a valid Bitcoin address. Vnešeni naslov "%1" ni veljaven Bitcoin naslov. Could not unlock wallet. - Ni bilo moč odkleniti denarnice. + Denarnice ni bilo mogoče odkleniti. New key generation failed. @@ -732,7 +792,7 @@ Naslov: %4 Directory already exists. Add %1 if you intend to create a new directory here. - Mapa že obstaja. Dodaj %1, če tu želiš ustvariti novo mapo. + Mapa že obstaja. Dodajte %1, če tu želite ustvariti novo mapo. Path already exists, and is not a directory. @@ -740,14 +800,14 @@ Naslov: %4 Cannot create data directory here. - Na tem mestu ne moreš ustvariti nove mape. + Na tem mestu ni mogoče ustvariti nove mape. HelpMessageDialog Bitcoin Core - Jedro Bitcoina + Bitcoin Core version @@ -759,7 +819,7 @@ Naslov: %4 About Bitcoin Core - O jedru Bitcoina + O programu Bitcoin Core Command-line options @@ -779,7 +839,7 @@ Naslov: %4 Set language, for example "de_DE" (default: system locale) - Nastavi jezik, npr. "sl_SI" (privzeto: jezikovna oznaka sistema) + Nastavi jezik, npr. "sl_SI" (privzeto: sistemsko nastavljeno) Start minimized @@ -806,15 +866,15 @@ Naslov: %4 Welcome to Bitcoin Core. - Dobrodošli v jedru Bitcoina + Dobrodošli v Bitcoin Core. As this is the first time the program is launched, you can choose where Bitcoin Core will store its data. - Program poganjaš prvič. Izberi kje bo Bitcoin Core shranjeval svoje podatke. + To je prvi zagonom programa, zato izberite kje bo program Bitcoin Core shranjeval podatke. Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Bitcoin Core bo prenesel in shranil kopijo Bitcoin verige blokov. V izbrano mapo bo shranjenih vsaj %1 GB podatkov, ta količina pa bo sčasoma še naraščala. Denarnica bo prav tako shranjena v to mapo. + Program bo prenesel in shranil kopijo bitcoin verige blokov. V izbrano mapo bo shranjenih vsaj %1 GB podatkov, ta količina bo sčasoma še naraščala. Denarnica bo prav tako shranjena v to mapo. Use the default data directory @@ -826,16 +886,20 @@ Naslov: %4 Bitcoin Core - Jedro Bitcoina + Bitcoin Core Error: Specified data directory "%1" cannot be created. - Napaka: Ne morem ustvariti mape "%1". + Napaka: Ni mogoče ustvariti mape "%1". Error Napaka + + %n GB of free space available + %n GB prostega prostora na voljo%n GB prostega prostora na voljo%n GB prostega prostora na voljo%n GB prostega prostora na voljo + OpenURIDialog @@ -845,7 +909,7 @@ Naslov: %4 Open payment request from URI or file - Odpri zahtevo o plačilo od ORI ali datoteke + Odpiranje zahteve o plačilu iz URI naslova ali datoteke URI: @@ -853,11 +917,11 @@ Naslov: %4 Select payment request file - Izberi datoteko plačilnega zahtevka + Izbiranje datoteke plačilnega zahtevka Select payment request file to open - Izberi datoteko plačilnega zahtevka + Izbiranje datoteke plačilnega zahtevka @@ -872,19 +936,23 @@ Naslov: %4 Automatically start Bitcoin after logging in to the system. - Po prijavi v sistem samodejno zaženite Bitcoin. + Samodejen zagon programa po prijavi v sistem. &Start Bitcoin on system login - &Zaženi Bitcoin ob prijavi v sistem + &Zaženi program ob prijavi v sistem Size of &database cache - Velikost lokalne zbirke &podatkovne baze + Velikost &predpomnilnika podatkovne zbirke MB - megabite + MB + + + Number of script &verification threads + Število programskih &niti za preverjanje Accept connections from outside @@ -898,14 +966,34 @@ Naslov: %4 IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) IP naslov proxy strežnika (npr. IPv4: 127.0.0.1 ali IPv6: ::1) + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + Naslovi URL tretjih oseb (npr. raziskovalec blokov), ki so navedeni v kontekstnem meniju seznama transakcij. Niz %s iz naslova URL je nadomeščen s hash vrednostjo transakcije. Več zaporednih naslovov URL je med seboj ločenih z znakom |. + + + Third party transaction URLs + URL nakazila tretjih oseb + + + Active command-line options that override above options: + Aktivne opcije iz ukazne vrstice, ki preglasijo zgornje opcije: + + + Reset all client options to default. + Ponastavi vse nastavitve programa na privzete vrednosti. + &Reset Options - &Opcije resetiranja + &Ponastavi nastavitve &Network &Omrežje + + (0 = auto, <0 = leave that many cores free) + (0 = samodejno, <0 = toliko CPU jeder naj ostane prosto) + W&allet &Denarnica @@ -916,19 +1004,35 @@ Naslov: %4 Enable coin &control features - Omogoči Coin & Control funkcijo + Omogoči 'Coin &Control' možnost + + + If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. + Če onemogočite trošenje nepotrjenega vračila, potem vračilo, to je denar, ki se po plačilu vrne v vašo denarnico, ne morete uporabljati dokler to plačilo ni potrjeno najmanj enkrat. Ta opcija vpliva tudi na to, kako bo izračunano dobroimetje. + + + &Spend unconfirmed change + &Trošenje nepotrjenega vračila Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. - Avtomatično odpri vrata Bitcoin odjemalca na usmerjevalniku. To deluje samo, če vaš usmerjevalnik podpira UPnP in je omogočen. + Program samodejno odpre ustrezna vrata na usmerjevalniku. To deluje samo, če vaš usmerjevalnik podpira in ima omogočen UPnP. Map port using &UPnP Naslavljanje vrat z uporabo &UPnP + + Connect to the Bitcoin network through a SOCKS5 proxy. + Povezava v omrežje s pomočjo SOCKS5 posrednika. + + + &Connect through SOCKS5 proxy (default proxy): + Povezava v omrežje s pomočjo SOCKS5 posrednika: + Proxy &IP: - IP posredniškega strežnika: + &IP posredniškega strežnika: &Port: @@ -936,7 +1040,7 @@ Naslov: %4 Port of the proxy (e.g. 9050) - Vrata strežnika (npr.: 9050) + Vrata posredniškega strežnika (npr.: 9050) &Window @@ -952,11 +1056,11 @@ Naslov: %4 Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. - Minimiziraj namesto izhoda iz programa, ko je okno zaprto. Ko je ta opcija omogočena se bo aplikacija zaprla z izbiro opcije Zapri iz menija. + Minimiziraj namesto izhoda iz programa, ko je okno zaprto. Ko je ta opcija omogočena se bo aplikacija zaprla z izbiro ukaza Izhod iz menija. M&inimize on close - &Minimiziraj na ukaz zapri + M&inimiziraj na ukaz zapri &Display @@ -964,15 +1068,23 @@ Naslov: %4 User Interface &language: - Vmesnik uporabnika &jezik: + &Jezik uporabniškega vmesnika: The user interface language can be set here. This setting will take effect after restarting Bitcoin. - Tukaj je mogoče nastaviti uporabniški vmesnik za jezike. Ta nastavitev bo prikazana šele, ko boste znova zagnali Bitcoin. + Tukaj je mogoče nastaviti jezik uporabniškega vmesnika. Ta nastavitev bo prikazana šele, ko boste znova zagnali program. &Unit to show amounts in: - & + &Enota za prikaz zneskov: + + + Choose the default subdivision unit to show in the interface and when sending coins. + Izberite privzeto mersko enoto za prikaz v uporabniškem vmesniku in pri pošiljanju novcev. + + + Whether to show coin control features or not. + Omogoči 'Coin &Control' možnost &OK @@ -980,7 +1092,7 @@ Naslov: %4 &Cancel - &Prekini + &Prekliči default @@ -990,7 +1102,23 @@ Naslov: %4 none Nič - + + Confirm options reset + Potrditev ponastavitve + + + Client restart required to activate changes. + Za uveljavitev sprememb je potreben ponoven zagon programa. + + + This change would require a client restart. + Ta sprememba zahteva ponoven zagon programa. + + + The supplied proxy address is invalid. + Vnešeni naslov posredniškega strežnika ni veljaven. + + OverviewPage @@ -999,23 +1127,39 @@ Naslov: %4 The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet. - Prikazanim podatkom je lahko potekel rok. Vaša denarnica bo po vzpostavitvi povezave samodejno sinhronizirana z Bitcoin omrežjem, ampak ta proces še ni bil zaključen. + Prikazani podatki so lahko zastareli. Vaša denarnica se po vzpostavitvi povezave z omrežjem samodejno sinhronizira, ampak ta proces še ni zaključen. Watch-only: - Samo gledanje + Samo za gledanje: Available: - Razpoložljivost: + Razpoložljivo: Your current spendable balance Vaše trenutno razpoložljivo stanje + + Pending: + Nepotrjeno: + Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance - Skupno število potrjenih transakcij, ki sicer niso bile prištete k razpoložljivem stanju + Skupni znesek še nepotrjenih transakcij. Ta znesek ni prištet k razpoložljivem stanju + + + Immature: + Nedozorelo: + + + Mined balance that has not yet matured + Narudarjeni znesek še ni dozorel. + + + Balances + Skupno stanje Total: @@ -1025,9 +1169,33 @@ Naslov: %4 Your current total balance Vaše trenutno skupno stanje + + Your current balance in watch-only addresses + Skupni znesek opazovanih naslovov + + + Spendable: + Razpoložljivo: + + + Recent transactions + Nedavna plačila + + + Unconfirmed transactions to watch-only addresses + Nepotrjene transakcije na naslovih za vpogled + + + Mined balance in watch-only addresses that has not yet matured + Narudarjeni znesek iz opazovanega naslova še ni dozorel. + + + Current total balance in watch-only addresses + Skupni znesek naslovov za vpogled + out of sync - iz sinhronizacije + ni sinhronizirano @@ -1038,19 +1206,71 @@ Naslov: %4 Invalid payment address %1 - Neveljaven naslov plačila %1 + Neveljaven naslov za plačilo %1 + + + Payment request rejected + Zahtevek za plačilo je bil zavrnjen. + + + Payment request network doesn't match client network. + Zahtevek za plačilo in vaš odjemalec se nahajata na različnih omrežjih. + + + Payment request is not initialized. + Zahtevek za plačilo ni inicializiran. Payment request error Napaka pri zahtevi plačila + + Cannot start bitcoin: click-to-pay handler + Ni mogoče zagnati upravitelja plačil na klik tipa bitcoin:. + + + Payment request fetch URL is invalid: %1 + Naslov URL za pridobitev zahtevka za plačilo ni veljaven: %1 + + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + Naslov URL je neprepoznaven! Razlog je lahko neveljaven naslov Bitcoin ali napačni parametri v URI. + + + Payment request file handling + Upravljanje z datoteko z zahtevkom za plačilo + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Datoteke z zahtevkom za plačilo ni mogoče prebrati! Možno je, da datoteka ni veljavna. + + + Unverified payment requests to custom payment scripts are unsupported. + Nepreverjeni zahtevki za plačilo, namenjeni plačilni skripti po meri, niso podprti. + + + Refund from %1 + Povračilo od %1 + + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Zahtevek za plačilo %1 je prevelik (%2 bytov, dovoljenih je %3 bytov.) + + + Payment request DoS protection + Zaščita pred DoS zahtevka za plačilo + Error communicating with %1: %2 Napaka pri povezavi z %1: %2 + + Payment request cannot be parsed! + Zahtevek za plačilo je neprepoznaven! + Bad response from server %1 - Slab odziv strežnika %1 + Napačen odziv strežnika %1 Payment acknowledged @@ -1063,6 +1283,10 @@ Naslov: %4 PeerTableModel + + User Agent + Ime agenta + Ping Time Odzivni čas @@ -1074,6 +1298,14 @@ Naslov: %4 Amount Količina + + Enter a Bitcoin address (e.g. %1) + Vnesite naslov Bitcoin (npr. %1): + + + %1 d + %1 d + %1 h %1 ur @@ -1082,11 +1314,23 @@ Naslov: %4 %1 m %1 minut + + %1 s + %1 s + + + None + Nič + N/A Neznano - + + %1 ms + %1 ms + + QRImageWidget @@ -1124,6 +1368,14 @@ Naslov: %4 &Information &Informacije + + Debug window + Razhroščevalno okno + + + General + Splošno + Using OpenSSL version OpenSSL različica v rabi @@ -1140,6 +1392,10 @@ Naslov: %4 Network Omrežje + + Name + Ime + Number of connections Število povezav @@ -1160,14 +1416,62 @@ Naslov: %4 Sent Poslano + + &Peers + &Vrstniki + + + Select a peer to view detailed information. + Izberite vrstnika, katerega podrobnejše informacije si želite ogledati. + + + Direction + Smer + Version Različica + + User Agent + Ime agenta + Services Storitve + + Starting Height + Začetna višina + + + Sync Height + Višina sinhronizacije + + + Ban Score + Kazenske točke + + + Connection Time + Trajanje povezave + + + Last Send + Poslano pred + + + Last Receive + Prejeto pred + + + Bytes Sent + Bajtov poslano + + + Bytes Received + Bajtov prejeto + Ping Time Odzivni čas @@ -1190,12 +1494,20 @@ Naslov: %4 &Clear - &Pošisti + &Počisti Totals Vsote + + In: + Not: + + + Out: + Ven: + Build date Datum izgradnje @@ -1210,7 +1522,7 @@ Naslov: %4 Welcome to the Bitcoin RPC console. - Dobrodošli na Bitcoin RPC konzoli. + Dobrodošli na Bitcoin RPC konzoli. Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. @@ -1222,24 +1534,36 @@ Naslov: %4 %1 B - %1 bitov + %1 B %1 KB - %1 kilobitov + %1 KB %1 MB - %1 megabitov + %1 MB %1 GB - %1 gigabitov + %1 GB + + + via %1 + preko %1 never nikoli + + Inbound + Prihajajoča + + + Outbound + Odhajajoča + Unknown Neznano @@ -1263,18 +1587,50 @@ Naslov: %4 &Message: &Sporočilo: + + Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before. + Ponovno uporabite enega od že uporabljenih naslovov za prejemanje. Večkratna uporaba istih naslovov za prejemanje negativno vpliva na varnost in zasebnost. To opcijo uporabite samo v primeru, da ponovno ustvarjate zahtevek za plačilo. + + + R&euse an existing receiving address (not recommended) + P&onovno uporabite obstoječ naslov za prejemanje. (Ni priporočeno.) + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network. + Neobvezno sporočilo kot priponka zahtevku za plačilo, ki bo prikazano, ko bo zahtevek odprt. Opomba: Opravljeno plačilo.prek omrežja Bitcoin tega sporočila ne bo vsebovalo. + An optional label to associate with the new receiving address. - Pomožna oznaka je povezana z novim sprejemnim naslovom. + Oznaka novega sprejemnega naslova. + + + Use this form to request payments. All fields are <b>optional</b>. + S tem obrazcem ustvarite nov zahtevek za plačilo. Vsa polja so <b>neobvezna</b>. + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + Zahtevani znesek. Pustite prazno ali nastavite na 0, če ne zahtevate določenega zneska. + + + Clear all fields of the form. + Počisti vsa polja. Clear Počisti + + Requested payments history + Zgodovina zahtevkov za plačilo + &Request payment &Zahtevaj plačilo + + Show the selected request (does the same as double clicking an entry) + Prikaz izbranega zahtevka. (Ista funkcija kot dvojni klik na zapis.) + Show Pokaži @@ -1304,7 +1660,7 @@ Naslov: %4 ReceiveRequestDialog QR Code - QR Koda + QR koda Copy &URI @@ -1312,12 +1668,16 @@ Naslov: %4 Copy &Address - Kopiraj &Naslov + Kopiraj &naslov &Save Image... &Shrani sliko.. + + Request payment to %1 + Zahtevek za plačilo z oznako: %1 + Payment information Informacija o plačilu @@ -1344,11 +1704,11 @@ Naslov: %4 Resulting URI too long, try to reduce the text for label / message. - URI predolg, skušajte zmanjšati besedilo oznake/sporočila. + URI je predolg, skušajte zmanjšati besedilo oznake/sporočila. Error encoding URI into QR Code. - Napaka pri kodiranju URIja v QR kodo. + Napaka pri kodiranju URI naslova v QR kodo. @@ -1386,7 +1746,11 @@ Naslov: %4 SendCoinsDialog Send Coins - Pošlji kovance + Pošlji plačilo + + + Coin Control Features + Coin Control možnosti Inputs... @@ -1406,7 +1770,7 @@ Naslov: %4 Bytes: - Biti: + Bajti: Amount: @@ -1420,9 +1784,85 @@ Naslov: %4 Fee: Provizija: + + After Fee: + Po proviziji: + Change: - Sprememba: + Drobiž: + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Če to vključite, nato pa vnesete neveljaven naslov, ali pa pustite polje prazno, bo vrnjen drobiž poslan na novo ustvarjen naslov. + + + Custom change address + Naslov za vračilo drobiža po meri + + + Transaction Fee: + Provizija: + + + Choose... + Izberi... + + + collapse fee-settings + Skrije nastavitve provizije + + + per kilobyte + za KB + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + Če je nastavitev zneska provizije po meri enaka 1000 satoshijev, transakcija pa je velika samo 250 bajtov, je obračunani znesek provizije pri nastavitvi "za KB" samo 250 satoshijev, medtem ko je pri nastavitvi "skupno vsaj" znesek 1000 satoshijev. Za transakcije, večje od kilobajta se končni znesek pri obeh nastavitvah obračuna na kilobajt. + + + total at least + skupno vsaj + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + Dokler bo v blokih še dovolj prostora za vse nastajajoče transakcije, je dovolj tudi plačilo samo minimalne provizije. Ko pa se bo količina vseh transakcij povečala do meja zmogljivosti omrežja, se lahko zgodi, da vaša transakcija brez večje provizije nikoli ne bo potrjena. + + + (read the tooltip) + (oglejte si namig) + + + Recommended: + Priporočena: + + + Custom: + Po meri: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Samodejni obračun provizije še ni pripravljen. Po navadi izračun traja nekaj blokov...) + + + Confirmation time: + Čas do potrditve: + + + normal + navadno + + + fast + hitro + + + Send as zero-fee transaction if possible + Pošlji brez provizije, če je mogoče + + + (confirmation may take longer) + (čas do potrditve je lahko daljši) Send to multiple recipients at once @@ -1432,6 +1872,10 @@ Naslov: %4 Add &Recipient Dodaj &prejemnika + + Clear all fields of the form. + Počisti vsa polja. + Dust: Prah: @@ -1456,6 +1900,10 @@ Naslov: %4 Confirm send coins Potrdi odliv kovancev + + %1 to %2 + %1 do %2 + Copy quantity Kopiraj količino @@ -1468,9 +1916,13 @@ Naslov: %4 Copy fee Kopiraj provizijo + + Copy after fee + Kopiraj Po proviziji + Copy bytes - Kopiraj bite + Kopiraj bajte Copy priority @@ -1486,15 +1938,27 @@ Naslov: %4 The amount to pay must be larger than 0. - Količina za plačilo mora biti večja od 0. + Znesek za plačilo mora biti večji od 0. The amount exceeds your balance. - Količina presega vaše dobroimetje + Znesek presega vaše dobroimetje. Duplicate address found, can only send to each address once per send operation. - Najdena kopija naslova, možnost pošiljanja na vsakega izmed naslov le enkrat ob pošiljanju. + Najdena kopija naslova. V posamezni transakciji se naslovi ne morejo ponoviti. + + + Transaction creation failed! + Ustvarjanje plačila je spodletelo! + + + The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Transakcija je bila zavrnjena! To se lahko zgodi, če so bili kateri od kovancev iz denarnice že porabljeni, kot v primeru, da ste kje uporabili kopijo datoteke wallet.dat in kovance tam že porabili, lokalno pa ti še niso bili označeni kot porabljeni. + + + Pay only the minimum fee of %1 + Plačilo samo minimalne provizije v znesku %1 Warning: Invalid Bitcoin address @@ -1504,6 +1968,10 @@ Naslov: %4 (no label) (ni oznake) + + Warning: Unknown change address + Opozorilo: Neznan naslov za vračilo drobiža + Copy dust Kopiraj prah @@ -1529,7 +1997,7 @@ Naslov: %4 Enter a label for this address to add it to your address book - Vnesite oznako za ta naslov, ki bo shranjena v imenik + Vnesite oznako za naslov &Label: @@ -1537,7 +2005,15 @@ Naslov: %4 Choose previously used address - Izberi zadnje uporabljen naslov + Izberi že uporabljen naslov + + + This is a normal payment. + Plačilo je navadne vrste. + + + The Bitcoin address to send the payment to + Naslov Bitcoin, na katerega bo plačilo poslano Alt+A @@ -1551,6 +2027,10 @@ Naslov: %4 Alt+P Alt+P + + Remove this entry + Izbriše izbrani zapis + Message: Sporočilo: @@ -1559,9 +2039,25 @@ Naslov: %4 Enter a label for this address to add it to the list of used addresses Vnesite oznako za ta naslov, ki bo shranjena v seznam uporabljenih naslovov - + + 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. + Sporočilo, ki ste ga pripeli na URI bitcoin: in bo shranjeno skupaj s podatki o transakciji. Opomba: Sporočilo ne bo poslano preko omrežja Bitcoin. + + + Pay To: + Prejemnik: + + + Memo: + Opomba: + + ShutdownWindow + + Bitcoin Core is shutting down... + Bitcoin Core se ustavlja... + Do not shut down the computer until this window disappears. Ne zaustavite računalnika dokler to okno ne izgine. @@ -1571,15 +2067,19 @@ Naslov: %4 SignVerifyMessageDialog Signatures - Sign / Verify a Message - Podpisi - Podpiši/preveri sporočilo + Podpisi - podpiši / preveri sporočilo &Sign Message &Podpiši sporočilo + + The Bitcoin address to sign the message with + Naslov Bitcoin, s katerim podpisujete sporočilo + Choose previously used address - Izberi zadnje uporabljen naslov + Izberi že uporabljen naslov Alt+A @@ -1593,14 +2093,30 @@ Naslov: %4 Alt+P Alt+P + + Enter the message you want to sign here + Vnesite sporočilo, ki ga želite podpisati + Signature Podpis + + Copy the current signature to the system clipboard + Kopiranje trenutnega podpisa na sistemsko odložišče. + + + Sign the message to prove you own this Bitcoin address + Podpišite sporočilo, da dokažete lastništvo nad zgornjim naslovom. + Sign &Message Podpiši &sporočilo + + Reset all sign message fields + Ponastavitev vseh polj za vnos + Clear &All Počisti &vse @@ -1609,13 +2125,25 @@ Naslov: %4 &Verify Message &Preveri sporočilo + + The Bitcoin address the message was signed with + Naslov Bitcoin, s katerim je bilo sporočilo podpisano + + + Verify the message to ensure it was signed with the specified Bitcoin address + Preverite, ali je bilo sporočilo v resnici podpisano z navedenim naslovom Bitcoin. + Verify &Message Preveri &Sporočilo + + Reset all verify message fields + Ponastavitev vseh polj za vnos + Click "Sign Message" to generate signature - Kliknite "Podpiši sporočilo" za ustvaritev podpisa + Kliknite "Podpiši sporočilo" da ustvarite podpis The entered address is invalid. @@ -1623,11 +2151,15 @@ Naslov: %4 Please check the address and try again. - Prosimo preverite naslov in poizkusite znova. + Prosim preverite naslov in poizkusite znova. + + + The entered address does not refer to a key. + Vnešeni naslov se ne nanaša na noben ključ. Wallet unlock was cancelled. - Odklepanje denarnice je bilo prekinjeno. + Odklepanje denarnice je bilo preklicano. Private key for the entered address is not available. @@ -1649,6 +2181,10 @@ Naslov: %4 Please check the signature and try again. Prosimo preverite podpis in poizkusite znova. + + The signature did not match the message digest. + Podpis ne ustreza rezultatu (digest) preverjanja. + Message verification failed. Pregledovanje sporočila spodletelo. @@ -1662,7 +2198,11 @@ Naslov: %4 SplashScreen Bitcoin Core - Jedro Bitcoina + Bitcoin Core + + + The Bitcoin Core developers + Bitcoin Core razvijalci [testnet] @@ -1671,12 +2211,24 @@ Naslov: %4 TrafficGraphWidget - + + KB/s + KB/s + + TransactionDesc Open until %1 - Odpri enoto %1 + Odprto do %1 + + + conflicted + v konfliktu + + + %1/offline + %1/brez povezave %1/unconfirmed @@ -1714,17 +2266,33 @@ Naslov: %4 own address lasten naslov + + watch-only + opazovano + label oznaka + + Credit + V dobro + not accepted ni bilo sprejeto Debit - Dolg + Debit + + + Total debit + Skupaj v breme + + + Total credit + Skupaj v dobro Transaction fee @@ -1732,7 +2300,7 @@ Naslov: %4 Net amount - Neto količina + Neto znesek Message @@ -1750,6 +2318,10 @@ Naslov: %4 Merchant Trgovec + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + Ustvarjeni kovanci morajo zoreti %1 blokov, preden jih lahko porabite. Ko ste ta blok zgenerirali, je bil posredovan v omrežje, da bo dodan v verigo. Če se bloku ni uspelo uvrstiti v verigo, se bo njegovo stanje spremenilo v "ni bilo sprejeto" in kovancev ne bo mogoče porabiti. To se včasih zgodi, če kak drug rudar v roku nekaj sekund hkrati z vami odkrije drug blok. + Debug information Razhroščevalna informacija @@ -1764,7 +2336,7 @@ Naslov: %4 Amount - Količina + Znesek true @@ -1776,7 +2348,7 @@ Naslov: %4 , has not been successfully broadcast yet - , še ni bila uspešno raznešena + , še ni bila uspešno rasposlana unknown @@ -1808,9 +2380,13 @@ Naslov: %4 Address Naslov + + Immature (%1 confirmations, will be available after %2) + Nedozorelo (št. potrditev: %1, na voljo šele po: %2) + Open until %1 - Odpri enoto %1 + Odprto do %1 Confirmed (%1 confirmations) @@ -1824,10 +2400,22 @@ Naslov: %4 Generated but not accepted Generirano, toda ne sprejeto + + Offline + Brez povezave + Unconfirmed Nepotrjeno + + Confirming (%1 of %2 recommended confirmations) + V potrjevanju (št. potrditev: %1 od priporočenih %2) + + + Conflicted + V konfliktu + Received with Prejeto z @@ -1842,11 +2430,15 @@ Naslov: %4 Payment to yourself - Izplačilo sebi + Plačilo sebi Mined - Minirano + Narudarjeno + + + watch-only + opazovano (n/a) @@ -1864,13 +2456,17 @@ Naslov: %4 Type of transaction. Vrsta transakcije. + + Whether or not a watch-only address is involved in this transaction. + Ali je v transakciji udeležen kateri od opazovanih naslovov. + Destination address of transaction. Naslov prejemnika transakcije. Amount removed from or added to balance. - Količina odlita ali prilita dobroimetju. + Znesek odlit ali prilit dobroimetju. @@ -1901,7 +2497,7 @@ Naslov: %4 Range... - Območje ... + Območje... Received with @@ -1917,7 +2513,7 @@ Naslov: %4 Mined - Minirano + Narudarjeno Other @@ -1941,7 +2537,7 @@ Naslov: %4 Copy amount - Kopiraj količino + Kopiraj znesek Copy transaction ID @@ -1955,10 +2551,22 @@ Naslov: %4 Show transaction details Prikaži podrobnosti transakcije + + Export Transaction History + Izvoz zgodovine transakcij + + + Watch-only + Opazovano + Exporting Failed Neuspešen izvoz + + There was an error trying to save the transaction history to %1. + Prišlo je do napake med shranjevanjem zgodovine transakcij v datoteko %1. + Exporting Successful Uspešen izvoz @@ -2006,15 +2614,23 @@ Naslov: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + Merska enota za prikaz zneskov. Kliknite za izbiro druge enote. + + WalletFrame - + + No wallet has been loaded. + Denarnica ni bila naložena. + + WalletModel Send Coins - Pošlji kovance + Pošlji @@ -2025,7 +2641,7 @@ Naslov: %4 Export the data in the current tab to a file - Izvozi podatke v trenutni zavih v datoteko + Izvozi podatke v trenutnem zavihku v datoteko Backup Wallet @@ -2033,7 +2649,7 @@ Naslov: %4 Wallet Data (*.dat) - Podatki denarnice (*.dat) + Denarnica (*.dat) Backup Failed @@ -2041,11 +2657,11 @@ Naslov: %4 There was an error trying to save the wallet data to %1. - Prišlo je do napake pri shranjevanju podatkov denarnice na %1. + Prišlo je do napake pri shranjevanju denarnice na %1. The wallet data was successfully saved to %1. - Podatki denarnice so bili uspešno shranjena na %1. + Denarnica uspešno shranjena na %1. Backup Successful @@ -2083,24 +2699,56 @@ Naslov: %4 Uporabi testno omrežje - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Napaka: Transakcija ni bila sprejeta! To se je morebiti zgodilo, ker so nekateri kovanci v vaši denarnici bili že porabljeni, na primer če ste uporabili kopijo wallet.dat in so tako kovanci bili porabljeni v kopiji, ostali pa označeni kot neporabljeni. + Accept connections from outside (default: 1 if no -proxy or -connect) + Sprejemaj zunanje povezave (privzeto: 1, razen v primeru opcij -proxy ali -connect) - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Napaka: Ta transakcija potrebuje povizijo, ki je najmanj %s zaradi svoje količine, kompliciranosti, ali zaradi uporabe prejetih sredstev. + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Poveži se in poslušaj na danem naslovu. Pri protokolu IPv6 uporabite zapis [gostitelj]:vrata. + + + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribuirano v okviru programske licence MIT. Podrobnosti so navedene v priloženi datoteki COPYING ali na naslovu <http://www.opensource.org/licenses/mit-license.php>. Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Izvedi ukaz, ko bo transakcija denarnice se spremenila (V cmd je bil TxID zamenjan za %s) + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Nastavi število niti za preverjanje skript (%u do %d, 0 = samodejno, <0 pusti toliko procesorskih jeder prostih, privzeto: %d) + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - To je pred izdana poizkusna verzija - uporaba na lastno odgovornost - ne uporabljajte je za rudarstvo ali trgovske aplikacije + To je preizkusna verzija - uporaba na lastno odgovornost - ne uporabljajte je za rudarjenje bitcoinov ali za trgovske aplikacije + + + Unable to bind to %s on this computer. Bitcoin Core is probably already running. + Na tem računalniku se ni bilo mogoče povezati na %s. Odjemalec Bitcoin Core je verjetno že zagnan. + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + Opozorilo: Vrednost opcije -paytxfee je zelo visoka. To je provizija, ki jo boste plačali, če izvedete plačilo. + + + Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. + Opozorilo: Trenutno na omrežju ni videti konsenza! Videti je, kot da bi imeli nekateri rudarji težave. + + + Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. + Opozorilo: Trenutno se s soležniki ne strinjam v popolnosti! Mogoče bi morali vi ali drugi udeleženci posodobiti odjemalce. Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - Opozorilo: napaka pri branju wallet.dat! Vsi ključi so bili pravilno prebrani, podatki o transakciji ali imenik vnešenih naslovov so morda izgubljeni ali nepravilni. + Opozorilo: napaka pri branju datoteke wallet.dat! Vsi ključi so bili pravilno prebrani, ampak podatki o transakcijah ali imenik vnešenih naslovov so morda izgubljeni ali nepravilni. + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + Opozorilo: Datoteka wallet.dat je bila okvarjena, podatki pa so bili kljub temu rešeni! Originalna datoteka je bila shranjena kot wallet.[čas.oznaka].bak v mapo %s. Če sta skupno stanje ali seznam transakcij napačna, morate datoteko restavrirati iz varnostne kopije. + + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Sprejemaj povezave samo iz naslovov, ki ustrezajo navedeni omrežni maski ali naslovu. Opcijo lahko navedete večkrat. (default: 1) @@ -2110,46 +2758,222 @@ Naslov: %4 <category> can be: <category> je lahko: + + Attempt to recover private keys from a corrupt wallet.dat + Skušaj obnoviti zasebne ključe iz okvarjene datoteke wallet.dat + Block creation options: Možnosti ustvarjanja blokov: + + Connect only to the specified node(s) + Poveži se samo z enim ali več navedenimi vozlišči + + + Connection options: + Izbire povezave: + + + Corrupted block database detected + Podatkovna baza blokov je okvarjena + + + Debugging/Testing options: + Možnosti razhroščevanja in testiranja: + + + Do not load the wallet and disable wallet RPC calls + Ne naloži denarnice in onemogoči s tem povezane klice RPC + + + Do you want to rebuild the block database now? + Želite zdaj obnoviti podatkovno bazo blokov? + + + Error initializing block database + Napaka pri inicializaciji podatkovne baze blokov + + + Error initializing wallet database environment %s! + Napaka pri inicializaciji okolja podatkovne baze denarnice %s! + + + Error loading block database + Napaka pri nalaganju podatkovne baze blokov + + + Error opening block database + Napaka pri odpiranju podatkovne baze blokov + Error: Disk space is low! Opozorilo: Premalo prostora na disku! - Error: Wallet locked, unable to create transaction! - Opozorilo: Denarnica je zaklenjena, ni mogoče opraviti transkacijo! + Failed to listen on any port. Use -listen=0 if you want this. + Ni mogoče poslušati na nobenih vratih. Če to zares želite, uporabite opcijo -listen=0. + + + If <category> is not supplied, output all debugging information. + Če element <category> ni naveden, izpisuje vse informacije za razhroščevanje. Importing... Uvažam... + + Incorrect or no genesis block found. Wrong datadir for network? + Izvornega bloka ni mogoče najti ali pa je neveljaven. Preverite, če ste izbrali pravo podatkovno mapo za izbrano omrežje. + + + Invalid -onion address: '%s' + Neveljaven naslov tipa -onion: '%s' + + + Not enough file descriptors available. + Na voljo ni dovolj deskriptorjev datotek. + + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Povezuj se samo z vozlišči na omrežju tipa <net> (IPv4, IPv6 ali onion) + + + Set database cache size in megabytes (%d to %d, default: %d) + Nastavitev velikosti predpomnilnik podatkovne baze v MiB (%d do %d, privzeto: %d) + + + Set maximum block size in bytes (default: %d) + Nastavitev maksimalne velikosti bloka v bajtih (privzeto: %d) + + + Specify wallet file (within data directory) + Ime datoteke z denarnico (znotraj podatkovne mape) + + + Verifying blocks... + Preverjam bloke... + + + Verifying wallet... + Preverjam denarnico... + + + Wallet %s resides outside data directory %s + Datoteka %s z denarnico se nahaja izven podatkovne mape %s + + + Wallet options: + Izbire denarnice: + + + You need to rebuild the database using -reindex to change -txindex + Ob spremembi vrednosti opcije -txindex boste morali obnoviti bazo podatkov z uporabo opcije -reindex + + + Imports blocks from external blk000??.dat file + Uvozi bloke iz zunanje datoteke blk000??.dat + + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Dovoli povezave na JSON-RPC iz navedenih virov. Veljavne oblike vrednosti parametra <ip> so: enojen naslov IP (npr.: 1.2.3.4), kombinacija omrežje/netmask (npr.: 1.2.3.4/255.255.255.0), ali pa kombinacija omrežje/CIDR (1.2.3.4/24). To opcijo lahko navedete večkrat. + + + An error occurred while setting up the RPC address %s port %u for listening: %s + Prišlo je do napake med zagonom poslušalca RPC na naslovu %s in vratih %u: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Veži dani naslov in sprejemaj povezave samo od navedenih soležnikov. Za protokol IPv6 uporabite zapis {gostitelj];vrata. + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Veži dani naslov in sprejemaj povezave na JSON-RPC. Za naslove protokola IPv6 uporabite zapis [gostitelj]:vrata. To opcijo lahko navedete večkrat. (privzeto: veži vse omrežne vmesnike) + + + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. + Ne morem zakleniti podatkovne mape %s. Bitcoin Core je verjetno že zagnan. + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Ustvarjaj nove datoteke s privzetimi sistemskimi dovoljenji, namesto z umask 077. (To pride v poštev samo, kadar imate izklopljeno funkcijo denarnice.) + + + Error: Listening for incoming connections failed (listen returned error %s) + Napaka: Ni mogoče sprejemati dohodnih povezav (vrnjena napaka: %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Napaka: Navedli ste nepodprto vrednost opcije -socks. Različice protokola SOCKS ni več mogoče navesti, podprti so samo posredniški strežniki tipa SOCKS5. + + + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) + Ko bo prejeto ustrezno opozorilo, ali ko bo opažena zelo dolga razvejitev, izvedi navedeni ukazni niz. (Niz %s bo nadomeščen z vsebino sporočila.) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + Provizije (v BTC/KiB), ki so manjše od te vrednosti, se pri posredovanju smatrajo za nične (privzeto: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Če opcija -paytxfee ni nastavljena, nastavi znesek provizije tako visoko, da bodo transakcije potrjene v povprečno n blokih. (privzeto: %u) + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + Opozorilo: Preverite, če sta datum in ura na vašem računalniku točna! Bitcoin Core ne bo dobro deloval, če je nastavljeni čas nepravilen. + + + Cannot resolve -whitebind address: '%s' + Naslova "%s", podanega pri opciji -whitebind ni mogoče razrešiti. + + + Connect through SOCKS5 proxy + Poveži se preko posredniškega strežnika SOCKS5 + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i The Bitcoin Core Developers + Information Informacije + + Need to specify a port with -whitebind: '%s' + Pri opciji -whitebind morate navesti vrata: '%s' + Send trace/debug info to console instead of debug.log file - Pošlji sledilne/razhroščevalne informacije v konzolo namesto jih shraniti v debug.log datoteko + Pošlji sledilne/razhroščevalne informacije v konzolo namesto shranjevanja v debug.log datoteko + + + Shrink debug.log file on client startup (default: 1 when no -debug) + Ob zagonu odjemalca skrajšaj datoteko debug.log (privzeto: 1, če ni vklopljena opcija -debug) Signing transaction failed Podpisovanje transakcije spodletelo + + This is experimental software. + Program je eksperimentalne narave. + Transaction amount too small - Količina transakcije je pramajhna + Znesek je premajhen Transaction amounts must be positive - Količina transkacije mora biti pozitivna + Znesek mora biti pozitiven Transaction too large Transkacija je prevelika + + Unable to bind to %s on this computer (bind returned error %s) + Na tem računalniku se ni bilo mogoče povezati na %s (vrnjena napaka: %s) + Username for JSON-RPC connections Uporabniško ime za JSON-RPC povezave @@ -2162,6 +2986,14 @@ Naslov: %4 Warning: This version is obsolete, upgrade required! Opozorilo: ta različica je zastarela, potrebna je nadgradnja! + + Zapping all transactions from wallet... + Brišem vse transakcije iz denarnice ... + + + on startup + ob zagonu + wallet.dat corrupt, salvage failed wallet.dat poškodovana, neuspešna obnova @@ -2196,12 +3028,24 @@ Naslov: %4 Loading addresses... - Nalaganje naslovov ... + Nalaganje naslovov... Error loading wallet.dat: Wallet corrupted Napaka pri nalaganju wallet.dat: denarnica pokvarjena + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Za dostop do soležnikov preko skritih storitev Tor uporabi drug posredniški strežnik SOCKS5 (privzeto: %s) + + + (default: %s) + (privzeto: %s) + + + Acceptable ciphers (default: %s) + Sprejemljivi tipi šifriranja (privzeto: %s) + Error loading wallet.dat Napaka pri nalaganju wallet.dat @@ -2210,6 +3054,30 @@ Naslov: %4 Invalid -proxy address: '%s' Neveljaven -proxy naslov: '%s' + + Relay non-P2SH multisig (default: %u) + Posreduj transakcije tipa multisig, ki niso hkrati tipa P2SH. (privzeto: %u) + + + Specify configuration file (default: %s) + Za shranjevanje konfiguracije uporabi navedeno datoteko. (privzeto: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Vzpostavljanje nove povezave poteče po navedenem št. pretečenih milisekund. (najmanj: 1, privzeto: %d) + + + Specify pid file (default: %s) + Za shranjevanje PID uporabi navedeno datoteko. (privzeto: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + Pri odlivnih transakcijah omogoči trošenje drobiža iz še nepotrjenih plačil (privzeto: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + Prekini povezavo s soležnikom, ko št. njegovih kazenskih točk preseže navedeni prag. (privzeto: %u) + Unknown network specified in -onlynet: '%s' Neznano omrežje določeno v -onlynet: '%s'. @@ -2226,10 +3094,6 @@ Naslov: %4 Invalid amount for -paytxfee=<amount>: '%s' Neveljavna količina za -paytxfee=<amount>: '%s' - - Invalid amount - Neveljavna količina - Insufficient funds Premalo sredstev @@ -2262,10 +3126,6 @@ Naslov: %4 Done loading Nalaganje končano - - To use the %s option - Za uporabo %s opcije - Error Napaka diff --git a/src/qt/locale/bitcoin_sq.ts b/src/qt/locale/bitcoin_sq.ts index 7e63f239cafd4..116ea41c644d9 100644 --- a/src/qt/locale/bitcoin_sq.ts +++ b/src/qt/locale/bitcoin_sq.ts @@ -1,27 +1,83 @@ - + AddressBookPage - Double-click to edit address or label - Klikoni 2 herë për të ndryshuar adressën ose etiketën + Right-click to edit address or label + Kliko me të djathtën për të ndryshuar adresën ose etiketen. Create a new address Krijo një adresë të re + + &New + &E re + Copy the currently selected address to the system clipboard Kopjo adresën e zgjedhur në memorjen e sistemit + + &Copy + &Kopjo + + + &Copy Address + &Kopjo adresen + + + Delete the currently selected address from the list + Fshi adresen e selektuar nga lista + &Delete &Fshi + + Choose the address to send coins to + Zgjidh adresen ku do te dergoni monedhat + + + Sending addresses + Duke derguar adresen + + + Receiving addresses + Duke marr adresen + + + These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. + Këto janë Bitcoin adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha. + + + These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Këto janë Bitcoin adresat e juaja për të pranuar pagesa. Rekomandohet që gjithmon të përdorni një adresë të re për çdo transaksion. + + + Copy &Label + Kopjo &Etiketë + + + &Edit + &Ndrysho + + + Export Address List + Eksporto listën e adresave + Comma separated file (*.csv) Skedar i ndarë me pikëpresje(*.csv) - + + Exporting Failed + Eksportimi dështoj + + + There was an error trying to save the address list to %1. Please try again. + Gabim gjatë ruajtjes së listës së adresave në %1. Ju lutem provoni prapë. + + AddressTableModel @@ -53,7 +109,7 @@ Encrypt wallet - Enkripto portofolin + Kripto portofolin This operation needs your wallet passphrase to unlock the wallet. @@ -83,6 +139,10 @@ Confirm wallet encryption Konfirmoni enkriptimin e portofolit + + Are you sure you wish to encrypt your wallet? + Jeni te sigurt te enkriptoni portofolin tuaj? + Wallet encrypted Portofoli u enkriptua @@ -146,6 +206,26 @@ Change the passphrase used for wallet encryption Ndrysho frazkalimin e përdorur per enkriptimin e portofolit + + Bitcoin + Bitcoin + + + Wallet + Portofol + + + &Send + &Dergo + + + &Receive + &Merr + + + &Show / Hide + &Shfaq / Fsheh + &File &Skedar @@ -162,6 +242,46 @@ Tabs toolbar Shiriti i mjeteve + + Bitcoin Core + Berthama Bitcoin + + + &About Bitcoin Core + Rreth Berthames Bitkoin + + + %n hour(s) + %n ore%n ore + + + %n day(s) + %n dite%n dite + + + %n week(s) + %n jave%n jave + + + %1 and %2 + %1 dhe %2 + + + %n year(s) + %n vit%n vite + + + %1 behind + %1 Pas + + + Error + Problem + + + Information + Informacion + Up to date I azhornuar @@ -192,6 +312,14 @@ CoinControlDialog + + Coin Selection + Zgjedhja e monedhes + + + Amount: + Shuma: + Amount Sasia @@ -200,6 +328,18 @@ Date Data + + Copy address + Kopjo adresën + + + yes + po + + + no + jo + (no label) (pa etiketë) @@ -250,12 +390,44 @@ FreespaceChecker + + name + emri + HelpMessageDialog + + Bitcoin Core + Berthama Bitcoin + + + version + versioni + + + About Bitcoin Core + Rreth Berthames Bitkoin + Intro + + Welcome + Miresevini + + + Welcome to Bitcoin Core. + Miresevini ne Berthamen Bitcoin + + + Bitcoin Core + Berthama Bitcoin + + + Error + Problem + OpenURIDialog @@ -292,6 +464,22 @@ RPCConsole + + &Open + &Hap + + + &Clear + &Pastro + + + never + asnjehere + + + Unknown + i/e panjohur + ReceiveCoinsDialog @@ -340,6 +528,10 @@ Send Coins Dërgo Monedha + + Amount: + Shuma: + Send to multiple recipients at once Dërgo marrësve të ndryshëm njëkohësisht @@ -416,6 +608,10 @@ SplashScreen + + Bitcoin Core + Berthama Bitcoin + [testnet] [testo rrjetin] @@ -531,6 +727,14 @@ Mined Minuar + + Copy address + Kopjo adresën + + + Exporting Failed + Eksportimi dështoj + Comma separated file (*.csv) Skedar i ndarë me pikëpresje(*.csv) @@ -570,5 +774,21 @@ bitcoin-core - + + Information + Informacion + + + Insufficient funds + Fonde te pamjaftueshme + + + Rescanning... + Rikerkim + + + Error + Problem + + \ No newline at end of file diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts index b005ce23ad0a6..842b3f90ab039 100644 --- a/src/qt/locale/bitcoin_sr.ts +++ b/src/qt/locale/bitcoin_sr.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - Kliknite dva puta da izmenite adresu ili etiketu - Create a new address Napravite novu adresu diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts index 551f6976cf43b..86854117512bb 100644 --- a/src/qt/locale/bitcoin_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Dubbelklicka för att ändra adressen eller etiketten + Right-click to edit address or label + Högerklicka för att ändra adressen eller etiketten. Create a new address @@ -1285,6 +1285,14 @@ Adress: %4 Refund from %1 Återbetalning från %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Betalningsbegäran %1 är för stor (%2 bytes, tillåten %3 bytes) + + + Payment request DoS protection + Betalningsbegäran begär DoS-skydd + Error communicating with %1: %2 Kommunikationsfel med %1: %2 @@ -1978,8 +1986,8 @@ Adress: %4 Kopiera växel - Total Amount %1 (= %2) - Totalt %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Total summa %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -2799,30 +2807,6 @@ Adress: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Acceptera anslutningar utifrån (förvalt: 1 om ingen -proxy eller -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, du behöver sätta ett rpclösensord i konfigurationsfilen: -%s -Det är rekommenderat att använda följande slumpade lösenord: -rpcuser=bitcoinrpc -rpcpassword=%s -(du behöver inte komma ihåg lösenordet) -Användarnamnet och lösenordet FÅR INTE bara detsamma. -Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter. -Det är också rekommenderat att sätta alertnotify så du meddelas om problem; -till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Bind till given adress och lyssna alltid på den. Använd [värd]:port notation för IPv6 @@ -2839,14 +2823,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Ange regressiontestläge, som använder en speciell kedja i vilka block kan lösas omedelbart. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Fel: Transaktionen avslogs! Detta kan hända om några av mynten i plånboken redan spenderats, t.ex om du använt en kopia av wallet.dat och mynt spenderades i kopian men inte markerats som spenderas här. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Fel: Denna transaktion kräver en transaktionsavgift på minst %s på grund av dess storlek, komplexitet, eller användning av senast mottagna bitcoins! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Exekvera kommando när en plånbokstransaktion ändras (%s i cmd är ersatt av TxID) @@ -2951,18 +2927,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database Fel vid öppning av blockdatabasen - - Error: A fatal internal error occured, see debug.log for details - Fel: Ett fatalt internt fel inträffade. Se debug.log för detaljer - Error: Disk space is low! Fel: Hårddiskutrymme är lågt! - - Error: Wallet locked, unable to create transaction! - Fel: Plånboken är låst, det går ej att skapa en transaktion! - Failed to listen on any port. Use -listen=0 if you want this. Misslyckades att lyssna på någon port. Använd -listen=0 om du vill detta. @@ -3087,14 +3055,31 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Avgifter (i BTC/Kb) mindre än detta betraktas som nollavgift för transaktionsskapande (förvalt: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Om paytxfee inte är satt, inkludera tillräcklig avgift så att transaktionen börjar att konfirmeras inom n blocks (förvalt: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Otillåtet belopp för -maxtxfee=<belopp>: '%s' (måste åtminstånde vara minrelay avgift %s för att förhindra stoppade transkationer) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Maximal storlek på data i databärartransaktioner som vi reläar och bryter (förvalt: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maximum total avgift att använda i en plånbok transaktion, sätts den för lågt kan stora transaktioner avbrytas (förvalt: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Sök efter klientadresser med DNS sökningen, om det finns otillräckligt med adresser (förvalt: 1 om inte -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Begär hög-prioritet för relätrafik eller lågavgifts transaktioner +(förvalt: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Sätt den maximala storleken av hög-prioriterade/låg-avgifts transaktioner i byte (förvalt: %d) @@ -3103,6 +3088,34 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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. Denna produkten innehåller mjukvara utvecklad av OpenSSL Project för användning i OpenSSL Toolkit <https://www.openssl.org/> och kryptografisk mjukvara utvecklad av Eric Young samt UPnP-mjukvara skriven av Thomas Bernard. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + För att använda bitconid,eller -server optionen till bitcoin-qt så mäste du sätta ett rpclösensord i konfigurationsfilen: +%s +Det är rekommenderat att använda följande slumpade lösenord: +rpcuser=bitcoinrpc +rpcpassword=%s +(du behöver inte komma ihåg lösenordet) +Användarnamnet och lösenordet FÅR INTE vara detsamma. +Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter. +Det är också rekommenderat att sätta alertnotify så du meddelas om problem; +till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Varning: -maxtxfee är satt väldigt hög! Så höga avgifter kan betalas för en enstaka transaktion. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Varning: Vänligen kolla så att din dators datum och tid är korrekt! Om din klocka går fel kommer Bitcoin Core inte att fungera korrekt. @@ -3111,6 +3124,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Vitlistade klienter kan inte bli DoS bannade och deras transaktioner reläas alltid, även om dom redan är i mempoolen, användbart för t.ex en gateway + + Accept public REST requests (default: %u) + Acceptera publika REST förfrågningar (förvalt: %u) + Cannot resolve -whitebind address: '%s' Kan inte matcha -whitebind adress: '%s' @@ -3131,6 +3148,14 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Fel vid inläsningen av wallet.dat: Kontofilen kräver en senare version av Bitcoin Core + + Error reading from database, shutting down. + Fel vid läsning från databas, avslutar. + + + Error: A fatal internal error occurred, see debug.log for details + Fel: Ett kritiskt internt fel uppstod, se debug.log för detaljer + Error: Unsupported argument -tor found, use -onion. Fel: Argumentet -tor stöds inte, använd -onion. @@ -3147,6 +3172,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Initieringschecken fallerade. Bitcoin Core stängs av... + + Invalid amount for -maxtxfee=<amount>: '%s' + Otillåtet belopp för -maxtxfee=<belopp>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' Ogiltigt belopp för -minrelaytxfee=<belopp>: '%s' @@ -3163,10 +3192,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid netmask specified in -whitelist: '%s' Ogiltig nätmask angiven i -whitelist: '%s' - - Keep at most <n> unconnectable blocks in memory (default: %u) - Håll som mest <n> oanslutningsbara block i minnet (förvalt: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Håll som mest <n> oanslutningsbara transaktioner i minnet (förvalt: %u) @@ -3179,10 +3204,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Nodreläoptioner: - - Print block on startup, if found in block index - Skriv ut block vid uppstart, om det hittas i blockindexet - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL optioner: (se Bitcoin Wiki för SSL inställningsinstruktioner) @@ -3191,6 +3212,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: RPC serveroptioner: + + RPC support for HTTP persistent connections (default: %d) + RPC support för HTTP permanent anslutning (förvalt: %d) + Randomly drop 1 of every <n> network messages Slumpmässigt tappa 1 av varje <n> nåtverksmeddelande @@ -3199,6 +3224,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Randomly fuzz 1 of every <n> network messages Slupmässigt brus 1 gång varje <n> nätverksmeddelande + + Receive and display P2P network alerts (default: %u) + Ta emot och visa varningar för P2P-nätverk (standard: %u) + Send trace/debug info to console instead of debug.log file Skicka trace-/debuginformation till terminalen istället för till debug.log @@ -3231,6 +3260,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Transaktionens belopp måste vara positiva + + Transaction too large for fee policy + Transaktionen är för stor för avgiftspolicyn + Transaction too large Transaktionen är för stor @@ -3327,10 +3360,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) Hur grundlig blockverifikationen vid -checkblocks är (0-4, förvalt: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Om paytxfee inte är satt, inkludera tillräcklig avgift så att transaktionen konfirmeras inom n blocks (förvalt: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Logga transaktionsprioritet och avgift per kB vid blockbrytning (förvalt: %u) @@ -3423,10 +3452,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Prepend debug output with timestamp (default: %u) Skriv ut tidsstämpel i avlusningsinformationen (förvalt: %u) - - Print block tree on startup (default: %u) - Skriv ut blockträdet vid uppstart (förvalt: %u) - Relay and mine data carrier transactions (default: %u) Reläa och bearbeta databärartransaktioner (förvalt: %u) @@ -3503,10 +3528,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' Ogiltigt belopp för -paytxfee=<belopp>:'%s' - - Invalid amount - Ogiltig mängd - Insufficient funds Otillräckligt med bitcoins @@ -3539,10 +3560,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Klar med laddning - - To use the %s option - Att använda %s alternativet - Error Fel diff --git a/src/qt/locale/bitcoin_th_TH.ts b/src/qt/locale/bitcoin_th_TH.ts index 174816aaef00d..9535ac6a01ad4 100644 --- a/src/qt/locale/bitcoin_th_TH.ts +++ b/src/qt/locale/bitcoin_th_TH.ts @@ -1,10 +1,6 @@ - + AddressBookPage - - Double-click to edit address or label - ดับเบิ้ลคลิก เพื่อแก้ไขที่อยู่ หรือชื่อ - Create a new address สร้างที่อยู่ใหม่ diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts index ab02cc92a60fc..e9182b706ee10 100644 --- a/src/qt/locale/bitcoin_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Adresi ya da etiketi düzenlemek için çift tıklayınız + Right-click to edit address or label + Adresi ya da etiketi düzenlemek için sağ düğme ile tıklayınız. Create a new address @@ -27,7 +27,7 @@ &Copy Address - Adresi &kopyala + &Adresi Kopyala Delete the currently selected address from the list @@ -59,7 +59,7 @@ Sending addresses - Yollama adresleri + &Gönderme adresleri... Receiving addresses @@ -1288,6 +1288,14 @@ Adres: %4 Refund from %1 %1 öğesinden iade + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + %1 ödeme talebi çok büyük (%2 bayt, müsaade edilen %3 bayt). + + + Payment request DoS protection + Ödeme talebi DoS koruması + Error communicating with %1: %2 %1 ile iletişimde hata: %2 @@ -1321,7 +1329,7 @@ Adres: %4 Ping Time - Ping Zamanı + Ping Süresi @@ -1494,7 +1502,7 @@ Adres: %4 Connection Time - Bağlantı Zamanı + Bağlantı Süresi Last Send @@ -1514,7 +1522,7 @@ Adres: %4 Ping Time - Ping Zamanı + Ping Süresi Last block time @@ -1984,10 +1992,6 @@ Adres: %4 Copy change Para üstünü kopyala - - Total Amount %1 (= %2) - Toplam meblağ %1 (= %2) - or veya @@ -2806,30 +2810,6 @@ Adres: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Dışarıdan gelen bağlantıları kabul et (varsayılan: -proxy veya -connect yoksa 1) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, şu yapılandırma dosyasında rpc parolası belirtmeniz gerekir: -%s -Aşağıdaki rastgele oluşturulan parolayı kullanmanız tavsiye edilir: -rpcuser=bitcoinrpc -rpcpassword=%s -(bu parolayı hatırlamanız gerekli değildir) -Kullanıcı ismi ile parolanın FARKLI olmaları gerekir. -Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz. -Sorunlar hakkında bildiri almak için alertnotify unsurunu ayarlamanız tavsiye edilir; -mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Belirtilen adrese bağlan ve daima ondan dinle. IPv6 için [makine]:port yazımını kullanınız @@ -2846,14 +2826,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Blokların anında çözülebileceği özel bir zincir kullanan regresyon deneme kipine gir. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Hata: Muamele reddedildi! Cüzdanınızdaki madenî paraların bazıları zaten harcanmış olduğunda bu meydana gelebilir. Örneğin wallet.dat dosyasının bir kopyasını kullandıysanız ve kopyada para harcandığında ancak burada harcandığı işaretlenmediğinde. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Hata: Muamelenin meblağı, karmaşıklığı ya da yakın geçmişte alınan fonların kullanılması nedeniyle bu muamele en az %s tutarında ücret gerektirmektedir! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Bir cüzdan muamelesi değiştiğinde komutu çalıştır (komuttaki %s muamele kimliği ile değiştirilecektir) @@ -2958,18 +2930,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database Blok veritabanının açılışı sırasında hata - - Error: A fatal internal error occured, see debug.log for details - Hata: Ölümcül dahili bir hata meydana geldi, ayrıntılar için debug.log dosyasına bakınız - Error: Disk space is low! Hata: Disk alanı düşük! - - Error: Wallet locked, unable to create transaction! - Hata: Cüzdan kilitli, muamele oluşturulamadı! - Failed to listen on any port. Use -listen=0 if you want this. Herhangi bir portun dinlenmesi başarısız oldu. Bunu istiyorsanız -listen=0 seçeneğini kullanınız. @@ -3094,14 +3058,30 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Kb başına BTC olarak bundan düşük ücretler muamele oluşturulması için sıfır değerinde ücret olarak kabul edilir (varsayılan: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Eğer paytxfee ayarlanmadıysa kafi derecede ücret ekleyin ki muameleler teyite vasati n blok içinde başlasın (varsayılan: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + -maxtxfee=<tutar> için geçersiz tutar: '%s' (Sıkışmış muameleleri önlemek için en az %s değerinde asgari aktarım ücretine eşit olmalıdır) + Maximum size of data in data carrier transactions we relay and mine (default: %u) Aktardığımız ve oluşturduğumuz veri taşıyıcı muamelelerindeki azami veri boyutu (varsayılan: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Tek cüzdan muamelesinde kullanılacak azami toplam ücret, çok düşük ayarlamak büyük muameleleri iptal edebilir (varsayılan: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Adres sayısı azaldıysa DNS sorgulamasıyla eş adresleri ara (varsayılan: 1 -connect kullanılmadıysa) + + Require high priority for relaying free or low-fee transactions (default:%u) + Ücretsiz ya da düşük ücretli muamelelerin geçişi için yüksek öncelik iste (varsayılan: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Yüksek öncelikli/düşük ücretli muamelelerin azami boyutunu bayt olarak ayarla (varsayılan: %d) @@ -3114,6 +3094,34 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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. Bu ürün OpenSSL projesi tarafından OpenSSL araç takımı (http://www.openssl.org/) için geliştirilen yazılımlar, Eric Young (eay@cryptsoft.com) tarafından hazırlanmış şifreleme yazılımları ve Thomas Bernard tarafından programlanmış UPnP yazılımı içerir. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + bitcoind ya da bitcoin-qt ile -server seçeneğini kullanmak için yapılandırma dosyasında bir rpc parolası belirtmeniz gerekir: +%s +Aşağıdaki rastgele oluşturulan parolayı kullanmanız tavsiye edilir: +rpcuser=bitcoinrpc +rpcpassword=%s +(bu parolayı hatırlamanız gerekli değildir) +Kullanıcı ismi ile parolanın FARKLI olmaları gerekir. +Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz. +Sorunlar hakkında bildiri almak için alertnotify unsurunu ayarlamanız tavsiye edilir; +mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + İkaz: -maxtxfee çok yüksek bir değere ayarlanmış! Bu denli yüksek ücretler tek bir muamelede ödenebilir. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Uyarı: Lütfen bilgisayarınızın saat ve tarihinin doğru olduğunu kontol ediniz! Saatinizde gecikme varsa Bitcoin Çekirdeği doğru şekilde çalışamaz. @@ -3122,6 +3130,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Beyaz listeye alınan eşler DoS yasaklamasına uğramazlar ve muameleleri zaten mempool'da olsalar da daima aktarılır, bu mesela bir geçit için kullanışlıdır + + Accept public REST requests (default: %u) + Herkese açık REST taleplerini kabul et (varsayılan: %u) + Cannot resolve -whitebind address: '%s' -whitebind adresi çözümlenemedi: '%s' @@ -3142,6 +3154,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core wallet.dat dosyasının yüklenmesinde hata: Cüzdan Bitcoin Çekirdeğinin daha yeni bir sürümünü gerektirmektedir + + Error reading from database, shutting down. + Veritabanından okumada hata, kapatılıyor. + Error: Unsupported argument -tor found, use -onion. Hata: Deskteklenmeyen -tor argümanı bulundu, -onion kullanınız. @@ -3158,6 +3174,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. Başlatma sınaması başarısız oldu. Bitcoin Çekirdeği kapatılıyor. + + Invalid amount for -maxtxfee=<amount>: '%s' + -maxtxfee=<tutar> için geçersiz tutar: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' -minrelaytxfee=<amount> için geçersiz meblağ: '%s' @@ -3174,10 +3194,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid netmask specified in -whitelist: '%s' -whitelist: '%s' unsurunda geçersiz bir ağ maskesi belirtildi - - Keep at most <n> unconnectable blocks in memory (default: %u) - Hafızada en çok <n> bağlanılamaz blok tut (varsaylan: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Hafızada en çok <n> bağlanılamaz muamele tut (varsayılan: %u) @@ -3190,10 +3206,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: Düğüm röle seçenekleri: - - Print block on startup, if found in block index - Başlangıçta bloğu göster, blok indeksinde bulunduysa - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL seçenekleri: (SSL kurulumu yönergeleri için Bitcoin vikisine bakınız) @@ -3202,6 +3214,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: RPC sunucu seçenekleri: + + RPC support for HTTP persistent connections (default: %d) + Kalıcı HTTP bağlantıları için RPC desteği (varsayılan: %d) + Randomly drop 1 of every <n> network messages Her <n> şebeke mesajından rastgele 1 mesajı görmezden gel @@ -3242,6 +3258,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive Muamele tutarının pozitif olması lazımdır + + Transaction too large for fee policy + Ücret politikası için çok büyük muamele + Transaction too large Muamele çok büyük @@ -3338,10 +3358,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) -checkblocks'un blok kontrolünün ne kadar kapsamlı olacağı (0 ilâ 4, varsayılan: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Eğer paytxfee ayarlanmadıysa, kafi derecede ücret ekleyin ki muameleler vasati n blok içinde teyit edilsin (varsayılan: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Blok oluşturulduğunda muamele önceliğini ve kB başı ücreti kütüğe al (varsayılan: %u) @@ -3434,10 +3450,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Prepend debug output with timestamp (default: %u) Hata ayıklama verilerinin önüne zaman damgası ekle (varsayılan: %u) - - Print block tree on startup (default: %u) - Başlangıçta blok ağacını göster (varsayılan: %u) - Relay and mine data carrier transactions (default: %u) Veri taşıyıcı muameleleri oluştur ve aktar (varsayılan: %u) @@ -3514,10 +3526,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' -paytxfee=<meblağ> için geçersiz meblağ: '%s' - - Invalid amount - Geçersiz meblağ - Insufficient funds Yetersiz bakiye @@ -3550,10 +3558,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading Yükleme tamamlandı - - To use the %s option - %s seçeneğini kullanmak için - Error Hata diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts index 9b5f4c9f4e78e..f59ad5526202d 100644 --- a/src/qt/locale/bitcoin_uk.ts +++ b/src/qt/locale/bitcoin_uk.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - Двічі клікніть на адресу чи назву для їх зміни + Right-click to edit address or label + Клікніть правою кнопкою для редагування адреси або мітки Create a new address @@ -71,7 +71,7 @@ These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Це ваша нова Bitcoin адреса для отримування платежів. Рекомендовано використовувати нову адресу для кожної транзакції. + Це ваша нова Bitcoin адреса для отримання платежів. Рекомендовано використовувати нову адресу для кожної транзакції. Copy &Label @@ -173,7 +173,7 @@ 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. - ВАЖЛИВО: Всі попередні резервні копії, які ви зробили з вашого файлу гаманця повинні бути замінені новоствореним, зашифрованим файлом гаманця. З міркувань безпеки, попередні резервні копії незашифрованого файла гаманця стануть марними одразу ж, як тільки ви почнете використовувати новий, зашифрований гаманець. + ВАЖЛИВО: Всі попередні резервні копії, які ви зробили з вашого файлу гаманця повинні бути замінені новоствореним, зашифрованим файлом гаманця. З міркувань безпеки, попередні резервні копії незашифрованого файла гаманця стануть непридатними одразу ж, як тільки ви почнете використовувати новий, зашифрований гаманець. Warning: The Caps Lock key is on! @@ -185,7 +185,7 @@ 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>. - Введіть нову кодову фразу для гаманця.<br/>Будь ласка, використовуйте кодові фрази що містять <b> як мінімум десять випадкових символів </b> або <b> як мінімум вісім слів </b>. + Введіть нову кодову фразу для гаманця.<br/>Будь ласка, використовуйте кодові фрази що містять <b> щонайменше десять випадкових символів </b> або <b> щонайменше вісім слів </b>. Bitcoin 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. @@ -240,11 +240,11 @@ Show general overview of wallet - Показати загальний огляд гаманця + Показати стан гаманця &Transactions - Транзакції + &Транзакції Browse transaction history @@ -324,7 +324,7 @@ &Debug window - Вікно зневадження + В&ікно зневадження Open debugging and diagnostic console @@ -356,7 +356,7 @@ &Show / Hide - Показати / Приховати + Показа&ти / Приховати Show or hide the main Window @@ -364,7 +364,7 @@ Encrypt the private keys that belong to your wallet - Шифрування закритих ключів, які належать вашому гаманці + Зашифрувати закриті ключі, що знаходяться у вашому гаманці Sign messages with your Bitcoin addresses to prove you own them @@ -400,7 +400,7 @@ &About Bitcoin Core - &Про Bitcoin Core + П&ро Bitcoin Core Show the list of used sending addresses and labels @@ -416,7 +416,7 @@ &Command-line options - Параметри командного рядка + П&араметри командного рядка Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options @@ -424,7 +424,7 @@ %n active connection(s) to Bitcoin network - %n активне з'єднання з мережею%n активні з'єднання з мережею%n активних з'єднань з мережею Bitcoin + %n активне з'єднання з мережею Bitcoin%n активні з'єднання з мережею Bitcoin%n активних з'єднань з мережею Bitcoin No block source available... @@ -452,7 +452,7 @@ %1 behind - %1 позаду + %1 тому Last received block was generated %1 ago. @@ -538,7 +538,7 @@ Address: %4 Amount: - Кількість: + Сума: Priority: @@ -610,11 +610,11 @@ Address: %4 Copy amount - Копіювати кількість + Скопіювати суму Copy transaction ID - Копіювати ID транзакції + Скопіювати ID транзакції Lock unspent @@ -626,31 +626,31 @@ Address: %4 Copy quantity - Копіювати кількість + Скопіювати кількість Copy fee - Копіювати комісію + Скопіювати комісію Copy after fee - Копіювати після комісії + Скопіювати після комісії Copy bytes - Копіювати байти + Скопіювати байти Copy priority - Копіювати пріорітет + Скопіювати пріорітет Copy dust - Копіювати пил + Скопіювати пил Copy change - Копіювати решту + Скопіювати решту highest @@ -710,7 +710,7 @@ Address: %4 This label turns red, if the transaction size is greater than 1000 bytes. - Ця позначка буде червоною, якщо розмір транзакції вищий за 1000 байт. + Ця позначка буде червоною, якщо розмір транзакції вищий за 1000 байтів. This means a fee of at least %1 per kB is required. @@ -804,7 +804,7 @@ Address: %4 FreespaceChecker A new data directory will be created. - Буде створена новий каталог даних. + Буде створено новий каталог даних. name @@ -976,7 +976,7 @@ Address: %4 Number of script &verification threads - Кількість потоків сценарію перевірки + Кількість потоків &сценарію перевірки Accept connections from outside @@ -1008,7 +1008,7 @@ Address: %4 &Reset Options - Скинути параметри + С&кинути параметри &Network @@ -1288,6 +1288,14 @@ Address: %4 Refund from %1 Відшкодування з %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Запит платежу %1 занадто великий (%2 байт, дозволено %3 байт). + + + Payment request DoS protection + Оплата потребує захисту DoS + Error communicating with %1: %2 Помилка зв'язку з %1: %2 @@ -1522,11 +1530,11 @@ Address: %4 &Open - Відкрити + &Відкрити &Console - Консоль + &Консоль &Network Traffic @@ -1708,11 +1716,11 @@ Address: %4 Copy &URI - Скопіювати URI + &Скопіювати URI Copy &Address - Скопіювати адресу + Скопіювати &адресу &Save Image... @@ -1830,7 +1838,7 @@ Address: %4 After Fee: - Після комісії + Після комісії: Change: @@ -1862,7 +1870,7 @@ Address: %4 If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. - Якщо оплата користувача встановлюється в 1000 Satoshi і розмір передачі всього 250 байт, то "за кілобайт" платить тільки 250 Satoshi, в той час як "щонайменше" платить 1000 satoshis. Для передач більших, ніж кілобайт обоє платять за кілобайт. + Якщо комісія встановлюється в 1000 сатоші і розмір транзакції лише 250 байтів, то опція "за кілобайт" встановлює комісію в 250 сатоші, в той час, як "щонайменше" - в 1000 сатоші. Для транзакцій більших за кілобайт в обох випадках буде знято комісію за кілобайт. per kilobyte @@ -1870,7 +1878,7 @@ Address: %4 If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. - Якщо оплата користувача встановлюється в 1000 Satoshi і розмір передачі всього 250 байт, то "за кілобайт" платить тільки 250 Satoshi, в той час як "всього щонайменше" платить 1000 satoshis. Для передач більших, ніж кілобайт обоє платять за кілобайт. + Якщо комісія встановлюється в 1000 сатоші і розмір транзакції лише 250 байтів, то опція "за кілобайт" встановлює комісію в 250 сатоші, в той час, як "всього щонайменше" - в 1000 сатоші. Для транзакцій більших за кілобайт в обох випадках буде знято комісію за кілобайт. total at least @@ -1878,7 +1886,7 @@ Address: %4 Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. - Оплата тільки мінімальних зборів є прийнятною до тих пір, як обсяг транзакцій там є меншим аніж простору в блоках. Але майте на увазі, що це може анулювати транзакцію, якщо попит на Bitcoin транзакції стане значно більшим, ніж мережа зможе обробити. + Оплата тільки мінімальної комісії є прийнятною, допоки обсяг транзакцій є меншим простору в блоках. Але майте на увазі, що це може анулювати транзакцію, якщо попит на Bitcoin транзакції стане більшим, ніж мережа зможе обробити. (read the tooltip) @@ -1894,7 +1902,7 @@ Address: %4 (Smart fee not initialized yet. This usually takes a few blocks...) - (Розумна оплата ще не ініціалізована. Це звичайно займає кілька блоків...) + (Розумну оплату ще не ініціалізовано. Це, зазвичай, триває кілька блоків...) Confirmation time: @@ -1910,7 +1918,7 @@ Address: %4 Send as zero-fee transaction if possible - Надіслати як нульовий плата за передачу, якщо це можливо + Надіслати транзакцію без сплати комісії, якщо це можливо (confirmation may take longer) @@ -1962,7 +1970,7 @@ Address: %4 Copy amount - Копіювати кількість + Копіювати суму Copy fee @@ -1985,8 +1993,8 @@ Address: %4 Копіювати решту - Total Amount %1 (= %2) - Всього %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + Всього %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -1994,7 +2002,7 @@ Address: %4 The recipient address is not valid, please recheck. - Адреса отримувача невірна, будь ласка перепровірте. + Адреса отримувача неправильна; будь ласка, перевірте її. The amount to pay must be larger than 0. @@ -2026,7 +2034,7 @@ Address: %4 Pay only the minimum fee of %1 - Платити тільки мінімальний збір у розмірі %1 + Платити тільки мінімальну комісію у розмірі %1 Estimated to begin confirmation within %1 block(s). @@ -2207,7 +2215,7 @@ Address: %4 &Verify Message - Перевірити повідомлення + П&еревірити повідомлення Enter the signing 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. @@ -2223,7 +2231,7 @@ Address: %4 Verify &Message - Перевірити повідомлення + Пере&вірити повідомлення Reset all verify message fields @@ -2428,7 +2436,7 @@ Address: %4 Inputs - витрати + Входи Amount @@ -2641,11 +2649,11 @@ Address: %4 Copy amount - Копіювати кількість + Скопіювати суму Copy transaction ID - Копіювати ID транзакції + Скопіювати ID транзакції Edit label @@ -2806,30 +2814,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) Приймати підключення ззовні (типово: 1 за відсутності -proxy чи -connect) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, ви повинні встановити rpcpassword в файлі конфігурації: -%s -Рекомендується використати такий випадковий пароль: -rpcuser=bitcoinrpc -rpcpassword=%s -(ви не повинні пам'ятати цей пароль) -Ім’я користувача та пароль ПОВИННІ бути різними. -Якщо файлу не існує, створіть його, обмеживши доступ правом читання для власника. -Також рекомендується використовувати alertnotify для того, щоб отримувати сповіщення про проблеми; -наприклад: alertnotify=echo %%s | mail -s "Сповіщення Bitcoin" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 Прив'язатися до даної адреси та прослуховувати її. Використовуйте запис виду [хост]:порт для IPv6 @@ -2846,14 +2830,6 @@ rpcpassword=%s Enter regression test mode, which uses a special chain in which blocks can be solved instantly. Ввійти в режим регресивного тестування, що використовує спеціальний ланцюг з миттєвим знаходженням блоків. - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - Помилка: транзакцію було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій. - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - Помилка: Ця транзакція потребує додавання комісії щонайменше в %s через її розмір, складність, або внаслідок використання недавно отриманих коштів! - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) Виконати команду, коли транзакція гаманця зміниться (замість %s в команді буде підставлено ідентифікатор транзакції) @@ -2916,7 +2892,7 @@ rpcpassword=%s Connect only to the specified node(s) - Підключитись лише до вказаного вузла + Підключитись лише до вказаного вузла/вузлів Connection options: @@ -2958,18 +2934,10 @@ rpcpassword=%s Error opening block database Помилка відкриття блоку бази даних - - Error: A fatal internal error occured, see debug.log for details - Помилка: Сталася фатальна помилка (детальніший опис наведено в debug.log) - Error: Disk space is low! Помилка: Мало вільного місця на диску! - - Error: Wallet locked, unable to create transaction! - Помилка: Гаманець заблокований, неможливо створити транзакцію! - Failed to listen on any port. Use -listen=0 if you want this. Не вдалося слухати на жодному порту. Використовуйте -listen=0, якщо ви хочете цього. @@ -2996,7 +2964,7 @@ rpcpassword=%s Only connect to nodes in network <net> (ipv4, ipv6 or onion) - Підключити тільки до вузлів в мережі <net> (ipv4, ipv6 або onion) + Підключатися тільки до вузлів в мережі <net> (ipv4, ipv6 або onion) Rebuild block chain index from current blk000??.dat files @@ -3094,14 +3062,30 @@ rpcpassword=%s Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) Комісії (в BTC/КБ), що менші за вказану, вважатимуться нульовими (для створення транзакції) (типово: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Якщо параметр paytxfee не встановлено, включити комісію для отримання перших підтверджень транзакцій протягом n блоків (типово: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Неприпустима сума для -maxtxfee = <amount>: «%s» ( плата повинна бути, принаймні %s, щоб запобігти зависанню транзакцій) + Maximum size of data in data carrier transactions we relay and mine (default: %u) - Максимальний розмір даних в транзакціях носіїв даних, що ми передаємо і добуваємо (за замовчуванням: %u) + Максимальний розмір даних в транзакціях носіїв даних, що ми передаємо і добуваємо (типово: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Максимальна загальна комісія для використання в одній транзакції, установка занадто низької може скасувати великі транзакції (типово: %s) Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) Дізнаватися адреси учасників через DNS при замалій кількості відомих адрес (типово: 1 за відсутності -connect) + + Require high priority for relaying free or low-fee transactions (default:%u) + Вимагати високий пріоритет для ретрансляції транзакцій з низькою або нульовою комісією (типово: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) Встановити максимальний розмір транзакцій з високим пріоритетом та низькою комісією (в байтах) (типово: %d) @@ -3114,6 +3098,34 @@ rpcpassword=%s 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 <https://www.openssl.org/>, криптографічне програмне забезпечення, написане Еріком Янгом, та функції для роботи з UPnP, написані Томасом Бернардом. + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + Для використання bitcoind, або bitcoin-qt з параметром -server, ви повинні встановити rpcpassword в файлі конфігурації: +%s +Рекомендується використати такий випадковий пароль: +rpcuser=bitcoinrpc +rpcpassword=%s +(вам не треба запам'ятовувати цей пароль) +Ім'я користувача та пароль ПОВИННІ бути різними. +Якщо файлу не існує, створіть його, обмеживши доступ правом читання для власника. +Також рекомендується використовувати alertnotify для того, щоб отримувати сповіщення про проблеми; +наприклад: alertnotify=echo %%s | mail -s "Сповіщення Bitcoin" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Увага: установлено дуже велике значення -maxtxfee! Такі великі комісії можуть бути сплачені в окремій транзакції. + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. Увага: будь ласка, перевірте дату і час на своєму комп'ютері! Якщо ваш годинник йде неправильно, Bitcoin Core може працювати некоректно. @@ -3122,6 +3134,10 @@ rpcpassword=%s 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 Учасники, що знаходяться в білому списку, не можуть бути заблоковані за DoS та їхні транзакції завжди ретранслюватимуться (навіть якщо вони є в пам'яті), що може бути корисним, наприклад, для шлюзу + + Accept public REST requests (default: %u) + Приймати публічні REST-запити (типово: %u) + Cannot resolve -whitebind address: '%s' Не вдалося розпізнати адресу для -whitebind: «%s» @@ -3142,6 +3158,14 @@ rpcpassword=%s Error loading wallet.dat: Wallet requires newer version of Bitcoin Core Помилка при завантаженні wallet.dat: Гаманець потребує новішої версії Bitcoin Core + + Error reading from database, shutting down. + Помилка читання бази даних, припиняю роботу. + + + Error: A fatal internal error occurred, see debug.log for details + Помилка: Сталася фатальна помилка (детальніший опис наведено в debug.log) + Error: Unsupported argument -tor found, use -onion. Помилка: Параметр -tor не підтримується, використовуйте -onion @@ -3158,6 +3182,10 @@ rpcpassword=%s Initialization sanity check failed. Bitcoin Core is shutting down. Не вдалося пройти базові перевірки під час ініціалізації. Bitcoin Core буде вимкнено. + + Invalid amount for -maxtxfee=<amount>: '%s' + Неприпустима сума для -maxtxfee = <amount>: «%s» + Invalid amount for -minrelaytxfee=<amount>: '%s' Вказано некоректну суму для параметру -minrelaytxfee: «%s» @@ -3174,10 +3202,6 @@ rpcpassword=%s Invalid netmask specified in -whitelist: '%s' Вказано неправильну маску підмережі для -whitelist: «%s» - - Keep at most <n> unconnectable blocks in memory (default: %u) - Утримувати в пам'яті щонайбільше <n> блоків, не під'єднаних до основного ланцюжка (типово: %u) - Keep at most <n> unconnectable transactions in memory (default: %u) Утримувати в пам'яті щонайбільше <n> транзакцій, що споживають невідомі входи (типово: %u) @@ -3190,10 +3214,6 @@ rpcpassword=%s Node relay options: Параметри вузла ретрансляції: - - Print block on startup, if found in block index - Роздрукувати блок під час запуску (якщо він буде знайдений в індексі) - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) Параметри RPC SSL: (див. Bitcoin Wiki для налаштування SSL) @@ -3202,6 +3222,10 @@ rpcpassword=%s RPC server options: Параметри сервера RPC: + + RPC support for HTTP persistent connections (default: %d) + Підтримка RPC для постійних HTTP-з'єднань (типово: %d) + Randomly drop 1 of every <n> network messages Випадковим чином відкидати 1 з <n> мережевих повідомлень @@ -3210,13 +3234,17 @@ rpcpassword=%s Randomly fuzz 1 of every <n> network messages Випадковим чином пошкоджувати 1 з <n> мережевих повідомлень + + Receive and display P2P network alerts (default: %u) + Отримувати та відображати попередження з мережі (типово: %u) + Send trace/debug info to console instead of debug.log file Відсилати налагоджувальну інформацію на консоль, а не у файл debug.log Send transactions as zero-fee transactions if possible (default: %u) - Встановити операцію надсилання, як неоплатну операцію, якщо це можливо (за замовчуванням: %u) + Не сплачувати комісію за надсилання транзакцій, якщо це можливо (типово: %u) Show all debugging options (usage: --help -help-debug) @@ -3242,6 +3270,10 @@ rpcpassword=%s Transaction amounts must be positive Суми монет у транзакції мають бути позитивними + + Transaction too large for fee policy + Транзакція занадто велика для правил комісії + Transaction too large Транзакція занадто велика @@ -3338,10 +3370,6 @@ rpcpassword=%s How thorough the block verification of -checkblocks is (0-4, default: %u) Рівень ретельності перевірки блоків (0-4, типово: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - Якщо параметр paytxfee не встановлено, включити комісію, достатню для підтвердження транзакцій протягом n блоків (типово: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) Записувати в лог-файл пріоритет транзакції та комісію за кБ під час добування блоків (типово: %u) @@ -3434,10 +3462,6 @@ rpcpassword=%s Prepend debug output with timestamp (default: %u) Доповнювати налагоджувальний вивід відміткою часу (типово: %u) - - Print block tree on startup (default: %u) - Роздрукувати дерево блоків під час запуску (типово: %u) - Relay and mine data carrier transactions (default: %u) Ретранслювати та створювати транзакції носіїв даних (типово: %u) @@ -3514,10 +3538,6 @@ rpcpassword=%s Invalid amount for -paytxfee=<amount>: '%s' Помилка у величині комісії -paytxfee=<amount>: «%s» - - Invalid amount - Некоректна кількість - Insufficient funds Недостатньо коштів @@ -3550,10 +3570,6 @@ rpcpassword=%s Done loading Завантаження завершене - - To use the %s option - Щоб використати опцію %s - Error Помилка diff --git a/src/qt/locale/bitcoin_ur_PK.ts b/src/qt/locale/bitcoin_ur_PK.ts index 86f3226269a38..4d1b6d1028805 100644 --- a/src/qt/locale/bitcoin_ur_PK.ts +++ b/src/qt/locale/bitcoin_ur_PK.ts @@ -1,18 +1,22 @@ - + AddressBookPage - Double-click to edit address or label - ایڈریس یا لیبل میں ترمیم کرنے پر ڈبل کلک کریں + Right-click to edit address or label + پتہ تبدیل کرے کے لیے دائیاں کلک کریں Create a new address - نیا ایڈریس بنائیں + نیا پتہ بنائیں &New نیا + + Copy the currently selected address to the system clipboard + سلیکٹڈ پتے کو کمپوٹر کی عارضی جگہ رکھیں + &Copy نقل @@ -25,18 +29,38 @@ &Copy Address کاپی پتہ + + Delete the currently selected address from the list + سلیکٹڈ پتے کو مٹائیں + + + Export the data in the current tab to a file + موجودہ ڈیٹا کو فائیل میں محفوظ کریں + &Export برآمد &Delete - مٹا + مٹائیں + + + Choose the address to send coins to + کوئین وصول کرنے والے کا پتہ + + + Choose the address to receive coins with + کوئین بھیجنے والے کا پتہ C&hoose چننا + + Sending addresses + جس پتے پر بھیجنے ہیں + AddressTableModel @@ -319,6 +343,10 @@ &Export برآمد + + Export the data in the current tab to a file + موجودہ ڈیٹا کو فائیل میں محفوظ کریں + bitcoin-core @@ -326,10 +354,6 @@ This help message یہ مدد کا پیغام - - Invalid amount - غلط رقم - Insufficient funds ناکافی فنڈز diff --git a/src/qt/locale/bitcoin_uz@Cyrl.ts b/src/qt/locale/bitcoin_uz@Cyrl.ts index 54e649aedef06..06c6b1c29f703 100644 --- a/src/qt/locale/bitcoin_uz@Cyrl.ts +++ b/src/qt/locale/bitcoin_uz@Cyrl.ts @@ -1,8 +1,8 @@ - + AddressBookPage - Double-click to edit address or label + Right-click to edit address or label Манзил ёки ёрлиқни таҳрирлаш учун икки марта босинг @@ -958,6 +958,10 @@ Address: %4 Third party transaction URLs Бегона тараф ўтказмалари URL манзиллари + + &Network + Тармоқ + Proxy &IP: Прокси &IP рақами: @@ -1101,12 +1105,52 @@ Address: %4 Recent transactions Сўнгги пул ўтказмалари - + + Unconfirmed transactions to watch-only addresses + Тасдиқланмаган ўтказмалар-фақат кўринадиган манзилларда + + + Current total balance in watch-only addresses + Жорий умумий баланс фақат кўринадиган манзилларда + + + out of sync + Синхронлашдан ташқари + + PaymentServer + + URI handling + URI осилиб қолмоқда + + + Invalid payment address %1 + Нотўғри тўлов манзили %1 + + + Payment request rejected + Тўлов сўрови инкор этилди + + + Payment request network doesn't match client network. + Тўлов сўрови тармоғи мижоз тармоғига мос келмайди. + + + Payment request has expired. + Тўлов сўрови тугади. + + + Payment request error + Тўлов сўрови хато + PeerTableModel + + User Agent + Фойдаланувчи вакил + Ping Time Ping вақти @@ -1118,6 +1162,10 @@ Address: %4 Amount Миқдори + + Enter a Bitcoin address (e.g. %1) + Bitcoin манзилини киритинг (масалан. %1) + %1 m %1 д @@ -1220,6 +1268,22 @@ Address: %4 Select a peer to view detailed information. Батафсил маълумотларни кўриш учун уламни танланг. + + Direction + Йўналиш + + + Version + Версия + + + User Agent + Фойдаланувчи вакил + + + Services + Хизматлар + Starting Height Узунликнинг бошланиши @@ -1340,6 +1404,14 @@ Address: %4 never ҳеч қачон + + Inbound + Ички йўналиш + + + Outbound + Ташқи йўналиш + Unknown Номаълум @@ -1391,6 +1463,26 @@ Address: %4 Requested payments history Сўралган тўлов тарихи + + &Request payment + Тўловни &сўраш + + + Show the selected request (does the same as double clicking an entry) + Танланган сўровни кўрсатиш (икки марта босилганда ҳам бир хил амал бажарилсин) + + + Show + Кўрсатиш + + + Remove the selected entries from the list + Танланганларни рўйхатдан ўчириш + + + Remove + Ўчириш + Copy label Ёрликни нусхала @@ -1406,10 +1498,30 @@ Address: %4 ReceiveRequestDialog + + QR Code + QR Коди + + + Copy &Address + Нусҳалаш & Манзил + &Save Image... Расмни &сақлаш + + Request payment to %1 + %1 дан Тўловни сўраш + + + Payment information + Тўлов маълумоти + + + URI + URI + Address Манзил @@ -1422,6 +1534,10 @@ Address: %4 Label Ёрлик + + Message + Хабар + RecentRequestsTableModel @@ -1433,6 +1549,10 @@ Address: %4 Label Ёрлик + + Message + Хабар + Amount Миқдори @@ -1441,13 +1561,33 @@ Address: %4 (no label) (Ёрлик мавжуд эмас) - + + (no message) + (Хабар йўқ) + + + (no amount) + (Миқдор мавжуд эмас) + + SendCoinsDialog Send Coins Тангаларни жунат + + Coin Control Features + Танга бошқаруви ҳусусиятлари + + + automatically selected + автоматик тарзда танланган + + + Insufficient funds! + Етарли бўлмаган миқдор + Quantity: Сони: @@ -1484,6 +1624,38 @@ Address: %4 Custom change address Бошқа ўзгартирилган манзил + + Transaction Fee: + Ўтказма тўлови + + + Choose... + Танлов + + + Minimize + Камайтириш + + + per kilobyte + Хар килобайтига + + + Recommended: + Тавсия этилган + + + Confirmation time: + Тасдиқ вақти + + + normal + Нормал + + + fast + Тезкор + Send to multiple recipients at once Бирданига бир нечта қабул қилувчиларга жўнатиш @@ -1496,6 +1668,10 @@ Address: %4 Dust: Ахлат қутиси: + + Clear &All + Барчасини &Тозалаш + Balance: Баланс @@ -1504,10 +1680,18 @@ Address: %4 Confirm the send action Жўнатиш амалини тасдиқлаш + + S&end + Жў&натиш + Confirm send coins Тангалар жўнаишни тасдиқлаш + + %1 to %2 + %1 дан %2 + Copy quantity Нусха сони @@ -1536,6 +1720,10 @@ Address: %4 Copy change Нусха қайтими + + or + ёки + The amount to pay must be larger than 0. Тўлов миқдори 0. дан катта бўлиши керак. @@ -1583,6 +1771,14 @@ Address: %4 &Label: &Ёрлиқ: + + Choose previously used address + Олдин фойдаланилган манзилни танла + + + This is a normal payment. + Бу нормал тўлов. + Alt+A Alt+A @@ -1595,12 +1791,24 @@ Address: %4 Alt+P Alt+P + + Message: + Хабар: + + + This is a verified payment request. + Бу тасдиқланган тўлов талаби. + ShutdownWindow SignVerifyMessageDialog + + Choose previously used address + Олдин фойдаланилган манзилни танла + Alt+A Alt+A @@ -1617,7 +1825,15 @@ Address: %4 Signature Имзо - + + Clear &All + Барчасини & Тозалаш + + + Message verified. + Хабар тасдиқланди. + + SplashScreen @@ -1654,14 +1870,78 @@ Address: %4 Date Сана + + Source + Манба + + + Generated + Яратилган + + + From + Дан + + + To + Га + + + own address + ўз манзили + + + label + ёрлиқ + + + Credit + Кредит + + + not accepted + қабул қилинмади + + + Transaction fee + Ўтказма тўлови + + + Net amount + Умумий миқдор + + + Message + Хабар + + + Comment + Шарҳ + Transaction ID - ID + Ўтказма ID си + + + Merchant + Савдо + + + Transaction + Ўтказма Amount Миқдори + + true + рост + + + false + ёлғон + , has not been successfully broadcast yet , ҳалигача трансляция қилингани йўқ @@ -1712,10 +1992,22 @@ Address: %4 Generated but not accepted Яратилди, аммо қабул қилинмади + + Offline + Оффлайн + + + Unconfirmed + Тасдиқланмаган + Received with Ёрдамида қабул қилиш + + Received from + Дан қабул қилиш + Sent to Жўнатиш @@ -1831,10 +2123,22 @@ Address: %4 Edit label Ёрликни тахрирлаш + + Show transaction details + Ўтказма тафсилотларини кўрсатиш + + + Export Transaction History + Ўтказмалар тарихини экспорт қилиш + Exporting Failed Экспорт қилиб бўлмади + + The transaction history was successfully saved to %1. + Ўтказмалар тарихи %1 га муваффаққиятли сақланди. + Comma separated file (*.csv) Вергул билан ажратилган файл (*.csv) @@ -1877,7 +2181,11 @@ Address: %4 WalletFrame - + + No wallet has been loaded. + Хали бирорта хамён юкланмади. + + WalletModel @@ -1918,6 +2226,10 @@ Address: %4 Use the test network Синов тармоғидан фойдаланинг + + Connection options: + Уланиш кўрсаткичлари: + Information Маълумот diff --git a/src/qt/locale/bitcoin_vi.ts b/src/qt/locale/bitcoin_vi.ts index 3ca5605883054..2afda0d8fbfd8 100644 --- a/src/qt/locale/bitcoin_vi.ts +++ b/src/qt/locale/bitcoin_vi.ts @@ -1,18 +1,26 @@ - + AddressBookPage - - Double-click to edit address or label - Click đúp chuột để chỉnh sửa địa chỉ hoặc nhãn dữ liệu - Create a new address Tạo một địa chỉ mới + + &New + Tạo mới + Copy the currently selected address to the system clipboard Sao chép các địa chỉ đã được chọn vào bộ nhớ tạm thời của hệ thống + + &Copy + Sao chép + + + &Copy Address + Sao chép địa chỉ + &Delete &Xóa diff --git a/src/qt/locale/bitcoin_vi_VN.ts b/src/qt/locale/bitcoin_vi_VN.ts index bf76c8638aa00..0c4476b4fc32d 100644 --- a/src/qt/locale/bitcoin_vi_VN.ts +++ b/src/qt/locale/bitcoin_vi_VN.ts @@ -1,73 +1,585 @@ - + AddressBookPage + + Right-click to edit address or label + Nhấn chuột phải để sửa địa chỉ hoặc nhãn + Create a new address Tạo một địa chỉ mới + + &New + &Mới + + + Copy the currently selected address to the system clipboard + Copy địa chỉ được chọn vào clipboard + + + &Copy + &Copy + + + C&lose + Đó&ng + + + &Copy Address + &Copy Địa Chỉ + + + Delete the currently selected address from the list + Xóa địa chỉ hiện tại từ danh sách + + + Export the data in the current tab to a file + Xuất dữ liệu trong mục hiện tại ra file + + + &Export + X&uất + + + &Delete + &Xó&a + + + Choose the address to send coins to + Chọn địa chỉ để gửi coin tới + + + Choose the address to receive coins with + Chọn địa chỉ để nhận coin + + + C&hoose + C&họn + + + Sending addresses + Địa chỉ gửi + + + Receiving addresses + Địa chỉ nhận + + + Copy &Label + Copy &Nhãn + + + &Edit + &Sửa + + + Export Address List + Xuất Danh Sách Địa Chỉ + + + Comma separated file (*.csv) + Comma separated file (*.csv) + + + Exporting Failed + Xuất Đã Thất Bại + AddressTableModel - + + Label + Nhãn + + + Address + Địa chỉ + + + (no label) + (không nhãn) + + AskPassphraseDialog + + Passphrase Dialog + Hội thoại Passphrase + + + Enter passphrase + Điền passphrase + + + New passphrase + Passphrase mới + + + Repeat new passphrase + Điền lại passphrase + + + Encrypt wallet + Mã hóa ví + + + Unlock wallet + Mở khóa ví + + + Decrypt wallet + Giải mã ví + + + Wallet encrypted + Ví đã được mã hóa + BitcoinGUI + + &Overview + &Tổng quan + + + Node + Node + + + E&xit + T&hoát + + + Quit application + Thoát chương trình + + + About &Qt + Về &Qt + + + Show information about Qt + Xem thông tin về Qt + + + Open &URI... + Mở &URI... + + + Bitcoin Core client + Bitcoin Core client + + + Bitcoin + Bitcoin + + + Wallet + + + + &Send + &Gửi + + + &Receive + &Nhận + + + &Show / Hide + Ẩn / H&iện + + + Show or hide the main Window + Hiện hoặc ẩn cửa sổ chính + + + &File + &File + + + &Settings + &Thiết lập + + + &Help + Trợ &giúp + + + Bitcoin Core + Bitcoin Core + + + &About Bitcoin Core + &Về Bitcoin Core + + + %n hour(s) + %n giờ + + + %n day(s) + %n ngày + + + %n week(s) + %n tuần + + + %1 and %2 + %1 và %2 + + + %n year(s) + %n năm + + + Error + Lỗi + + + Warning + Chú ý + + + Information + Thông tin + + + Up to date + Đã cập nhật + + + Sent transaction + Giao dịch đã gửi + + + Incoming transaction + Giao dịch đang tới + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + Ngày: %1 +Lượng: %2 +Loại: %3 +Địa chỉ: %4 + + ClientModel - + + Network Alert + Network Alert + + CoinControlDialog + + Quantity: + Lượng: + + + Bytes: + Bytes: + + + Amount: + Lượng: + + + Priority: + Tầm quan trọng: + + + Fee: + Phí: + + + Change: + Thay đổi: + + + Amount + Lượng + + + Date + Ngày tháng + + + Confirmations + Lần xác nhận + + + Confirmed + Đã xác nhận + + + Priority + Tầm quan trọng + + + Copy address + Copy địa chỉ + + + Copy label + Copy nhãn + + + Copy amount + Lượng copy + + + low + thấp + + + lower + thấp hơn + + + lowest + thấp nhất + + + yes + + + + no + không + + + (no label) + (không nhãn) + EditAddressDialog FreespaceChecker + + name + tên + HelpMessageDialog + + Bitcoin Core + Bitcoin Core + + + version + version + + + About Bitcoin Core + Về Bitcoin Core + Intro + + Welcome + Chào mừng + + + Bitcoin Core + Bitcoin Core + + + Error + Lỗi + OpenURIDialog + + Open URI + Mở URI + + + URI: + URI: + OptionsDialog + + Options + Lựa chọn + + + &Main + &Chính + + + MB + MB + + + &Display + &Hiển thị + + + &OK + &OK + + + &Cancel + &Từ chối + + + default + mặc định + OverviewPage + + Form + Form + + + Total: + Tổng: + PaymentServer PeerTableModel + + User Agent + User Agent + QObject + + Amount + Lượng + + + NETWORK + NETWORK + QRImageWidget RPCConsole + + General + Nhìn Chung + + + Name + Tên + + + Block chain + Block chain + + + Sent + Đã gửi + + + User Agent + User Agent + ReceiveCoinsDialog - + + Copy label + Copy nhãn + + + Copy amount + Lượng copy + + ReceiveRequestDialog + + Address + Địa chỉ + + + Amount + Lượng + + + Label + Nhãn + RecentRequestsTableModel + + Date + Ngày tháng + + + Label + Nhãn + + + Amount + Lượng + + + (no label) + (không nhãn) + SendCoinsDialog + + Quantity: + Lượng: + + + Bytes: + Bytes: + + + Amount: + Lượng: + + + Priority: + Tầm quan trọng: + + + Fee: + Phí: + + + Change: + Thay đổi: + + + Copy amount + Lượng copy + + + (no label) + (không nhãn) + SendCoinsEntry @@ -80,21 +592,77 @@ SplashScreen + + Bitcoin Core + Bitcoin Core + TrafficGraphWidget TransactionDesc + + Date + Ngày tháng + + + Amount + Lượng + TransactionDescDialog TransactionTableModel + + Date + Ngày tháng + + + Address + Địa chỉ + TransactionView + + Copy address + Copy địa chỉ + + + Copy label + Copy nhãn + + + Copy amount + Lượng copy + + + Exporting Failed + Xuất Đã Thất Bại + + + Comma separated file (*.csv) + Comma separated file (*.csv) + + + Confirmed + Đã xác nhận + + + Date + Ngày tháng + + + Label + Nhãn + + + Address + Địa chỉ + UnitDisplayStatusBarControl @@ -107,8 +675,76 @@ WalletView + + &Export + X&uất + + + Export the data in the current tab to a file + Xuất dữ liệu trong mục hiện tại ra file + bitcoin-core - + + Information + Thông tin + + + Transaction too large + Giao dịch quá lớn + + + Warning + Chú ý + + + on startup + khi khởi động + + + This help message + Thông điệp trợ giúp này + + + Loading addresses... + Đang đọc các địa chỉ... + + + (default: %s) + (mặc định: %s) + + + Insufficient funds + Không đủ tiền + + + Loading block index... + Đang đọc block index... + + + Loading wallet... + Đang đọc ví... + + + Cannot downgrade wallet + Không downgrade được ví + + + Cannot write default address + Không ghi được địa chỉ mặc định + + + Rescanning... + Đang quét lại... + + + Done loading + Đã nạp xong + + + Error + Lỗi + + \ No newline at end of file diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts index 94d0675bfdac1..0889289f58fc8 100644 --- a/src/qt/locale/bitcoin_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - 双击编辑地址或标签 + Right-click to edit address or label + 鼠标右击编辑地址或标签 Create a new address @@ -183,6 +183,10 @@ Wallet encrypted 钱包已加密 + + 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>. + 请输入新的钱包密码. <br/>密码须包含<b>10个以上字符</b>,或<b>8个以上单词</b>. + Bitcoin 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. 比特币客户端将关闭软件以完成加密过程。请您谨记:钱包加密并不是万能的,电脑中毒等原因仍可能导致您的比特币意外丢失。 @@ -280,11 +284,11 @@ &Sending addresses... - &付款地址 + 正在发送地址(&S)... &Receiving addresses... - &收款地址 + 正在接收地址(&R)... Open &URI... @@ -412,7 +416,7 @@ &Command-line options - &命令行 选项 + 命令行选项(&C) Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options @@ -474,6 +478,10 @@ Up to date 已是最新 + + Processed %n blocks of transaction history. + 已处理 %n 个交易历史数据块。 + Catching up... 更新中... @@ -516,6 +524,10 @@ Address: %4 CoinControlDialog + + Coin Selection + 币源选择(Coin Selection) + Quantity: 总量: @@ -564,6 +576,14 @@ Address: %4 Amount 金额 + + Received with label + 按标签收款 + + + Received with address + 按地址收款 + Date 日期 @@ -676,6 +696,10 @@ Address: %4 none + + Can vary +/- %1 satoshi(s) per input. + 可能会有 正负 %1 聪(satoshi)的偏差 + yes @@ -885,11 +909,23 @@ Address: %4 Bitcoin Core 比特币核心 + + Error: Specified data directory "%1" cannot be created. + 错误:无法创建 指定的数据目录 "%1" + Error 错误 - + + %n GB of free space available + 有 %n GB 空闲空间 + + + (of %n GB needed) + (需要%n GB空间) + + OpenURIDialog @@ -941,7 +977,7 @@ Address: %4 Number of script &verification threads - 脚本&验证 进程数 + 脚本验证线程数(&V) Accept connections from outside @@ -985,7 +1021,7 @@ Address: %4 W&allet - &钱包 + 钱包(&A) Expert @@ -993,7 +1029,7 @@ Address: %4 Enable coin &control features - 启动货币 &控制功能 + 启动货币控制功能(&C) If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed. @@ -1001,7 +1037,7 @@ Address: %4 &Spend unconfirmed change - &选择未经确认的花费 + 使用未经确认的零钱(&S) Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled. @@ -1011,6 +1047,14 @@ Address: %4 Map port using &UPnP 使用 &UPnP 映射端口 + + Connect to the Bitcoin network through a SOCKS5 proxy. + 通过 SOCKS5 代理连接比特币网络。 + + + &Connect through SOCKS5 proxy (default proxy): + 通过 SO&CKS5 代理连接(默认代理): + Proxy &IP: 代理服务器 &IP: @@ -1142,6 +1186,10 @@ Address: %4 Mined balance that has not yet matured 尚未成熟的挖矿收入余额 + + Balances + 余额 + Total: 总额: @@ -1150,6 +1198,30 @@ Address: %4 Your current total balance 您当前的总余额 + + Your current balance in watch-only addresses + 您当前 观察地址(watch-only address)的余额 + + + Spendable: + 可使用: + + + Recent transactions + 最近交易记录 + + + Unconfirmed transactions to watch-only addresses + 观察地址(watch-only address)的未确认交易记录 + + + Mined balance in watch-only addresses that has not yet matured + 观察地址(watch-only address)中尚未成熟(matured)的挖矿收入余额: + + + Current total balance in watch-only addresses + 观察地址(watch-only address)中的当前总余额 + out of sync 数据同步中 @@ -1169,6 +1241,10 @@ Address: %4 Payment request rejected 支付请求被拒绝 + + Payment request network doesn't match client network. + 付款请求所在的网络与当前客户端所在的网络不匹配。 + Payment request has expired. 支付请求已超时 @@ -1193,10 +1269,18 @@ Address: %4 Payment request fetch URL is invalid: %1 付款请求URI链接非法: %1 + + URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters. + URI无法解析!原因可能是比特币地址不正确,或者URI参数错误。 + Payment request file handling 付款请求文件处理 + + Payment request file cannot be read! This can be caused by an invalid payment request file. + 付款请求文件无法读取!可能是付款请求文件不合格。 + Unverified payment requests to custom payment scripts are unsupported. 不支持到自定义付款脚本的未验证付款请求。 @@ -1205,10 +1289,22 @@ Address: %4 Refund from %1 退款来自 %1 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + 支付请求 %1 太大 (%2 字节。只允许 %3 字节)。 + + + Payment request DoS protection + 支付请求防滥用保护 + Error communicating with %1: %2 %1: %2 通讯出错 + + Payment request cannot be parsed! + 无法解析 付款请求! + Bad response from server %1 来自 %1 服务器的错误响应 @@ -1371,7 +1467,11 @@ Address: %4 &Peers - &同类 + 同伴(&P) + + + Select a peer to view detailed information. + 选择节点查看详细信息。 Direction @@ -1753,6 +1853,78 @@ Address: %4 Custom change address 自定义零钱地址 + + Transaction Fee: + 交易费用: + + + Choose... + 选择... + + + collapse fee-settings + 收起 费用设置 + + + Minimize + 最小化 + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + 如果自定义交易费设置为 1000聪而交易大小只有250字节,则“每千字节" 模式只支付250聪交易费, 而"最少"模式则支付1000聪。 大于1000字节的交易按每千字节付费。 + + + per kilobyte + 每kb + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + 如果自定义交易费设置为 1000聪而交易大小只有250字节,则“每千字节" 模式只支付250聪交易费, 而"最少"模式则支付1000聪。 大于1000字节的交易按每千字节付费。 + + + total at least + 最小额 + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + 交易量小时只支付最小交易费是可以的。但是请注意,当交易量大时您的交易可能永远无法确认。 + + + (read the tooltip) + (请注意提示信息) + + + Recommended: + 推荐: + + + Custom: + 自定义: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (智能交易费用 尚未初始化。 需要再下载一些数据块...) + + + Confirmation time: + 确认时间: + + + normal + 一般 + + + fast + 快速 + + + Send as zero-fee transaction if possible + 发送时尽可能 不支付交易费用 + + + (confirmation may take longer) + (确认时间更长) + Send to multiple recipients at once 一次发送给多个接收者 @@ -1822,8 +1994,8 @@ Address: %4 复制零钱 - Total Amount %1 (= %2) - 总额 %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + 总金额 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -1857,6 +2029,18 @@ Address: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. 错误:该交易被拒绝!发生这种错误的原因可能是:钱包中的比特币已经被用掉,有可能您复制了wallet.dat钱包文件,然后用复制的钱包文件支付了比特币,但是这个钱包文件中没有记录。 + + A fee higher than %1 is considered an insanely high fee. + 高于 %1的交易费 将视为 过高的交易费。 + + + Pay only the minimum fee of %1 + 只支付最小费用 %1 + + + Estimated to begin confirmation within %1 block(s). + 预计%1 个数据块后确认。 + Warning: Invalid Bitcoin address 警告:无效的比特币地址 @@ -1908,6 +2092,10 @@ Address: %4 This is a normal payment. 这是笔正常的支付。 + + The Bitcoin address to send the payment to + 付款目的地址 + Alt+A Alt+A @@ -1978,6 +2166,10 @@ Address: %4 You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. 您可以用你的地址对消息进行签名,以证明您是该地址的所有人。注意不要对模棱两可的消息签名,以免遭受钓鱼式攻击。请确保消息内容准确的表达了您的真实意愿。 + + The Bitcoin address to sign the message with + 用来对消息签名的地址 + Choose previously used address 选择以前用过的地址 @@ -2030,6 +2222,10 @@ Address: %4 Enter the signing 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. 在下面输入签名地址,消息(请确保换行符、空格符、制表符等等一个不漏)和签名以验证消息。请确保签名信息准确,提防中间人攻击。 + + The Bitcoin address the message was signed with + 消息使用的签名地址 + Verify the message to ensure it was signed with the specified Bitcoin address 验证消息,确保消息是由指定的比特币地址签名过的。 @@ -2143,6 +2339,10 @@ Address: %4 Status 状态 + + , broadcast through %n node(s) + , 通过 %n 个节点广播 + Date 日期 @@ -2167,6 +2367,10 @@ Address: %4 own address 自己的地址 + + watch-only + 观察地址(watch-only) + label 标签 @@ -2175,6 +2379,10 @@ Address: %4 Credit 收入 + + matures in %n more block(s) + %n 个数据块后成熟(mature) + not accepted 未被接受 @@ -2183,6 +2391,14 @@ Address: %4 Debit 支出 + + Total debit + 总收入 + + + Total credit + 总支出 + Transaction fee 交易费 @@ -2239,6 +2455,10 @@ Address: %4 , has not been successfully broadcast yet ,未被成功广播 + + Open for %n more block(s) + 再打开 %n 个数据块 + unknown 未知 @@ -2273,6 +2493,10 @@ Address: %4 Immature (%1 confirmations, will be available after %2) 未成熟 (%1 个确认,将在 %2 个后可用) + + Open for %n more block(s) + 再打开 %n 个数据块 + Open until %1 至 %1 个数据块时开启 @@ -2325,6 +2549,10 @@ Address: %4 Mined 挖矿所得 + + watch-only + 观察地址(watch-only) + (n/a) (不可用) @@ -2341,6 +2569,10 @@ Address: %4 Type of transaction. 交易类别。 + + Whether or not a watch-only address is involved in this transaction. + 该交易中是否涉及 观察地址(watch-only address)。 + Destination address of transaction. 交易目的地址。 @@ -2436,6 +2668,10 @@ Address: %4 Export Transaction History 导出交易历史 + + Watch-only + 观察地址(Watch-only) + Exporting Failed 导出失败 @@ -2491,7 +2727,11 @@ Address: %4 UnitDisplayStatusBarControl - + + Unit to show amounts in. Click to select another unit. + 金额单位。单击选择别的单位。 + + WalletFrame @@ -2581,45 +2821,21 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) 接受来自外部的连接 (缺省: 如果不带 -proxy or -connect 参数设置为1) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, 您必须在配置文件设置rpcpassword: - %s -建议您使用下面的随机密码: -rpcuser=bitcoinrpc -rpcpassword=%s -(您无需记住此密码) -用户名和密码 必! 须! 不一样。 -如果配置文件不存在,请自行建立一个只有所有者拥有只读权限的文件。 -推荐您开启提示通知以便收到错误通知, -像这样: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - Bind to given address and always listen on it. Use [host]:port notation for IPv6 绑定指定的IP地址开始监听。IPv6地址请使用[host]:port 格式 - Enter regression test mode, which uses a special chain in which blocks can be solved instantly. - 进入回归测试模式,它采用一种特殊的可立即解决的区块链模拟情况。 + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + 删除钱包的所有交易记录,且只有用 -rescan参数启动客户端才能重新取回交易记录 - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - 错误:该交易被拒绝!发生这种错误的原因可能是:钱包中的比特币已经被用掉,有可能您复制了wallet.dat钱包文件,然后用复制的钱包文件支付了比特币,但是这个钱包文件中没有记录。 + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - 错误:因为该交易的数量、复杂度或者动用了刚收到不久的资金,您需要支付不少于%s的交易费用。 + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + 进入回归测试模式,它采用一种特殊的可立即解决的区块链模拟情况。 Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -2661,6 +2877,10 @@ rpcpassword=%s Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. 警告:钱包文件wallet.dat损坏! 原始的钱包文件已经备份到%s目录下并重命名为{timestamp}.bak 。如果您的账户余额或者交易记录不正确,请使用您的钱包备份文件恢复。 + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + 节点白名单,网络掩码或IP址。可多次指定。 + (default: 1) (默认值: 1) @@ -2725,10 +2945,6 @@ rpcpassword=%s Error: Disk space is low! 错误:磁盘剩余空间低! - - Error: Wallet locked, unable to create transaction! - 错误:钱包被锁定,无法创建交易! - Failed to listen on any port. Use -listen=0 if you want this. 监听端口失败。请使用 -listen=0 参数。 @@ -2753,6 +2969,10 @@ rpcpassword=%s Not enough file descriptors available. 没有足够的文件描述符可用。 + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + 只连接 <net>网络中的节点 (ipv4, ipv6 或 onion) + Rebuild block chain index from current blk000??.dat files 重新为当前的blk000??.dat文件建立索引 @@ -2773,6 +2993,10 @@ rpcpassword=%s This is intended for regression testing tools and app development. 这是用于回归测试和应用开发目的。 + + Use UPnP to map the listening port (default: %u) + 使用UPnp映射监听端口 (默认: %u) + Verifying blocks... 正在验证数据库的完整性... @@ -2797,22 +3021,130 @@ rpcpassword=%s Imports blocks from external blk000??.dat file 从blk000??.dat文件导入数据块 + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + 允许来自指定地址的 JSON-RPC 连接。 <ip>为单一IP (如: 1.2.3.4), 网络/掩码 (如: 1.2.3.4/255.255.255.0), 网络/CIDR (如: 1.2.3.4/24)。该选项可多次指定。 + + + An error occurred while setting up the RPC address %s port %u for listening: %s + 设置RPC监听端口 %s:%u 时发生错误: %s + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + 绑定到指定地址和连接的白名单节点。 IPv6使用 [主机]:端口 格式 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + 绑定到指定地址监听 JSON-RPC连接。 IPv6使用[主机]:端口 格式。该选项可多次指定 (默认: 绑定到所有接口) + Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running. 无法获取数据目录的 %s. 比特币核心钱包可能已经在运行. + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + 创建系统默认权限的文件,而不是 umask 077 (只在关闭钱包功能时有效) + + + Error: Listening for incoming connections failed (listen returned error %s) + 错误:监听外部连接失败 (监听返回错误 %s) + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + 错误:不支持的 -socks 参数。不再支持设置SOCKS版本,现在只支持 SOCKS5代理。 + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) 当收到相关提醒或者我们看到一个长分叉时执行命令(%s 将替换为消息) + + Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s) + 交易费(BTC/kb)比这更小的交易在转发时将被视为零费交易 (默认: %s) + + + Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + 交易费(BTC/kb)比这更小的交易在生成交易时将被视为零费交易 (默认: %s) + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + 如果未设置交易费用,自动添加足够的交易费以确保交易在平均n个数据块内被确认 (默认: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + -maxtxfee=<amount>: '%s' 的金额无效(交易费至少为 %s,以免交易滞留过久) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maximum size of data in data carrier transactions we relay and mine (default: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + 单笔钱包交易中最多使用的交易费,设置过低可能中止大笔交易 (默认: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) 通过DNS查询每个地址,如果短地址 (默认值: 1 除非 -连接) + + Require high priority for relaying free or low-fee transactions (default:%u) + 对交易免费或低交易费请求高优先级 (默认:%u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) 设置 高优先级/低交易费 交易的最大字节 (缺省: %d) + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + 设置比特币生成线程数 ( -1=所有核, 默认: %d) + + + 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. + 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. + + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + 要使用 bitcoind 或者 bitcoin-qt 中的 -server 选项,您必须在配置文件中设置一个密码: +%s +建议您使用下列随机密码: +rpcuser=bitcoinrpc +rpcpassword=%s +(您不需要记住这个密码) +用户名和密码不能相同。 +如果该文件不存在,创建一个文件并设置权限为仅创建者可读。 +此外,还建议您设置 alertnotify 以便您能注意到问题: +例如 alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + 警告:-maxtxfee 设置的太高了!每进行一笔交易时您都要花费这么多费用。 + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. + 警告:请检查电脑的日期时间设置是否正确!时间错误可能会导致比特币客户端运行异常。 + + + 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 + 白名单节点不能被DoS banned ,且转发所有来自他们的交易(即便这些交易已经存在于mempool中),常用于网关 + + + Accept public REST requests (default: %u) + 接受公共 REST 请求 (默认: %u) + Cannot resolve -whitebind address: '%s' 无法解析 -whitebind 地址: '%s' @@ -2833,10 +3165,22 @@ rpcpassword=%s Error loading wallet.dat: Wallet requires newer version of Bitcoin Core 加载wallet.dat错误:需要新版的比特币核心钱包 + + Error reading from database, shutting down. + 读取数据库出错,关闭中。 + + + Error: A fatal internal error occurred, see debug.log for details + 错误:发生了致命的内部错误,详情见 debug.log 文件 + Error: Unsupported argument -tor found, use -onion. 错误:发现了不支持的参数 -tor,请使用 -onion。 + + Fee (in BTC/kB) to add to transactions you send (default: %s) + 为付款交易添加交易费 (BTC/kb) (默认: %s) + Information 信息 @@ -2845,6 +3189,10 @@ rpcpassword=%s Initialization sanity check failed. Bitcoin Core is shutting down. 初始化完整性检查失败。Bitcoin Core 即将关闭。 + + Invalid amount for -maxtxfee=<amount>: '%s' + -maxtxfee=<amount>: '%s' 的金额无效 + Invalid amount for -minrelaytxfee=<amount>: '%s' -minrelaytxfee=<amount>: '%s' 无效的金额 @@ -2869,10 +3217,6 @@ rpcpassword=%s Node relay options: 节点中继选项: - - Print block on startup, if found in block index - 如果在搜索区块中找到,请启动打印区块 - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL选项:(见有关比特币设置用于SSL说明的维基百科) @@ -2881,6 +3225,10 @@ rpcpassword=%s RPC server options: RPC 服务器选项: + + RPC support for HTTP persistent connections (default: %d) + RPC 支持 HTTP 持久连接 (默认: %d) + Randomly drop 1 of every <n> network messages 随机每1个丢失测试<n>网络信息 @@ -2889,10 +3237,18 @@ rpcpassword=%s Randomly fuzz 1 of every <n> network messages 随机每1个模拟测试<n>网络信息 + + Receive and display P2P network alerts (default: %u) + 接收并显示 P2P 网络告警 (默认: %u) + Send trace/debug info to console instead of debug.log file 跟踪/调试信息输出到控制台,不输出到 debug.log 文件 + + Send transactions as zero-fee transactions if possible (default: %u) + 发送时尽可能 不支付交易费用 (默认: %u) + Show all debugging options (usage: --help -help-debug) 显示所有调试选项 (用法: --帮助 -帮助调试) @@ -2917,6 +3273,10 @@ rpcpassword=%s Transaction amounts must be positive 交易金额必须是积极的 + + Transaction too large for fee policy + 费用策略的交易太大 + Transaction too large 交易太大 @@ -3003,14 +3363,166 @@ rpcpassword=%s Error loading wallet.dat: Wallet corrupted wallet.dat 钱包文件加载出错:钱包损坏 + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = 保留 tx meta data , 如 account owner 和 payment request information, 2 = 不保留 tx meta data) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + + + How thorough the block verification of -checkblocks is (0-4, default: %u) + 数据块验证 严密级别 -checkblocks (0-4, 默认: %u) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + 挖矿时,记录交易优先级 和 每kb交易费 (默认: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + 维护一份完整的交易索引, 用于 getrawtransaction RPC调用 (默认: %u) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + 限制 非礼节点 若干秒内不能连接 (默认: %u) + + + Output debugging information (default: %u, supplying <category> is optional) + 输出调试信息 (默认: %u, 提供 <category> 是可选项) + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + 通过Tor隐藏服务连接节点时 使用不同的SOCKS5代理 (默认: %s) + + + (default: %s) + (默认: %s) + + + Acceptable ciphers (default: %s) + 可接受的密码算法 (默认: %s) + + + Disable safemode, override a real safe mode event (default: %u) + 禁止使用安全模式,重新写入一个真正的安全模式日志(默认: %u) + Error loading wallet.dat wallet.dat 钱包文件加载出错 + + Force safe mode (default: %u) + 强制安全模式 (默认: %u) + + + Generate coins (default: %u) + 生成比特币 (默认: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + 启动时检测多少个数据块(默认: %u, 0=所有) + + + Include IP addresses in debug output (default: %u) + 在调试输出中包含IP地址 (默认: %u) + Invalid -proxy address: '%s' 无效的代理地址:%s + + Limit size of signature cache to <n> entries (default: %u) + 签名缓冲区大小限制最多 <n> 条 (默认: %u) + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + 使用 <port>端口监听 JSON-RPC 连接 (默认: %u ; testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + 使用端口 <port> 监听连接 (默认: %u ; testnet: %u) + + + Maintain at most <n> connections to peers (default: %u) + 保留最多 <n> 条节点连接 (默认: %u) + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + 每个连接的最大接收缓存,<n>*1000 字节 (默认: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + 每个连接的最大发送缓存,<n>*1000 字节 (默认: %u) + + + Only accept block chain matching built-in checkpoints (default: %u) + 仅接受符合客户端检查点设置 的数据块链 (默认: %u) + + + Prepend debug output with timestamp (default: %u) + 输出调试信息时,前面加上时间戳 (默认: %u) + + + Relay and mine data carrier transactions (default: %u) + Relay and mine data carrier transactions (default: %u) + + + Relay non-P2SH multisig (default: %u) + 是否转发 非P2SH格式的多签名交易 (默认: %u) + + + Run a thread to flush wallet periodically (default: %u) + 运行一个线程,定时清理钱包 (默认: %u) + + + Server certificate file (default: %s) + 服务器证书文件 (默认: %s) + + + Server private key (default: %s) + 服务器私钥 (默认: %s) + + + Set key pool size to <n> (default: %u) + 设置私钥池大小为 <n> (默认:%u) + + + Set minimum block size in bytes (default: %u) + 设置数据块 最小字节数 (默认: %u) + + + Set the number of threads to service RPC calls (default: %d) + 设置RPC服务线程数 (默认: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + + + Specify configuration file (default: %s) + 指定配置文件 (默认: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + 指定连接超时毫秒数 (最小: 1, 默认: %d) + + + Specify pid file (default: %s) + 指定 pid 文件 (默认: %s) + + + Spend unconfirmed change when sending transactions (default: %u) + 付款时允许使用未确认的零钱 (默认: %u) + + + Stop running after importing blocks from disk (default: %u) + 从磁盘导入数据块后退出 (默认: %u) + + + Threshold for disconnecting misbehaving peers (default: %u) + 断开 非礼节点的阀值 (默认: %u) + Unknown network specified in -onlynet: '%s' -onlynet 指定的是未知网络:%s @@ -3027,10 +3539,6 @@ rpcpassword=%s Invalid amount for -paytxfee=<amount>: '%s' 非法金额 -paytxfee=<amount>: '%s' - - Invalid amount - 无效金额 - Insufficient funds 金额不足 @@ -3063,10 +3571,6 @@ rpcpassword=%s Done loading 加载完成 - - To use the %s option - 使用 %s 选项 - Error 错误 diff --git a/src/qt/locale/bitcoin_zh_HK.ts b/src/qt/locale/bitcoin_zh_HK.ts index 7062377f45e02..dfdbb7d1da052 100644 --- a/src/qt/locale/bitcoin_zh_HK.ts +++ b/src/qt/locale/bitcoin_zh_HK.ts @@ -1,4 +1,4 @@ - + AddressBookPage diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts index 56d598fc6496d..62e32c99c594f 100644 --- a/src/qt/locale/bitcoin_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -1,9 +1,9 @@ - + AddressBookPage - Double-click to edit address or label - 按兩下來編輯位址或標記 + Right-click to edit address or label + 右鍵點一下來修改位址或標記 Create a new address @@ -344,11 +344,11 @@ &Send - 付款 + 已傳送 &Receive - 收款 + 已接收 Show information about Bitcoin Core @@ -576,6 +576,14 @@ Address: %4 Amount 金額 + + Received with label + 收款標記 + + + Received with address + 收款位址 + Date 日期 @@ -796,7 +804,7 @@ Address: %4 FreespaceChecker A new data directory will be created. - 就要造出新的資料目錄。 + 就要產生新的資料目錄。 name @@ -1280,6 +1288,14 @@ Address: %4 Refund from %1 來自 %1 的退款 + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + 付款要求 %1 過大 (%2 位元組, 上限 %3 位元組). + + + Payment request DoS protection + 支付請求的分佈式阻斷服務攻擊DoS保護 + Error communicating with %1: %2 跟 %1 通訊時發生錯誤: %2 @@ -1842,7 +1858,7 @@ Address: %4 Choose... - 選擇... + 選項... collapse fee-settings @@ -1850,24 +1866,64 @@ Address: %4 Minimize - 最小化 + 縮小 + + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + 如果自訂手續費設定為 1000 satoshi, 而交易資料大小只有 250 個位元組的話,那麽選擇「每千位元組」就只會付 250 satoshi 的手續費,換做選「總共至少」就會付 1000 satoshi. 但是如果交易資料大小超過一千個位元組,那麽兩者都是每千位元組的費用。 per kilobyte 每千位元組 + + If the custom fee is set to 1000 satoshis and the transaction is only 250 bytes, then "per kilobyte" only pays 250 satoshis in fee, while "total at least" pays 1000 satoshis. For transactions bigger than a kilobyte both pay by kilobyte. + 如果自訂手續費設定為 1000 satoshi, 而交易資料大小只有 250 個位元組的話,那麽選擇「每千位元組」就只會付 250 satoshi 的手續費,換做選「總共至少」就會付 1000 satoshi. 但是如果交易資料大小超過一千個位元組,那麽兩者都是每千位元組的費用。 + + + total at least + 總共最少 + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process. + 當交易量少於區塊可容納的空間時,只付最低手續費不會有什麽問題。但是當交易量的需求成長到超過整體網路可以處理的量時,可能會造成一筆一直不會被確認的交易。 + (read the tooltip) (請看提示) + + Recommended: + 建議值: + + + Custom: + 自訂: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (手續費智慧演算法還沒準備好。通常都要等幾個區塊才行...) + Confirmation time: 確認時間: + + normal + 正常 + + + fast + 快速 + Send as zero-fee transaction if possible 盡可能送不用付手續費的交易 + + (confirmation may take longer) + (確認時間可能拉長) + Send to multiple recipients at once 一次付給多個收款人 @@ -1937,8 +1993,8 @@ Address: %4 複製找零金額 - Total Amount %1 (= %2) - 總金額 %1 (= %2) + Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> + 總金額 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> or @@ -1972,6 +2028,18 @@ Address: %4 The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. 交易被拒絕了!有時候會發生這種錯誤,是因為你錢包中的一些錢已經被花掉了。比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢,你現在所用的原來的錢包中,卻沒有那筆錢已經花掉的紀錄。 + + A fee higher than %1 is considered an insanely high fee. + 高於 %1 的手續費會被認為是不正常。 + + + Pay only the minimum fee of %1 + 只付最低手續費 %1 + + + Estimated to begin confirmation within %1 block(s). + 預計可在 %1 個區塊內開始確認。 + Warning: Invalid Bitcoin address 警告: 位元幣位址無效 @@ -2747,30 +2815,6 @@ Address: %4 Accept connections from outside (default: 1 if no -proxy or -connect) 是否接受外來連線(預設值: 當沒有 -proxy 或 -connect 時為 1) - - %s, you must set a rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - - %s, 你必須要在以下設定檔中設定 RPC 密碼(rpcpassword): -%s -建議你使用以下隨機產生的密碼: -rpcuser=bitcoinrpc -rpcpassword=%s -(你不用記住這個密碼) -使用者名稱(rpcuser)和密碼(rpcpassword)不可以相同! -如果還沒有這個設定檔,請在造出來的時候,設定檔案權限成「只有主人才能讀取」。 -也建議你設定警示通知,發生問題時你才會被通知到; -比如說設定成: -alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com - Bind to given address and always listen on it. Use [host]:port notation for IPv6 和指定的位址繫結,並且一直在指定位址聽候連線。IPv6 請用 [主機]:通訊埠 這種格式 @@ -2787,14 +2831,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Enter regression test mode, which uses a special chain in which blocks can be solved instantly. 進入回歸測試模式,使用可以立即解出區塊的特殊區塊鏈。 - - Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. - 錯誤: 交易被拒絕了!有時候會發生這種錯誤,是因為你錢包中的一些錢已經被花掉了。比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢,你現在所用的原來的錢包中,卻沒有那筆錢已經花掉的紀錄。 - - - Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! - 錯誤: 這筆交易需要至少 %s 的手續費!因為它的金額太大,或複雜度太高,或是使用了最近才剛收到的款項。 - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) 當錢包有交易改變時要執行的指令(指令中的 %s 會被取代成交易識別碼) @@ -2899,18 +2935,10 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error opening block database 打開區塊資料庫時發生錯誤 - - Error: A fatal internal error occured, see debug.log for details - 錯誤:一個致命的內部錯誤,到debug.log看更多細節 - Error: Disk space is low! 錯誤: 磁碟空間很少! - - Error: Wallet locked, unable to create transaction! - 錯誤: 錢包被上鎖了,沒辦法製造新的交易! - Failed to listen on any port. Use -listen=0 if you want this. 在任意的通訊埠聽候失敗。如果你希望這樣的話,可以設定 -listen=0. @@ -3031,14 +3059,30 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Fees (in BTC/Kb) smaller than this are considered zero fee for transaction creation (default: %s) 當製造交易時,如果每千位元組(Kb)的手續費比這個值低,就視為沒付手續費 (預設值: %s) + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + 當沒有設定 paytxfee 時,自動包含可以讓交易能在平均 n 個區塊內開始確認的手續費(預設值: %u) + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + -maxtxfee=<amount>: '%s' 的金額無效 (必須大於最低轉發手續費 %s 以避免交易無法確認) + Maximum size of data in data carrier transactions we relay and mine (default: %u) 轉發和開採時,對只帶資料的交易的大小上限(預設值: %u) + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + 一次錢包交易允許付出最高的總手續費,設定太低的話,可能會無法進行資料量大的交易(預設值: %s) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) 是否允許在節點位址數目不足時,使用域名查詢來搜尋節點 (預設值: 當沒用 -connect 時為 1) + + Require high priority for relaying free or low-fee transactions (default:%u) + 沒有手續費或手續費比較低的交易是否必須要是高優先權才會轉發(預設值: %u) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) 設定高優先度或低手續費的交易資料大小上限成多少位元組(預設值: %d) @@ -3051,6 +3095,34 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 Project 所開發的 OpenSSL Toolkit 軟體 <https://www.openssl.org/>, 和由 Eric Young 撰寫的加解密軟體,以及由 Thomas Bernard 所撰寫的 UPnP 軟體。 + + To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: +%s +It is recommended you use the following random password: +rpcuser=bitcoinrpc +rpcpassword=%s +(you do not need to remember this password) +The username and password MUST NOT be the same. +If the file does not exist, create it with owner-readable-only file permissions. +It is also recommended to set alertnotify so you are notified of problems; +for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + 要使用 bitcoind, 或是對 bitcoin-qt 指定 -server 選項,你必須要在以下設定檔中設定 RPC 密碼(選項: rpcpassword): +%s +建議你使用以下隨機產生的密碼: +rpcuser=bitcoinrpc +rpcpassword=%s +(你不用記住這個密碼) +注意使用者名稱(rpcuser)和密碼(rpcpassword)不可以相同! +如果設定檔還不存在,請在新增時,設定檔案權限為"只有主人才能讀取"。 +也建議你設定警示通知,這樣發生問題時你才會被通知到; +比如說設定: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com + + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + 警告: -maxtxfee 設定了很高的金額!這可是一次交易就有可能付出的最高手續費。 + Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly. 警告: 請檢查電腦日期和時間是否正確!位元幣核心沒辦法在時鐘不準的情況下正常運作。 @@ -3059,6 +3131,10 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com 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 在白名單中的節點不會因為偵測到阻斷服務攻擊而被停用。來自這些節點的交易也一定會被轉發,即使說交易本來就在記憶池裡了也一樣。適用於像是閘道伺服器。 + + Accept public REST requests (default: %u) + 接受公開的REST請求 (預設值: %u) + Cannot resolve -whitebind address: '%s' 沒辦法解析 -whitebind 指定的位址: '%s' @@ -3079,6 +3155,14 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Error loading wallet.dat: Wallet requires newer version of Bitcoin Core 載入 wallet.dat 檔案時發生錯誤: 這個錢包需要新版的位元幣核心 + + Error reading from database, shutting down. + 讀取資料庫時發生錯誤,要關閉了。 + + + Error: A fatal internal error occurred, see debug.log for details + 錯誤:發生了致命的內部錯誤,細節請看 debug.log + Error: Unsupported argument -tor found, use -onion. 錯誤: 找到不再支援的 -tor 參數,請改用 -onion 參數。 @@ -3093,7 +3177,11 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Initialization sanity check failed. Bitcoin Core is shutting down. - 初始化時的基本檢查失敗了。位元幣核心將會關閉。 + 初始化時的基本檢查失敗了。位元幣核心就要關閉了。 + + + Invalid amount for -maxtxfee=<amount>: '%s' + -maxtxfee=<amount>: '%s' 的金額無效 Invalid amount for -minrelaytxfee=<amount>: '%s' @@ -3111,10 +3199,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid netmask specified in -whitelist: '%s' 指定在 -whitelist 的網段無效: '%s' - - Keep at most <n> unconnectable blocks in memory (default: %u) - 在記憶體中保存最多 <n> 個不和其他區塊相連結的區塊(預設值 : %u) - Keep at most <n> unconnectable transactions in memory (default: %u) 保持最多 <n> 無法連結的交易在記憶體 (預設: %u) @@ -3127,10 +3211,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Node relay options: 節點轉發選項: - - Print block on startup, if found in block index - 啟動時輸出指定的區塊內容,如果有在區塊索引中找到的話 - RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions) RPC SSL 選項: (SSL 設定程序請見 Bitcoin Wiki) @@ -3139,6 +3219,10 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com RPC server options: RPC 伺服器選項: + + RPC support for HTTP persistent connections (default: %d) + RPC 是否支援 HTTP 持久連線(預設值: %d) + Randomly drop 1 of every <n> network messages 隨機丟掉 <n> 分之一的網路訊息 @@ -3147,6 +3231,10 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Randomly fuzz 1 of every <n> network messages 隨機亂動 <n> 分之一的網路訊息裡的資料 + + Receive and display P2P network alerts (default: %u) + 接收並顯示 P2P 網路警示 (預設值: %u) + Send trace/debug info to console instead of debug.log file 在終端機顯示追蹤或除錯資訊,而不是寫到檔案 debug.log 中 @@ -3179,6 +3267,10 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Transaction amounts must be positive 交易金額必須是正的 + + Transaction too large for fee policy + 根據交易手續費準則,本交易的位元量過大 + Transaction too large 交易位元量太大 @@ -3275,10 +3367,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com How thorough the block verification of -checkblocks is (0-4, default: %u) 使用 -checkblocks 檢查區塊的仔細程度(0 到 4,預設值: %u) - - If paytxfee is not set, include enough fee so transactions are confirmed on average within n blocks (default: %u) - 當沒有設定 paytxfee 時,自動包含可以讓交易能在平均 n 個區塊內確認的手續費(預設值: %u) - Log transaction priority and fee per kB when mining blocks (default: %u) 開採區塊的時候,紀錄交易的優先度以及每千位元組(kB)的手續費(預設值: %u) @@ -3371,10 +3459,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Prepend debug output with timestamp (default: %u) 在除錯輸出內容前附加時間(預設值: %u) - - Print block tree on startup (default: %u) - 啟動時輸出區塊樹(預設值: %u) - Relay and mine data carrier transactions (default: %u) 允許轉發和開採只帶資料的交易(預設值: %u) @@ -3451,10 +3535,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Invalid amount for -paytxfee=<amount>: '%s' 設定 -paytxfee=<金額> 的金額無效: '%s' - - Invalid amount - 無效的金額 - Insufficient funds 累積金額不足 @@ -3487,10 +3567,6 @@ alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com Done loading 載入完成 - - To use the %s option - 為了要使用 %s 選項 - Error 錯誤 diff --git a/src/qt/macdockiconhandler.h b/src/qt/macdockiconhandler.h index 1ffab75c9a114..7c60908876e73 100644 --- a/src/qt/macdockiconhandler.h +++ b/src/qt/macdockiconhandler.h @@ -14,12 +14,6 @@ class QMenu; class QWidget; QT_END_NAMESPACE -#ifdef __OBJC__ -@class DockIconClickEventHandler; -#else -class DockIconClickEventHandler; -#endif - /** Macintosh-specific dock icon handler. */ class MacDockIconHandler : public QObject @@ -33,7 +27,7 @@ class MacDockIconHandler : public QObject void setIcon(const QIcon &icon); void setMainWindow(QMainWindow *window); static MacDockIconHandler *instance(); - + static void cleanup(); void handleDockIconClickEvent(); signals: @@ -42,7 +36,6 @@ class MacDockIconHandler : public QObject private: MacDockIconHandler(); - DockIconClickEventHandler *m_dockIconClickEventHandler; QWidget *m_dummyWidget; QMenu *m_dockMenu; QMainWindow *mainWindow; diff --git a/src/qt/macdockiconhandler.mm b/src/qt/macdockiconhandler.mm index a2ff148d9dad1..e66154f144f83 100644 --- a/src/qt/macdockiconhandler.mm +++ b/src/qt/macdockiconhandler.mm @@ -11,52 +11,46 @@ #undef slots #include +#include +#include #if QT_VERSION < 0x050000 extern void qt_mac_set_dock_menu(QMenu *); #endif -@interface DockIconClickEventHandler : NSObject -{ - MacDockIconHandler* dockIconHandler; -} - -@end +static MacDockIconHandler *s_instance = NULL; -@implementation DockIconClickEventHandler - -- (id)initWithDockIconHandler:(MacDockIconHandler *)aDockIconHandler -{ - self = [super init]; - if (self) { - dockIconHandler = aDockIconHandler; - - [[NSAppleEventManager sharedAppleEventManager] - setEventHandler:self - andSelector:@selector(handleDockClickEvent:withReplyEvent:) - forEventClass:kCoreEventClass - andEventID:kAEReopenApplication]; - } - return self; +bool dockClickHandler(id self,SEL _cmd,...) { + Q_UNUSED(self) + Q_UNUSED(_cmd) + + s_instance->handleDockIconClickEvent(); + + // Return NO (false) to suppress the default OS X actions + return false; } -- (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent -{ - Q_UNUSED(event) - Q_UNUSED(replyEvent) - - if (dockIconHandler) { - dockIconHandler->handleDockIconClickEvent(); +void setupDockClickHandler() { + Class cls = objc_getClass("NSApplication"); + id appInst = objc_msgSend((id)cls, sel_registerName("sharedApplication")); + + if (appInst != NULL) { + id delegate = objc_msgSend(appInst, sel_registerName("delegate")); + Class delClass = (Class)objc_msgSend(delegate, sel_registerName("class")); + SEL shouldHandle = sel_registerName("applicationShouldHandleReopen:hasVisibleWindows:"); + if (class_getInstanceMethod(delClass, shouldHandle)) + class_replaceMethod(delClass, shouldHandle, (IMP)dockClickHandler, "B@:"); + else + class_addMethod(delClass, shouldHandle, (IMP)dockClickHandler,"B@:"); } } -@end MacDockIconHandler::MacDockIconHandler() : QObject() { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - this->m_dockIconClickEventHandler = [[DockIconClickEventHandler alloc] initWithDockIconHandler:this]; + setupDockClickHandler(); this->m_dummyWidget = new QWidget(); this->m_dockMenu = new QMenu(this->m_dummyWidget); this->setMainWindow(NULL); @@ -74,7 +68,6 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp MacDockIconHandler::~MacDockIconHandler() { - [this->m_dockIconClickEventHandler release]; delete this->m_dummyWidget; this->setMainWindow(NULL); } @@ -119,12 +112,16 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp MacDockIconHandler *MacDockIconHandler::instance() { - static MacDockIconHandler *s_instance = NULL; if (!s_instance) s_instance = new MacDockIconHandler(); return s_instance; } +void MacDockIconHandler::cleanup() +{ + delete s_instance; +} + void MacDockIconHandler::handleDockIconClickEvent() { if (this->mainWindow) diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index bd3dab41a8f2d..8a39beb1f5e34 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -667,8 +667,7 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply) // BIP70 DoS protection if (reply->size() > BIP70_MAX_PAYMENTREQUEST_SIZE) { - QString msg = tr("Payment request %2 is too large (%3 bytes, allowed %4 bytes).") - .arg(__func__) + QString msg = tr("Payment request %1 is too large (%2 bytes, allowed %3 bytes).") .arg(reply->request().url().toString()) .arg(reply->size()) .arg(BIP70_MAX_PAYMENTREQUEST_SIZE); @@ -744,6 +743,6 @@ void PaymentServer::setOptionsModel(OptionsModel *optionsModel) void PaymentServer::handlePaymentACK(const QString& paymentACKMsg) { - // currently we don't futher process or store the paymentACK message + // currently we don't further process or store the paymentACK message emit message(tr("Payment acknowledged"), paymentACKMsg, CClientUIInterface::ICON_INFORMATION | CClientUIInterface::MODAL); } diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 2d2d448b49f46..1d7f10b49b3d0 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -556,7 +556,7 @@ void RPCConsole::peerLayoutChanged() if (detailNodeRow < 0) { - // detail node dissapeared from table (node disconnected) + // detail node disappeared from table (node disconnected) fUnselect = true; cachedNodeid = -1; ui->detailWidget->hide(); diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 46eb58ca43940..c5f885f7efdd3 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -305,9 +305,9 @@ void SendCoinsDialog::on_sendButton_clicked() if(u != model->getOptionsModel()->getDisplayUnit()) alternativeUnits.append(BitcoinUnits::formatHtmlWithUnit(u, totalAmount)); } - questionString.append(tr("Total Amount %1 (= %2)") + questionString.append(tr("Total Amount %1
(=%2)
") .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount)) - .arg(alternativeUnits.join(" " + tr("or") + " "))); + .arg(alternativeUnits.join(" " + tr("or") + "
"))); QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), questionString.arg(formatted.join("
")), diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index b4b81440ca810..fed8e15fb52b2 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -37,7 +37,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) QString copyrightText = QChar(0xA9)+QString(" 2009-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Bitcoin Core developers")); QString titleAddText = networkStyle->getTitleAddText(); - QString font = "Arial"; + QString font = QApplication::font().toString(); // load the bitmap for writing some text over it pixmap = networkStyle->getSplashImage(); diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index f2161c2f7931a..7d7282db1718e 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -6,6 +6,7 @@ #include "config/bitcoin-config.h" #endif +#include "util.h" #include "uritests.h" #ifdef ENABLE_WALLET @@ -27,6 +28,7 @@ Q_IMPORT_PLUGIN(qkrcodecs) // This is all you need to run all the tests int main(int argc, char *argv[]) { + SetupEnvironment(); bool fInvalid = false; // Don't remove this, it's needed to access diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index 45899d3db5330..37465eedd027a 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -288,8 +288,7 @@ Value prioritisetransaction(const Array& params, bool fHelp) + HelpExampleRpc("prioritisetransaction", "\"txid\", 0.0, 10000") ); - uint256 hash; - hash.SetHex(params[0].get_str()); + uint256 hash = ParseHashStr(params[0].get_str(), "txid"); CAmount nAmount = params[2].get_int64(); @@ -638,14 +637,19 @@ Value submitblock(const Array& params, bool fHelp) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed"); uint256 hash = block.GetHash(); - BlockMap::iterator mi = mapBlockIndex.find(hash); - if (mi != mapBlockIndex.end()) { - CBlockIndex *pindex = mi->second; - if (pindex->IsValid(BLOCK_VALID_SCRIPTS)) - return "duplicate"; - if (pindex->nStatus & BLOCK_FAILED_MASK) - return "duplicate-invalid"; - // Otherwise, we might only have the header - process the block before returning + bool fBlockPresent = false; + { + LOCK(cs_main); + BlockMap::iterator mi = mapBlockIndex.find(hash); + if (mi != mapBlockIndex.end()) { + CBlockIndex *pindex = mi->second; + if (pindex->IsValid(BLOCK_VALID_SCRIPTS)) + return "duplicate"; + if (pindex->nStatus & BLOCK_FAILED_MASK) + return "duplicate-invalid"; + // Otherwise, we might only have the header - process the block before returning + fBlockPresent = true; + } } CValidationState state; @@ -653,7 +657,7 @@ Value submitblock(const Array& params, bool fHelp) RegisterValidationInterface(&sc); bool fAccepted = ProcessNewBlock(state, NULL, &block); UnregisterValidationInterface(&sc); - if (mi != mapBlockIndex.end()) + if (fBlockPresent) { if (fAccepted && !sc.found) return "duplicate-inconclusive"; @@ -674,7 +678,7 @@ Value estimatefee(const Array& params, bool fHelp) throw runtime_error( "estimatefee nblocks\n" "\nEstimates the approximate fee per kilobyte\n" - "needed for a transaction to get confirmed\n" + "needed for a transaction to begin confirmation\n" "within nblocks blocks.\n" "\nArguments:\n" "1. nblocks (numeric)\n" @@ -706,7 +710,7 @@ Value estimatepriority(const Array& params, bool fHelp) throw runtime_error( "estimatepriority nblocks\n" "\nEstimates the approximate priority\n" - "a zero-fee transaction needs to get confirmed\n" + "a zero-fee transaction needs to begin confirmation\n" "within nblocks blocks.\n" "\nArguments:\n" "1. nblocks (numeric)\n" diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index 90b9c99caa0ba..5842f6a2dab71 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -213,6 +213,8 @@ CScript _createmultisig_redeemScript(const Array& params) throw runtime_error( strprintf("not enough keys supplied " "(got %u keys, but need at least %d to redeem)", keys.size(), nRequired)); + if (keys.size() > 16) + throw runtime_error("Number of addresses involved in the multisignature address creation > 16\nReduce the number"); std::vector pubkeys; pubkeys.resize(keys.size()); for (unsigned int i = 0; i < keys.size(); i++) diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 8de15ff9e2f7e..e243dae421e53 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -287,7 +287,7 @@ Value listunspent(const Array& params, bool fHelp) if (pk.IsPayToScriptHash()) { CTxDestination address; if (ExtractDestination(pk, address)) { - const CScriptID& hash = boost::get(address); + const CScriptID& hash = boost::get(address); CScript redeemScript; if (pwalletMain->GetCScript(hash, redeemScript)) entry.push_back(Pair("redeemScript", HexStr(redeemScript.begin(), redeemScript.end()))); @@ -587,6 +587,8 @@ Value signrawtransaction(const Array& params, bool fHelp) if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); CKey key = vchSecret.GetKey(); + if (!key.IsValid()) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Private key outside allowed range"); tempKeystore.AddKey(key); } } @@ -688,7 +690,7 @@ Value signrawtransaction(const Array& params, bool fHelp) BOOST_FOREACH(const CMutableTransaction& txv, txVariants) { txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, txv.vin[i].scriptSig); } - if (!VerifyScript(txin.scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, SignatureChecker(mergedTx, i))) + if (!VerifyScript(txin.scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, MutableTransactionSignatureChecker(&mergedTx, i))) fComplete = false; } diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp index 252b0866a2f47..41fc274eef0ba 100644 --- a/src/rpcserver.cpp +++ b/src/rpcserver.cpp @@ -644,20 +644,22 @@ void StartRPCThreads() vEndpoints.push_back(ip::tcp::endpoint(asio::ip::address_v6::any(), defaultPort)); vEndpoints.push_back(ip::tcp::endpoint(asio::ip::address_v4::any(), defaultPort)); // Prefer making the socket dual IPv6/IPv4 instead of binding - // to both addresses seperately. + // to both addresses separately. bBindAny = true; } bool fListening = false; std::string strerr; + std::string straddress; BOOST_FOREACH(const ip::tcp::endpoint &endpoint, vEndpoints) { - asio::ip::address bindAddress = endpoint.address(); - LogPrintf("Binding RPC on address %s port %i (IPv4+IPv6 bind any: %i)\n", bindAddress.to_string(), endpoint.port(), bBindAny); - boost::system::error_code v6_only_error; - boost::shared_ptr acceptor(new ip::tcp::acceptor(*rpc_io_service)); - try { + asio::ip::address bindAddress = endpoint.address(); + straddress = bindAddress.to_string(); + LogPrintf("Binding RPC on address %s port %i (IPv4+IPv6 bind any: %i)\n", straddress, endpoint.port(), bBindAny); + boost::system::error_code v6_only_error; + boost::shared_ptr acceptor(new ip::tcp::acceptor(*rpc_io_service)); + acceptor->open(endpoint.protocol()); acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); @@ -678,8 +680,8 @@ void StartRPCThreads() } catch(boost::system::system_error &e) { - LogPrintf("ERROR: Binding RPC on address %s port %i failed: %s\n", bindAddress.to_string(), endpoint.port(), e.what()); - strerr = strprintf(_("An error occurred while setting up the RPC address %s port %u for listening: %s"), bindAddress.to_string(), endpoint.port(), e.what()); + LogPrintf("ERROR: Binding RPC on address %s port %i failed: %s\n", straddress, endpoint.port(), e.what()); + strerr = strprintf(_("An error occurred while setting up the RPC address %s port %u for listening: %s"), straddress, endpoint.port(), e.what()); } } @@ -818,7 +820,7 @@ void JSONRequest::parse(const Value& valRequest) throw JSONRPCError(RPC_INVALID_REQUEST, "Method must be a string"); strMethod = valMethod.get_str(); if (strMethod != "getblocktemplate") - LogPrint("rpc", "ThreadRPCServer method=%s\n", strMethod); + LogPrint("rpc", "ThreadRPCServer method=%s\n", SanitizeString(strMethod)); // Parse params Value valParams = find_value(request, "params"); @@ -952,7 +954,7 @@ void ServiceConnection(AcceptedConnection *conn) ReadHTTPMessage(conn->stream(), mapHeaders, strRequest, nProto, MAX_SIZE); // HTTP Keep-Alive is false; close connection immediately - if (mapHeaders["connection"] == "close") + if ((mapHeaders["connection"] == "close") || (!GetBoolArg("-rpckeepalive", true))) fRun = false; // Process via JSON-RPC API diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index e43eee1551a04..f9839546ec196 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -665,12 +665,12 @@ Value getbalance(const Array& params, bool fHelp) if (params[0].get_str() == "*") { // Calculate total balance a different way from GetBalance() // (GetBalance() sums up all unspent TxOuts) - // getbalance and getbalance '*' 0 should return the same number + // getbalance and "getbalance * 1 true" should return the same number CAmount nBalance = 0; for (map::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it) { const CWalletTx& wtx = (*it).second; - if (!wtx.IsTrusted() || wtx.GetBlocksToMaturity() > 0) + if (!IsFinalTx(wtx) || wtx.GetBlocksToMaturity() > 0 || wtx.GetDepthInMainChain() < 0) continue; CAmount allFee; @@ -719,7 +719,7 @@ Value movecmd(const Array& params, bool fHelp) "3. minconf (numeric, optional, default=1) Only use funds with at least this many confirmations.\n" "4. \"comment\" (string, optional) An optional comment, stored in the wallet only.\n" "\nResult:\n" - "true|false (boolean) true if successfull.\n" + "true|false (boolean) true if successful.\n" "\nExamples:\n" "\nMove 0.01 btc from the default account to the account named tabby\n" + HelpExampleCli("move", "\"\" \"tabby\" 0.01") + diff --git a/src/script/bitcoinconsensus.cpp b/src/script/bitcoinconsensus.cpp index d4fd2ad7d9b1c..f0d7e54e77fec 100644 --- a/src/script/bitcoinconsensus.cpp +++ b/src/script/bitcoinconsensus.cpp @@ -78,8 +78,8 @@ int bitcoinconsensus_verify_script(const unsigned char *scriptPubKey, unsigned i // Regardless of the verification result, the tx did not error. set_error(err, bitcoinconsensus_ERR_OK); - return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), flags, SignatureChecker(tx, nIn), NULL); - } catch (std::exception &e) { + return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), flags, TransactionSignatureChecker(&tx, nIn), NULL); + } catch (const std::exception&) { return set_error(err, bitcoinconsensus_ERR_TX_DESERIALIZE); // Error deserializing } } diff --git a/src/script/bitcoinconsensus.h b/src/script/bitcoinconsensus.h index 15e3337a8dedc..70daae85aed88 100644 --- a/src/script/bitcoinconsensus.h +++ b/src/script/bitcoinconsensus.h @@ -44,8 +44,10 @@ typedef enum bitcoinconsensus_error_t /** Script verification flags */ enum { - bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, - bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), // enforce strict DER (BIP66) compliance + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), // enable CHECKLOCKTIMEVERIFY (BIP65) }; /// Returns 1 if the input nIn of the serialized transaction pointed to by diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index 3231f2e74e53b..2150d014a32f9 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -93,76 +93,76 @@ bool static IsCompressedOrUncompressedPubKey(const valtype &vchPubKey) { * in which case a single 0 byte is necessary and even required). * * See https://bitcointalk.org/index.php?topic=8392.msg127623#msg127623 + * + * This function is consensus-critical since BIP66. */ -bool static IsDERSignature(const valtype &vchSig) { +bool static IsValidSignatureEncoding(const std::vector &sig) { + // Format: 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S] [sighash] + // * total-length: 1-byte length descriptor of everything that follows, + // excluding the sighash byte. + // * R-length: 1-byte length descriptor of the R value that follows. + // * R: arbitrary-length big-endian encoded R value. It must use the shortest + // possible encoding for a positive integers (which means no null bytes at + // the start, except a single one when the next byte has its highest bit set). + // * S-length: 1-byte length descriptor of the S value that follows. + // * S: arbitrary-length big-endian encoded S value. The same rules apply. + // * sighash: 1-byte value indicating what data is hashed (not part of the DER + // signature) - if (vchSig.size() < 9) { - // Non-canonical signature: too short - return false; - } - if (vchSig.size() > 73) { - // Non-canonical signature: too long - return false; - } - if (vchSig[0] != 0x30) { - // Non-canonical signature: wrong type - return false; - } - if (vchSig[1] != vchSig.size()-3) { - // Non-canonical signature: wrong length marker - return false; - } - unsigned int nLenR = vchSig[3]; - if (5 + nLenR >= vchSig.size()) { - // Non-canonical signature: S length misplaced - return false; - } - unsigned int nLenS = vchSig[5+nLenR]; - if ((unsigned long)(nLenR+nLenS+7) != vchSig.size()) { - // Non-canonical signature: R+S length mismatch - return false; - } + // Minimum and maximum size constraints. + if (sig.size() < 9) return false; + if (sig.size() > 73) return false; - const unsigned char *R = &vchSig[4]; - if (R[-2] != 0x02) { - // Non-canonical signature: R value type mismatch - return false; - } - if (nLenR == 0) { - // Non-canonical signature: R length is zero - return false; - } - if (R[0] & 0x80) { - // Non-canonical signature: R value negative - return false; - } - if (nLenR > 1 && (R[0] == 0x00) && !(R[1] & 0x80)) { - // Non-canonical signature: R value excessively padded - return false; - } + // A signature is of type 0x30 (compound). + if (sig[0] != 0x30) return false; + + // Make sure the length covers the entire signature. + if (sig[1] != sig.size() - 3) return false; + + // Extract the length of the R element. + unsigned int lenR = sig[3]; + + // Make sure the length of the S element is still inside the signature. + if (5 + lenR >= sig.size()) return false; + + // Extract the length of the S element. + unsigned int lenS = sig[5 + lenR]; + + // Verify that the length of the signature matches the sum of the length + // of the elements. + if ((size_t)(lenR + lenS + 7) != sig.size()) return false; + + // Check whether the R element is an integer. + if (sig[2] != 0x02) return false; + + // Zero-length integers are not allowed for R. + if (lenR == 0) return false; + + // Negative numbers are not allowed for R. + if (sig[4] & 0x80) return false; + + // Null bytes at the start of R are not allowed, unless R would + // otherwise be interpreted as a negative number. + if (lenR > 1 && (sig[4] == 0x00) && !(sig[5] & 0x80)) return false; + + // Check whether the S element is an integer. + if (sig[lenR + 4] != 0x02) return false; + + // Zero-length integers are not allowed for S. + if (lenS == 0) return false; + + // Negative numbers are not allowed for S. + if (sig[lenR + 6] & 0x80) return false; + + // Null bytes at the start of S are not allowed, unless S would otherwise be + // interpreted as a negative number. + if (lenS > 1 && (sig[lenR + 6] == 0x00) && !(sig[lenR + 7] & 0x80)) return false; - const unsigned char *S = &vchSig[6+nLenR]; - if (S[-2] != 0x02) { - // Non-canonical signature: S value type mismatch - return false; - } - if (nLenS == 0) { - // Non-canonical signature: S length is zero - return false; - } - if (S[0] & 0x80) { - // Non-canonical signature: S value negative - return false; - } - if (nLenS > 1 && (S[0] == 0x00) && !(S[1] & 0x80)) { - // Non-canonical signature: S value excessively padded - return false; - } return true; } bool static IsLowDERSignature(const valtype &vchSig, ScriptError* serror) { - if (!IsDERSignature(vchSig)) { + if (!IsValidSignatureEncoding(vchSig)) { return set_error(serror, SCRIPT_ERR_SIG_DER); } unsigned int nLenR = vchSig[3]; @@ -189,7 +189,12 @@ bool static IsDefinedHashtypeSignature(const valtype &vchSig) { } bool static CheckSignatureEncoding(const valtype &vchSig, unsigned int flags, ScriptError* serror) { - if ((flags & (SCRIPT_VERIFY_DERSIG | SCRIPT_VERIFY_LOW_S | SCRIPT_VERIFY_STRICTENC)) != 0 && !IsDERSignature(vchSig)) { + // Empty signature. Not strictly DER encoded, but allowed to provide a + // compact way to provide an invalid signature for use with CHECK(MULTI)SIG + if (vchSig.size() == 0) { + return true; + } + if ((flags & (SCRIPT_VERIFY_DERSIG | SCRIPT_VERIFY_LOW_S | SCRIPT_VERIFY_STRICTENC)) != 0 && !IsValidSignatureEncoding(vchSig)) { return set_error(serror, SCRIPT_ERR_SIG_DER); } else if ((flags & SCRIPT_VERIFY_LOW_S) != 0 && !IsLowDERSignature(vchSig, serror)) { // serror is set @@ -330,9 +335,51 @@ bool EvalScript(vector >& stack, const CScript& script, un // Control // case OP_NOP: - break; + break; + + case OP_CHECKLOCKTIMEVERIFY: + { + if (!(flags & SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY)) { + // not enabled; treat as a NOP2 + if (flags & SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) { + return set_error(serror, SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS); + } + break; + } + + if (stack.size() < 1) + return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION); - case OP_NOP1: case OP_NOP2: case OP_NOP3: case OP_NOP4: case OP_NOP5: + // Note that elsewhere numeric opcodes are limited to + // operands in the range -2**31+1 to 2**31-1, however it is + // legal for opcodes to produce results exceeding that + // range. This limitation is implemented by CScriptNum's + // default 4-byte limit. + // + // If we kept to that limit we'd have a year 2038 problem, + // even though the nLockTime field in transactions + // themselves is uint32 which only becomes meaningless + // after the year 2106. + // + // Thus as a special case we tell CScriptNum to accept up + // to 5-byte bignums, which are good until 2**39-1, well + // beyond the 2**32-1 limit of the nLockTime field itself. + const CScriptNum nLockTime(stacktop(-1), fRequireMinimal, 5); + + // In the rare event that the argument may be < 0 due to + // some arithmetic being done first, you can always use + // 0 MAX CHECKLOCKTIMEVERIFY. + if (nLockTime < 0) + return set_error(serror, SCRIPT_ERR_NEGATIVE_LOCKTIME); + + // Actually compare the specified lock time with the transaction. + if (!checker.CheckLockTime(nLockTime)) + return set_error(serror, SCRIPT_ERR_UNSATISFIED_LOCKTIME); + + break; + } + + case OP_NOP1: case OP_NOP3: case OP_NOP4: case OP_NOP5: case OP_NOP6: case OP_NOP7: case OP_NOP8: case OP_NOP9: case OP_NOP10: { if (flags & SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) @@ -1052,12 +1099,12 @@ uint256 SignatureHash(const CScript& scriptCode, const CTransaction& txTo, unsig return ss.GetHash(); } -bool SignatureChecker::VerifySignature(const std::vector& vchSig, const CPubKey& pubkey, const uint256& sighash) const +bool TransactionSignatureChecker::VerifySignature(const std::vector& vchSig, const CPubKey& pubkey, const uint256& sighash) const { return pubkey.Verify(sighash, vchSig); } -bool SignatureChecker::CheckSig(const vector& vchSigIn, const vector& vchPubKey, const CScript& scriptCode) const +bool TransactionSignatureChecker::CheckSig(const vector& vchSigIn, const vector& vchPubKey, const CScript& scriptCode) const { CPubKey pubkey(vchPubKey); if (!pubkey.IsValid()) @@ -1070,7 +1117,7 @@ bool SignatureChecker::CheckSig(const vector& vchSigIn, const vec int nHashType = vchSig.back(); vchSig.pop_back(); - uint256 sighash = SignatureHash(scriptCode, txTo, nIn, nHashType); + uint256 sighash = SignatureHash(scriptCode, *txTo, nIn, nHashType); if (!VerifySignature(vchSig, pubkey, sighash)) return false; @@ -1078,6 +1125,43 @@ bool SignatureChecker::CheckSig(const vector& vchSigIn, const vec return true; } +bool TransactionSignatureChecker::CheckLockTime(const CScriptNum& nLockTime) const +{ + // There are two times of nLockTime: lock-by-blockheight + // and lock-by-blocktime, distinguished by whether + // nLockTime < LOCKTIME_THRESHOLD. + // + // We want to compare apples to apples, so fail the script + // unless the type of nLockTime being tested is the same as + // the nLockTime in the transaction. + if (!( + (txTo->nLockTime < LOCKTIME_THRESHOLD && nLockTime < LOCKTIME_THRESHOLD) || + (txTo->nLockTime >= LOCKTIME_THRESHOLD && nLockTime >= LOCKTIME_THRESHOLD) + )) + return false; + + // Now that we know we're comparing apples-to-apples, the + // comparison is a simple numeric one. + if (nLockTime > (int64_t)txTo->nLockTime) + return false; + + // Finally the nLockTime feature can be disabled and thus + // CHECKLOCKTIMEVERIFY bypassed if every txin has been + // finalized by setting nSequence to maxint. The + // transaction would be allowed into the blockchain, making + // the opcode ineffective. + // + // Testing if this vin is not final is sufficient to + // prevent this condition. Alternatively we could test all + // inputs, but testing just this input minimizes the data + // required to prove correct CHECKLOCKTIMEVERIFY execution. + if (txTo->vin[nIn].IsFinal()) + return false; + + return true; +} + + bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, unsigned int flags, const BaseSignatureChecker& checker, ScriptError* serror) { set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR); diff --git a/src/script/interpreter.h b/src/script/interpreter.h index 35b2f6c65a1c3..9f76d69a466d7 100644 --- a/src/script/interpreter.h +++ b/src/script/interpreter.h @@ -7,6 +7,7 @@ #define BITCOIN_SCRIPT_INTERPRETER_H #include "script_error.h" +#include "primitives/transaction.h" #include #include @@ -67,8 +68,12 @@ enum // discouraged NOPs fails the script. This verification flag will never be // a mandatory flag applied to scripts in a block. NOPs that are not // executed, e.g. within an unexecuted IF ENDIF block, are *not* rejected. - SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7) + SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7), + // Verify CHECKLOCKTIMEVERIFY + // + // See BIP65 for details. + SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), }; uint256 SignatureHash(const CScript &scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType); @@ -81,21 +86,36 @@ class BaseSignatureChecker return false; } + virtual bool CheckLockTime(const CScriptNum& nLockTime) const + { + return false; + } + virtual ~BaseSignatureChecker() {} }; -class SignatureChecker : public BaseSignatureChecker +class TransactionSignatureChecker : public BaseSignatureChecker { private: - const CTransaction& txTo; + const CTransaction* txTo; unsigned int nIn; protected: virtual bool VerifySignature(const std::vector& vchSig, const CPubKey& vchPubKey, const uint256& sighash) const; public: - SignatureChecker(const CTransaction& txToIn, unsigned int nInIn) : txTo(txToIn), nIn(nInIn) {} + TransactionSignatureChecker(const CTransaction* txToIn, unsigned int nInIn) : txTo(txToIn), nIn(nInIn) {} bool CheckSig(const std::vector& scriptSig, const std::vector& vchPubKey, const CScript& scriptCode) const; + bool CheckLockTime(const CScriptNum& nLockTime) const; +}; + +class MutableTransactionSignatureChecker : public TransactionSignatureChecker +{ +private: + const CTransaction txTo; + +public: + MutableTransactionSignatureChecker(const CMutableTransaction* txToIn, unsigned int nInIn) : TransactionSignatureChecker(&txTo, nInIn), txTo(*txToIn) {} }; bool EvalScript(std::vector >& stack, const CScript& script, unsigned int flags, const BaseSignatureChecker& checker, ScriptError* error = NULL); diff --git a/src/script/script.h b/src/script/script.h index 9c22cb908cfd1..54d98a0786006 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -17,6 +17,10 @@ static const unsigned int MAX_SCRIPT_ELEMENT_SIZE = 520; // bytes +// Threshold for nLockTime: below this value it is interpreted as block number, +// otherwise as UNIX timestamp. +static const unsigned int LOCKTIME_THRESHOLD = 500000000; // Tue Nov 5 00:53:20 1985 UTC + template std::vector ToByteVector(const T& in) { @@ -149,6 +153,7 @@ enum opcodetype // expansion OP_NOP1 = 0xb0, OP_NOP2 = 0xb1, + OP_CHECKLOCKTIMEVERIFY = OP_NOP2, OP_NOP3 = 0xb2, OP_NOP4 = 0xb3, OP_NOP5 = 0xb4, @@ -194,7 +199,10 @@ class CScriptNum m_value = n; } - explicit CScriptNum(const std::vector& vch, bool fRequireMinimal) + static const size_t nDefaultMaxNumSize = 4; + + explicit CScriptNum(const std::vector& vch, bool fRequireMinimal, + const size_t nMaxNumSize = nDefaultMaxNumSize) { if (vch.size() > nMaxNumSize) { throw scriptnum_error("script number overflow"); @@ -317,8 +325,6 @@ class CScriptNum return result; } - static const size_t nMaxNumSize = 4; - private: static int64_t set_vch(const std::vector& vch) { diff --git a/src/script/script_error.cpp b/src/script/script_error.cpp index 5d24ed98ba82d..788d7ff4689b7 100644 --- a/src/script/script_error.cpp +++ b/src/script/script_error.cpp @@ -47,6 +47,10 @@ const char* ScriptErrorString(const ScriptError serror) return "OP_RETURN was encountered"; case SCRIPT_ERR_UNBALANCED_CONDITIONAL: return "Invalid OP_IF construction"; + case SCRIPT_ERR_NEGATIVE_LOCKTIME: + return "Negative locktime"; + case SCRIPT_ERR_UNSATISFIED_LOCKTIME: + return "Locktime requirement not satisfied"; case SCRIPT_ERR_SIG_HASHTYPE: return "Signature hash type missing or not understood"; case SCRIPT_ERR_SIG_DER: diff --git a/src/script/script_error.h b/src/script/script_error.h index 091524f35cb34..7b4c40edaaca5 100644 --- a/src/script/script_error.h +++ b/src/script/script_error.h @@ -35,6 +35,10 @@ typedef enum ScriptError_t SCRIPT_ERR_INVALID_ALTSTACK_OPERATION, SCRIPT_ERR_UNBALANCED_CONDITIONAL, + /* OP_CHECKLOCKTIMEVERIFY */ + SCRIPT_ERR_NEGATIVE_LOCKTIME, + SCRIPT_ERR_UNSATISFIED_LOCKTIME, + /* BIP62 */ SCRIPT_ERR_SIG_HASHTYPE, SCRIPT_ERR_SIG_DER, diff --git a/src/script/sigcache.cpp b/src/script/sigcache.cpp index 5580a5933e6d7..2c4c14ac26ed0 100644 --- a/src/script/sigcache.cpp +++ b/src/script/sigcache.cpp @@ -74,14 +74,14 @@ class CSignatureCache } -bool CachingSignatureChecker::VerifySignature(const std::vector& vchSig, const CPubKey& pubkey, const uint256& sighash) const +bool CachingTransactionSignatureChecker::VerifySignature(const std::vector& vchSig, const CPubKey& pubkey, const uint256& sighash) const { static CSignatureCache signatureCache; if (signatureCache.Get(sighash, vchSig, pubkey)) return true; - if (!SignatureChecker::VerifySignature(vchSig, pubkey, sighash)) + if (!TransactionSignatureChecker::VerifySignature(vchSig, pubkey, sighash)) return false; if (store) diff --git a/src/script/sigcache.h b/src/script/sigcache.h index df2a2ea13c8c4..38b032b67b57a 100644 --- a/src/script/sigcache.h +++ b/src/script/sigcache.h @@ -12,13 +12,13 @@ class CPubKey; -class CachingSignatureChecker : public SignatureChecker +class CachingTransactionSignatureChecker : public TransactionSignatureChecker { private: bool store; public: - CachingSignatureChecker(const CTransaction& txToIn, unsigned int nInIn, bool storeIn=true) : SignatureChecker(txToIn, nInIn), store(storeIn) {} + CachingTransactionSignatureChecker(const CTransaction* txToIn, unsigned int nInIn, bool storeIn=true) : TransactionSignatureChecker(txToIn, nInIn), store(storeIn) {} bool VerifySignature(const std::vector& vchSig, const CPubKey& vchPubKey, const uint256& sighash) const; }; diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 03c33ad9b5262..b6a441a798d9a 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -123,7 +123,7 @@ bool SignSignature(const CKeyStore &keystore, const CScript& fromPubKey, CMutabl } // Test solution - return VerifyScript(txin.scriptSig, fromPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, SignatureChecker(txTo, nIn)); + return VerifyScript(txin.scriptSig, fromPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, MutableTransactionSignatureChecker(&txTo, nIn)); } bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CMutableTransaction& txTo, unsigned int nIn, int nHashType) @@ -174,7 +174,7 @@ static CScript CombineMultisig(const CScript& scriptPubKey, const CTransaction& if (sigs.count(pubkey)) continue; // Already got a sig for this pubkey - if (SignatureChecker(txTo, nIn).CheckSig(sig, pubkey, scriptPubKey)) + if (TransactionSignatureChecker(&txTo, nIn).CheckSig(sig, pubkey, scriptPubKey)) { sigs[pubkey] = sig; break; diff --git a/src/script/standard.cpp b/src/script/standard.cpp index ab6e6cde0deb5..6e2c465c865e3 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -18,7 +18,7 @@ typedef vector valtype; unsigned nMaxDatacarrierBytes = MAX_OP_RETURN_RELAY; -CScriptID::CScriptID(const CScript& in) : uint160(in.size() ? Hash160(in.begin(), in.end()) : 0) {} +CScriptID::CScriptID(const CScript& in) : uint160(Hash160(in.begin(), in.end())) {} const char* GetTxnOutputType(txnouttype t) { diff --git a/src/script/standard.h b/src/script/standard.h index c4b82b4c45ae5..d7f023f20828e 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -45,10 +45,13 @@ static const unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS = SCRIPT_VERIFY_P2SH; * blocks and we must accept those blocks. */ static const unsigned int STANDARD_SCRIPT_VERIFY_FLAGS = MANDATORY_SCRIPT_VERIFY_FLAGS | + SCRIPT_VERIFY_DERSIG | SCRIPT_VERIFY_STRICTENC | SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_NULLDUMMY | - SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS; + SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | + SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | + SCRIPT_VERIFY_LOW_S; /** For convenience, standard but not mandatory verify flags. */ static const unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS = STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS; diff --git a/src/secp256k1/configure.ac b/src/secp256k1/configure.ac index 6e6fccd7fddca..017fd4e1d471d 100644 --- a/src/secp256k1/configure.ac +++ b/src/secp256k1/configure.ac @@ -118,13 +118,6 @@ if test x"$req_field" = x"auto"; then fi fi - if test x"$set_field" = x; then - SECP_GMP_CHECK - if test x"$has_gmp" = x"yes"; then - set_field=gmp - fi - fi - if test x"$set_field" = x; then set_field=32bit fi @@ -173,11 +166,6 @@ else fi if test x"$req_bignum" = x"auto"; then - SECP_GMP_CHECK - if test x"$has_gmp" = x"yes"; then - set_bignum=gmp - fi - if test x"$set_bignum" = x; then set_bignum=none fi diff --git a/src/sync.h b/src/sync.h index cd0aa7b20e717..93d72f84a4fee 100644 --- a/src/sync.h +++ b/src/sync.h @@ -16,7 +16,7 @@ //////////////////////////////////////////////// // // -// THE SIMPLE DEFINITON, EXCLUDING DEBUG CODE // +// THE SIMPLE DEFINITION, EXCLUDING DEBUG CODE // // // //////////////////////////////////////////////// diff --git a/src/test/README.md b/src/test/README.md index 7efce6f0522f2..eeaceb60c6ae7 100644 --- a/src/test/README.md +++ b/src/test/README.md @@ -16,6 +16,8 @@ their tests in a test suite called "_tests". For an examples of this pattern, examine uint160_tests.cpp and uint256_tests.cpp. +Add the source files to /src/Makefile.test.include to add them to the build. + For further reading, I found the following website to be helpful in explaining how the boost unit test framework works: [http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/](http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/). \ No newline at end of file diff --git a/src/test/alert_tests.cpp b/src/test/alert_tests.cpp index 4869ba52acceb..2febbcd757182 100644 --- a/src/test/alert_tests.cpp +++ b/src/test/alert_tests.cpp @@ -158,8 +158,8 @@ BOOST_AUTO_TEST_CASE(AlertNotify) { SetMockTime(11); - boost::filesystem::path temp = GetTempPath() / "alertnotify.txt"; - boost::filesystem::remove(temp); + boost::filesystem::path temp = GetTempPath() / + boost::filesystem::unique_path("alertnotify-%%%%.txt"); mapArgs["-alertnotify"] = std::string("echo %s >> ") + temp.string(); diff --git a/src/test/data/README.md b/src/test/data/README.md index f69a021ca0a6b..2463daa42a53b 100644 --- a/src/test/data/README.md +++ b/src/test/data/README.md @@ -6,9 +6,7 @@ This directory contains data-driven tests for various aspects of Bitcoin. License -------- -The data files in this directory are - - Copyright (c) 2012-2014 The Bitcoin Core developers - Distributed under the MIT/X11 software license, see the accompanying - file COPYING or http://www.opensource.org/licenses/mit-license.php. +The data files in this directory are distributed under the MIT software +license, see the accompanying file COPYING or +http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/data/bitcoin-util-test.json b/src/test/data/bitcoin-util-test.json index f8424b72a34c0..6090421cb66f6 100644 --- a/src/test/data/bitcoin-util-test.json +++ b/src/test/data/bitcoin-util-test.json @@ -46,5 +46,15 @@ { "exec": "./bitcoin-tx", "args": ["-create", "outscript=0:"], "output_cmp": "txcreate2.hex" + }, + { "exec": "./bitcoin-tx", + "args": + ["-create", + "in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0", + "set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]", + "set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":0,\"scriptPubKey\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\"}]", + "sign=ALL", + "outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"], + "output_cmp": "txcreatesign.hex" } ] diff --git a/src/test/data/script_invalid.json b/src/test/data/script_invalid.json index 86d39b5c2086d..e63018051dd29 100644 --- a/src/test/data/script_invalid.json +++ b/src/test/data/script_invalid.json @@ -504,12 +504,22 @@ "2-of-2 CHECKMULTISIG NOT with the first pubkey invalid, and both signatures validly encoded." ], [ - "0 0x47 0x3044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501 0", + "0 0x47 0x3044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501 1", "2 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 2 CHECKMULTISIG NOT", "STRICTENC", "2-of-2 CHECKMULTISIG NOT with both pubkeys valid, but first signature invalid." ], +["Increase DERSIG test coverage"], +["0x4a 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 CHECKSIG NOT", "DERSIG", "Overly long signature is incorrectly encoded for DERSIG"], +["0x25 0x30220220000000000000000000000000000000000000000000000000000000000000000000", "0 CHECKSIG NOT", "DERSIG", "Missing S is incorrectly encoded for DERSIG"], +["0x27 0x3024021077777777777777777777777777777777020a7777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "S with invalid S length is incorrectly encoded for DERSIG"], +["0x27 0x302403107777777777777777777777777777777702107777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "Non-integer R is incorrectly encoded for DERSIG"], +["0x27 0x302402107777777777777777777777777777777703107777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "Non-integer S is incorrectly encoded for DERSIG"], +["0x17 0x3014020002107777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "Zero-length R is incorrectly encoded for DERSIG"], +["0x17 0x3014021077777777777777777777777777777777020001", "0 CHECKSIG NOT", "DERSIG", "Zero-length S is incorrectly encoded for DERSIG"], +["0x27 0x302402107777777777777777777777777777777702108777777777777777777777777777777701", "0 CHECKSIG NOT", "DERSIG", "Negative S is incorrectly encoded for DERSIG"], + ["Automatically generated test cases"], [ "0x47 0x3044022053205076a7bb12d2db3162a2d97d8197631f829b065948b7019b15482af819a902204328dcc02c994ca086b1226d0d5f1674d23cfae0d846143df812b81cab3391e801", @@ -589,6 +599,102 @@ "DERSIG", "P2PK NOT with too much R padding" ], +[ + "0x47 0x30440220d7a0417c3f6d1a15094d1cf2a3378ca0503eb8a57630953a9e2987e21ddd0a6502207a6266d686c99090920249991d3d42065b6d43eb70187b219c0db82e4f94d1a201", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "DERSIG", + "BIP66 example 1, with DERSIG" +], +[ + "0x47 0x304402208e43c0b91f7c1e5bc58e41c8185f8a6086e111b0090187968a86f2822462d3c902200a58f4076b1133b18ff1dc83ee51676e44c60cc608d9534e0df5ace0424fc0be01", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "", + "BIP66 example 2, without DERSIG" +], +[ + "0x47 0x304402208e43c0b91f7c1e5bc58e41c8185f8a6086e111b0090187968a86f2822462d3c902200a58f4076b1133b18ff1dc83ee51676e44c60cc608d9534e0df5ace0424fc0be01", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "DERSIG", + "BIP66 example 2, with DERSIG" +], +[ + "0", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "", + "BIP66 example 3, without DERSIG" +], +[ + "0", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "DERSIG", + "BIP66 example 3, with DERSIG" +], +[ + "1", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "", + "BIP66 example 5, without DERSIG" +], +[ + "1", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "DERSIG", + "BIP66 example 5, with DERSIG" +], +[ + "1", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "DERSIG", + "BIP66 example 6, with DERSIG" +], +[ + "0 0x47 0x30440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d501 0x47 0x304402200b3d0b0375bb15c14620afa4aa10ae90a0d6a046ce217bc20fe0bc1ced68c1b802204b550acab90ae6d3478057c9ad24f9df743815b799b6449dd7e7f6d3bc6e274c01", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "DERSIG", + "BIP66 example 7, with DERSIG" +], +[ + "0 0x47 0x30440220f00a77260d34ec2f0c59621dc710f58169d0ca06df1a88cd4b1f1b97bd46991b02201ee220c7e04f26aed03f94aa97fb09ca5627163bf4ba07e6979972ec737db22601 0x47 0x3044022079ea80afd538d9ada421b5101febeb6bc874e01dde5bca108c1d0479aec339a4022004576db8f66130d1df686ccf00935703689d69cf539438da1edab208b0d63c4801", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "", + "BIP66 example 8, without DERSIG" +], +[ + "0 0x47 0x30440220f00a77260d34ec2f0c59621dc710f58169d0ca06df1a88cd4b1f1b97bd46991b02201ee220c7e04f26aed03f94aa97fb09ca5627163bf4ba07e6979972ec737db22601 0x47 0x3044022079ea80afd538d9ada421b5101febeb6bc874e01dde5bca108c1d0479aec339a4022004576db8f66130d1df686ccf00935703689d69cf539438da1edab208b0d63c4801", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "DERSIG", + "BIP66 example 8, with DERSIG" +], +[ + "0 0 0x47 0x3044022081aa9d436f2154e8b6d600516db03d78de71df685b585a9807ead4210bd883490220534bb6bdf318a419ac0749660b60e78d17d515558ef369bf872eff405b676b2e01", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "", + "BIP66 example 9, without DERSIG" +], +[ + "0 0 0x47 0x3044022081aa9d436f2154e8b6d600516db03d78de71df685b585a9807ead4210bd883490220534bb6bdf318a419ac0749660b60e78d17d515558ef369bf872eff405b676b2e01", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "DERSIG", + "BIP66 example 9, with DERSIG" +], +[ + "0 0 0x47 0x30440220afa76a8f60622f813b05711f051c6c3407e32d1b1b70b0576c1f01b54e4c05c702200d58e9df044fd1845cabfbeef6e624ba0401daf7d7e084736f9ff601c3783bf501", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "DERSIG", + "BIP66 example 10, with DERSIG" +], +[ + "0 0x47 0x30440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d501 0", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "", + "BIP66 example 11, without DERSIG" +], +[ + "0 0x47 0x30440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d501 0", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "DERSIG", + "BIP66 example 11, with DERSIG" +], [ "0x49 0x304502203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022100ab1e3da73d67e32045a20e0b999e049978ea8d6ee5480d485fcf2ce0d03b2ef05101", "0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 CHECKSIG", diff --git a/src/test/data/script_valid.json b/src/test/data/script_valid.json index d3075de646aad..42e9edbd3730d 100644 --- a/src/test/data/script_valid.json +++ b/src/test/data/script_valid.json @@ -662,6 +662,11 @@ ["0 0 0x02 0x0000", "CHECKMULTISIGVERIFY 1", ""], ["0 0x02 0x0000 0", "CHECKMULTISIGVERIFY 1", ""], +["While not really correctly DER encoded, the empty signature is allowed by"], +["STRICTENC to provide a compact way to provide a delibrately invalid signature."], +["0", "0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 CHECKSIG NOT", "STRICTENC"], +["0 0", "1 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 1 CHECKMULTISIG NOT", "STRICTENC"], + ["CHECKMULTISIG evaluation order tests. CHECKMULTISIG evaluates signatures and"], ["pubkeys in a specific order, and will exit early if the number of signatures"], ["left to check is greater than the number of keys left. As STRICTENC fails the"], @@ -683,6 +688,16 @@ "2-of-2 CHECKMULTISIG NOT with both pubkeys valid, but second signature invalid. Valid pubkey fails, and CHECKMULTISIG exits early, prior to evaluation of second invalid signature." ], +["Increase test coverage for DERSIG"], +["0x4a 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0 CHECKSIG NOT", "", "Overly long signature is correctly encoded"], +["0x25 0x30220220000000000000000000000000000000000000000000000000000000000000000000", "0 CHECKSIG NOT", "", "Missing S is correctly encoded"], +["0x27 0x3024021077777777777777777777777777777777020a7777777777777777777777777777777701", "0 CHECKSIG NOT", "", "S with invalid S length is correctly encoded"], +["0x27 0x302403107777777777777777777777777777777702107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "Non-integer R is correctly encoded"], +["0x27 0x302402107777777777777777777777777777777703107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "Non-integer S is correctly encoded"], +["0x17 0x3014020002107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "Zero-length R is correctly encoded"], +["0x17 0x3014021077777777777777777777777777777777020001", "0 CHECKSIG NOT", "", "Zero-length S is correctly encoded for DERSIG"], +["0x27 0x302402107777777777777777777777777777777702108777777777777777777777777777777701", "0 CHECKSIG NOT", "", "Negative S is correctly encoded"], + ["Automatically generated test cases"], [ "0x47 0x3044022053205076a7bb13d2db3162a2d97d8197631f829b065948b7019b15482af819a902204328dcc02c994ca086b1226d0d5f1674d23cfae0d846143df812b81cab3391e801", @@ -750,6 +765,54 @@ "", "P2PK NOT with bad sig with too much R padding but no DERSIG" ], +[ + "0x47 0x30440220d7a0417c3f6d1a15094d1cf2a3378ca0503eb8a57630953a9e2987e21ddd0a6502207a6266d686c99090920249991d3d42065b6d43eb70187b219c0db82e4f94d1a201", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG", + "", + "BIP66 example 1, without DERSIG" +], +[ + "0", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "", + "BIP66 example 4, without DERSIG" +], +[ + "0", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "DERSIG", + "BIP66 example 4, with DERSIG" +], +[ + "1", + "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKSIG NOT", + "", + "BIP66 example 6, without DERSIG" +], +[ + "0 0x47 0x30440220cae00b1444babfbf6071b0ba8707f6bd373da3df494d6e74119b0430c5db810502205d5231b8c5939c8ff0c82242656d6e06edb073d42af336c99fe8837c36ea39d501 0x47 0x304402200b3d0b0375bb15c14620afa4aa10ae90a0d6a046ce217bc20fe0bc1ced68c1b802204b550acab90ae6d3478057c9ad24f9df743815b799b6449dd7e7f6d3bc6e274c01", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG", + "", + "BIP66 example 7, without DERSIG" +], +[ + "0 0 0x47 0x30440220afa76a8f60622f813b05711f051c6c3407e32d1b1b70b0576c1f01b54e4c05c702200d58e9df044fd1845cabfbeef6e624ba0401daf7d7e084736f9ff601c3783bf501", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "", + "BIP66 example 10, without DERSIG" +], +[ + "0 0x47 0x30440220f00a77260d34ec2f0c59621dc710f58169d0ca06df1a88cd4b1f1b97bd46991b02201ee220c7e04f26aed03f94aa97fb09ca5627163bf4ba07e6979972ec737db22601 0", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "", + "BIP66 example 12, without DERSIG" +], +[ + "0 0x47 0x30440220f00a77260d34ec2f0c59621dc710f58169d0ca06df1a88cd4b1f1b97bd46991b02201ee220c7e04f26aed03f94aa97fb09ca5627163bf4ba07e6979972ec737db22601 0", + "2 0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 2 CHECKMULTISIG NOT", + "DERSIG", + "BIP66 example 12, with DERSIG" +], [ "0x49 0x304502203e4516da7253cf068effec6b95c41221c0cf3a8e6ccb8cbf1725b562e9afde2c022100ab1e3da73d67e32045a20e0b999e049978ea8d6ee5480d485fcf2ce0d03b2ef05101", "0x21 0x03363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640 CHECKSIG", diff --git a/src/test/data/tx_invalid.json b/src/test/data/tx_invalid.json index 638a705f9f3c9..a197e301cb4ce 100644 --- a/src/test/data/tx_invalid.json +++ b/src/test/data/tx_invalid.json @@ -103,5 +103,79 @@ [[["ad503f72c18df5801ee64d76090afe4c607fb2b822e9b7b63c5826c50e22fc3b", 0, "0x21 0x027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5 CHECKSIG NOT"]], "01000000013bfc220ec526583cb6b7e922b8b27f604cfe0a09764de61e80f58dc1723f50ad0000000000ffffffff0101000000000000002321027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5ac00000000", "P2SH"], + +["CHECKLOCKTIMEVERIFY tests"], + +["By-height locks, with argument just beyond tx nLockTime"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], + +["By-time locks, with argument just beyond tx nLockTime (but within numerical boundries)"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Argument missing"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Argument negative with by-blockheight nLockTime=0"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Argument negative with by-blocktime nLockTime=500,000,000"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Input locked"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"] , + ["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], +"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Argument/tx height/time mismatch, both versions"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b100000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Argument 2^32 with nLockTime=2^32-1"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Same, but with nLockTime=2^31-1"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH,CHECKLOCKTIMEVERIFY"], + +["6 byte non-minimally-encoded arguments are invalid even in their contents are valid"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + ["Make diffs cleaner by leaving a comment here without comma at the end"] ] diff --git a/src/test/data/tx_valid.json b/src/test/data/tx_valid.json index aa8e5ca6c35a7..ecbce93601b35 100644 --- a/src/test/data/tx_valid.json +++ b/src/test/data/tx_valid.json @@ -178,5 +178,47 @@ "0100000002dbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce000000006b4830450221009627444320dc5ef8d7f68f35010b4c050a6ed0d96b67a84db99fda9c9de58b1e02203e4b4aaa019e012e65d69b487fdf8719df72f488fa91506a80c49a33929f1fd50121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffffdbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce010000009300483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303ffffffff01a0860100000000001976a9149bc0bbdd3024da4d0c38ed1aecf5c68dd1d3fa1288ac00000000", "P2SH"], +["CHECKLOCKTIMEVERIFY tests"], + +["By-height locks, with argument == 0 and == tx nLockTime"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], + +["By-time locks, with argument just beyond tx nLockTime (but within numerical boundries)"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Any non-maxint nSequence is fine"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["The argument can be calculated rather than created directly by a PUSHDATA"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1ADD NOP2 1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 2147483647 ADD NOP2 1"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH,CHECKLOCKTIMEVERIFY"], + +["5 byte non-minimally-encoded arguments are valid"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x05 0x0000000000 NOP2 1"]], +"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Valid CHECKLOCKTIMEVERIFY in scriptSig"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], +"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1000000000100000000000000000001000000", "P2SH,CHECKLOCKTIMEVERIFY"], + +["Valid CHECKLOCKTIMEVERIFY in redeemScript"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xc5b93064159b3b2d6ab506a41b1f50463771b988 EQUAL"]], +"0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000001000000", "P2SH,CHECKLOCKTIMEVERIFY"], + ["Make diffs cleaner by leaving a comment here without comma at the end"] ] diff --git a/src/test/data/txcreatesign.hex b/src/test/data/txcreatesign.hex new file mode 100644 index 0000000000000..56ce28a8655b1 --- /dev/null +++ b/src/test/data/txcreatesign.hex @@ -0,0 +1 @@ +01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d0000000000ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000 diff --git a/src/test/mempool_tests.cpp b/src/test/mempool_tests.cpp new file mode 100644 index 0000000000000..b85f768ed5532 --- /dev/null +++ b/src/test/mempool_tests.cpp @@ -0,0 +1,102 @@ +// Copyright (c) 2011-2014 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "main.h" +#include "txmempool.h" +#include "util.h" + +#include +#include + +BOOST_AUTO_TEST_SUITE(mempool_tests) + +BOOST_AUTO_TEST_CASE(MempoolRemoveTest) +{ + // Test CTxMemPool::remove functionality + + // Parent transaction with three children, + // and three grand-children: + CMutableTransaction txParent; + txParent.vin.resize(1); + txParent.vin[0].scriptSig = CScript() << OP_11; + txParent.vout.resize(3); + for (int i = 0; i < 3; i++) + { + txParent.vout[i].scriptPubKey = CScript() << OP_11 << OP_EQUAL; + txParent.vout[i].nValue = 33000LL; + } + CMutableTransaction txChild[3]; + for (int i = 0; i < 3; i++) + { + txChild[i].vin.resize(1); + txChild[i].vin[0].scriptSig = CScript() << OP_11; + txChild[i].vin[0].prevout.hash = txParent.GetHash(); + txChild[i].vin[0].prevout.n = i; + txChild[i].vout.resize(1); + txChild[i].vout[0].scriptPubKey = CScript() << OP_11 << OP_EQUAL; + txChild[i].vout[0].nValue = 11000LL; + } + CMutableTransaction txGrandChild[3]; + for (int i = 0; i < 3; i++) + { + txGrandChild[i].vin.resize(1); + txGrandChild[i].vin[0].scriptSig = CScript() << OP_11; + txGrandChild[i].vin[0].prevout.hash = txChild[i].GetHash(); + txGrandChild[i].vin[0].prevout.n = 0; + txGrandChild[i].vout.resize(1); + txGrandChild[i].vout[0].scriptPubKey = CScript() << OP_11 << OP_EQUAL; + txGrandChild[i].vout[0].nValue = 11000LL; + } + + + CTxMemPool testPool(CFeeRate(0)); + std::list removed; + + // Nothing in pool, remove should do nothing: + testPool.remove(txParent, removed, true); + BOOST_CHECK_EQUAL(removed.size(), 0); + + // Just the parent: + testPool.addUnchecked(txParent.GetHash(), CTxMemPoolEntry(txParent, 0, 0, 0.0, 1)); + testPool.remove(txParent, removed, true); + BOOST_CHECK_EQUAL(removed.size(), 1); + removed.clear(); + + // Parent, children, grandchildren: + testPool.addUnchecked(txParent.GetHash(), CTxMemPoolEntry(txParent, 0, 0, 0.0, 1)); + for (int i = 0; i < 3; i++) + { + testPool.addUnchecked(txChild[i].GetHash(), CTxMemPoolEntry(txChild[i], 0, 0, 0.0, 1)); + testPool.addUnchecked(txGrandChild[i].GetHash(), CTxMemPoolEntry(txGrandChild[i], 0, 0, 0.0, 1)); + } + // Remove Child[0], GrandChild[0] should be removed: + testPool.remove(txChild[0], removed, true); + BOOST_CHECK_EQUAL(removed.size(), 2); + removed.clear(); + // ... make sure grandchild and child are gone: + testPool.remove(txGrandChild[0], removed, true); + BOOST_CHECK_EQUAL(removed.size(), 0); + testPool.remove(txChild[0], removed, true); + BOOST_CHECK_EQUAL(removed.size(), 0); + // Remove parent, all children/grandchildren should go: + testPool.remove(txParent, removed, true); + BOOST_CHECK_EQUAL(removed.size(), 5); + BOOST_CHECK_EQUAL(testPool.size(), 0); + removed.clear(); + + // Add children and grandchildren, but NOT the parent (simulate the parent being in a block) + for (int i = 0; i < 3; i++) + { + testPool.addUnchecked(txChild[i].GetHash(), CTxMemPoolEntry(txChild[i], 0, 0, 0.0, 1)); + testPool.addUnchecked(txGrandChild[i].GetHash(), CTxMemPoolEntry(txGrandChild[i], 0, 0, 0.0, 1)); + } + // Now remove the parent, as might happen if a block-re-org occurs but the parent cannot be + // put into the mempool (maybe because it is non-standard): + testPool.remove(txParent, removed, true); + BOOST_CHECK_EQUAL(removed.size(), 6); + BOOST_CHECK_EQUAL(testPool.size(), 0); + removed.clear(); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/multisig_tests.cpp b/src/test/multisig_tests.cpp index 8d06caa147c3c..0b5402f2fd27c 100644 --- a/src/test/multisig_tests.cpp +++ b/src/test/multisig_tests.cpp @@ -84,7 +84,7 @@ BOOST_AUTO_TEST_CASE(multisig_verify) keys.clear(); keys += key[0],key[1]; // magic operator+= from boost.assign s = sign_multisig(a_and_b, keys, txTo[0], 0); - BOOST_CHECK(VerifyScript(s, a_and_b, flags, SignatureChecker(txTo[0], 0), &err)); + BOOST_CHECK(VerifyScript(s, a_and_b, flags, MutableTransactionSignatureChecker(&txTo[0], 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); for (int i = 0; i < 4; i++) @@ -92,13 +92,13 @@ BOOST_AUTO_TEST_CASE(multisig_verify) keys.clear(); keys += key[i]; s = sign_multisig(a_and_b, keys, txTo[0], 0); - BOOST_CHECK_MESSAGE(!VerifyScript(s, a_and_b, flags, SignatureChecker(txTo[0], 0), &err), strprintf("a&b 1: %d", i)); + BOOST_CHECK_MESSAGE(!VerifyScript(s, a_and_b, flags, MutableTransactionSignatureChecker(&txTo[0], 0), &err), strprintf("a&b 1: %d", i)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_INVALID_STACK_OPERATION, ScriptErrorString(err)); keys.clear(); keys += key[1],key[i]; s = sign_multisig(a_and_b, keys, txTo[0], 0); - BOOST_CHECK_MESSAGE(!VerifyScript(s, a_and_b, flags, SignatureChecker(txTo[0], 0), &err), strprintf("a&b 2: %d", i)); + BOOST_CHECK_MESSAGE(!VerifyScript(s, a_and_b, flags, MutableTransactionSignatureChecker(&txTo[0], 0), &err), strprintf("a&b 2: %d", i)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); } @@ -110,22 +110,18 @@ BOOST_AUTO_TEST_CASE(multisig_verify) s = sign_multisig(a_or_b, keys, txTo[1], 0); if (i == 0 || i == 1) { - BOOST_CHECK_MESSAGE(VerifyScript(s, a_or_b, flags, SignatureChecker(txTo[1], 0), &err), strprintf("a|b: %d", i)); + BOOST_CHECK_MESSAGE(VerifyScript(s, a_or_b, flags, MutableTransactionSignatureChecker(&txTo[1], 0), &err), strprintf("a|b: %d", i)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); } else { - BOOST_CHECK_MESSAGE(!VerifyScript(s, a_or_b, flags, SignatureChecker(txTo[1], 0), &err), strprintf("a|b: %d", i)); + BOOST_CHECK_MESSAGE(!VerifyScript(s, a_or_b, flags, MutableTransactionSignatureChecker(&txTo[1], 0), &err), strprintf("a|b: %d", i)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); } } s.clear(); - s << OP_0 << OP_0; - BOOST_CHECK(!VerifyScript(s, a_or_b, flags, SignatureChecker(txTo[1], 0), &err)); - BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_SIG_DER, ScriptErrorString(err)); - s.clear(); s << OP_0 << OP_1; - BOOST_CHECK(!VerifyScript(s, a_or_b, flags, SignatureChecker(txTo[1], 0), &err)); + BOOST_CHECK(!VerifyScript(s, a_or_b, flags, MutableTransactionSignatureChecker(&txTo[1], 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_SIG_DER, ScriptErrorString(err)); @@ -137,12 +133,12 @@ BOOST_AUTO_TEST_CASE(multisig_verify) s = sign_multisig(escrow, keys, txTo[2], 0); if (i < j && i < 3 && j < 3) { - BOOST_CHECK_MESSAGE(VerifyScript(s, escrow, flags, SignatureChecker(txTo[2], 0), &err), strprintf("escrow 1: %d %d", i, j)); + BOOST_CHECK_MESSAGE(VerifyScript(s, escrow, flags, MutableTransactionSignatureChecker(&txTo[2], 0), &err), strprintf("escrow 1: %d %d", i, j)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); } else { - BOOST_CHECK_MESSAGE(!VerifyScript(s, escrow, flags, SignatureChecker(txTo[2], 0), &err), strprintf("escrow 2: %d %d", i, j)); + BOOST_CHECK_MESSAGE(!VerifyScript(s, escrow, flags, MutableTransactionSignatureChecker(&txTo[2], 0), &err), strprintf("escrow 2: %d %d", i, j)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); } } diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp index c26e738384238..67593b6435d56 100644 --- a/src/test/netbase_tests.cpp +++ b/src/test/netbase_tests.cpp @@ -6,6 +6,7 @@ #include +#include #include using namespace std; @@ -116,6 +117,11 @@ BOOST_AUTO_TEST_CASE(subnet_test) BOOST_CHECK(CSubNet("1:2:3:4:5:6:7:8").Match(CNetAddr("1:2:3:4:5:6:7:8"))); BOOST_CHECK(!CSubNet("1:2:3:4:5:6:7:8").Match(CNetAddr("1:2:3:4:5:6:7:9"))); BOOST_CHECK(CSubNet("1:2:3:4:5:6:7:0/112").Match(CNetAddr("1:2:3:4:5:6:7:1234"))); + BOOST_CHECK(CSubNet("192.168.0.1/24").Match(CNetAddr("192.168.0.2"))); + BOOST_CHECK(CSubNet("192.168.0.20/29").Match(CNetAddr("192.168.0.18"))); + BOOST_CHECK(CSubNet("1.2.2.1/24").Match(CNetAddr("1.2.2.4"))); + BOOST_CHECK(CSubNet("1.2.2.110/31").Match(CNetAddr("1.2.2.111"))); + BOOST_CHECK(CSubNet("1.2.2.20/26").Match(CNetAddr("1.2.2.63"))); // All-Matching IPv6 Matches arbitrary IPv4 and IPv6 BOOST_CHECK(CSubNet("::/0").Match(CNetAddr("1:2:3:4:5:6:7:1234"))); BOOST_CHECK(CSubNet("::/0").Match(CNetAddr("1.2.3.4"))); @@ -139,4 +145,20 @@ BOOST_AUTO_TEST_CASE(subnet_test) BOOST_CHECK(!CSubNet("fuzzy").IsValid()); } +BOOST_AUTO_TEST_CASE(netbase_getgroup) +{ + BOOST_CHECK(CNetAddr("127.0.0.1").GetGroup() == boost::assign::list_of(0)); // Local -> !Routable() + BOOST_CHECK(CNetAddr("257.0.0.1").GetGroup() == boost::assign::list_of(0)); // !Valid -> !Routable() + BOOST_CHECK(CNetAddr("10.0.0.1").GetGroup() == boost::assign::list_of(0)); // RFC1918 -> !Routable() + BOOST_CHECK(CNetAddr("169.254.1.1").GetGroup() == boost::assign::list_of(0)); // RFC3927 -> !Routable() + BOOST_CHECK(CNetAddr("1.2.3.4").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV4)(1)(2)); // IPv4 + BOOST_CHECK(CNetAddr("::FFFF:0:102:304").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV4)(1)(2)); // RFC6145 + BOOST_CHECK(CNetAddr("64:FF9B::102:304").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV4)(1)(2)); // RFC6052 + BOOST_CHECK(CNetAddr("2002:102:304:9999:9999:9999:9999:9999").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV4)(1)(2)); // RFC3964 + BOOST_CHECK(CNetAddr("2001:0:9999:9999:9999:9999:FEFD:FCFB").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV4)(1)(2)); // RFC4380 + BOOST_CHECK(CNetAddr("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca").GetGroup() == boost::assign::list_of((unsigned char)NET_TOR)(239)); // Tor + BOOST_CHECK(CNetAddr("2001:470:abcd:9999:9999:9999:9999:9999").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV6)(32)(1)(4)(112)(175)); //he.net + BOOST_CHECK(CNetAddr("2001:2001:9999:9999:9999:9999:9999:9999").GetGroup() == boost::assign::list_of((unsigned char)NET_IPV6)(32)(1)(32)(1)); //IPv6 +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp index d5475a92bfa4c..aed6e3ac2150e 100644 --- a/src/test/rpc_tests.cpp +++ b/src/test/rpc_tests.cpp @@ -139,6 +139,24 @@ BOOST_AUTO_TEST_CASE(rpc_parse_monetary_values) BOOST_CHECK_EQUAL(AmountFromValue(ValueFromString("20999999.99999999")), 2099999999999999LL); } +BOOST_AUTO_TEST_CASE(json_parse_errors) +{ + Value value; + // Valid + BOOST_CHECK_EQUAL(read_string(std::string("1.0"), value), true); + // Valid, with trailing whitespace + BOOST_CHECK_EQUAL(read_string(std::string("1.0 "), value), true); + // Invalid, initial garbage + BOOST_CHECK_EQUAL(read_string(std::string("[1.0"), value), false); + BOOST_CHECK_EQUAL(read_string(std::string("a1.0"), value), false); + // Invalid, trailing garbage + BOOST_CHECK_EQUAL(read_string(std::string("1.0sds"), value), false); + BOOST_CHECK_EQUAL(read_string(std::string("1.0]"), value), false); + // BTC addresses should fail parsing + BOOST_CHECK_EQUAL(read_string(std::string("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"), value), false); + BOOST_CHECK_EQUAL(read_string(std::string("3J98t1WpEZ73CNmQviecrnyiWrnqRhWNL"), value), false); +} + BOOST_AUTO_TEST_CASE(rpc_boostasiotocnetaddr) { // Check IPv4 addresses diff --git a/src/test/sanity_tests.cpp b/src/test/sanity_tests.cpp new file mode 100644 index 0000000000000..464a8fbb8cfb7 --- /dev/null +++ b/src/test/sanity_tests.cpp @@ -0,0 +1,18 @@ +// Copyright (c) 2012-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "compat/sanity.h" +#include "key.h" + +#include +BOOST_AUTO_TEST_SUITE(sanity_tests) + +BOOST_AUTO_TEST_CASE(basic_sanity) +{ + BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test"); + BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test"); + BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "openssl ECC test"); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/script_P2SH_tests.cpp b/src/test/script_P2SH_tests.cpp index a969eefa05370..bc40fd1b97183 100644 --- a/src/test/script_P2SH_tests.cpp +++ b/src/test/script_P2SH_tests.cpp @@ -43,7 +43,7 @@ Verify(const CScript& scriptSig, const CScript& scriptPubKey, bool fStrict, Scri txTo.vin[0].scriptSig = scriptSig; txTo.vout[0].nValue = 1; - return VerifyScript(scriptSig, scriptPubKey, fStrict ? SCRIPT_VERIFY_P2SH : SCRIPT_VERIFY_NONE, SignatureChecker(txTo, 0), &err); + return VerifyScript(scriptSig, scriptPubKey, fStrict ? SCRIPT_VERIFY_P2SH : SCRIPT_VERIFY_NONE, MutableTransactionSignatureChecker(&txTo, 0), &err); } diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index 4d2a9aff45c0f..a084a145c873f 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -100,7 +100,7 @@ void DoTest(const CScript& scriptPubKey, const CScript& scriptSig, int flags, bo ScriptError err; CMutableTransaction tx = BuildSpendingTransaction(scriptSig, BuildCreditingTransaction(scriptPubKey)); CMutableTransaction tx2 = tx; - BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, flags, SignatureChecker(tx, 0), &err) == expect, message); + BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, flags, MutableTransactionSignatureChecker(&tx, 0), &err) == expect, message); BOOST_CHECK_MESSAGE(expect == (err == SCRIPT_ERR_OK), std::string(ScriptErrorString(err)) + ": " + message); #if defined(HAVE_CONSENSUS_LIB) CDataStream stream(SER_NETWORK, PROTOCOL_VERSION); @@ -413,6 +413,79 @@ BOOST_AUTO_TEST_CASE(script_build) "P2PK NOT with too much R padding", SCRIPT_VERIFY_DERSIG ).PushSig(keys.key2, SIGHASH_ALL, 31, 32).EditPush(1, "43021F", "44022000")); + good.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 1, without DERSIG", 0 + ).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 1, with DERSIG", SCRIPT_VERIFY_DERSIG + ).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 2, without DERSIG", 0 + ).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 2, with DERSIG", SCRIPT_VERIFY_DERSIG + ).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 3, without DERSIG", 0 + ).Num(0)); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 3, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0)); + good.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 4, without DERSIG", 0 + ).Num(0)); + good.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 4, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0)); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 5, without DERSIG", 0 + ).Num(1)); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG, + "BIP66 example 5, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(1)); + good.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 6, without DERSIG", 0 + ).Num(1)); + bad.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey1C) << OP_CHECKSIG << OP_NOT, + "BIP66 example 6, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(1)); + good.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 7, without DERSIG", 0 + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").PushSig(keys.key2)); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 7, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").PushSig(keys.key2)); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 8, without DERSIG", 0 + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").PushSig(keys.key2)); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 8, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").PushSig(keys.key2)); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 9, without DERSIG", 0 + ).Num(0).Num(0).PushSig(keys.key2, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 9, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).Num(0).PushSig(keys.key2, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + good.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 10, without DERSIG", 0 + ).Num(0).Num(0).PushSig(keys.key2, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 10, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).Num(0).PushSig(keys.key2, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220")); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 11, without DERSIG", 0 + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").Num(0)); + bad.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG, + "BIP66 example 11, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").Num(0)); + good.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 12, without DERSIG", 0 + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").Num(0)); + good.push_back(TestBuilder(CScript() << OP_2 << ToByteVector(keys.pubkey1C) << ToByteVector(keys.pubkey2C) << OP_2 << OP_CHECKMULTISIG << OP_NOT, + "BIP66 example 12, with DERSIG", SCRIPT_VERIFY_DERSIG + ).Num(0).PushSig(keys.key1, SIGHASH_ALL, 33, 32).EditPush(1, "45022100", "440220").Num(0)); + good.push_back(TestBuilder(CScript() << ToByteVector(keys.pubkey2C) << OP_CHECKSIG, "P2PK with high S but no LOW_S", 0 ).PushSig(keys.key2, SIGHASH_ALL, 32, 33)); @@ -673,18 +746,18 @@ BOOST_AUTO_TEST_CASE(script_CHECKMULTISIG12) CMutableTransaction txTo12 = BuildSpendingTransaction(CScript(), txFrom12); CScript goodsig1 = sign_multisig(scriptPubKey12, key1, txTo12); - BOOST_CHECK(VerifyScript(goodsig1, scriptPubKey12, flags, SignatureChecker(txTo12, 0), &err)); + BOOST_CHECK(VerifyScript(goodsig1, scriptPubKey12, flags, MutableTransactionSignatureChecker(&txTo12, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); txTo12.vout[0].nValue = 2; - BOOST_CHECK(!VerifyScript(goodsig1, scriptPubKey12, flags, SignatureChecker(txTo12, 0), &err)); + BOOST_CHECK(!VerifyScript(goodsig1, scriptPubKey12, flags, MutableTransactionSignatureChecker(&txTo12, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); CScript goodsig2 = sign_multisig(scriptPubKey12, key2, txTo12); - BOOST_CHECK(VerifyScript(goodsig2, scriptPubKey12, flags, SignatureChecker(txTo12, 0), &err)); + BOOST_CHECK(VerifyScript(goodsig2, scriptPubKey12, flags, MutableTransactionSignatureChecker(&txTo12, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); CScript badsig1 = sign_multisig(scriptPubKey12, key3, txTo12); - BOOST_CHECK(!VerifyScript(badsig1, scriptPubKey12, flags, SignatureChecker(txTo12, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig1, scriptPubKey12, flags, MutableTransactionSignatureChecker(&txTo12, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); } @@ -706,54 +779,54 @@ BOOST_AUTO_TEST_CASE(script_CHECKMULTISIG23) std::vector keys; keys.push_back(key1); keys.push_back(key2); CScript goodsig1 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(VerifyScript(goodsig1, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(VerifyScript(goodsig1, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); keys.clear(); keys.push_back(key1); keys.push_back(key3); CScript goodsig2 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(VerifyScript(goodsig2, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(VerifyScript(goodsig2, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); keys.clear(); keys.push_back(key2); keys.push_back(key3); CScript goodsig3 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(VerifyScript(goodsig3, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(VerifyScript(goodsig3, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); keys.clear(); keys.push_back(key2); keys.push_back(key2); // Can't re-use sig CScript badsig1 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig1, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig1, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); keys.clear(); keys.push_back(key2); keys.push_back(key1); // sigs must be in correct order CScript badsig2 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig2, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig2, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); keys.clear(); keys.push_back(key3); keys.push_back(key2); // sigs must be in correct order CScript badsig3 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig3, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig3, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); keys.clear(); keys.push_back(key4); keys.push_back(key2); // sigs must match pubkeys CScript badsig4 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig4, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig4, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); keys.clear(); keys.push_back(key1); keys.push_back(key4); // sigs must match pubkeys CScript badsig5 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig5, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig5, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_EVAL_FALSE, ScriptErrorString(err)); keys.clear(); // Must have signatures CScript badsig6 = sign_multisig(scriptPubKey23, keys, txTo23); - BOOST_CHECK(!VerifyScript(badsig6, scriptPubKey23, flags, SignatureChecker(txTo23, 0), &err)); + BOOST_CHECK(!VerifyScript(badsig6, scriptPubKey23, flags, MutableTransactionSignatureChecker(&txTo23, 0), &err)); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_INVALID_STACK_OPERATION, ScriptErrorString(err)); } diff --git a/src/test/scriptnum_tests.cpp b/src/test/scriptnum_tests.cpp index 5621e12729334..2f88b0676668d 100644 --- a/src/test/scriptnum_tests.cpp +++ b/src/test/scriptnum_tests.cpp @@ -142,7 +142,7 @@ static void RunCreate(const int64_t& num) { CheckCreateInt(num); CScriptNum scriptnum(num); - if (scriptnum.getvch().size() <= CScriptNum::nMaxNumSize) + if (scriptnum.getvch().size() <= CScriptNum::nDefaultMaxNumSize) CheckCreateVch(num); else { diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp index e50218d8efb5c..30626267ffac2 100644 --- a/src/test/test_bitcoin.cpp +++ b/src/test/test_bitcoin.cpp @@ -30,7 +30,9 @@ struct TestingSetup { boost::thread_group threadGroup; TestingSetup() { + SetupEnvironment(); fPrintToDebugLog = false; // don't want to write to debug.log file + fCheckBlockIndex = true; SelectParams(CBaseChainParams::UNITTEST); noui_connect(); #ifdef ENABLE_WALLET diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp index e939e89972593..a4c3b5935da76 100644 --- a/src/test/transaction_tests.cpp +++ b/src/test/transaction_tests.cpp @@ -38,7 +38,8 @@ static std::map mapFlagNames = boost::assign::map_list_of (string("SIGPUSHONLY"), (unsigned int)SCRIPT_VERIFY_SIGPUSHONLY) (string("MINIMALDATA"), (unsigned int)SCRIPT_VERIFY_MINIMALDATA) (string("NULLDUMMY"), (unsigned int)SCRIPT_VERIFY_NULLDUMMY) - (string("DISCOURAGE_UPGRADABLE_NOPS"), (unsigned int)SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS); + (string("DISCOURAGE_UPGRADABLE_NOPS"), (unsigned int)SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS) + (string("CHECKLOCKTIMEVERIFY"), (unsigned int)SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY); unsigned int ParseScriptFlags(string strFlags) { @@ -145,7 +146,7 @@ BOOST_AUTO_TEST_CASE(tx_valid) unsigned int verify_flags = ParseScriptFlags(test[2].get_str()); BOOST_CHECK_MESSAGE(VerifyScript(tx.vin[i].scriptSig, mapprevOutScriptPubKeys[tx.vin[i].prevout], - verify_flags, SignatureChecker(tx, i), &err), + verify_flags, TransactionSignatureChecker(&tx, i), &err), strTest); BOOST_CHECK_MESSAGE(err == SCRIPT_ERR_OK, ScriptErrorString(err)); } @@ -220,7 +221,7 @@ BOOST_AUTO_TEST_CASE(tx_invalid) unsigned int verify_flags = ParseScriptFlags(test[2].get_str()); fValid = VerifyScript(tx.vin[i].scriptSig, mapprevOutScriptPubKeys[tx.vin[i].prevout], - verify_flags, SignatureChecker(tx, i), &err); + verify_flags, TransactionSignatureChecker(&tx, i), &err); } BOOST_CHECK_MESSAGE(!fValid, strTest); BOOST_CHECK_MESSAGE(err != SCRIPT_ERR_OK, ScriptErrorString(err)); @@ -341,7 +342,7 @@ BOOST_AUTO_TEST_CASE(test_IsStandard) t.vout[0].nValue = 501; // dust BOOST_CHECK(!IsStandardTx(t, reason)); - t.vout[0].nValue = 601; // not dust + t.vout[0].nValue = 2730; // not dust BOOST_CHECK(IsStandardTx(t, reason)); t.vout[0].scriptPubKey = CScript() << OP_1; diff --git a/src/timedata.cpp b/src/timedata.cpp index 59f7778db1724..61a113513d9a6 100644 --- a/src/timedata.cpp +++ b/src/timedata.cpp @@ -40,6 +40,8 @@ static int64_t abs64(int64_t n) return (n >= 0 ? n : -n); } +#define BITCOIN_TIMEDATA_MAX_SAMPLES 200 + void AddTimeData(const CNetAddr& ip, int64_t nTime) { int64_t nOffsetSample = nTime - GetTime(); @@ -47,11 +49,13 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime) LOCK(cs_nTimeOffset); // Ignore duplicates static set setKnown; + if (setKnown.size() == BITCOIN_TIMEDATA_MAX_SAMPLES) + return; if (!setKnown.insert(ip).second) return; // Add data - static CMedianFilter vTimeOffsets(200,0); + static CMedianFilter vTimeOffsets(BITCOIN_TIMEDATA_MAX_SAMPLES, 0); vTimeOffsets.input(nOffsetSample); LogPrintf("Added time data, samples %d, offset %+d (%+d minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 840eb536baa01..db598a1dfa503 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -91,22 +91,32 @@ class CBlockAverage * Used as belt-and-suspenders check when reading to detect * file corruption */ - bool AreSane(const std::vector& vecFee, const CFeeRate& minRelayFee) + static bool AreSane(const CFeeRate fee, const CFeeRate& minRelayFee) + { + if (fee < CFeeRate(0)) + return false; + if (fee.GetFeePerK() > minRelayFee.GetFeePerK() * 10000) + return false; + return true; + } + static bool AreSane(const std::vector& vecFee, const CFeeRate& minRelayFee) { BOOST_FOREACH(CFeeRate fee, vecFee) { - if (fee < CFeeRate(0)) - return false; - if (fee.GetFeePerK() > minRelayFee.GetFeePerK() * 10000) + if (!AreSane(fee, minRelayFee)) return false; } return true; } - bool AreSane(const std::vector vecPriority) + static bool AreSane(const double priority) + { + return priority >= 0; + } + static bool AreSane(const std::vector vecPriority) { BOOST_FOREACH(double priority, vecPriority) { - if (priority < 0) + if (!AreSane(priority)) return false; } return true; @@ -167,12 +177,12 @@ class CMinerPolicyEstimator bool sufficientFee = (feeRate > minRelayFee); bool sufficientPriority = AllowFree(dPriority); const char* assignedTo = "unassigned"; - if (sufficientFee && !sufficientPriority) + if (sufficientFee && !sufficientPriority && CBlockAverage::AreSane(feeRate, minRelayFee)) { history[nBlocksTruncated].RecordFee(feeRate); assignedTo = "fee"; } - else if (sufficientPriority && !sufficientFee) + else if (sufficientPriority && !sufficientFee && CBlockAverage::AreSane(dPriority)) { history[nBlocksTruncated].RecordPriority(dPriority); assignedTo = "priority"; @@ -434,6 +444,18 @@ void CTxMemPool::remove(const CTransaction &origTx, std::list& rem LOCK(cs); std::deque txToRemove; txToRemove.push_back(origTx.GetHash()); + if (fRecursive && !mapTx.count(origTx.GetHash())) { + // If recursively removing but origTx isn't in the mempool + // be sure to remove any children that are in the pool. This can + // happen during chain re-orgs if origTx isn't re-accepted into + // the mempool for any reason. + for (unsigned int i = 0; i < origTx.vout.size(); i++) { + std::map::iterator it = mapNextTx.find(COutPoint(origTx.GetHash(), i)); + if (it == mapNextTx.end()) + continue; + txToRemove.push_back(it->second.ptx->GetHash()); + } + } while (!txToRemove.empty()) { uint256 hash = txToRemove.front(); diff --git a/src/util.cpp b/src/util.cpp index 0cdf4e614d8df..d789e05ecbff4 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -78,6 +78,7 @@ #include #include #include +#include // Work around clang compilation problem in Boost 1.46: // /usr/include/boost/program_options/detail/config_file.hpp:163:17: error: call to function 'to_internal' that is neither visible in the template definition nor found by argument-dependent lookup @@ -128,6 +129,13 @@ class CInit ppmutexOpenSSL[i] = new CCriticalSection(); CRYPTO_set_locking_callback(locking_callback); + // OpenSSL can optionally load a config file which lists optional loadable modules and engines. + // We don't use them so we don't require the config. However some of our libs may call functions + // which attempt to load the config file, possibly resulting in an exit() or crash if it is missing + // or corrupt. Explicitly tell OpenSSL not to try to load the file. The result for our libs will be + // that the config appears to have been loaded and there are no modules/engines available. + OPENSSL_no_config(); + #ifdef WIN32 // Seed OpenSSL PRNG with current contents of the screen RAND_screen(); @@ -713,19 +721,21 @@ void RenameThread(const char* name) void SetupEnvironment() { -#ifndef WIN32 - try - { -#if BOOST_FILESYSTEM_VERSION == 3 - boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid -#else // boost filesystem v2 - std::locale(); // Raises runtime error if current locale is invalid -#endif - } catch(std::runtime_error &e) - { - setenv("LC_ALL", "C", 1); // Force C locale + // On most POSIX systems (e.g. Linux, but not BSD) the environment's locale + // may be invalid, in which case the "C" locale is used as fallback. +#if !defined(WIN32) && !defined(MAC_OSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__) + try { + std::locale(""); // Raises a runtime error if current locale is invalid + } catch (const std::runtime_error&) { + setenv("LC_ALL", "C", 1); } #endif + // The path locale is lazy initialized and to avoid deinitialization errors + // in multithreading environments, it is set explicitly by the main thread. + // A dummy locale is used to extract the internal default locale, used by + // boost::filesystem::path, which is then used to explicitly imbue the path. + std::locale loc = boost::filesystem::path::imbue(std::locale::classic()); + boost::filesystem::path::imbue(loc); } void SetThreadPriority(int nPriority) diff --git a/src/wallet.cpp b/src/wallet.cpp index 32a64daac0c99..abdeed8f57663 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -26,6 +26,7 @@ using namespace std; * Settings */ CFeeRate payTxFee(DEFAULT_TRANSACTION_FEE); +CAmount maxTxFee = DEFAULT_TRANSACTION_MAXFEE; unsigned int nTxConfirmTarget = 1; bool bSpendZeroConfChange = true; bool fSendFreeTransactions = false; @@ -1417,10 +1418,14 @@ bool CWallet::CreateTransaction(const vector >& vecSend, BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { CAmount nCredit = pcoin.first->vout[pcoin.second].nValue; - //The priority after the next block (depth+1) is used instead of the current, + //The coin age after the next block (depth+1) is used instead of the current, //reflecting an assumption the user would accept a bit more delay for //a chance at a free transaction. - dPriority += (double)nCredit * (pcoin.first->GetDepthInMainChain()+1); + //But mempool inputs might still be in the mempool, so their age stays 0 + int age = pcoin.first->GetDepthInMainChain(); + if (age != 0) + age += 1; + dPriority += (double)nCredit * age; } CAmount nChange = nValueIn - nValue - nFeeRet; @@ -1499,27 +1504,32 @@ bool CWallet::CreateTransaction(const vector >& vecSend, } dPriority = wtxNew.ComputePriority(dPriority, nBytes); - CAmount nFeeNeeded = GetMinimumFee(nBytes, nTxConfirmTarget, mempool); + // Can we complete this as a free transaction? + if (fSendFreeTransactions && nBytes <= MAX_FREE_TRANSACTION_CREATE_SIZE) + { + // Not enough fee: enough priority? + double dPriorityNeeded = mempool.estimatePriority(nTxConfirmTarget); + // Not enough mempool history to estimate: use hard-coded AllowFree. + if (dPriorityNeeded <= 0 && AllowFree(dPriority)) + break; + + // Small enough, and priority high enough, to send for free + if (dPriorityNeeded > 0 && dPriority >= dPriorityNeeded) + break; + } - if (nFeeRet >= nFeeNeeded) - break; // Done, enough fee included. + CAmount nFeeNeeded = GetMinimumFee(nBytes, nTxConfirmTarget, mempool); - // Too big to send for free? Include more fee and try again: - if (!fSendFreeTransactions || nBytes > MAX_FREE_TRANSACTION_CREATE_SIZE) + // If we made it here and we aren't even able to meet the relay fee on the next pass, give up + // because we must be at the maximum allowed fee. + if (nFeeNeeded < ::minRelayTxFee.GetFee(nBytes)) { - nFeeRet = nFeeNeeded; - continue; + strFailReason = _("Transaction too large for fee policy"); + return false; } - // Not enough fee: enough priority? - double dPriorityNeeded = mempool.estimatePriority(nTxConfirmTarget); - // Not enough mempool history to estimate: use hard-coded AllowFree. - if (dPriorityNeeded <= 0 && AllowFree(dPriority)) - break; - - // Small enough, and priority high enough, to send for free - if (dPriorityNeeded > 0 && dPriority >= dPriorityNeeded) - break; + if (nFeeRet >= nFeeNeeded) + break; // Done, enough fee included. // Include more fee and try again. nFeeRet = nFeeNeeded; @@ -1591,9 +1601,6 @@ CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarge { // payTxFee is user-set "I want to pay this much" CAmount nFeeNeeded = payTxFee.GetFee(nTxBytes); - // prevent user from paying a non-sense fee (like 1 satoshi): 0 < fee < minRelayFee - if (nFeeNeeded > 0 && nFeeNeeded < ::minRelayTxFee.GetFee(nTxBytes)) - nFeeNeeded = ::minRelayTxFee.GetFee(nTxBytes); // user selected total at least (default=true) if (fPayAtLeastCustomFee && nFeeNeeded > 0 && nFeeNeeded < payTxFee.GetFeePerK()) nFeeNeeded = payTxFee.GetFeePerK(); @@ -1604,6 +1611,12 @@ CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarge // back to a hard-coded fee if (nFeeNeeded == 0) nFeeNeeded = minTxFee.GetFee(nTxBytes); + // prevent user from paying a non-sense fee (like 1 satoshi): 0 < fee < minRelayFee + if (nFeeNeeded < ::minRelayTxFee.GetFee(nTxBytes)) + nFeeNeeded = ::minRelayTxFee.GetFee(nTxBytes); + // But always obey the maximum + if (nFeeNeeded > maxTxFee) + nFeeNeeded = maxTxFee; return nFeeNeeded; } diff --git a/src/wallet.h b/src/wallet.h index 2dd2146e8cf27..058107edf170b 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -30,6 +30,7 @@ * Settings */ extern CFeeRate payTxFee; +extern CAmount maxTxFee; extern unsigned int nTxConfirmTarget; extern bool bSpendZeroConfChange; extern bool fSendFreeTransactions; @@ -39,6 +40,10 @@ extern bool fPayAtLeastCustomFee; static const CAmount DEFAULT_TRANSACTION_FEE = 0; //! -paytxfee will warn if called with a higher fee than this amount (in satoshis) per KB static const CAmount nHighTransactionFeeWarning = 0.01 * COIN; +//! -maxtxfee default +static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.1 * COIN; +//! -maxtxfee will warn if called with a higher fee than this amount (in satoshis) +static const CAmount nHighTransactionMaxFeeWarning = 100 * nHighTransactionFeeWarning; //! Largest (in bytes) free transaction we're willing to create static const unsigned int MAX_FREE_TRANSACTION_CREATE_SIZE = 1000;