mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-22 16:14:50 +01:00
Compare commits
196 Commits
v24.0
...
v0.21-fina
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec0a4ad677 | ||
|
|
bf79f08d97 | ||
|
|
6bfa0bef48 | ||
|
|
dca463bd81 | ||
|
|
efb9f00f07 | ||
|
|
cfb08c342e | ||
|
|
af591f2068 | ||
|
|
6c102a696e | ||
|
|
f78570ef87 | ||
|
|
97d3500601 | ||
|
|
b8f5fb7c6b | ||
|
|
82c5208ddc | ||
|
|
6ebb9d0e46 | ||
|
|
55a8a5b2df | ||
|
|
d9b18c1290 | ||
|
|
2d7f2606c1 | ||
|
|
2a7568999c | ||
|
|
3118a5eedf | ||
|
|
2873e01c6a | ||
|
|
89d148c8c6 | ||
|
|
e94e433762 | ||
|
|
bf672ce25a | ||
|
|
4b523c8f0a | ||
|
|
2a57108051 | ||
|
|
a653aacbd6 | ||
|
|
aaa4833fc9 | ||
|
|
8df3e5bd84 | ||
|
|
83dfe6c65e | ||
|
|
068ac69b56 | ||
|
|
52778f4245 | ||
|
|
55e941f5df | ||
|
|
681f728a35 | ||
|
|
89426c43fb | ||
|
|
080b47d9ce | ||
|
|
997e528a34 | ||
|
|
e3f1da4bf3 | ||
|
|
6ca54ce2ae | ||
|
|
f220368220 | ||
|
|
bd2f4164c6 | ||
|
|
4c29b63cfb | ||
|
|
da816247f0 | ||
|
|
513613d8a8 | ||
|
|
70eac6fcd0 | ||
|
|
c5357fa415 | ||
|
|
926f76cb20 | ||
|
|
7b0b201d10 | ||
|
|
0fe60a84ae | ||
|
|
5313d6aed2 | ||
|
|
27d691b6b5 | ||
|
|
2f33e339a8 | ||
|
|
65ce833042 | ||
|
|
419f9b3b3b | ||
|
|
09620b89f5 | ||
|
|
46320ba72f | ||
|
|
f2a88986a1 | ||
|
|
58c0742632 | ||
|
|
deff4e763e | ||
|
|
8584a4460d | ||
|
|
bbd89d23b3 | ||
|
|
856de5bd5e | ||
|
|
194b9b8792 | ||
|
|
d97d0d31a6 | ||
|
|
5577e0a486 | ||
|
|
329eafa7f4 | ||
|
|
e85dfdbf31 | ||
|
|
ab20518191 | ||
|
|
f8bbee425e | ||
|
|
b8af67eeef | ||
|
|
79cdb4a198 | ||
|
|
b765f41164 | ||
|
|
dfeb6c10bb | ||
|
|
e3b76b6c13 | ||
|
|
0fe5b6130c | ||
|
|
cbd64c3a28 | ||
|
|
ec7824396b | ||
|
|
600357306e | ||
|
|
3acf0379e0 | ||
|
|
b529222ad1 | ||
|
|
71917e01eb | ||
|
|
4cab84cfdf | ||
|
|
f9517e6014 | ||
|
|
1c0164544c | ||
|
|
2e9e7f4329 | ||
|
|
e358b43f7d | ||
|
|
f79189ca54 | ||
|
|
7de019bc61 | ||
|
|
0b9a046c1a | ||
|
|
1a9a2cb7dc | ||
|
|
f6896dfde7 | ||
|
|
e99d6d0c7c | ||
|
|
d61fb07da7 | ||
|
|
65fa43bda1 | ||
|
|
f2195d7c4a | ||
|
|
1e9671116f | ||
|
|
7dfe406e20 | ||
|
|
593e206627 | ||
|
|
8944aaa6d6 | ||
|
|
1485533092 | ||
|
|
5fc381e443 | ||
|
|
bcd716670b | ||
|
|
34c89f92f3 | ||
|
|
48fc675163 | ||
|
|
a30fd40735 | ||
|
|
1bad33f952 | ||
|
|
5a2d98c640 | ||
|
|
8426e3a8a1 | ||
|
|
14e3f2a1c9 | ||
|
|
a48c9d3161 | ||
|
|
6746cd078b | ||
|
|
58975d5c0a | ||
|
|
b35711efde | ||
|
|
e775b0a6dd | ||
|
|
3a12672419 | ||
|
|
36ecf5eb87 | ||
|
|
4ef1e4bd40 | ||
|
|
d6b5eb5fcc | ||
|
|
08dada8456 | ||
|
|
95218ee95c | ||
|
|
4607019798 | ||
|
|
6dc58e9945 | ||
|
|
e2ebc8567a | ||
|
|
a98f211940 | ||
|
|
bdc64c9030 | ||
|
|
7bc4498234 | ||
|
|
b7086e69ff | ||
|
|
0dba346a56 | ||
|
|
7d8a10a6f4 | ||
|
|
b6d3502993 | ||
|
|
95ea54ba08 | ||
|
|
91f0632464 | ||
|
|
66e6742a27 | ||
|
|
7bf3ed495b | ||
|
|
bdce029191 | ||
|
|
c33fbab25c | ||
|
|
15877d160c | ||
|
|
4e7b4ce7eb | ||
|
|
6e28714da3 | ||
|
|
3308718a6b | ||
|
|
e6ad8a6220 | ||
|
|
212525337e | ||
|
|
93ce429f0e | ||
|
|
ac125e960f | ||
|
|
b1c0f97483 | ||
|
|
1fda7db64f | ||
|
|
ef7a155cf0 | ||
|
|
35a10e4ebc | ||
|
|
e70ccb0bc4 | ||
|
|
2c8482d0a2 | ||
|
|
0c1fa78af1 | ||
|
|
84e8d5467f | ||
|
|
e4440eb67b | ||
|
|
85dabd1249 | ||
|
|
249d61a382 | ||
|
|
e7b53d4721 | ||
|
|
8273ea3b8d | ||
|
|
9ae536d368 | ||
|
|
e6d0fa3ef6 | ||
|
|
3fee499bc3 | ||
|
|
48134a09ad | ||
|
|
f51e1cb291 | ||
|
|
48f8929aad | ||
|
|
96124a2041 | ||
|
|
61e316e661 | ||
|
|
ce13b99020 | ||
|
|
1caa32e3f2 | ||
|
|
0d3c140c4d | ||
|
|
06c84232b3 | ||
|
|
bead935470 | ||
|
|
9e806887a8 | ||
|
|
aa4b8ebfec | ||
|
|
68bd88597a | ||
|
|
6313362553 | ||
|
|
6e4969f76f | ||
|
|
54e1edcc2b | ||
|
|
01b647b1a2 | ||
|
|
9facca3ce0 | ||
|
|
d47d16025e | ||
|
|
4e964094db | ||
|
|
7264bcd20f | ||
|
|
ba19f9b490 | ||
|
|
17294c1820 | ||
|
|
3fae2f95f1 | ||
|
|
ab23a83400 | ||
|
|
b1f59d55d9 | ||
|
|
fa05d19bd6 | ||
|
|
bf9548bc59 | ||
|
|
7ffac12545 | ||
|
|
ca8cd893bb | ||
|
|
99d56e3571 | ||
|
|
fa69c2c784 | ||
|
|
80496f9e81 | ||
|
|
2498b04ce8 | ||
|
|
c46c18b788 | ||
|
|
6cde7bb9b2 | ||
|
|
463b316822 | ||
|
|
fac4e136fa |
@@ -1,29 +1,30 @@
|
||||
version: '{branch}.{build}'
|
||||
skip_tags: true
|
||||
image: Previous Visual Studio 2019
|
||||
image: Visual Studio 2019
|
||||
configuration: Release
|
||||
platform: x64
|
||||
clone_depth: 5
|
||||
environment:
|
||||
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
|
||||
PYTHONUTF8: 1
|
||||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
|
||||
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
|
||||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt598x64_vs2019_v1681/qt598_x64_vs2019_1681.zip'
|
||||
QT_DOWNLOAD_HASH: '00cf7327818c07d74e0b1a4464ffe987c2728b00d49d4bf333065892af0515c3'
|
||||
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
|
||||
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
|
||||
VCPKG_COMMIT_ID: '40230b8e3f6368dcb398d649331be878ca1e9007'
|
||||
VCPKG_TAG: '75522bb1f2e7d863078bcd06322348f053a9e33f'
|
||||
install:
|
||||
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
|
||||
# - cmd: pip install zmq
|
||||
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
|
||||
# The powershell block below is to set up vcpkg to install the c++ dependencies. The pseudo code is:
|
||||
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary,
|
||||
# b. Install the missing packages using the vcpkg manifest.
|
||||
# b. Append a setting to the vcpkg cmake config file to only do release builds of dependencies (skipping deubg builds saves ~5 mins).
|
||||
# Note originally this block also installed the dependencies using 'vcpkg install'. Dependencies are now installed
|
||||
# as part of the msbuild command using vcpkg mainfests.
|
||||
- ps: |
|
||||
cd c:\tools\vcpkg
|
||||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
|
||||
git pull origin master > $null
|
||||
git -c advice.detachedHead=false checkout $env:VCPKG_COMMIT_ID
|
||||
git -c advice.detachedHead=false checkout $env:VCPKG_TAG
|
||||
.\bootstrap-vcpkg.bat > $null
|
||||
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
|
||||
cd "$env:APPVEYOR_BUILD_FOLDER"
|
||||
before_build:
|
||||
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
|
||||
|
||||
@@ -107,6 +107,7 @@ task:
|
||||
|
||||
task:
|
||||
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
|
||||
only_if: $CIRRUS_BRANCH == $CIRRUS_DEFAULT_BRANCH || $CIRRUS_BASE_BRANCH == $CIRRUS_DEFAULT_BRANCH
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
container:
|
||||
image: ubuntu:focal
|
||||
@@ -131,8 +132,9 @@ task:
|
||||
|
||||
task:
|
||||
name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]'
|
||||
macos_brew_addon_script:
|
||||
- brew install boost libevent berkeley-db4 qt miniupnpc ccache zeromq qrencode sqlite libtool automake pkg-config gnu-getopt
|
||||
brew_install_script:
|
||||
- brew update
|
||||
- brew install boost libevent berkeley-db4 qt@5 miniupnpc ccache zeromq qrencode sqlite libtool automake pkg-config gnu-getopt
|
||||
<< : *GLOBAL_TASK_TEMPLATE
|
||||
osx_instance:
|
||||
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
|
||||
|
||||
36
build-aux/m4/l_socket.m4
Normal file
36
build-aux/m4/l_socket.m4
Normal file
@@ -0,0 +1,36 @@
|
||||
# Illumos/SmartOS requires linking with -lsocket if
|
||||
# using getifaddrs & freeifaddrs
|
||||
|
||||
m4_define([_CHECK_SOCKET_testbody], [[
|
||||
#include <sys/types.h>
|
||||
#include <ifaddrs.h>
|
||||
|
||||
int main() {
|
||||
struct ifaddrs *ifaddr;
|
||||
getifaddrs(&ifaddr);
|
||||
freeifaddrs(ifaddr);
|
||||
}
|
||||
]])
|
||||
|
||||
AC_DEFUN([CHECK_SOCKET], [
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
|
||||
AC_MSG_CHECKING([whether ifaddrs funcs can be used without link library])
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_SOCKET_testbody])],[
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
LIBS="$LIBS -lsocket"
|
||||
AC_MSG_CHECKING([whether getifaddrs needs -lsocket])
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_SOCKET_testbody])],[
|
||||
AC_MSG_RESULT([yes])
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_FAILURE([cannot figure out how to use getifaddrs])
|
||||
])
|
||||
])
|
||||
|
||||
AC_LANG_POP
|
||||
])
|
||||
@@ -56,7 +56,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
<AdditionalOptions>/ignore:4206 /LTCG:OFF</AdditionalOptions>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
#define CLIENT_VERSION_BUILD 0
|
||||
|
||||
/* Version is release */
|
||||
#define CLIENT_VERSION_IS_RELEASE false
|
||||
#define CLIENT_VERSION_IS_RELEASE true
|
||||
|
||||
/* Major version */
|
||||
#define CLIENT_VERSION_MAJOR 0
|
||||
|
||||
/* Minor version */
|
||||
#define CLIENT_VERSION_MINOR 20
|
||||
#define CLIENT_VERSION_MINOR 21
|
||||
|
||||
/* Build revision */
|
||||
#define CLIENT_VERSION_REVISION 99
|
||||
#define CLIENT_VERSION_REVISION 2
|
||||
|
||||
/* Copyright holder(s) before %s replacement */
|
||||
#define COPYRIGHT_HOLDERS "The %s developers"
|
||||
@@ -253,7 +253,7 @@
|
||||
#define PACKAGE_NAME "Bitcoin Core"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.19.99"
|
||||
#define PACKAGE_STRING "Bitcoin Core 0.21.2"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "bitcoin"
|
||||
@@ -262,7 +262,7 @@
|
||||
#define PACKAGE_URL "https://bitcoincore.org/"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.19.99"
|
||||
#define PACKAGE_VERSION "0.21.2"
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
<UseNativeEnvironment>true</UseNativeEnvironment>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -16,6 +14,8 @@
|
||||
<VcpkgUseStatic>true</VcpkgUseStatic>
|
||||
<VcpkgAutoLink>true</VcpkgAutoLink>
|
||||
<VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
|
||||
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
|
||||
@@ -45,66 +45,46 @@
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<GenerateManifest>No</GenerateManifest>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>false</EnableCOMDATFolding>
|
||||
<OptimizeReferences>false</OptimizeReferences>
|
||||
<AdditionalOptions>/LTCG:OFF</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
@@ -124,7 +104,6 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Lib>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<Target Name="CopyBuildArtifacts" Condition="'$(ConfigurationType)' != 'StaticLibrary'">
|
||||
<ItemGroup>
|
||||
<BuildArtifacts Include="$(OutDir)$(TargetName)$(TargetExt)"></BuildArtifacts>
|
||||
<BuildArtifacts Include="$(OutDir)$(TargetName).pdb"></BuildArtifacts>
|
||||
<BuildArtifacts Include="$(OutDir)$(TargetName).pdb" Condition="Exists('$(OutDir)$(TargetName).pdb')"></BuildArtifacts>
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(BuildArtifacts)" SkipUnchangedFiles="true" DestinationFolder="..\..\src\" Condition="'$(OutDir)' != ''"></Copy>
|
||||
</Target>
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiondesc.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiondescdialog.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionfilterproxy.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionoverviewwidget.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionrecord.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiontablemodel.cpp" />
|
||||
<ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionview.cpp" />
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(QtLibraryDir)\Qt5Test.lib;$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
<AdditionalOptions>/ignore:4206 /LTCG:OFF</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>$(QtDebugLibraries);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
<AdditionalOptions>/ignore:4206</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -25,4 +25,4 @@ export RUN_FUNCTIONAL_TESTS=false
|
||||
export GOAL="install"
|
||||
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
|
||||
# This could be removed once the ABI change warning does not show up by default
|
||||
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi --enable-werror --with-boost-process"
|
||||
export BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi --with-boost-process"
|
||||
|
||||
@@ -15,4 +15,4 @@ export XCODE_BUILD_ID=11C505
|
||||
export RUN_UNIT_TESTS=false
|
||||
export RUN_FUNCTIONAL_TESTS=false
|
||||
export GOAL="deploy"
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-werror --with-boost-process"
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --with-boost-process"
|
||||
|
||||
@@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
|
||||
export HOST=x86_64-apple-darwin16
|
||||
export PIP_PACKAGES="zmq"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --enable-werror --with-boost-process"
|
||||
export BITCOIN_CONFIG="--with-gui --enable-reduce-exports --with-boost-process"
|
||||
export CI_OS_NAME="macos"
|
||||
export NO_DEPENDS=1
|
||||
export OSX_SDK=""
|
||||
|
||||
@@ -14,3 +14,7 @@ export RUN_FUNCTIONAL_TESTS=false
|
||||
export RUN_SECURITY_TESTS="true"
|
||||
export GOAL="deploy"
|
||||
export BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests --without-boost-process"
|
||||
|
||||
# Compiler for MinGW-w64 causes false -Wreturn-type warning.
|
||||
# See https://sourceforge.net/p/mingw-w64/bugs/306/
|
||||
export NO_WERROR=1
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$DEPENDS_DIR/$HOST --bindir=$BASE_OUTDIR/bin --libdir=$BASE_OUTDIR/lib"
|
||||
BITCOIN_CONFIG_ALL="--enable-suppress-external-warnings --disable-dependency-tracking --prefix=$DEPENDS_DIR/$HOST --bindir=$BASE_OUTDIR/bin --libdir=$BASE_OUTDIR/lib"
|
||||
if [ -z "$NO_WERROR" ]; then
|
||||
BITCOIN_CONFIG_ALL="${BITCOIN_CONFIG_ALL} --enable-werror"
|
||||
fi
|
||||
DOCKER_EXEC "ccache --zero-stats --max-size=$CCACHE_SIZE"
|
||||
|
||||
BEGIN_FOLD autogen
|
||||
|
||||
29
configure.ac
29
configure.ac
@@ -1,10 +1,10 @@
|
||||
AC_PREREQ([2.69])
|
||||
define(_CLIENT_VERSION_MAJOR, 0)
|
||||
define(_CLIENT_VERSION_MINOR, 20)
|
||||
define(_CLIENT_VERSION_REVISION, 99)
|
||||
define(_CLIENT_VERSION_MINOR, 21)
|
||||
define(_CLIENT_VERSION_REVISION, 2)
|
||||
define(_CLIENT_VERSION_BUILD, 0)
|
||||
define(_CLIENT_VERSION_RC, 0)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, false)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2020)
|
||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
|
||||
@@ -535,13 +535,17 @@ AX_CHECK_COMPILE_FLAG([-march=armv8-a+crc+crypto],[[ARM_CRC_CXXFLAGS="-march=arm
|
||||
|
||||
TEMP_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $ARM_CRC_CXXFLAGS"
|
||||
AC_MSG_CHECKING(for ARM CRC32 intrinsics)
|
||||
AC_MSG_CHECKING(for AArch64 CRC32 intrinsics)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <arm_acle.h>
|
||||
#include <arm_neon.h>
|
||||
]],[[
|
||||
#ifdef __aarch64__
|
||||
__crc32cb(0, 0); __crc32ch(0, 0); __crc32cw(0, 0); __crc32cd(0, 0);
|
||||
vmull_p64(0, 0);
|
||||
#else
|
||||
#error "crc32c library does not support hardware acceleration on 32-bit ARM"
|
||||
#endif
|
||||
]])],
|
||||
[ AC_MSG_RESULT(yes); enable_arm_crc=yes; ],
|
||||
[ AC_MSG_RESULT(no)]
|
||||
@@ -646,16 +650,19 @@ case $host in
|
||||
dnl It's safe to add these paths even if the functionality is disabled by
|
||||
dnl the user (--without-wallet or --without-gui for example).
|
||||
|
||||
bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
|
||||
qt5_prefix=$($BREW --prefix qt5 2>/dev/null)
|
||||
if test x$bdb_prefix != x && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then
|
||||
if test "x$use_bdb" != xno && $BREW list --versions berkeley-db4 >/dev/null && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then
|
||||
bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
|
||||
dnl This must precede the call to BITCOIN_FIND_BDB48 below.
|
||||
BDB_CFLAGS="-I$bdb_prefix/include"
|
||||
BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8"
|
||||
fi
|
||||
if test x$qt5_prefix != x; then
|
||||
PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
export PKG_CONFIG_PATH
|
||||
|
||||
if test "x$use_sqlite" != xno && $BREW list --versions sqlite3 >/dev/null; then
|
||||
export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
|
||||
if $BREW list --versions qt5 >/dev/null; then
|
||||
export PKG_CONFIG_PATH="$($BREW --prefix qt5 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@@ -863,7 +870,7 @@ fi
|
||||
|
||||
AC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h sys/sysctl.h vm/vm_param.h sys/vmmeter.h sys/resources.h])
|
||||
|
||||
AC_CHECK_DECLS([getifaddrs, freeifaddrs],,,
|
||||
AC_CHECK_DECLS([getifaddrs, freeifaddrs],[CHECK_SOCKET],,
|
||||
[#include <sys/types.h>
|
||||
#include <ifaddrs.h>]
|
||||
)
|
||||
|
||||
@@ -7,9 +7,13 @@ architectures:
|
||||
- "amd64"
|
||||
packages:
|
||||
- "faketime"
|
||||
- "python3-pip"
|
||||
remotes:
|
||||
- "url": "https://github.com/bitcoin-core/bitcoin-detached-sigs.git"
|
||||
"dir": "signature"
|
||||
- "url": "https://github.com/achow101/signapple.git"
|
||||
"dir": "signapple"
|
||||
"commit": "b084cbbf44d5330448ffce0c7d118f75781b64bd"
|
||||
files:
|
||||
- "bitcoin-osx-unsigned.tar.gz"
|
||||
script: |
|
||||
@@ -30,11 +34,19 @@ script: |
|
||||
chmod +x ${WRAP_DIR}/${prog}
|
||||
done
|
||||
|
||||
UNSIGNED=bitcoin-osx-unsigned.tar.gz
|
||||
# Install signapple
|
||||
cd signapple
|
||||
python3 -m pip install -U pip setuptools
|
||||
python3 -m pip install .
|
||||
export PATH="$HOME/.local/bin":$PATH
|
||||
cd ..
|
||||
|
||||
UNSIGNED_TARBALL=bitcoin-osx-unsigned.tar.gz
|
||||
UNSIGNED_APP=dist/Bitcoin-Qt.app
|
||||
SIGNED=bitcoin-osx-signed.dmg
|
||||
|
||||
tar -xf ${UNSIGNED}
|
||||
tar -xf ${UNSIGNED_TARBALL}
|
||||
OSX_VOLNAME="$(cat osx_volname)"
|
||||
./detached-sig-apply.sh ${UNSIGNED} signature/osx
|
||||
./detached-sig-apply.sh ${UNSIGNED_APP} signature/osx/dist
|
||||
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app
|
||||
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}
|
||||
|
||||
@@ -138,8 +138,6 @@ script: |
|
||||
cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i}
|
||||
cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i}
|
||||
cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i}
|
||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-codesign_allocate unsigned-app-${i}/codesign_allocate
|
||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff
|
||||
mv dist unsigned-app-${i}
|
||||
pushd unsigned-app-${i}
|
||||
find . | sort | tar --mtime="$REFERENCE_DATETIME" --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz
|
||||
|
||||
@@ -8,10 +8,9 @@ set -e
|
||||
|
||||
UNSIGNED="$1"
|
||||
SIGNATURE="$2"
|
||||
ARCH=x86_64
|
||||
ROOTDIR=dist
|
||||
TEMPDIR=signed.temp
|
||||
OUTDIR=signed-app
|
||||
SIGNAPPLE=signapple
|
||||
|
||||
if [ -z "$UNSIGNED" ]; then
|
||||
echo "usage: $0 <unsigned app> <signature>"
|
||||
@@ -23,35 +22,6 @@ if [ -z "$SIGNATURE" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${TEMPDIR} && mkdir -p ${TEMPDIR}
|
||||
tar -C ${TEMPDIR} -xf ${UNSIGNED}
|
||||
cp -rf "${SIGNATURE}"/* ${TEMPDIR}
|
||||
|
||||
if [ -z "${PAGESTUFF}" ]; then
|
||||
PAGESTUFF=${TEMPDIR}/pagestuff
|
||||
fi
|
||||
|
||||
if [ -z "${CODESIGN_ALLOCATE}" ]; then
|
||||
CODESIGN_ALLOCATE=${TEMPDIR}/codesign_allocate
|
||||
fi
|
||||
|
||||
find ${TEMPDIR} -name "*.sign" | while read i; do
|
||||
SIZE=$(stat -c %s "${i}")
|
||||
TARGET_FILE="$(echo "${i}" | sed 's/\.sign$//')"
|
||||
|
||||
echo "Allocating space for the signature of size ${SIZE} in ${TARGET_FILE}"
|
||||
${CODESIGN_ALLOCATE} -i "${TARGET_FILE}" -a ${ARCH} ${SIZE} -o "${i}.tmp"
|
||||
|
||||
OFFSET=$(${PAGESTUFF} "${i}.tmp" -p | tail -2 | grep offset | sed 's/[^0-9]*//g')
|
||||
if [ -z ${QUIET} ]; then
|
||||
echo "Attaching signature at offset ${OFFSET}"
|
||||
fi
|
||||
|
||||
dd if="$i" of="${i}.tmp" bs=1 seek=${OFFSET} count=${SIZE} 2>/dev/null
|
||||
mv "${i}.tmp" "${TARGET_FILE}"
|
||||
rm "${i}"
|
||||
echo "Success."
|
||||
done
|
||||
mv ${TEMPDIR}/${ROOTDIR} ${OUTDIR}
|
||||
rm -rf ${TEMPDIR}
|
||||
${SIGNAPPLE} apply ${UNSIGNED} ${SIGNATURE}
|
||||
mv ${ROOTDIR} ${OUTDIR}
|
||||
echo "Signed: ${OUTDIR}"
|
||||
|
||||
@@ -8,44 +8,21 @@ set -e
|
||||
|
||||
ROOTDIR=dist
|
||||
BUNDLE="${ROOTDIR}/Bitcoin-Qt.app"
|
||||
CODESIGN=codesign
|
||||
SIGNAPPLE=signapple
|
||||
TEMPDIR=sign.temp
|
||||
TEMPLIST=${TEMPDIR}/signatures.txt
|
||||
OUT=signature-osx.tar.gz
|
||||
OUTROOT=osx
|
||||
OUTROOT=osx/dist
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: $0 <codesign args>"
|
||||
echo "example: $0 -s MyIdentity"
|
||||
echo "usage: $0 <signapple args>"
|
||||
echo "example: $0 <path to key>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${TEMPDIR} ${TEMPLIST}
|
||||
rm -rf ${TEMPDIR}
|
||||
mkdir -p ${TEMPDIR}
|
||||
|
||||
${CODESIGN} -f --file-list ${TEMPLIST} "$@" "${BUNDLE}"
|
||||
|
||||
grep -v CodeResources < "${TEMPLIST}" | while read i; do
|
||||
TARGETFILE="${BUNDLE}/$(echo "${i}" | sed "s|.*${BUNDLE}/||")"
|
||||
SIZE=$(pagestuff "$i" -p | tail -2 | grep size | sed 's/[^0-9]*//g')
|
||||
OFFSET=$(pagestuff "$i" -p | tail -2 | grep offset | sed 's/[^0-9]*//g')
|
||||
SIGNFILE="${TEMPDIR}/${OUTROOT}/${TARGETFILE}.sign"
|
||||
DIRNAME="$(dirname "${SIGNFILE}")"
|
||||
mkdir -p "${DIRNAME}"
|
||||
echo "Adding detached signature for: ${TARGETFILE}. Size: ${SIZE}. Offset: ${OFFSET}"
|
||||
dd if="$i" of="${SIGNFILE}" bs=1 skip=${OFFSET} count=${SIZE} 2>/dev/null
|
||||
done
|
||||
|
||||
grep CodeResources < "${TEMPLIST}" | while read i; do
|
||||
TARGETFILE="${BUNDLE}/$(echo "${i}" | sed "s|.*${BUNDLE}/||")"
|
||||
RESOURCE="${TEMPDIR}/${OUTROOT}/${TARGETFILE}"
|
||||
DIRNAME="$(dirname "${RESOURCE}")"
|
||||
mkdir -p "${DIRNAME}"
|
||||
echo "Adding resource for: \"${TARGETFILE}\""
|
||||
cp "${i}" "${RESOURCE}"
|
||||
done
|
||||
|
||||
rm ${TEMPLIST}
|
||||
${SIGNAPPLE} sign -f --detach "${TEMPDIR}/${OUTROOT}" "$@" "${BUNDLE}"
|
||||
|
||||
tar -C "${TEMPDIR}" -czf "${OUT}" .
|
||||
rm -rf "${TEMPDIR}"
|
||||
|
||||
@@ -4,5 +4,5 @@ Utilities to generate test vectors for the data-driven Bitcoin tests.
|
||||
|
||||
Usage:
|
||||
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py valid 50 > ../../src/test/data/key_io_valid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py invalid 50 > ../../src/test/data/key_io_invalid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py valid 70 > ../../src/test/data/key_io_valid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py invalid 70 > ../../src/test/data/key_io_invalid.json
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
'''
|
||||
Generate valid and invalid base58 address and private key test vectors.
|
||||
Generate valid and invalid base58/bech32(m) address and private key test vectors.
|
||||
|
||||
Usage:
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py valid 50 > ../../src/test/data/key_io_valid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py invalid 50 > ../../src/test/data/key_io_invalid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py valid 70 > ../../src/test/data/key_io_valid.json
|
||||
PYTHONPATH=../../test/functional/test_framework ./gen_key_io_test_vectors.py invalid 70 > ../../src/test/data/key_io_invalid.json
|
||||
'''
|
||||
# 2012 Wladimir J. van der Laan
|
||||
# Released under MIT License
|
||||
@@ -15,7 +15,7 @@ import os
|
||||
from itertools import islice
|
||||
from base58 import b58encode_chk, b58decode_chk, b58chars
|
||||
import random
|
||||
from segwit_addr import bech32_encode, decode_segwit_address, convertbits, CHARSET
|
||||
from segwit_addr import bech32_encode, decode_segwit_address, convertbits, CHARSET, Encoding
|
||||
|
||||
# key types
|
||||
PUBKEY_ADDRESS = 0
|
||||
@@ -32,6 +32,7 @@ PRIVKEY_REGTEST = 239
|
||||
OP_0 = 0x00
|
||||
OP_1 = 0x51
|
||||
OP_2 = 0x52
|
||||
OP_3 = 0x53
|
||||
OP_16 = 0x60
|
||||
OP_DUP = 0x76
|
||||
OP_EQUAL = 0x87
|
||||
@@ -44,6 +45,7 @@ script_prefix = (OP_HASH160, 20)
|
||||
script_suffix = (OP_EQUAL,)
|
||||
p2wpkh_prefix = (OP_0, 20)
|
||||
p2wsh_prefix = (OP_0, 32)
|
||||
p2tr_prefix = (OP_1, 32)
|
||||
|
||||
metadata_keys = ['isPrivkey', 'chain', 'isCompressed', 'tryCaseFlip']
|
||||
# templates for valid sequences
|
||||
@@ -54,40 +56,58 @@ templates = [
|
||||
((SCRIPT_ADDRESS,), 20, (), (False, 'main', None, None), script_prefix, script_suffix),
|
||||
((PUBKEY_ADDRESS_TEST,), 20, (), (False, 'test', None, None), pubkey_prefix, pubkey_suffix),
|
||||
((SCRIPT_ADDRESS_TEST,), 20, (), (False, 'test', None, None), script_prefix, script_suffix),
|
||||
((PUBKEY_ADDRESS_TEST,), 20, (), (False, 'signet', None, None), pubkey_prefix, pubkey_suffix),
|
||||
((SCRIPT_ADDRESS_TEST,), 20, (), (False, 'signet', None, None), script_prefix, script_suffix),
|
||||
((PUBKEY_ADDRESS_REGTEST,), 20, (), (False, 'regtest', None, None), pubkey_prefix, pubkey_suffix),
|
||||
((SCRIPT_ADDRESS_REGTEST,), 20, (), (False, 'regtest', None, None), script_prefix, script_suffix),
|
||||
((PRIVKEY,), 32, (), (True, 'main', False, None), (), ()),
|
||||
((PRIVKEY,), 32, (1,), (True, 'main', True, None), (), ()),
|
||||
((PRIVKEY_TEST,), 32, (), (True, 'test', False, None), (), ()),
|
||||
((PRIVKEY_TEST,), 32, (1,), (True, 'test', True, None), (), ()),
|
||||
((PRIVKEY_TEST,), 32, (), (True, 'signet', False, None), (), ()),
|
||||
((PRIVKEY_TEST,), 32, (1,), (True, 'signet', True, None), (), ()),
|
||||
((PRIVKEY_REGTEST,), 32, (), (True, 'regtest', False, None), (), ()),
|
||||
((PRIVKEY_REGTEST,), 32, (1,), (True, 'regtest', True, None), (), ())
|
||||
]
|
||||
# templates for valid bech32 sequences
|
||||
bech32_templates = [
|
||||
# hrp, version, witprog_size, metadata, output_prefix
|
||||
('bc', 0, 20, (False, 'main', None, True), p2wpkh_prefix),
|
||||
('bc', 0, 32, (False, 'main', None, True), p2wsh_prefix),
|
||||
('bc', 1, 2, (False, 'main', None, True), (OP_1, 2)),
|
||||
('tb', 0, 20, (False, 'test', None, True), p2wpkh_prefix),
|
||||
('tb', 0, 32, (False, 'test', None, True), p2wsh_prefix),
|
||||
('tb', 2, 16, (False, 'test', None, True), (OP_2, 16)),
|
||||
('bcrt', 0, 20, (False, 'regtest', None, True), p2wpkh_prefix),
|
||||
('bcrt', 0, 32, (False, 'regtest', None, True), p2wsh_prefix),
|
||||
('bcrt', 16, 40, (False, 'regtest', None, True), (OP_16, 40))
|
||||
# hrp, version, witprog_size, metadata, encoding, output_prefix
|
||||
('bc', 0, 20, (False, 'main', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('bc', 0, 32, (False, 'main', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('bc', 1, 32, (False, 'main', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('bc', 2, 2, (False, 'main', None, True), Encoding.BECH32M, (OP_2, 2)),
|
||||
('tb', 0, 20, (False, 'test', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('tb', 0, 32, (False, 'test', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('tb', 1, 32, (False, 'test', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('tb', 3, 16, (False, 'test', None, True), Encoding.BECH32M, (OP_3, 16)),
|
||||
('tb', 0, 20, (False, 'signet', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('tb', 0, 32, (False, 'signet', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('tb', 1, 32, (False, 'signet', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('tb', 3, 32, (False, 'signet', None, True), Encoding.BECH32M, (OP_3, 32)),
|
||||
('bcrt', 0, 20, (False, 'regtest', None, True), Encoding.BECH32, p2wpkh_prefix),
|
||||
('bcrt', 0, 32, (False, 'regtest', None, True), Encoding.BECH32, p2wsh_prefix),
|
||||
('bcrt', 1, 32, (False, 'regtest', None, True), Encoding.BECH32M, p2tr_prefix),
|
||||
('bcrt', 16, 40, (False, 'regtest', None, True), Encoding.BECH32M, (OP_16, 40))
|
||||
]
|
||||
# templates for invalid bech32 sequences
|
||||
bech32_ng_templates = [
|
||||
# hrp, version, witprog_size, invalid_bech32, invalid_checksum, invalid_char
|
||||
('tc', 0, 20, False, False, False),
|
||||
('tb', 17, 32, False, False, False),
|
||||
('bcrt', 3, 1, False, False, False),
|
||||
('bc', 15, 41, False, False, False),
|
||||
('tb', 0, 16, False, False, False),
|
||||
('bcrt', 0, 32, True, False, False),
|
||||
('bc', 0, 16, True, False, False),
|
||||
('tb', 0, 32, False, True, False),
|
||||
('bcrt', 0, 20, False, False, True)
|
||||
# hrp, version, witprog_size, encoding, invalid_bech32, invalid_checksum, invalid_char
|
||||
('tc', 0, 20, Encoding.BECH32, False, False, False),
|
||||
('bt', 1, 32, Encoding.BECH32M, False, False, False),
|
||||
('tb', 17, 32, Encoding.BECH32M, False, False, False),
|
||||
('bcrt', 3, 1, Encoding.BECH32M, False, False, False),
|
||||
('bc', 15, 41, Encoding.BECH32M, False, False, False),
|
||||
('tb', 0, 16, Encoding.BECH32, False, False, False),
|
||||
('bcrt', 0, 32, Encoding.BECH32, True, False, False),
|
||||
('bc', 0, 16, Encoding.BECH32, True, False, False),
|
||||
('tb', 0, 32, Encoding.BECH32, False, True, False),
|
||||
('bcrt', 0, 20, Encoding.BECH32, False, False, True),
|
||||
('bc', 0, 20, Encoding.BECH32M, False, False, False),
|
||||
('tb', 0, 32, Encoding.BECH32M, False, False, False),
|
||||
('bcrt', 0, 20, Encoding.BECH32M, False, False, False),
|
||||
('bc', 1, 32, Encoding.BECH32, False, False, False),
|
||||
('tb', 2, 16, Encoding.BECH32, False, False, False),
|
||||
('bcrt', 16, 20, Encoding.BECH32, False, False, False),
|
||||
]
|
||||
|
||||
def is_valid(v):
|
||||
@@ -127,8 +147,9 @@ def gen_valid_bech32_vector(template):
|
||||
hrp = template[0]
|
||||
witver = template[1]
|
||||
witprog = bytearray(os.urandom(template[2]))
|
||||
dst_prefix = bytearray(template[4])
|
||||
rv = bech32_encode(hrp, [witver] + convertbits(witprog, 8, 5))
|
||||
encoding = template[4]
|
||||
dst_prefix = bytearray(template[5])
|
||||
rv = bech32_encode(encoding, hrp, [witver] + convertbits(witprog, 8, 5))
|
||||
return rv, dst_prefix + witprog
|
||||
|
||||
def gen_valid_vectors():
|
||||
@@ -186,22 +207,23 @@ def gen_invalid_bech32_vector(template):
|
||||
hrp = template[0]
|
||||
witver = template[1]
|
||||
witprog = bytearray(os.urandom(template[2]))
|
||||
encoding = template[3]
|
||||
|
||||
if no_data:
|
||||
rv = bech32_encode(hrp, [])
|
||||
rv = bech32_encode(encoding, hrp, [])
|
||||
else:
|
||||
data = [witver] + convertbits(witprog, 8, 5)
|
||||
if template[3] and not no_data:
|
||||
if template[4] and not no_data:
|
||||
if template[2] % 5 in {2, 4}:
|
||||
data[-1] |= 1
|
||||
else:
|
||||
data.append(0)
|
||||
rv = bech32_encode(hrp, data)
|
||||
rv = bech32_encode(encoding, hrp, data)
|
||||
|
||||
if template[4]:
|
||||
if template[5]:
|
||||
i = len(rv) - random.randrange(1, 7)
|
||||
rv = rv[:i] + random.choice(CHARSET.replace(rv[i], '')) + rv[i + 1:]
|
||||
if template[5]:
|
||||
if template[6]:
|
||||
i = len(hrp) + 1 + random.randrange(0, len(rv) - len(hrp) - 4)
|
||||
rv = rv[:i] + rv[i:i + 4].upper() + rv[i + 4:]
|
||||
|
||||
|
||||
@@ -1,100 +1,89 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFdDCCBFygAwIBAgIRAL98pqZb/N9LuNaNxKsHNGQwDQYJKoZIhvcNAQELBQAw
|
||||
fDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
|
||||
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYDVQQD
|
||||
ExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwHhcNMjAwMzI0MDAwMDAwWhcN
|
||||
MjEwMzI0MjM1OTU5WjCBtzELMAkGA1UEBhMCQ0gxDTALBgNVBBEMBDgwMDUxDjAM
|
||||
BgNVBAgMBVN0YXRlMRAwDgYDVQQHDAdaw7xyaWNoMRcwFQYDVQQJDA5NYXR0ZW5n
|
||||
YXNzZSAyNzEuMCwGA1UECgwlQml0Y29pbiBDb3JlIENvZGUgU2lnbmluZyBBc3Nv
|
||||
Y2lhdGlvbjEuMCwGA1UEAwwlQml0Y29pbiBDb3JlIENvZGUgU2lnbmluZyBBc3Nv
|
||||
Y2lhdGlvbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtxC8N4r/jE
|
||||
OGOdFy/0UtiUvEczPZf9WYZz/7paAkc75XopHIE5/ssmoEX27gG9K00tf3Q62QAx
|
||||
inZUPWkNTh8X0l+6uSGiIBFIV7dDgztIxnPcxaqw0k7Q2TEqKJvb5qm16zX6WfXJ
|
||||
R2r6O5utUdQ3AarHnQq9fwdM1j5+ywS5u52te74ENgDMTMKUuB2J3KH1ASg5PAtO
|
||||
CjPqPL+ZXJ7eT3M0Z+Lbu5ISZSqZB48BcCwOo/fOO0dAiLT9FE1iVtaCpBKHqGmd
|
||||
glRjPzZdgDv8g28etRmk8wQ5pQmfL2gBjt/LtIgMPTdHHETKLxJO5H3y0CNx1vzL
|
||||
ql7xNMxELxkCAwEAAaOCAbMwggGvMB8GA1UdIwQYMBaAFA7hOqhTOjHVir7Bu61n
|
||||
GgOFrTQOMB0GA1UdDgQWBBSHBbl82FUJiUkXyyYJog1awYRsxjAOBgNVHQ8BAf8E
|
||||
BAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAzARBglghkgB
|
||||
hvhCAQEEBAMCBBAwQAYDVR0gBDkwNzA1BgwrBgEEAbIxAQIBAwIwJTAjBggrBgEF
|
||||
BQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwQwYDVR0fBDwwOjA4oDagNIYy
|
||||
aHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ29kZVNpZ25pbmdDQS5j
|
||||
cmwwcwYIKwYBBQUHAQEEZzBlMD4GCCsGAQUFBzAChjJodHRwOi8vY3J0LnNlY3Rp
|
||||
Z28uY29tL1NlY3RpZ29SU0FDb2RlU2lnbmluZ0NBLmNydDAjBggrBgEFBQcwAYYX
|
||||
aHR0cDovL29jc3Auc2VjdGlnby5jb20wKwYDVR0RBCQwIoEgam9uYXNAYml0Y29p
|
||||
bmNvcmVjb2Rlc2lnbmluZy5vcmcwDQYJKoZIhvcNAQELBQADggEBAAU59qJzQ2ED
|
||||
aTMIQTsU01zIhZJ/xwQh78i0v2Mnr46RvzYrZOev+btF3SyUYD8veNnbYlY6yEYq
|
||||
Vb+/PQnE3t1xlqR80qiTZCk/Wmxx/qKvQuWeRL5QQgvsCmWBpycQ7PNfwzOWxbPE
|
||||
b0Hb2/VFFZfR9iltkfeInRUrzS96CJGYtm7dMf2JtnXYBcwpn1N8BSMH4nXVyN8g
|
||||
VEE5KyjE7+/awYiSST7+e6Y7FE5AJ4f3FjqnRm+2XetTVqITwMLKZMoV283nSEeH
|
||||
fA4FNAMGz9QeV38ol65NNqFP2vSSgVoPK79orqH9OOW2LSobt2qun+euddJIQeYV
|
||||
CMP90b/2WPc=
|
||||
MIIGQzCCBSugAwIBAgIQBSN7Cm16Z0UT9p7lA2jiKDANBgkqhkiG9w0BAQsFADBy
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
||||
SUQgQ29kZSBTaWduaW5nIENBMB4XDTIxMDUyMTAwMDAwMFoXDTIyMDUyNjIzNTk1
|
||||
OVowgYAxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTEOMAwGA1UEBxMF
|
||||
TGV3ZXMxJjAkBgNVBAoTHUJpdGNvaW4gQ29yZSBDb2RlIFNpZ25pbmcgTExDMSYw
|
||||
JAYDVQQDEx1CaXRjb2luIENvcmUgQ29kZSBTaWduaW5nIExMQzCCAiIwDQYJKoZI
|
||||
hvcNAQEBBQADggIPADCCAgoCggIBAKe6xtFgKAQ68MvxwCjNtpgPobfDQCLKvCAN
|
||||
uBKGYuub6ufQB5dhCLN9fjMgfg33AyauvU3PcEUDUWD3/k925bPqgxHC3E7YqoB+
|
||||
11b/2Y7a86okqUgcGgvKhaKoHmXxElpM9EjQHjJ0yL4QAR1Lp+9CMMW3wIulBYKt
|
||||
wLIArFvbuQhMO/6rxL8frpK049v//WfQzB16GXuFnzN/6fDK7oOt5IrKTg4H6EY2
|
||||
fj4+QaUj0lNX7aHnZ6Ki45h2RUPDgN1ipRIuhM67npyZ/tdzPPjI3PUgfXCccN6D
|
||||
+qWWnbbbvPuOht4ziPciVnPd57PqJmAOnLI86gisDfd7VKlcpOSEaagdUGvMbU6f
|
||||
uAps818GwnJzwCGllxlKASCgXDAckLLvMuit4RfYAhhdhw5R0AsaWK0HW88oHOqi
|
||||
U7eWlMCbSGk34x9hBrxYl7tvcNcLPWIPYrrhFWNFpkV8bVVIoV5rUNRgWvBcdOq1
|
||||
CCPTfsJp3nEH2WCoBghZquDZLSW12wMw2UsQyEojBeGhrR1inn8uK93wSnVCC8F4
|
||||
21yWNRMNe/LQVhmZDgFOen9r/WijBsBdQw1bL8N4zGdYv8+soqkrWzW417FfSx81
|
||||
pj4j5FEXYXXV5k/4/eBpIARXVRR8xya0nGkhNJmBk0jjDGD8fPW2gFQbqnUwAQ34
|
||||
vOr8NUqHAgMBAAGjggHEMIIBwDAfBgNVHSMEGDAWgBRaxLl7KgqjpepxA8Bg+S32
|
||||
ZXUOWDAdBgNVHQ4EFgQUVSLtZnifEHvd8z3E7AyLYNuDiaMwDgYDVR0PAQH/BAQD
|
||||
AgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGA1UdHwRwMG4wNaAzoDGGL2h0dHA6
|
||||
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMDWgM6Ax
|
||||
hi9odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcxLmNy
|
||||
bDBLBgNVHSAERDBCMDYGCWCGSAGG/WwDATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
|
||||
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
||||
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
||||
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
||||
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
||||
BQADggEBAOaJneI91NJgqghUxgc0AWQ01SAJTgN4z7xMQ3W0ZAtwGbA0byT7YRlj
|
||||
j7h+j+hMX/JYkRJETTh8Nalq2tPWJBiMMEPOGFVttFER1pwouHkK9pSKyp4xRvNU
|
||||
L0LPh7fE4EYMJoynys6ZTpMCHLku+X3jFat1+1moh9TJRvK5+ETZYGl0seFNU3mJ
|
||||
dZzusObm4scffIGgi40kmmISKd5ZRuooRTu9FFR/3vpfbA+7Vg4RSH3CcQPo9bfk
|
||||
+h/qRQhSfQInTBn7obRpIlvEcK782qivqseJGdtnTmcdVRShD5ckTVza1yv25uQz
|
||||
l/yTqmG2LXlYjl5iMSdF0C1xYq6IsOA=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
|
||||
MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
|
||||
BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
||||
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
|
||||
AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
|
||||
3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
|
||||
tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
|
||||
Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
|
||||
VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
|
||||
79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
|
||||
c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
|
||||
Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
|
||||
c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
|
||||
UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
|
||||
Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
|
||||
BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
|
||||
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
|
||||
Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
|
||||
VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
|
||||
ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
|
||||
8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
|
||||
iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
|
||||
Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
|
||||
XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
|
||||
qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
|
||||
VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
|
||||
L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
|
||||
jjxDah2nGN59PRbxYvnKkKj9
|
||||
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
||||
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
||||
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
||||
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
||||
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
||||
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
||||
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
||||
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
||||
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
||||
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
||||
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
||||
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
||||
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
||||
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
||||
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
||||
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
||||
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
||||
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
||||
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
||||
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
||||
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
||||
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
||||
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
||||
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
||||
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
||||
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF9TCCA92gAwIBAgIQHaJIMG+bJhjQguCWfTPTajANBgkqhkiG9w0BAQwFADCB
|
||||
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
|
||||
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
|
||||
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
|
||||
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjB8MQswCQYDVQQGEwJHQjEbMBkGA1UE
|
||||
CBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQK
|
||||
Ew9TZWN0aWdvIExpbWl0ZWQxJDAiBgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2ln
|
||||
bmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIYijTKFehif
|
||||
SfCWL2MIHi3cfJ8Uz+MmtiVmKUCGVEZ0MWLFEO2yhyemmcuVMMBW9aR1xqkOUGKl
|
||||
UZEQauBLYq798PgYrKf/7i4zIPoMGYmobHutAMNhodxpZW0fbieW15dRhqb0J+V8
|
||||
aouVHltg1X7XFpKcAC9o95ftanK+ODtj3o+/bkxBXRIgCFnoOc2P0tbPBrRXBbZO
|
||||
oT5Xax+YvMRi1hsLjcdmG0qfnYHEckC14l/vC0X/o84Xpi1VsLewvFRqnbyNVlPG
|
||||
8Lp5UEks9wO5/i9lNfIi6iwHr0bZ+UYc3Ix8cSjz/qfGFN1VkW6KEQ3fBiSVfQ+n
|
||||
oXw62oY1YdMCAwEAAaOCAWQwggFgMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvA
|
||||
nfKyA2bLMB0GA1UdDgQWBBQO4TqoUzox1Yq+wbutZxoDha00DjAOBgNVHQ8BAf8E
|
||||
BAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAwYI
|
||||
KwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0
|
||||
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u
|
||||
QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6
|
||||
Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAl
|
||||
BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B
|
||||
AQwFAAOCAgEATWNQ7Uc0SmGk295qKoyb8QAAHh1iezrXMsL2s+Bjs/thAIiaG20Q
|
||||
BwRPvrjqiXgi6w9G7PNGXkBGiRL0C3danCpBOvzW9Ovn9xWVM8Ohgyi33i/klPeF
|
||||
M4MtSkBIv5rCT0qxjyT0s4E307dksKYjalloUkJf/wTr4XRleQj1qZPea3FAmZa6
|
||||
ePG5yOLDCBaxq2NayBWAbXReSnV+pbjDbLXP30p5h1zHQE1jNfYw08+1Cg4LBH+g
|
||||
S667o6XQhACTPlNdNKUANWlsvp8gJRANGftQkGG+OY96jk32nw4e/gdREmaDJhlI
|
||||
lc5KycF/8zoFm/lv34h/wCOe0h5DekUxwZxNqfBZslkZ6GqNKQQCd3xLS81wvjqy
|
||||
VVp4Pry7bwMQJXcVNIr5NsxDkuS6T/FikyglVyn7URnHoSVAaoRXxrKdsbwcCtp8
|
||||
Z359LukoTBh+xHsxQXGaSynsCz1XUNLK3f2eBVHlRHjdAd6xdZgNVCT98E7j4viD
|
||||
vXK6yz067vBeF5Jobchh+abxKgoLpbn0nu6YMgWFnuv5gynTxix9vTp3Los3QqBq
|
||||
gu07SqqUEKThDfgXxbZaeTMYkuO1dfih6Y4KJR7kHvGfWocj/5+kUZ77OYARzdu1
|
||||
xKeogG/lU9Tg46LC0lsa+jImLWpXcBw8pFguo/NbSwfcMlnzh6cabVg=
|
||||
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
||||
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
||||
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
||||
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
||||
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
||||
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
||||
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
||||
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
||||
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
||||
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
||||
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
||||
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
||||
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
||||
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
||||
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
||||
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
||||
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
||||
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package=boost
|
||||
$(package)_version=1_70_0
|
||||
$(package)_download_path=https://dl.bintray.com/boostorg/release/1.70.0/source/
|
||||
$(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/
|
||||
$(package)_file_name=boost_$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
$(package)_patches=unused_var_in_process.patch
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
PACKAGE=qt
|
||||
$(package)_version=5.9.8
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/5.9/$($(package)_version)/submodules
|
||||
$(package)_download_path=https://download.qt.io/archive/qt/5.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=opensource-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=9b9dec1f67df1f94bce2955c5604de992d529dde72050239154c56352da0907d
|
||||
@@ -12,6 +12,7 @@ $(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch
|
||||
$(package)_patches+= fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch
|
||||
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
|
||||
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch
|
||||
$(package)_patches+= fix_qpainter_non_determinism.patch
|
||||
|
||||
# Update OSX_QT_TRANSLATIONS when this is updated
|
||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||
@@ -195,6 +196,7 @@ endef
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\
|
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\
|
||||
|
||||
63
depends/patches/qt/fix_qpainter_non_determinism.patch
Normal file
63
depends/patches/qt/fix_qpainter_non_determinism.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
commit 2a8f7dc6ddfc414a66491522501c1574a1343ee1
|
||||
Author: Andrew Chow <achow101-github@achow101.com>
|
||||
Date: Sat Nov 21 01:11:04 2020 -0500
|
||||
|
||||
build: Fix determinism issue when building with Clang 8
|
||||
|
||||
When building Qt with LLVM/Clang 8 under -O3 (the default), we run into
|
||||
a determinism issue in `qt_interset_spans`. The issue has been fixed for
|
||||
LLVM/Clang 9, see
|
||||
https://github.com/llvm/llvm-project/commit/db101864bdc938deb1d63fe4f7da761bd38e5cae
|
||||
and https://reviews.llvm.org/D64601, however this fix was not backported
|
||||
to 8.x. Once LLVM/Clang 9 is used, this patch can be dropped.
|
||||
|
||||
The particular issue appears to be an optimization done by -O3 which
|
||||
adds a temporary variable for `spans->y` in `qt_intersect_spans`. When
|
||||
it does this, sometimes it chooses to use a 32-bit movs instruction
|
||||
(movswl), and other times it chooses a 64-bit movs instruction (movswq).
|
||||
By patching `qt_intersect_spans` to always make a temporary variable for
|
||||
`spans->y`, we are able to sidestep this problem.
|
||||
|
||||
diff --git a/qtbase/src/gui/painting/qpaintengine_raster.cpp b/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
index 92ab6e8375..f018009e0b 100644
|
||||
--- a/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
+++ b/qtbase/src/gui/painting/qpaintengine_raster.cpp
|
||||
@@ -3971,22 +3971,23 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
|
||||
const QSpan *clipEnd = clip->m_spans + clip->count;
|
||||
|
||||
while (available && spans < end ) {
|
||||
+ const short spans_y = spans->y;
|
||||
if (clipSpans >= clipEnd) {
|
||||
spans = end;
|
||||
break;
|
||||
}
|
||||
- if (clipSpans->y > spans->y) {
|
||||
+ if (clipSpans->y > spans_y) {
|
||||
++spans;
|
||||
continue;
|
||||
}
|
||||
- if (spans->y != clipSpans->y) {
|
||||
- if (spans->y < clip->count && clip->m_clipLines[spans->y].spans)
|
||||
- clipSpans = clip->m_clipLines[spans->y].spans;
|
||||
+ if (spans_y != clipSpans->y) {
|
||||
+ if (spans_y < clip->count && clip->m_clipLines[spans_y].spans)
|
||||
+ clipSpans = clip->m_clipLines[spans_y].spans;
|
||||
else
|
||||
++clipSpans;
|
||||
continue;
|
||||
}
|
||||
- Q_ASSERT(spans->y == clipSpans->y);
|
||||
+ Q_ASSERT(spans_y == clipSpans->y);
|
||||
|
||||
int sx1 = spans->x;
|
||||
int sx2 = sx1 + spans->len;
|
||||
@@ -4005,7 +4006,7 @@ static const QSpan *qt_intersect_spans(const QClipData *clip, int *currentClip,
|
||||
if (len) {
|
||||
out->x = qMax(sx1, cx1);
|
||||
out->len = qMin(sx2, cx2) - out->x;
|
||||
- out->y = spans->y;
|
||||
+ out->y = spans_y;
|
||||
out->coverage = qt_div_255(spans->coverage * clipSpans->coverage);
|
||||
++out;
|
||||
--available;
|
||||
|
||||
@@ -127,3 +127,14 @@ However, the wallet may not be up-to-date with the current state of the mempool
|
||||
or the state of the mempool by an RPC that returned before this RPC. For
|
||||
example, a wallet transaction that was BIP-125-replaced in the mempool prior to
|
||||
this RPC may not yet be reflected as such in this RPC response.
|
||||
|
||||
## Limitations
|
||||
|
||||
There is a known issue in the JSON-RPC interface that can cause a node to crash if
|
||||
too many http connections are being opened at the same time because the system runs
|
||||
out of available file descriptors. To prevent this from happening you might
|
||||
want to increase the number of maximum allowed file descriptors in your system
|
||||
and try to prevent opening too many connections to your JSON-RPC interface at the
|
||||
same time if this is under your control. It is hard to give general advice
|
||||
since this depends on your system but if you make several hundred requests at
|
||||
once you are definitely at risk of encountering this issue.
|
||||
|
||||
@@ -12,6 +12,18 @@ REST Interface consistency guarantees
|
||||
The [same guarantees as for the RPC Interface](/doc/JSON-RPC-interface.md#rpc-consistency-guarantees)
|
||||
apply.
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
There is a known issue in the REST interface that can cause a node to crash if
|
||||
too many http connections are being opened at the same time because the system runs
|
||||
out of available file descriptors. To prevent this from happening you might
|
||||
want to increase the number of maximum allowed file descriptors in your system
|
||||
and try to prevent opening too many connections to your rest interface at the
|
||||
same time if this is under your control. It is hard to give general advice
|
||||
since this depends on your system but if you make several hundred requests at
|
||||
once you are definitely at risk of encountering this issue.
|
||||
|
||||
Supported API
|
||||
-------------
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.21.0**):
|
||||
BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.21.1**):
|
||||
|
||||
* [`BIP 9`](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki): The changes allowing multiple soft-forks to be deployed in parallel have been implemented since **v0.12.1** ([PR #7575](https://github.com/bitcoin/bitcoin/pull/7575))
|
||||
* [`BIP 11`](https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki): Multisig outputs are standard since **v0.6.0** ([PR #669](https://github.com/bitcoin/bitcoin/pull/669)).
|
||||
@@ -46,3 +46,4 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.21.0**):
|
||||
* [`BIP 325`](https://github.com/bitcoin/bips/blob/master/bip-0325.mediawiki): Signet test network is supported as of **v0.21.0** ([PR 18267](https://github.com/bitcoin/bitcoin/pull/18267)).
|
||||
* [`BIP 339`](https://github.com/bitcoin/bips/blob/master/bip-0339.mediawiki): Relay of transactions by wtxid is supported as of **v0.21.0** ([PR 18044](https://github.com/bitcoin/bitcoin/pull/18044)).
|
||||
* [`BIP 340`](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki) [`341`](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki) [`342`](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki): Validation rules for Taproot (including Schnorr signatures and Tapscript leaves) are implemented as of **v0.21.0** ([PR 19953](https://github.com/bitcoin/bitcoin/pull/19953)), without mainnet activation.
|
||||
* [`BIP 350`](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki): Addresses for native v1+ segregated Witness outputs use Bech32m instead of Bech32 as of **v0.21.1** ([PR 20861](https://github.com/bitcoin/bitcoin/pull/20861)).
|
||||
|
||||
@@ -27,7 +27,7 @@ Comments may appear in two ways:
|
||||
### Network specific options
|
||||
|
||||
Network specific options can be:
|
||||
- placed into sections with headers `[main]` (not `[mainnet]`), `[test]` (not `[testnet]`) or `[regtest]`;
|
||||
- placed into sections with headers `[main]` (not `[mainnet]`), `[test]` (not `[testnet]`), `[signet]` or `[regtest]`;
|
||||
- prefixed with a chain name; e.g., `regtest.maxmempool=100`.
|
||||
|
||||
Network specific options take precedence over non-network specific options.
|
||||
|
||||
@@ -19,7 +19,7 @@ Then install [Homebrew](https://brew.sh).
|
||||
|
||||
## Dependencies
|
||||
```shell
|
||||
brew install automake berkeley-db4 libtool boost miniupnpc pkg-config python qt libevent qrencode sqlite
|
||||
brew install automake libtool boost miniupnpc pkg-config python qt libevent qrencode
|
||||
```
|
||||
|
||||
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
|
||||
@@ -30,7 +30,22 @@ If you want to build the disk image with `make deploy` (.dmg / optional), you ne
|
||||
brew install librsvg
|
||||
```
|
||||
|
||||
## Berkeley DB
|
||||
The wallet support requires one or both of the dependencies ([*SQLite*](#sqlite) and [*Berkeley DB*](#berkeley-db)) in the sections below.
|
||||
To build Bitcoin Core without wallet, see [*Disable-wallet mode*](#disable-wallet-mode).
|
||||
|
||||
#### SQLite
|
||||
|
||||
Usually, macOS installation already has a suitable SQLite installation.
|
||||
Also, the Homebrew package could be installed:
|
||||
|
||||
```shell
|
||||
brew install sqlite
|
||||
```
|
||||
|
||||
In that case the Homebrew package will prevail.
|
||||
|
||||
#### Berkeley DB
|
||||
|
||||
It is recommended to use Berkeley DB 4.8. If you have to build it yourself,
|
||||
you can use [this](/contrib/install_db4.sh) script to install it
|
||||
like so:
|
||||
@@ -41,7 +56,11 @@ like so:
|
||||
|
||||
from the root of the repository.
|
||||
|
||||
**Note**: You only need Berkeley DB if the wallet is enabled (see [*Disable-wallet mode*](/doc/build-osx.md#disable-wallet-mode)).
|
||||
Also, the Homebrew package could be installed:
|
||||
|
||||
```shell
|
||||
brew install berkeley-db4
|
||||
```
|
||||
|
||||
## Build Bitcoin Core
|
||||
|
||||
@@ -72,14 +91,14 @@ from the root of the repository.
|
||||
make deploy
|
||||
```
|
||||
|
||||
## `disable-wallet` mode
|
||||
## Disable-wallet mode
|
||||
When the intention is to run only a P2P node without a wallet, Bitcoin Core may be
|
||||
compiled in `disable-wallet` mode with:
|
||||
compiled in disable-wallet mode with:
|
||||
```shell
|
||||
./configure --disable-wallet
|
||||
```
|
||||
|
||||
In this case there is no dependency on Berkeley DB 4.8 and SQLite.
|
||||
In this case there is no dependency on [*Berkeley DB*](#berkeley-db) and [*SQLite*](#sqlite).
|
||||
|
||||
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ Build using:
|
||||
cd depends
|
||||
make HOST=x86_64-w64-mingw32
|
||||
cd ..
|
||||
./autogen.sh # not required when building from tarball
|
||||
./autogen.sh
|
||||
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
|
||||
make
|
||||
sudo bash -c "echo 1 > /proc/sys/fs/binfmt_misc/status" # Enable WSL support for Win32 applications.
|
||||
|
||||
@@ -91,7 +91,7 @@ Descriptors consist of several types of expressions. The top level expression is
|
||||
`ADDR` expressions are any type of supported address:
|
||||
- P2PKH addresses (base58, of the form `1...` for mainnet or `[nm]...` for testnet). Note that P2PKH addresses in descriptors cannot be used for P2PK outputs (use the `pk` function instead).
|
||||
- P2SH addresses (base58, of the form `3...` for mainnet or `2...` for testnet, defined in [BIP 13](https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki)).
|
||||
- Segwit addresses (bech32, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)).
|
||||
- Segwit addresses (bech32 and bech32m, of the form `bc1...` for mainnet or `tb1...` for testnet, defined in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) and [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)).
|
||||
|
||||
## Explanation
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-CLI "1" "February 2019" "bitcoin-cli v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-CLI "1" "August 2021" "bitcoin-cli v0.21.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
|
||||
bitcoin-cli \- manual page for bitcoin-cli v0.21.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Bitcoin Core\/\fR
|
||||
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v0.17.99.0
|
||||
.B bitcoin-cli
|
||||
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core RPC client version v0.17.99.0
|
||||
Bitcoin Core RPC client version v0.21.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -31,6 +31,15 @@ location. (default: bitcoin.conf)
|
||||
.IP
|
||||
Specify data directory
|
||||
.HP
|
||||
\fB\-generate\fR
|
||||
.IP
|
||||
Generate blocks immediately, equivalent to RPC generatenewaddress
|
||||
followed by RPC generatetoaddress. Optional positional integer
|
||||
arguments are number of blocks to generate (default: 1) and
|
||||
maximum iterations to try (default: 1000000), equivalent to RPC
|
||||
generatetoaddress nblocks and maxtries arguments. Example:
|
||||
bitcoin\-cli \fB\-generate\fR 4 1000
|
||||
.HP
|
||||
\fB\-getinfo\fR
|
||||
.IP
|
||||
Get general information from the remote server. Note that unlike
|
||||
@@ -43,6 +52,12 @@ be as of a different block from the chain state reported)
|
||||
.IP
|
||||
Pass named instead of positional arguments (default: false)
|
||||
.HP
|
||||
\fB\-netinfo\fR
|
||||
.IP
|
||||
Get network peer connection information from the remote server. An
|
||||
optional integer argument from 0 to 4 can be passed for different
|
||||
peers listings (default: 0).
|
||||
.HP
|
||||
\fB\-rpcclienttimeout=\fR<n>
|
||||
.IP
|
||||
Timeout in seconds during HTTP requests, or 0 for no timeout. (default:
|
||||
@@ -63,8 +78,8 @@ Password for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, regtest:
|
||||
18443)
|
||||
Connect to JSON\-RPC on <port> (default: 8332, testnet: 18332, signet:
|
||||
38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcuser=\fR<user>
|
||||
.IP
|
||||
@@ -92,22 +107,55 @@ is used for the RPC password.
|
||||
.IP
|
||||
Read RPC password from standard input as a single line. When combined
|
||||
with \fB\-stdin\fR, the first line from standard input is used for the
|
||||
RPC password.
|
||||
RPC password. When combined with \fB\-stdinwalletpassphrase\fR,
|
||||
\fB\-stdinrpcpass\fR consumes the first line, and \fB\-stdinwalletpassphrase\fR
|
||||
consumes the second.
|
||||
.HP
|
||||
\fB\-stdinwalletpassphrase\fR
|
||||
.IP
|
||||
Read wallet passphrase from standard input as a single line. When
|
||||
combined with \fB\-stdin\fR, the first line from standard input is used
|
||||
for the wallet passphrase.
|
||||
.HP
|
||||
\fB\-version\fR
|
||||
.IP
|
||||
Print version and exit
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-QT "1" "February 2019" "bitcoin-qt v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-QT "1" "August 2021" "bitcoin-qt v0.21.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.17.99.0
|
||||
bitcoin-qt \- manual page for bitcoin-qt v0.21.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-qt
|
||||
[\fI\,command-line options\/\fR]
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core version v0.17.99.0 (64\-bit)
|
||||
Bitcoin Core version v0.21.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -23,9 +23,17 @@ long fork (%s in cmd is replaced by message)
|
||||
If this block is in the chain assume that it and its ancestors are valid
|
||||
and potentially skip their script verification (0 to verify all,
|
||||
default:
|
||||
0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
|
||||
0000000000000000000b9d2ec5a352ecba0592946514a92f14319dc2b367fc72,
|
||||
testnet:
|
||||
0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
|
||||
000000000000006433d1efec504c53ca332b64963c425395515b01977bd7b3b0,
|
||||
signet:
|
||||
0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
@@ -39,12 +47,20 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify blocks directory (default: <datadir>/blocks)
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Automatic broadcast
|
||||
and rebroadcast of any transactions from inbound peers is
|
||||
disabled, unless the peer has the 'forcerelay' permission. RPC
|
||||
transactions are not affected. (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify configuration file. Relative paths will be prefixed by datadir
|
||||
location. (default: bitcoin.conf)
|
||||
Specify path to read\-only configuration file. Relative paths will be
|
||||
prefixed by datadir location. (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
@@ -56,7 +72,9 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in MiB (4 to 16384, default: 450)
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
@@ -71,7 +89,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
@@ -88,7 +106,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
@@ -122,6 +140,18 @@ Rebuild chain state from the currently indexed blocks. When in pruning
|
||||
mode or if blocks on disk might be corrupted, use full \fB\-reindex\fR
|
||||
instead.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. File is written at runtime and not meant to be
|
||||
edited by users (use bitcoin.conf instead for custom settings).
|
||||
Relative paths will be prefixed by datadir location. (default:
|
||||
settings.json)
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-sysperms\fR
|
||||
.IP
|
||||
Create new files with system default permissions, instead of umask 077
|
||||
@@ -144,19 +174,24 @@ Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info). This option can be
|
||||
specified multiple times to add multiple nodes.
|
||||
.HP
|
||||
\fB\-banscore=\fR<n>
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Threshold for disconnecting misbehaving peers (default: 100)
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Number of seconds to keep misbehaving peers from reconnecting (default:
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
Bind to given address and always listen on it. Use [host]:port notation
|
||||
for IPv6
|
||||
Bind to given address and always listen on it (default: 0.0.0.0). Use
|
||||
[host]:port notation for IPv6. Append =onion to tag any incoming
|
||||
connections to that address and port as incoming Tor connections
|
||||
(default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
|
||||
signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
@@ -193,7 +228,7 @@ Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor hidden service (default: 1)
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
@@ -215,12 +250,18 @@ amount. (default: 4200 seconds)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
Tries to keep outbound traffic under the given target (in MiB per 24h),
|
||||
0 = no limit (default: 0)
|
||||
Tries to keep outbound traffic under the given target (in MiB per 24h).
|
||||
Limit does not apply to peers with 'download' permission. 0 = no
|
||||
limit (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor hidden services, set
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
@@ -230,10 +271,14 @@ onion). Incoming connections are not affected by this option.
|
||||
This option can be specified multiple times to allow multiple
|
||||
networks.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
1)
|
||||
0)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
@@ -241,8 +286,9 @@ Relay non\-P2SH multisig (default: 1)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port> (default: 8333, testnet: 18333,
|
||||
regtest: 18444)
|
||||
Listen for connections on <port>. Nodes not using the default ports
|
||||
(default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
|
||||
are unlikely to get incoming connections.
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port>
|
||||
.IP
|
||||
@@ -277,25 +323,35 @@ Tor control port password (default: empty)
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
Bind to the given address and add permission flags to the peers
|
||||
connecting to it. Use [host]:port notation for IPv6. Allowed
|
||||
permissions: bloomfilter (allow requesting BIP37 filtered blocks
|
||||
and transactions), noban (do not ban for misbehavior; implies
|
||||
download), forcerelay (relay transactions that are already in the
|
||||
mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
|
||||
and unlimited transaction announcements), mempool (allow
|
||||
requesting BIP35 mempool contents), download (allow getheaders
|
||||
during IBD, no disconnect after maxuploadtarget limit), addr
|
||||
(responses to GETADDR avoid hitting the cache and contain random
|
||||
records with the most up\-to\-date info). Specify multiple
|
||||
permissions separated by commas (default:
|
||||
download,noban,mempool,relay). Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
Add permission flags to the peers connecting from the given IP address
|
||||
(e.g. 1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses
|
||||
the same permissions as \fB\-whitebind\fR. Can be specified multiple
|
||||
times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
@@ -303,7 +359,8 @@ Group outputs by address, selecting all or none, instead of selecting on
|
||||
a per\-output basis. Privacy is improved as an address is only
|
||||
used once (unless someone sends to it after spending from it),
|
||||
but may result in slightly higher fees as suboptimal coin
|
||||
selection may result due to the added limitation (default: 0)
|
||||
selection may result due to the added limitation (default: 0
|
||||
(always enabled for wallets with "avoid_reuse" enabled))
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
@@ -327,11 +384,20 @@ limited by the fee estimate for the longest target
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kB) that will be used when fee estimation has
|
||||
insufficient data (default: 0.0002)
|
||||
insufficient data. 0 to entirely disable the fallbackfee feature.
|
||||
(default: 0.00)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (default: 1000)
|
||||
Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
|
||||
increase the risk of losing funds when restoring from an old
|
||||
backup, if none of the addresses in the original keypool have
|
||||
been used.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
@@ -346,10 +412,6 @@ Fee (in BTC/kB) to add to transactions you send (default: 0.00)
|
||||
.IP
|
||||
Rescan the block chain for missing wallet transactions on startup
|
||||
.HP
|
||||
\fB\-salvagewallet\fR
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet on startup
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
@@ -359,18 +421,15 @@ Spend unconfirmed change when sending transactions (default: 1)
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
Upgrade wallet to latest format on startup
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
Specify wallet database path. Can be specified multiple times to load
|
||||
multiple wallets. Path is interpreted relative to <walletdir> if
|
||||
it is not absolute, and will be created if it does not exist (as
|
||||
a directory containing a wallet.dat file and log files). For
|
||||
backwards compatibility this will also accept names of existing
|
||||
data files in <walletdir>.)
|
||||
Specify wallet path to load at startup. Can be used multiple times to
|
||||
load multiple wallets. Path is to a directory containing wallet
|
||||
data and log files. If the path is not absolute, it is
|
||||
interpreted relative to <walletdir>. This only loads existing
|
||||
wallets and does not create new ones. For backwards compatibility
|
||||
this also accepts names of existing top\-level data files in
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
@@ -383,18 +442,15 @@ exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
by TxID)
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID and %w is replaced by wallet name. %w is not currently
|
||||
implemented on windows. On systems where %w is supported, it
|
||||
should NOT be quoted because this would break shell escaping used
|
||||
to invoke the command.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
|
||||
.HP
|
||||
\fB\-zapwallettxes=\fR<mode>
|
||||
.IP
|
||||
Delete all wallet transactions and only recover those parts of the
|
||||
blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
|
||||
payment request information, 2 = drop tx meta data)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
@@ -402,17 +458,43 @@ ZeroMQ notification options:
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
@@ -421,9 +503,9 @@ Debugging/Testing options:
|
||||
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information. <category> can be: net, tor,
|
||||
mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
|
||||
mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
|
||||
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
|
||||
libevent, coindb, qt, leveldb.
|
||||
libevent, coindb, qt, leveldb, validation.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
@@ -439,15 +521,19 @@ Print help message with debugging options and exit
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction or raw
|
||||
transaction; setting this too low may abort large transactions
|
||||
(default: 0.10)
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
@@ -464,9 +550,32 @@ Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
@@ -484,7 +593,6 @@ Relay and mine data carrier transactions (default: 1)
|
||||
Maximum size of data in data carrier transactions we relay and mine
|
||||
(default: 83)
|
||||
.HP
|
||||
.HP
|
||||
\fB\-minrelaytxfee=\fR<amt>
|
||||
.IP
|
||||
Fees (in BTC/kB) smaller than this are considered zero fee for relaying,
|
||||
@@ -492,13 +600,15 @@ mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 0)
|
||||
Add 'forcerelay' permission to whitelisted inbound peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Accept relayed transactions received from whitelisted peers even when
|
||||
not relaying transactions (default: 1)
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
@@ -554,7 +664,7 @@ Password for JSON\-RPC connections
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
|
||||
18332, regtest: 18443)
|
||||
18332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcserialversion\fR
|
||||
.IP
|
||||
@@ -569,6 +679,23 @@ Set the number of threads to service RPC calls (default: 4)
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
|
||||
if all rpc users are subject to empty\-unless\-otherwise\-specified
|
||||
whitelists. If rpcwhitelistdefault is set to 1 and no
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
@@ -591,18 +718,14 @@ Start minimized
|
||||
.IP
|
||||
Reset all settings changed in the GUI
|
||||
.HP
|
||||
\fB\-rootcertificates=\fR<file>
|
||||
.IP
|
||||
Set SSL root certificates for payment request (default: \fB\-system\-\fR)
|
||||
.HP
|
||||
\fB\-splash\fR
|
||||
.IP
|
||||
Show splash screen on startup (default: 1)
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-TX "1" "February 2019" "bitcoin-tx v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-TX "1" "August 2021" "bitcoin-tx v0.21.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
|
||||
bitcoin-tx \- manual page for bitcoin-tx v0.21.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded bitcoin transaction\/\fR
|
||||
@@ -9,7 +9,7 @@ bitcoin-tx \- manual page for bitcoin-tx v0.17.99.0
|
||||
.B bitcoin-tx
|
||||
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded bitcoin transaction\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-tx utility version v0.17.99.0
|
||||
Bitcoin Core bitcoin\-tx utility version v0.21.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -28,11 +28,36 @@ Select JSON output
|
||||
.IP
|
||||
Output only the hex\-encoded transaction id of the resultant transaction.
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
@@ -105,10 +130,10 @@ set=NAME:JSON\-STRING
|
||||
.IP
|
||||
Set register NAME to given JSON\-STRING
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIN-WALLET "1" "February 2019" "bitcoin-wallet v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIN-WALLET "1" "August 2021" "bitcoin-wallet v0.21.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v0.17.99.0
|
||||
bitcoin-wallet \- manual page for bitcoin-wallet v0.21.2.0
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core bitcoin\-wallet version v0.17.99.0
|
||||
Bitcoin Core bitcoin\-wallet version v0.21.2.0
|
||||
.PP
|
||||
wallet\-tool is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
By default wallet\-tool will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
bitcoin\-wallet is an offline tool for creating and interacting with Bitcoin Core wallet files.
|
||||
By default bitcoin\-wallet will act on wallets in the default mainnet wallet directory in the datadir.
|
||||
To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-testnet\fR/\-regtest arguments.
|
||||
.SS "Usage:"
|
||||
.IP
|
||||
@@ -34,13 +34,36 @@ Output debugging information (default: 0).
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
Send trace/debug info to console (default: 1 when no \fB\-debug\fR is true, 0
|
||||
otherwise.
|
||||
otherwise).
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Commands:
|
||||
.IP
|
||||
@@ -51,11 +74,16 @@ Create new wallet file
|
||||
info
|
||||
.IP
|
||||
Get wallet info
|
||||
.IP
|
||||
salvage
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet. Warning:
|
||||
\&'salvage' is experimental.
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
|
||||
.TH BITCOIND "1" "February 2019" "bitcoind v0.17.99.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||
.TH BITCOIND "1" "August 2021" "bitcoind v0.21.2.0" "User Commands"
|
||||
.SH NAME
|
||||
bitcoind \- manual page for bitcoind v0.17.99.0
|
||||
bitcoind \- manual page for bitcoind v0.21.2.0
|
||||
.SH SYNOPSIS
|
||||
.B bitcoind
|
||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core Daemon\/\fR
|
||||
[\fI\,options\/\fR] \fI\,Start Bitcoin Core\/\fR
|
||||
.SH DESCRIPTION
|
||||
Bitcoin Core Daemon version v0.17.99.0
|
||||
Bitcoin Core version v0.21.2.0
|
||||
.SH OPTIONS
|
||||
.HP
|
||||
\-?
|
||||
@@ -23,9 +23,17 @@ long fork (%s in cmd is replaced by message)
|
||||
If this block is in the chain assume that it and its ancestors are valid
|
||||
and potentially skip their script verification (0 to verify all,
|
||||
default:
|
||||
0000000000000000002e63058c023a9a1de233554f28c7b21380b6c9003f36a8,
|
||||
0000000000000000000b9d2ec5a352ecba0592946514a92f14319dc2b367fc72,
|
||||
testnet:
|
||||
0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75)
|
||||
000000000000006433d1efec504c53ca332b64963c425395515b01977bd7b3b0,
|
||||
signet:
|
||||
0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020)
|
||||
.HP
|
||||
\fB\-blockfilterindex=\fR<type>
|
||||
.IP
|
||||
Maintain an index of compact filters by block (default: 0, values:
|
||||
basic). If <type> is not supplied or if <type> = 1, indexes for
|
||||
all known types are enabled.
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
@@ -39,12 +47,20 @@ Extra transactions to keep in memory for compact block reconstructions
|
||||
.HP
|
||||
\fB\-blocksdir=\fR<dir>
|
||||
.IP
|
||||
Specify blocks directory (default: <datadir>/blocks)
|
||||
Specify directory to hold blocks subdirectory for *.dat files (default:
|
||||
<datadir>)
|
||||
.HP
|
||||
\fB\-blocksonly\fR
|
||||
.IP
|
||||
Whether to reject transactions from network peers. Automatic broadcast
|
||||
and rebroadcast of any transactions from inbound peers is
|
||||
disabled, unless the peer has the 'forcerelay' permission. RPC
|
||||
transactions are not affected. (default: 0)
|
||||
.HP
|
||||
\fB\-conf=\fR<file>
|
||||
.IP
|
||||
Specify configuration file. Relative paths will be prefixed by datadir
|
||||
location. (default: bitcoin.conf)
|
||||
Specify path to read\-only configuration file. Relative paths will be
|
||||
prefixed by datadir location. (default: bitcoin.conf)
|
||||
.HP
|
||||
\fB\-daemon\fR
|
||||
.IP
|
||||
@@ -56,7 +72,9 @@ Specify data directory
|
||||
.HP
|
||||
\fB\-dbcache=\fR<n>
|
||||
.IP
|
||||
Set database cache size in MiB (4 to 16384, default: 450)
|
||||
Maximum database cache size <n> MiB (4 to 16384, default: 450). In
|
||||
addition, unused mempool memory is shared for this cache (see
|
||||
\fB\-maxmempool\fR).
|
||||
.HP
|
||||
\fB\-debuglogfile=\fR<file>
|
||||
.IP
|
||||
@@ -71,7 +89,7 @@ Specify additional configuration file, relative to the \fB\-datadir\fR path
|
||||
.HP
|
||||
\fB\-loadblock=\fR<file>
|
||||
.IP
|
||||
Imports blocks from external blk000??.dat file on startup
|
||||
Imports blocks from external file on startup
|
||||
.HP
|
||||
\fB\-maxmempool=\fR<n>
|
||||
.IP
|
||||
@@ -88,7 +106,7 @@ Do not keep transactions in the mempool longer than <n> hours (default:
|
||||
.HP
|
||||
\fB\-par=\fR<n>
|
||||
.IP
|
||||
Set the number of script verification threads (\fB\-8\fR to 16, 0 = auto, <0 =
|
||||
Set the number of script verification threads (\fB\-6\fR to 15, 0 = auto, <0 =
|
||||
leave that many cores free, default: 0)
|
||||
.HP
|
||||
\fB\-persistmempool\fR
|
||||
@@ -122,6 +140,18 @@ Rebuild chain state from the currently indexed blocks. When in pruning
|
||||
mode or if blocks on disk might be corrupted, use full \fB\-reindex\fR
|
||||
instead.
|
||||
.HP
|
||||
\fB\-settings=\fR<file>
|
||||
.IP
|
||||
Specify path to dynamic settings data file. Can be disabled with
|
||||
\fB\-nosettings\fR. File is written at runtime and not meant to be
|
||||
edited by users (use bitcoin.conf instead for custom settings).
|
||||
Relative paths will be prefixed by datadir location. (default:
|
||||
settings.json)
|
||||
.HP
|
||||
\fB\-startupnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command on startup.
|
||||
.HP
|
||||
\fB\-sysperms\fR
|
||||
.IP
|
||||
Create new files with system default permissions, instead of umask 077
|
||||
@@ -144,19 +174,24 @@ Add a node to connect to and attempt to keep the connection open (see
|
||||
the `addnode` RPC command help for more info). This option can be
|
||||
specified multiple times to add multiple nodes.
|
||||
.HP
|
||||
\fB\-banscore=\fR<n>
|
||||
\fB\-asmap=\fR<file>
|
||||
.IP
|
||||
Threshold for disconnecting misbehaving peers (default: 100)
|
||||
Specify asn mapping used for bucketing of the peers (default:
|
||||
ip_asn.map). Relative paths will be prefixed by the net\-specific
|
||||
datadir location.
|
||||
.HP
|
||||
\fB\-bantime=\fR<n>
|
||||
.IP
|
||||
Number of seconds to keep misbehaving peers from reconnecting (default:
|
||||
Default duration (in seconds) of manually configured bans (default:
|
||||
86400)
|
||||
.HP
|
||||
\fB\-bind=\fR<addr>
|
||||
\fB\-bind=\fR<addr>[:<port>][=onion]
|
||||
.IP
|
||||
Bind to given address and always listen on it. Use [host]:port notation
|
||||
for IPv6
|
||||
Bind to given address and always listen on it (default: 0.0.0.0). Use
|
||||
[host]:port notation for IPv6. Append =onion to tag any incoming
|
||||
connections to that address and port as incoming Tor connections
|
||||
(default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
|
||||
signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)
|
||||
.HP
|
||||
\fB\-connect=\fR<ip>
|
||||
.IP
|
||||
@@ -193,7 +228,7 @@ Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\
|
||||
.HP
|
||||
\fB\-listenonion\fR
|
||||
.IP
|
||||
Automatically create Tor hidden service (default: 1)
|
||||
Automatically create Tor onion service (default: 1)
|
||||
.HP
|
||||
\fB\-maxconnections=\fR<n>
|
||||
.IP
|
||||
@@ -215,12 +250,18 @@ amount. (default: 4200 seconds)
|
||||
.HP
|
||||
\fB\-maxuploadtarget=\fR<n>
|
||||
.IP
|
||||
Tries to keep outbound traffic under the given target (in MiB per 24h),
|
||||
0 = no limit (default: 0)
|
||||
Tries to keep outbound traffic under the given target (in MiB per 24h).
|
||||
Limit does not apply to peers with 'download' permission. 0 = no
|
||||
limit (default: 0)
|
||||
.HP
|
||||
\fB\-networkactive\fR
|
||||
.IP
|
||||
Enable all P2P network activity (default: 1). Can be changed by the
|
||||
setnetworkactive RPC command
|
||||
.HP
|
||||
\fB\-onion=\fR<ip:port>
|
||||
.IP
|
||||
Use separate SOCKS5 proxy to reach peers via Tor hidden services, set
|
||||
Use separate SOCKS5 proxy to reach peers via Tor onion services, set
|
||||
\fB\-noonion\fR to disable (default: \fB\-proxy\fR)
|
||||
.HP
|
||||
\fB\-onlynet=\fR<net>
|
||||
@@ -230,10 +271,14 @@ onion). Incoming connections are not affected by this option.
|
||||
This option can be specified multiple times to allow multiple
|
||||
networks.
|
||||
.HP
|
||||
\fB\-peerblockfilters\fR
|
||||
.IP
|
||||
Serve compact block filters to peers per BIP 157 (default: 0)
|
||||
.HP
|
||||
\fB\-peerbloomfilters\fR
|
||||
.IP
|
||||
Support filtering of blocks and transaction with bloom filters (default:
|
||||
1)
|
||||
0)
|
||||
.HP
|
||||
\fB\-permitbaremultisig\fR
|
||||
.IP
|
||||
@@ -241,8 +286,9 @@ Relay non\-P2SH multisig (default: 1)
|
||||
.HP
|
||||
\fB\-port=\fR<port>
|
||||
.IP
|
||||
Listen for connections on <port> (default: 8333, testnet: 18333,
|
||||
regtest: 18444)
|
||||
Listen for connections on <port>. Nodes not using the default ports
|
||||
(default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
|
||||
are unlikely to get incoming connections.
|
||||
.HP
|
||||
\fB\-proxy=\fR<ip:port>
|
||||
.IP
|
||||
@@ -277,25 +323,35 @@ Tor control port password (default: empty)
|
||||
.IP
|
||||
Use UPnP to map the listening port (default: 0)
|
||||
.HP
|
||||
\fB\-whitebind=\fR<addr>
|
||||
\fB\-whitebind=\fR<[permissions@]addr>
|
||||
.IP
|
||||
Bind to given address and whitelist peers connecting to it. Use
|
||||
[host]:port notation for IPv6
|
||||
Bind to the given address and add permission flags to the peers
|
||||
connecting to it. Use [host]:port notation for IPv6. Allowed
|
||||
permissions: bloomfilter (allow requesting BIP37 filtered blocks
|
||||
and transactions), noban (do not ban for misbehavior; implies
|
||||
download), forcerelay (relay transactions that are already in the
|
||||
mempool; implies relay), relay (relay even in \fB\-blocksonly\fR mode,
|
||||
and unlimited transaction announcements), mempool (allow
|
||||
requesting BIP35 mempool contents), download (allow getheaders
|
||||
during IBD, no disconnect after maxuploadtarget limit), addr
|
||||
(responses to GETADDR avoid hitting the cache and contain random
|
||||
records with the most up\-to\-date info). Specify multiple
|
||||
permissions separated by commas (default:
|
||||
download,noban,mempool,relay). Can be specified multiple times.
|
||||
.HP
|
||||
\fB\-whitelist=\fR<IP address or network>
|
||||
\fB\-whitelist=\fR<[permissions@]IP address or network>
|
||||
.IP
|
||||
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or
|
||||
CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple
|
||||
times. Whitelisted peers cannot be DoS banned and their
|
||||
transactions are always relayed, even if they are already in the
|
||||
mempool, useful e.g. for a gateway
|
||||
Add permission flags to the peers connecting from the given IP address
|
||||
(e.g. 1.2.3.4) or CIDR\-notated network (e.g. 1.2.3.0/24). Uses
|
||||
the same permissions as \fB\-whitebind\fR. Can be specified multiple
|
||||
times.
|
||||
.PP
|
||||
Wallet options:
|
||||
.HP
|
||||
\fB\-addresstype\fR
|
||||
.IP
|
||||
What type of addresses to use ("legacy", "p2sh\-segwit", or "bech32",
|
||||
default: "p2sh\-segwit")
|
||||
default: "bech32")
|
||||
.HP
|
||||
\fB\-avoidpartialspends\fR
|
||||
.IP
|
||||
@@ -303,7 +359,8 @@ Group outputs by address, selecting all or none, instead of selecting on
|
||||
a per\-output basis. Privacy is improved as an address is only
|
||||
used once (unless someone sends to it after spending from it),
|
||||
but may result in slightly higher fees as suboptimal coin
|
||||
selection may result due to the added limitation (default: 0)
|
||||
selection may result due to the added limitation (default: 0
|
||||
(always enabled for wallets with "avoid_reuse" enabled))
|
||||
.HP
|
||||
\fB\-changetype\fR
|
||||
.IP
|
||||
@@ -327,11 +384,20 @@ limited by the fee estimate for the longest target
|
||||
\fB\-fallbackfee=\fR<amt>
|
||||
.IP
|
||||
A fee rate (in BTC/kB) that will be used when fee estimation has
|
||||
insufficient data (default: 0.0002)
|
||||
insufficient data. 0 to entirely disable the fallbackfee feature.
|
||||
(default: 0.00)
|
||||
.HP
|
||||
\fB\-keypool=\fR<n>
|
||||
.IP
|
||||
Set key pool size to <n> (default: 1000)
|
||||
Set key pool size to <n> (default: 1000). Warning: Smaller sizes may
|
||||
increase the risk of losing funds when restoring from an old
|
||||
backup, if none of the addresses in the original keypool have
|
||||
been used.
|
||||
.HP
|
||||
\fB\-maxapsfee=\fR<n>
|
||||
.IP
|
||||
Spend up to this amount in additional (absolute) fees (in BTC) if it
|
||||
allows the use of partial spend avoidance (default: 0.00)
|
||||
.HP
|
||||
\fB\-mintxfee=\fR<amt>
|
||||
.IP
|
||||
@@ -346,10 +412,6 @@ Fee (in BTC/kB) to add to transactions you send (default: 0.00)
|
||||
.IP
|
||||
Rescan the block chain for missing wallet transactions on startup
|
||||
.HP
|
||||
\fB\-salvagewallet\fR
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet on startup
|
||||
.HP
|
||||
\fB\-spendzeroconfchange\fR
|
||||
.IP
|
||||
Spend unconfirmed change when sending transactions (default: 1)
|
||||
@@ -359,18 +421,15 @@ Spend unconfirmed change when sending transactions (default: 1)
|
||||
If paytxfee is not set, include enough fee so transactions begin
|
||||
confirmation on average within n blocks (default: 6)
|
||||
.HP
|
||||
\fB\-upgradewallet\fR
|
||||
.IP
|
||||
Upgrade wallet to latest format on startup
|
||||
.HP
|
||||
\fB\-wallet=\fR<path>
|
||||
.IP
|
||||
Specify wallet database path. Can be specified multiple times to load
|
||||
multiple wallets. Path is interpreted relative to <walletdir> if
|
||||
it is not absolute, and will be created if it does not exist (as
|
||||
a directory containing a wallet.dat file and log files). For
|
||||
backwards compatibility this will also accept names of existing
|
||||
data files in <walletdir>.)
|
||||
Specify wallet path to load at startup. Can be used multiple times to
|
||||
load multiple wallets. Path is to a directory containing wallet
|
||||
data and log files. If the path is not absolute, it is
|
||||
interpreted relative to <walletdir>. This only loads existing
|
||||
wallets and does not create new ones. For backwards compatibility
|
||||
this also accepts names of existing top\-level data files in
|
||||
<walletdir>.
|
||||
.HP
|
||||
\fB\-walletbroadcast\fR
|
||||
.IP
|
||||
@@ -383,18 +442,15 @@ exists, otherwise <datadir>)
|
||||
.HP
|
||||
\fB\-walletnotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when a wallet transaction changes (%s in cmd is replaced
|
||||
by TxID)
|
||||
Execute command when a wallet transaction changes. %s in cmd is replaced
|
||||
by TxID and %w is replaced by wallet name. %w is not currently
|
||||
implemented on windows. On systems where %w is supported, it
|
||||
should NOT be quoted because this would break shell escaping used
|
||||
to invoke the command.
|
||||
.HP
|
||||
\fB\-walletrbf\fR
|
||||
.IP
|
||||
Send transactions with full\-RBF opt\-in enabled (RPC only, default: 0)
|
||||
.HP
|
||||
\fB\-zapwallettxes=\fR<mode>
|
||||
.IP
|
||||
Delete all wallet transactions and only recover those parts of the
|
||||
blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g.
|
||||
payment request information, 2 = drop tx meta data)
|
||||
.PP
|
||||
ZeroMQ notification options:
|
||||
.HP
|
||||
@@ -402,17 +458,43 @@ ZeroMQ notification options:
|
||||
.IP
|
||||
Enable publish hash block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubhashtx=\fR<address>
|
||||
.IP
|
||||
Enable publish hash transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubhashtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawblock=\fR<address>
|
||||
.IP
|
||||
Enable publish raw block in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawblockhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw block outbound message high water mark (default: 1000)
|
||||
.HP
|
||||
\fB\-zmqpubrawtx=\fR<address>
|
||||
.IP
|
||||
Enable publish raw transaction in <address>
|
||||
.HP
|
||||
\fB\-zmqpubrawtxhwm=\fR<n>
|
||||
.IP
|
||||
Set publish raw transaction outbound message high water mark (default:
|
||||
1000)
|
||||
.HP
|
||||
\fB\-zmqpubsequence=\fR<address>
|
||||
.IP
|
||||
Enable publish hash block and tx sequence in <address>
|
||||
.HP
|
||||
\fB\-zmqpubsequencehwm=\fR<n>
|
||||
.IP
|
||||
Set publish hash sequence message high water mark (default: 1000)
|
||||
.PP
|
||||
Debugging/Testing options:
|
||||
.HP
|
||||
@@ -421,9 +503,9 @@ Debugging/Testing options:
|
||||
Output debugging information (default: \fB\-nodebug\fR, supplying <category> is
|
||||
optional). If <category> is not supplied or if <category> = 1,
|
||||
output all debugging information. <category> can be: net, tor,
|
||||
mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
|
||||
mempool, http, bench, zmq, walletdb, rpc, estimatefee, addrman,
|
||||
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
|
||||
libevent, coindb, qt, leveldb.
|
||||
libevent, coindb, qt, leveldb, validation.
|
||||
.HP
|
||||
\fB\-debugexclude=\fR<category>
|
||||
.IP
|
||||
@@ -439,15 +521,19 @@ Print help message with debugging options and exit
|
||||
.IP
|
||||
Include IP addresses in debug output (default: 0)
|
||||
.HP
|
||||
\fB\-logthreadnames\fR
|
||||
.IP
|
||||
Prepend debug output with name of the originating thread (only available
|
||||
on platforms supporting thread_local) (default: 0)
|
||||
.HP
|
||||
\fB\-logtimestamps\fR
|
||||
.IP
|
||||
Prepend debug output with timestamp (default: 1)
|
||||
.HP
|
||||
\fB\-maxtxfee=\fR<amt>
|
||||
.IP
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction or raw
|
||||
transaction; setting this too low may abort large transactions
|
||||
(default: 0.10)
|
||||
Maximum total fees (in BTC) to use in a single wallet transaction;
|
||||
setting this too low may abort large transactions (default: 0.10)
|
||||
.HP
|
||||
\fB\-printtoconsole\fR
|
||||
.IP
|
||||
@@ -464,9 +550,32 @@ Append comment to the user agent string
|
||||
.PP
|
||||
Chain selection options:
|
||||
.HP
|
||||
\fB\-chain=\fR<chain>
|
||||
.IP
|
||||
Use the chain <chain> (default: main). Allowed values: main, test,
|
||||
signet, regtest
|
||||
.HP
|
||||
\fB\-signet\fR
|
||||
.IP
|
||||
Use the signet chain. Equivalent to \fB\-chain\fR=\fI\,signet\/\fR. Note that the network
|
||||
is defined by the \fB\-signetchallenge\fR parameter
|
||||
.HP
|
||||
\fB\-signetchallenge\fR
|
||||
.IP
|
||||
Blocks must satisfy the given script to be considered valid (only for
|
||||
signet networks; defaults to the global default signet test
|
||||
network challenge)
|
||||
.HP
|
||||
\fB\-signetseednode\fR
|
||||
.IP
|
||||
Specify a seed node for the signet network, in the hostname[:port]
|
||||
format, e.g. sig.net:1234 (may be used multiple times to specify
|
||||
multiple seed nodes; defaults to the global default signet test
|
||||
network seed node(s))
|
||||
.HP
|
||||
\fB\-testnet\fR
|
||||
.IP
|
||||
Use the test chain
|
||||
Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR.
|
||||
.PP
|
||||
Node relay options:
|
||||
.HP
|
||||
@@ -491,13 +600,15 @@ mining and transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-whitelistforcerelay\fR
|
||||
.IP
|
||||
Force relay of transactions from whitelisted peers even if they violate
|
||||
local relay policy (default: 0)
|
||||
Add 'forcerelay' permission to whitelisted inbound peers with default
|
||||
permissions. This will relay transactions even if the
|
||||
transactions were already in the mempool. (default: 0)
|
||||
.HP
|
||||
\fB\-whitelistrelay\fR
|
||||
.IP
|
||||
Accept relayed transactions received from whitelisted peers even when
|
||||
not relaying transactions (default: 1)
|
||||
Add 'relay' permission to whitelisted inbound peers with default
|
||||
permissions. This will accept relayed transactions even when not
|
||||
relaying transactions (default: 1)
|
||||
.PP
|
||||
Block creation options:
|
||||
.HP
|
||||
@@ -553,7 +664,7 @@ Password for JSON\-RPC connections
|
||||
\fB\-rpcport=\fR<port>
|
||||
.IP
|
||||
Listen for JSON\-RPC connections on <port> (default: 8332, testnet:
|
||||
18332, regtest: 18443)
|
||||
18332, signet: 38332, regtest: 18443)
|
||||
.HP
|
||||
\fB\-rpcserialversion\fR
|
||||
.IP
|
||||
@@ -568,14 +679,31 @@ Set the number of threads to service RPC calls (default: 4)
|
||||
.IP
|
||||
Username for JSON\-RPC connections
|
||||
.HP
|
||||
\fB\-rpcwhitelist=\fR<whitelist>
|
||||
.IP
|
||||
Set a whitelist to filter incoming RPC calls for a specific user. The
|
||||
field <whitelist> comes in the format: <USERNAME>:<rpc 1>,<rpc
|
||||
2>,...,<rpc n>. If multiple whitelists are set for a given user,
|
||||
they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation
|
||||
for information on default whitelist behavior.
|
||||
.HP
|
||||
\fB\-rpcwhitelistdefault\fR
|
||||
.IP
|
||||
Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault
|
||||
is set to 0, if any \fB\-rpcwhitelist\fR is set, the rpc server acts as
|
||||
if all rpc users are subject to empty\-unless\-otherwise\-specified
|
||||
whitelists. If rpcwhitelistdefault is set to 1 and no
|
||||
\fB\-rpcwhitelist\fR is set, rpc server acts as if all rpc users are
|
||||
subject to empty whitelists.
|
||||
.HP
|
||||
\fB\-server\fR
|
||||
.IP
|
||||
Accept command line and JSON\-RPC commands
|
||||
.SH COPYRIGHT
|
||||
Copyright (C) 2009-2019 The Bitcoin Core developers
|
||||
Copyright (C) 2009-2020 The Bitcoin Core developers
|
||||
|
||||
Please contribute if you find Bitcoin Core useful. Visit
|
||||
<https://bitcoincore.org> for further information about the software.
|
||||
<https://bitcoincore.org/> for further information about the software.
|
||||
The source code is available from <https://github.com/bitcoin/bitcoin>.
|
||||
|
||||
This is experimental software.
|
||||
|
||||
@@ -1,25 +1,11 @@
|
||||
*After branching off for a major version release of Bitcoin Core, use this
|
||||
template to create the initial release notes draft.*
|
||||
0.21.2 Release Notes
|
||||
====================
|
||||
|
||||
*The release notes draft is a temporary file that can be added to by anyone. See
|
||||
[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes)
|
||||
for the process.*
|
||||
Bitcoin Core version 0.21.2 is now available from:
|
||||
|
||||
*Create the draft, named* "*version* Release Notes Draft"
|
||||
*(e.g. "0.20.0 Release Notes Draft"), as a collaborative wiki in:*
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.21.2/>
|
||||
|
||||
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/
|
||||
|
||||
*Before the final release, move the notes back to this git repository.*
|
||||
|
||||
*version* Release Notes Draft
|
||||
===============================
|
||||
|
||||
Bitcoin Core version *version* is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-*version*/>
|
||||
|
||||
This release includes new features, various bug fixes and performance
|
||||
This minor release includes various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
@@ -45,11 +31,6 @@ wallet versions of Bitcoin Core are generally supported.
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
During this release cycle, work has been done to ensure that the codebase is fully
|
||||
compatible with C++17. The intention is to begin using C++17 features starting
|
||||
with the 0.22.0 release. This means that a compiler that supports C++17 will be
|
||||
required to compile 0.22.0.
|
||||
|
||||
Bitcoin Core is supported and extensively tested on operating systems
|
||||
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
@@ -60,427 +41,69 @@ From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
The node's known peers are persisted to disk in a file called `peers.dat`. The
|
||||
format of this file has been changed in a backwards-incompatible way in order to
|
||||
accommodate the storage of Tor v3 and other BIP155 addresses. This means that if
|
||||
the file is modified by 0.21.0 or newer then older versions will not be able to
|
||||
read it. Those old versions, in the event of a downgrade, will log an error
|
||||
message "Incorrect keysize in addrman deserialization" and will continue normal
|
||||
operation as if the file was missing, creating a new empty one. (#19954)
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
P2P and network changes
|
||||
-----------------------
|
||||
|
||||
- The mempool now tracks whether transactions submitted via the wallet or RPCs
|
||||
have been successfully broadcast. Every 10-15 minutes, the node will try to
|
||||
announce unbroadcast transactions until a peer requests it via a `getdata`
|
||||
message or the transaction is removed from the mempool for other reasons.
|
||||
The node will not track the broadcast status of transactions submitted to the
|
||||
node using P2P relay. This version reduces the initial broadcast guarantees
|
||||
for wallet transactions submitted via P2P to a node running the wallet. (#18038)
|
||||
|
||||
- The size of the set of transactions that peers have announced and we consider
|
||||
for requests has been reduced from 100000 to 5000 (per peer), and further
|
||||
announcements will be ignored when that limit is reached. If you need to dump
|
||||
(very) large batches of transactions, exceptions can be made for trusted
|
||||
peers using the "relay" network permission. For localhost for example it can
|
||||
be enabled using the command line option `-whitelist=relay@127.0.0.1`.
|
||||
(#19988)
|
||||
|
||||
- The Tor onion service that is automatically created by setting the
|
||||
`-listenonion` configuration parameter will now be created as a Tor v3 service
|
||||
instead of Tor v2. The private key that was used for Tor v2 (if any) will be
|
||||
left untouched in the `onion_private_key` file in the data directory (see
|
||||
`-datadir`) and can be removed if not needed. Bitcoin Core will no longer
|
||||
attempt to read it. The private key for the Tor v3 service will be saved in a
|
||||
file named `onion_v3_private_key`. To use the deprecated Tor v2 service (not
|
||||
recommended), then `onion_private_key` can be copied over
|
||||
`onion_v3_private_key`, e.g.
|
||||
`cp -f onion_private_key onion_v3_private_key`. (#19954)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- The `getpeerinfo` RPC now has additional `last_block` and `last_transaction`
|
||||
fields that return the UNIX epoch time of the last block and the last valid
|
||||
transaction received from each peer. (#19731)
|
||||
|
||||
- `getnetworkinfo` now returns two new fields, `connections_in` and
|
||||
`connections_out`, that provide the number of inbound and outbound peer
|
||||
connections. These new fields are in addition to the existing `connections`
|
||||
field, which returns the total number of peer connections. (#19405)
|
||||
|
||||
- Exposed transaction version numbers are now treated as unsigned 32-bit
|
||||
integers instead of signed 32-bit integers. This matches their treatment in
|
||||
consensus logic. Versions greater than 2 continue to be non-standard
|
||||
(matching previous behavior of smaller than 1 or greater than 2 being
|
||||
non-standard). Note that this includes the joinpsbt command, which combines
|
||||
partially-signed transactions by selecting the highest version number.
|
||||
(#16525)
|
||||
|
||||
- `getmempoolinfo` now returns an additional `unbroadcastcount` field. The
|
||||
mempool tracks locally submitted transactions until their initial broadcast
|
||||
is acknowledged by a peer. This field returns the count of transactions
|
||||
waiting for acknowledgement.
|
||||
|
||||
- Mempool RPCs such as `getmempoolentry` and `getrawmempool` with
|
||||
`verbose=true` now return an additional `unbroadcast` field. This indicates
|
||||
whether initial broadcast of the transaction has been acknowledged by a
|
||||
peer. `getmempoolancestors` and `getmempooldescendants` are also updated.
|
||||
|
||||
- The `bumpfee`, `fundrawtransaction`, `sendmany`, `sendtoaddress`, and `walletcreatefundedpsbt`
|
||||
RPC commands have been updated to include two new fee estimation methods "BTC/kB" and "sat/B".
|
||||
The target is the fee expressed explicitly in the given form. Note that use of this feature
|
||||
will trigger BIP 125 (replace-by-fee) opt-in. (#11413)
|
||||
|
||||
- In addition, the `estimate_mode` parameter is now case insensitive for all of
|
||||
the above RPC commands. (#11413)
|
||||
|
||||
- The `bumpfee` command now uses `conf_target` rather than `confTarget` in the
|
||||
options. (#11413)
|
||||
|
||||
- The `getpeerinfo` RPC no longer returns the `banscore` field unless the configuration
|
||||
option `-deprecatedrpc=banscore` is used. The `banscore` field will be fully
|
||||
removed in the next major release. (#19469)
|
||||
|
||||
- The `testmempoolaccept` RPC returns `vsize` and a `fees` object with the `base` fee
|
||||
if the transaction would pass validation. (#19940)
|
||||
|
||||
- The `getpeerinfo` RPC now returns a `connection_type` field. This indicates
|
||||
the type of connection established with the peer. It will return one of six
|
||||
options. For more information, see the `getpeerinfo` help documentation.
|
||||
(#19725)
|
||||
|
||||
- The `getpeerinfo` RPC no longer returns the `addnode` field by default. This
|
||||
field will be fully removed in the next major release. It can be accessed
|
||||
with the configuration option `-deprecatedrpc=getpeerinfo_addnode`. However,
|
||||
it is recommended to instead use the `connection_type` field (it will return
|
||||
`manual` when addnode is true). (#19725)
|
||||
|
||||
- The `walletcreatefundedpsbt` RPC call will now fail with
|
||||
`Insufficient funds` when inputs are manually selected but are not enough to cover
|
||||
the outputs and fee. Additional inputs can automatically be added through the
|
||||
new `add_inputs` option. (#16377)
|
||||
|
||||
- The `fundrawtransaction` RPC now supports `add_inputs` option that when `false`
|
||||
prevents adding more inputs if necessary and consequently the RPC fails.
|
||||
|
||||
Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below.
|
||||
|
||||
New RPCs
|
||||
--------
|
||||
|
||||
- The `getindexinfo` RPC returns the actively running indices of the node,
|
||||
including their current sync status and height. It also accepts an `index_name`
|
||||
to specify returning only the status of that index. (#19550)
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
Updated settings
|
||||
----------------
|
||||
|
||||
- The same ZeroMQ notification (e.g. `-zmqpubhashtx=address`) can now be
|
||||
specified multiple times to publish the same notification to different ZeroMQ
|
||||
sockets. (#18309)
|
||||
|
||||
- The `-banscore` configuration option, which modified the default threshold for
|
||||
disconnecting and discouraging misbehaving peers, has been removed as part of
|
||||
changes in 0.20.1 and in this release to the handling of misbehaving peers.
|
||||
Refer to "Changes regarding misbehaving peers" in the 0.20.1 release notes for
|
||||
details. (#19464)
|
||||
|
||||
- The `-debug=db` logging category, which was deprecated in 0.20 and replaced by
|
||||
`-debug=walletdb` to distinguish it from `coindb`, has been removed. (#19202)
|
||||
|
||||
- A `download` permission has been extracted from the `noban` permission. For
|
||||
compatibility, `noban` implies the `download` permission, but this may change
|
||||
in future releases. Refer to the help of the affected settings `-whitebind`
|
||||
and `-whitelist` for more details. (#19191)
|
||||
|
||||
- Netmasks that contain 1-bits after 0-bits (the 1-bits are not contiguous on
|
||||
the left side, e.g. 255.0.255.255) are no longer accepted. They are invalid
|
||||
according to RFC 4632. Netmasks are used in the `-rpcallowip` and `-whitelist`
|
||||
configuration options and in the `setban` RPC. (#19628)
|
||||
|
||||
Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below.
|
||||
|
||||
Tools and Utilities
|
||||
-------------------
|
||||
|
||||
- The `connections` field of `bitcoin-cli -getinfo` is expanded to return a JSON
|
||||
object with `in`, `out` and `total` numbers of peer connections. It previously
|
||||
returned a single integer value for the total number of peer connections. (#19405)
|
||||
|
||||
- A new `bitcoin-cli -generate` command, equivalent to RPC `generatenewaddress`
|
||||
followed by `generatetoaddress`, can generate blocks for command line testing
|
||||
purposes. This is a client-side version of the
|
||||
former `generate` RPC. See the help for details. (#19133)
|
||||
|
||||
- The `bitcoin-cli -getinfo` command now displays the wallet name and balance for
|
||||
each of the loaded wallets when more than one is loaded (e.g. in multiwallet
|
||||
mode) and a wallet is not specified with `-rpcwallet`. (#18594)
|
||||
|
||||
New settings
|
||||
------------
|
||||
|
||||
- The `startupnotify` option is used to specify a command to
|
||||
execute when Bitcoin Core has finished with its startup
|
||||
sequence. (#15367)
|
||||
|
||||
Wallet
|
||||
------
|
||||
|
||||
- Backwards compatibility has been dropped for two `getaddressinfo` RPC
|
||||
deprecations, as notified in the 0.20 release notes. The deprecated `label`
|
||||
field has been removed as well as the deprecated `labels` behavior of
|
||||
returning a JSON object containing `name` and `purpose` key-value pairs. Since
|
||||
0.20, the `labels` field returns a JSON array of label names. (#19200)
|
||||
|
||||
- To improve wallet privacy, the frequency of wallet rebroadcast attempts is
|
||||
reduced from approximately once every 15 minutes to once every 12-36 hours.
|
||||
To maintain a similar level of guarantee for initial broadcast of wallet
|
||||
transactions, the mempool tracks these transactions as a part of the newly
|
||||
introduced unbroadcast set. See the "P2P and network changes" section for
|
||||
more information on the unbroadcast set. (#18038)
|
||||
|
||||
- The `sendtoaddress` and `sendmany` RPCs accept an optional `verbose=True`
|
||||
argument to also return the fee reason about the sent tx. (#19501)
|
||||
|
||||
- The wallet can create a transaction without change even when the keypool is
|
||||
empty. Previously it failed. (#17219)
|
||||
|
||||
- The `-salvagewallet` startup option has been removed. A new `salvage` command
|
||||
has been added to the `bitcoin-wallet` tool which performs the salvage
|
||||
operations that `-salvagewallet` did. (#18918)
|
||||
|
||||
- A new configuration flag `-maxapsfee` has been added, which sets the max
|
||||
allowed avoid partial spends (APS) fee. It defaults to 0 (i.e. fee is the
|
||||
same with and without APS). Setting it to -1 will disable APS, unless
|
||||
`-avoidpartialspends` is set. (#14582)
|
||||
|
||||
- The wallet will now avoid partial spends (APS) by default, if this does not
|
||||
result in a difference in fees compared to the non-APS variant. The allowed
|
||||
fee threshold can be adjusted using the new `-maxapsfee` configuration
|
||||
option. (#14582)
|
||||
|
||||
- The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept
|
||||
`load_on_startup` options to modify the settings list. Unless these options
|
||||
are explicitly set to true or false, the list is not modified, so the RPC
|
||||
methods remain backwards compatible. (#15937)
|
||||
|
||||
- A new `send` RPC with similar syntax to `walletcreatefundedpsbt`, including
|
||||
support for coin selection and a custom fee rate. The `send` RPC is
|
||||
experimental and may change in subsequent releases. Using it is encouraged
|
||||
once it's no longer experimental: `sendmany` and `sendtoaddress` may be
|
||||
deprecated in a future release. (#16378)
|
||||
|
||||
- `fundrawtransaction` and `walletcreatefundedpsbt` when used with the
|
||||
`lockUnspents` argument now lock manually selected coins, in addition to
|
||||
automatically selected coins. Note that locked coins are never used in
|
||||
automatic coin selection, but can still be manually selected. (#18244)
|
||||
|
||||
- The `-zapwallettxes` startup option has been removed and its functionality
|
||||
removed from the wallet. This option was originally intended to allow for
|
||||
the fee bumping of transactions that did not signal RBF. This functionality
|
||||
has been superseded with the abandon transaction feature. (#19671)
|
||||
|
||||
- The error code when no wallet is loaded, but a wallet RPC is called, has been
|
||||
changed from `-32601` (method not found) to `-18` (wallet not found).
|
||||
(#20101)
|
||||
|
||||
### Automatic wallet creation removed
|
||||
|
||||
Bitcoin Core will no longer automatically create new wallets on startup. It will
|
||||
load existing wallets specified by `-wallet` options on the command line or in
|
||||
`bitcoin.conf` or `settings.json` files. And by default it will also load a
|
||||
top-level unnamed ("") wallet. However, if specified wallets don't exist,
|
||||
Bitcoin Core will now just log warnings instead of creating new wallets with
|
||||
new keys and addresses like previous releases did.
|
||||
|
||||
New wallets can be created through the GUI (which has a more prominent create
|
||||
wallet option), through the `bitcoin-cli createwallet` or `bitcoin-wallet
|
||||
create` commands, or the `createwallet` RPC. (#15454)
|
||||
|
||||
### Experimental Descriptor Wallets
|
||||
|
||||
Please note that Descriptor Wallets are still experimental and not all expected functionality
|
||||
is available. Additionally there may be some bugs and current functions may change in the future.
|
||||
Bugs and missing functionality can be reported to the [issue tracker](https://github.com/bitcoin/bitcoin/issues).
|
||||
|
||||
0.21 introduces a new type of wallet - Descriptor Wallets. Descriptor Wallets store
|
||||
scriptPubKey information using descriptors. This is in contrast to the Legacy Wallet
|
||||
structure where keys are used to generate scriptPubKeys and addresses. Because of this
|
||||
shift to being script based instead of key based, many of the confusing things that Legacy
|
||||
Wallets do are not possible with Descriptor Wallets. Descriptor Wallets use a definition
|
||||
of "mine" for scripts which is simpler and more intuitive than that used by Legacy Wallets.
|
||||
Descriptor Wallets also uses different semantics for watch-only things and imports.
|
||||
|
||||
As Descriptor Wallets are a new type of wallet, their introduction does not affect existing wallets.
|
||||
Users who already have a Bitcoin Core wallet can continue to use it as they did before without
|
||||
any change in behavior. Newly created Legacy Wallets (which is the default type of wallet) will
|
||||
behave as they did in previous versions of Bitcoin Core.
|
||||
|
||||
The differences between Descriptor Wallets and Legacy Wallets are largely limited to non user facing
|
||||
things. They are intended to behave similarly except for the import/export and watchonly functionality
|
||||
as described below.
|
||||
|
||||
#### Creating Descriptor Wallets
|
||||
|
||||
Descriptor Wallets are not created by default. They must be explicitly created using the
|
||||
`createwallet` RPC or via the GUI. A `descriptors` option has been added to `createwallet`.
|
||||
Setting `descriptors` to `true` will create a Descriptor Wallet instead of a Legacy Wallet.
|
||||
|
||||
In the GUI, a checkbox has been added to the Create Wallet Dialog to indicate that a
|
||||
Descriptor Wallet should be created.
|
||||
|
||||
Without those options being set, a Legacy Wallet will be created instead. Additionally the
|
||||
Default Wallet created upon first startup of Bitcoin Core will be a Legacy Wallet.
|
||||
|
||||
#### `IsMine` Semantics
|
||||
|
||||
`IsMine` refers to the function used to determine whether a script belongs to the wallet.
|
||||
This is used to determine whether an output belongs to the wallet. `IsMine` in Legacy Wallets
|
||||
returns true if the wallet would be able to sign an input that spends an output with that script.
|
||||
Since keys can be involved in a variety of different scripts, this definition for `IsMine` can
|
||||
lead to many unexpected scripts being considered part of the wallet.
|
||||
|
||||
With Descriptor Wallets, descriptors explicitly specify the set of scripts that are owned by
|
||||
the wallet. Since descriptors are deterministic and easily enumerable, users will know exactly
|
||||
what scripts the wallet will consider to belong to it. Additionally the implementation of `IsMine`
|
||||
in Descriptor Wallets is far simpler than for Legacy Wallets. Notably, in Legacy Wallets, `IsMine`
|
||||
allowed for users to take one type of address (e.g. P2PKH), mutate it into another address type
|
||||
(e.g. P2WPKH), and the wallet would still detect outputs sending to the new address type
|
||||
even without that address being requested from the wallet. Descriptor Wallets does not
|
||||
allow for this and will only watch for the addresses that were explicitly requested from the wallet.
|
||||
|
||||
These changes to `IsMine` will make it easier to reason about what scripts the wallet will
|
||||
actually be watching for in outputs. However for the vast majority of users, this change is
|
||||
largely transparent and will not have noticeable effect.
|
||||
|
||||
#### Imports and Exports
|
||||
|
||||
In Legacy Wallets, raw scripts and keys could be imported to the wallet. Those imported scripts
|
||||
and keys are treated separately from the keys generated by the wallet. This complicates the `IsMine`
|
||||
logic as it has to distinguish between spendable and watchonly.
|
||||
|
||||
Descriptor Wallets handle importing scripts and keys differently. Only complete descriptors can be
|
||||
imported. These descriptors are then added to the wallet as if it were a descriptor generated by
|
||||
the wallet itself. This simplifies the `IsMine` logic so that it no longer has to distinguish
|
||||
between spendable and watchonly. As such, the watchonly model for Descriptor Wallets is also
|
||||
different and described in more detail in the next section.
|
||||
|
||||
To import into a Descriptor Wallet, a new `importdescriptors` RPC has been added that uses a syntax
|
||||
similar to that of `importmulti`.
|
||||
|
||||
As Legacy Wallets and Descriptor Wallets use different mechanisms for storing and importing scripts and keys
|
||||
the existing import RPCs have been disabled for descriptor wallets.
|
||||
New export RPCs for Descriptor Wallets have not yet been added.
|
||||
|
||||
The following RPCs are disabled for Descriptor Wallets:
|
||||
|
||||
* importprivkey
|
||||
* importpubkey
|
||||
* importaddress
|
||||
* importwallet
|
||||
* dumpprivkey
|
||||
* dumpwallet
|
||||
* importmulti
|
||||
* addmultisigaddress
|
||||
* sethdseed
|
||||
|
||||
#### Watchonly Wallets
|
||||
|
||||
A Legacy Wallet contains both private keys and scripts that were being watched.
|
||||
Those watched scripts would not contribute to your normal balance. In order to see the watchonly
|
||||
balance and to use watchonly things in transactions, an `include_watchonly` option was added
|
||||
to many RPCs that would allow users to do that. However it is easy to forget to include this option.
|
||||
|
||||
Descriptor Wallets move to a per-wallet watchonly model. Instead an entire wallet is considered to be
|
||||
watchonly depending on whether it was created with private keys disabled. This eliminates the need
|
||||
to distinguish between things that are watchonly and things that are not within a wallet itself.
|
||||
|
||||
This change does have a caveat. If a Descriptor Wallet with private keys *enabled* has
|
||||
a multiple key descriptor without all of the private keys (e.g. `multi(...)` with only one private key),
|
||||
then the wallet will fail to sign and broadcast transactions. Such wallets would need to use the PSBT
|
||||
workflow but the typical GUI Send, `sendtoaddress`, etc. workflows would still be available, just
|
||||
non-functional.
|
||||
|
||||
This issue is worsened if the wallet contains both single key (e.g. `wpkh(...)`) descriptors and such
|
||||
multiple key descriptors as some transactions could be signed and broadast and others not. This is
|
||||
due to some transactions containing only single key inputs, while others would contain both single
|
||||
key and multiple key inputs, depending on which are available and how the coin selection algorithm
|
||||
selects inputs. However this is not considered to be a supported use case; multisigs
|
||||
should be in their own wallets which do not already have descriptors. Although users cannot export
|
||||
descriptors with private keys for now as explained earlier.
|
||||
|
||||
#### BIP 44/49/84 Support
|
||||
|
||||
The change to using descriptors changes the default derivation paths used by Bitcoin Core
|
||||
to adhere to BIP 44/49/84. Descriptors with different derivation paths can be imported without
|
||||
issue.
|
||||
|
||||
### Wallet RPC changes
|
||||
|
||||
- The `upgradewallet` RPC replaces the `-upgradewallet` command line option.
|
||||
(#15761)
|
||||
- The `settxfee` RPC will fail if the fee was set higher than the `-maxtxfee`
|
||||
command line setting. The wallet will already fail to create transactions
|
||||
with fees higher than `-maxtxfee`. (#18467)
|
||||
|
||||
GUI changes
|
||||
-----------
|
||||
|
||||
- Wallets created or loaded in the GUI will now be automatically loaded on
|
||||
startup, so they don't need to be manually reloaded next time Bitcoin Core is
|
||||
started. The list of wallets to load on startup is stored in
|
||||
`\<datadir\>/settings.json` and augments any command line or `bitcoin.conf`
|
||||
`-wallet=` settings that specify more wallets to load. Wallets that are
|
||||
unloaded in the GUI get removed from the settings list so they won't load
|
||||
again automatically next startup. (#19754)
|
||||
|
||||
- The GUI Peers window no longer displays a "Ban Score" field. This is part of
|
||||
changes in 0.20.1 and in this release to the handling of misbehaving
|
||||
peers. Refer to "Changes regarding misbehaving peers" in the 0.20.1 release
|
||||
notes for details. (#19512)
|
||||
|
||||
Low-level changes
|
||||
0.21.2 change log
|
||||
=================
|
||||
|
||||
RPC
|
||||
---
|
||||
### P2P protocol and network code
|
||||
|
||||
- To make RPC `sendtoaddress` more consistent with `sendmany` the following error
|
||||
`sendtoaddress` codes were changed from `-4` to `-6`:
|
||||
- Insufficient funds
|
||||
- Fee estimation failed
|
||||
- Transaction has too long of a mempool chain
|
||||
- #21644 use NetPermissions::HasFlag() in CConnman::Bind() (jonatack)
|
||||
- #22569 Rate limit the processing of rumoured addresses (sipa)
|
||||
|
||||
- The `sendrawtransaction` error code for exceeding `maxfeerate` has been changed from
|
||||
`-26` to `-25`. The error string has been changed from "absurdly-high-fee" to
|
||||
"Fee exceeds maximum configured by user (e.g. -maxtxfee, maxfeerate)." The
|
||||
`testmempoolaccept` RPC returns `max-fee-exceeded` rather than `absurdly-high-fee`
|
||||
as the `reject-reason`. (#19339)
|
||||
### Wallet
|
||||
|
||||
- To make wallet and rawtransaction RPCs more consistent, the error message for
|
||||
exceeding maximum feerate has been changed to "Fee exceeds maximum configured by user
|
||||
(e.g. -maxtxfee, maxfeerate)." (#19339)
|
||||
- #21907 Do not iterate a directory if having an error while accessing it (hebasto)
|
||||
|
||||
Tests
|
||||
-----
|
||||
### RPC
|
||||
|
||||
- #19361 Reset scantxoutset progress before inferring descriptors (prusnak)
|
||||
|
||||
### Build System
|
||||
|
||||
- #21932 depends: update Qt 5.9 source url (kittywhiskers)
|
||||
- #22017 Update Windows code signing certificate (achow101)
|
||||
- #22191 Use custom MacOS code signing tool (achow101)
|
||||
- #22713 Fix build with Boost 1.77.0 (sizeofvoid)
|
||||
|
||||
### Tests and QA
|
||||
|
||||
- #20182 Build with --enable-werror by default, and document exceptions (hebasto)
|
||||
- #20535 Fix intermittent feature_taproot issue (MarcoFalke)
|
||||
- #21663 Fix macOS brew install command (hebasto)
|
||||
- #22279 add missing ECCVerifyHandle to base_encode_decode (apoelstra)
|
||||
- #22730 Run fuzzer task for the master branch only (hebasto)
|
||||
|
||||
### GUI
|
||||
|
||||
- #277 Do not use QClipboard::Selection on Windows and macOS. (hebasto)
|
||||
- #280 Remove user input from URI error message (prayank23)
|
||||
- #365 Draw "eye" sign at the beginning of watch-only addresses (hebasto)
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
- #22002 Fix crash when parsing command line with -noincludeconf=0 (MarcoFalke)
|
||||
- #22137 util: Properly handle -noincludeconf on command line (take 2) (MarcoFalke)
|
||||
|
||||
- The BIP 325 default signet can be enabled by the `-chain=signet` or `-signet`
|
||||
setting. The settings `-signetchallenge` and `-signetseednode` allow
|
||||
enabling a custom signet.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Andrew Chow
|
||||
- Andrew Poelstra
|
||||
- fanquake
|
||||
- Hennadii Stepanov
|
||||
- Jon Atack
|
||||
- Kittywhiskers Van Gogh
|
||||
- Luke Dashjr
|
||||
- MarcoFalke
|
||||
- Pavol Rusnak
|
||||
- Pieter Wuille
|
||||
- prayank23
|
||||
- Rafael Sadowski
|
||||
- W. J. van der Laan
|
||||
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
|
||||
1336
doc/release-notes/release-notes-0.21.0.md
Normal file
1336
doc/release-notes/release-notes-0.21.0.md
Normal file
File diff suppressed because it is too large
Load Diff
203
doc/release-notes/release-notes-0.21.1.md
Normal file
203
doc/release-notes/release-notes-0.21.1.md
Normal file
@@ -0,0 +1,203 @@
|
||||
0.21.1 Release Notes
|
||||
====================
|
||||
|
||||
Bitcoin Core version 0.21.1 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-0.21.1/>
|
||||
|
||||
This minor release includes various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
shut down (which might take a few minutes in some cases), then run the
|
||||
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
|
||||
or `bitcoind`/`bitcoin-qt` (on Linux).
|
||||
|
||||
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
|
||||
possible, but it might take some time if the data directory needs to be migrated. Old
|
||||
wallet versions of Bitcoin Core are generally supported.
|
||||
|
||||
Compatibility
|
||||
==============
|
||||
|
||||
Bitcoin Core is supported and extensively tested on operating systems
|
||||
using the Linux kernel, macOS 10.12+, and Windows 7 and newer. Bitcoin
|
||||
Core should also work on most other Unix-like systems but is not as
|
||||
frequently tested on them. It is not recommended to use Bitcoin Core on
|
||||
unsupported systems.
|
||||
|
||||
From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no
|
||||
longer supported. Additionally, Bitcoin Core does not yet change appearance
|
||||
when macOS "dark mode" is activated.
|
||||
|
||||
Notable changes
|
||||
===============
|
||||
|
||||
## Taproot Soft Fork
|
||||
|
||||
Included in this release are the mainnet and testnet activation
|
||||
parameters for the taproot soft fork (BIP341) which also adds support
|
||||
for schnorr signatures (BIP340) and tapscript (BIP342).
|
||||
|
||||
If activated, these improvements will allow users of single-signature
|
||||
scripts, multisignature scripts, and complex contracts to all use
|
||||
identical-appearing commitments that enhance their privacy and the
|
||||
fungibility of all bitcoins. Spenders will enjoy lower fees and the
|
||||
ability to resolve many multisig scripts and complex contracts with the
|
||||
same efficiency, low fees, and large anonymity set as single-sig users.
|
||||
Taproot and schnorr also include efficiency improvements for full nodes
|
||||
such as the ability to batch signature verification. Together, the
|
||||
improvements lay the groundwork for future potential
|
||||
upgrades that may improve efficiency, privacy, and fungibility further.
|
||||
|
||||
Activation for taproot is being managed using a variation of BIP9
|
||||
versionbits called Speedy Trial (described in BIP341). Taproot's
|
||||
versionbit is bit 2, and nodes will begin tracking which blocks signal
|
||||
support for taproot at the beginning of the first retarget period after
|
||||
taproot’s start date of 24 April 2021. If 90% of blocks within a
|
||||
2,016-block retarget period (about two weeks) signal support for taproot
|
||||
prior to the first retarget period beginning after the time of 11 August
|
||||
2021, the soft fork will be locked in, and taproot will then be active
|
||||
as of block 709632 (expected in early or mid November).
|
||||
|
||||
Should taproot not be locked in via Speedy Trial activation, it is
|
||||
expected that a follow-up activation mechanism will be deployed, with
|
||||
changes to address the reasons the Speedy Trial method failed.
|
||||
|
||||
This release includes the ability to pay taproot addresses, although
|
||||
payments to such addresses are not secure until taproot activates.
|
||||
It also includes the ability to relay and mine taproot transactions
|
||||
after activation. Beyond those two basic capabilities, this release
|
||||
does not include any code that allows anyone to directly use taproot.
|
||||
The addition of taproot-related features to Bitcoin Core's wallet is
|
||||
expected in later releases once taproot activation is assured.
|
||||
|
||||
All users, businesses, and miners are encouraged to upgrade to this
|
||||
release (or a subsequent compatible release) unless they object to
|
||||
activation of taproot. If taproot is locked in, then upgrading before
|
||||
block 709632 is highly recommended to help enforce taproot's new rules
|
||||
and to avoid the unlikely case of seeing falsely confirmed transactions.
|
||||
|
||||
Miners who want to activate Taproot should preferably use this release
|
||||
to control their signaling. The `getblocktemplate` RPC results will
|
||||
automatically be updated to signal once the appropriate start has been
|
||||
reached and continue signaling until the timeout occurs or taproot
|
||||
activates. Alternatively, miners may manually start signaling on bit 2
|
||||
at any time; if taproot activates, they will need to ensure they update
|
||||
their nodes before block 709632 or non-upgraded nodes could cause them to mine on
|
||||
an invalid chain. See the [versionbits
|
||||
FAQ](https://bitcoincore.org/en/2016/06/08/version-bits-miners-faq/) for
|
||||
details.
|
||||
|
||||
|
||||
For more information about taproot, please see the following resources:
|
||||
|
||||
- Technical specifications
|
||||
- [BIP340 Schnorr signatures for secp256k1](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki)
|
||||
- [BIP341 Taproot: SegWit version 1 spending rules](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)
|
||||
- [BIP342 Validation of Taproot scripts](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki)
|
||||
|
||||
- Popular articles;
|
||||
- [Taproot Is Coming: What It Is, and How It Will Benefit Bitcoin](https://bitcoinmagazine.com/technical/taproot-coming-what-it-and-how-it-will-benefit-bitcoin)
|
||||
- [What do Schnorr Signatures Mean for Bitcoin?](https://academy.binance.com/en/articles/what-do-schnorr-signatures-mean-for-bitcoin)
|
||||
- [The Schnorr Signature & Taproot Softfork Proposal](https://blog.bitmex.com/the-schnorr-signature-taproot-softfork-proposal/)
|
||||
|
||||
- Development history overview
|
||||
- [Taproot](https://bitcoinops.org/en/topics/taproot/)
|
||||
- [Schnorr signatures](https://bitcoinops.org/en/topics/schnorr-signatures/)
|
||||
- [Tapscript](https://bitcoinops.org/en/topics/tapscript/)
|
||||
- [Soft fork activation](https://bitcoinops.org/en/topics/soft-fork-activation/)
|
||||
|
||||
- Other
|
||||
- [Questions and answers related to taproot](https://bitcoin.stackexchange.com/questions/tagged/taproot)
|
||||
- [Taproot review](https://github.com/ajtowns/taproot-review)
|
||||
|
||||
Updated RPCs
|
||||
------------
|
||||
|
||||
- Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki)
|
||||
being implemented, behavior for all RPCs that accept addresses is changed when
|
||||
a native witness version 1 (or higher) is passed. These now require a Bech32m
|
||||
encoding instead of a Bech32 one, and Bech32m encoding will be used for such
|
||||
addresses in RPC output as well. No version 1 addresses should be created
|
||||
for mainnet until consensus rules are adopted that give them meaning
|
||||
(e.g. through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)).
|
||||
Once that happens, Bech32m is expected to be used for them, so this shouldn't
|
||||
affect any production systems, but may be observed on other networks where such
|
||||
addresses already have meaning (like signet).
|
||||
|
||||
0.21.1 change log
|
||||
=================
|
||||
|
||||
### Consensus
|
||||
- #21377 Speedy trial support for versionbits (ajtowns)
|
||||
- #21686 Speedy trial activation parameters for Taproot (achow101)
|
||||
|
||||
### P2P protocol and network code
|
||||
- #20852 allow CSubNet of non-IP networks (vasild)
|
||||
- #21043 Avoid UBSan warning in ProcessMessage(…) (practicalswift)
|
||||
|
||||
### Wallet
|
||||
- #21166 Introduce DeferredSignatureChecker and have SignatureExtractorClass subclass it (achow101)
|
||||
- #21083 Avoid requesting fee rates multiple times during coin selection (achow101)
|
||||
|
||||
### RPC and other APIs
|
||||
- #21201 Disallow sendtoaddress and sendmany when private keys disabled (achow101)
|
||||
|
||||
### Build system
|
||||
- #21486 link against -lsocket if required for `*ifaddrs` (fanquake)
|
||||
- #20983 Fix MSVC build after gui#176 (hebasto)
|
||||
|
||||
### Tests and QA
|
||||
- #21380 Add fuzzing harness for versionbits (ajtowns)
|
||||
- #20812 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)
|
||||
- #20740 fuzz: Update FuzzedDataProvider.h from upstream (LLVM) (practicalswift)
|
||||
- #21446 Update vcpkg checkout commit (sipsorcery)
|
||||
- #21397 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)
|
||||
- #21081 Fix the unreachable code at `feature_taproot` (brunoerg)
|
||||
- #20562 Test that a fully signed tx given to signrawtx is unchanged (achow101)
|
||||
- #21571 Make sure non-IP peers get discouraged and disconnected (vasild, MarcoFalke)
|
||||
- #21489 fuzz: cleanups for versionbits fuzzer (ajtowns)
|
||||
|
||||
### Miscellaneous
|
||||
- #20861 BIP 350: Implement Bech32m and use it for v1+ segwit addresses (sipa)
|
||||
|
||||
### Documentation
|
||||
- #21384 add signet to bitcoin.conf documentation (jonatack)
|
||||
- #21342 Remove outdated comment (hebasto)
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Aaron Clauson
|
||||
- Andrew Chow
|
||||
- Anthony Towns
|
||||
- Bruno Garcia
|
||||
- Fabian Jahr
|
||||
- fanquake
|
||||
- Hennadii Stepanov
|
||||
- Jon Atack
|
||||
- Luke Dashjr
|
||||
- MarcoFalke
|
||||
- Pieter Wuille
|
||||
- practicalswift
|
||||
- randymcmillan
|
||||
- Sjors Provoost
|
||||
- Vasil Dimov
|
||||
- W. J. van der Laan
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
27
doc/tor.md
27
doc/tor.md
@@ -5,6 +5,16 @@ It is possible to run Bitcoin Core as a Tor onion service, and connect to such s
|
||||
The following directions assume you have a Tor proxy running on port 9050. Many distributions default to having a SOCKS proxy listening on port 9050, but others may not. In particular, the Tor Browser Bundle defaults to listening on port 9150. See [Tor Project FAQ:TBBSocksPort](https://www.torproject.org/docs/faq.html.en#TBBSocksPort) for how to properly
|
||||
configure Tor.
|
||||
|
||||
## How to see information about your Tor configuration via Bitcoin Core
|
||||
|
||||
There are several ways to see your local onion address in Bitcoin Core:
|
||||
- in the debug log (grep for "tor:" or "AddLocal")
|
||||
- in the output of RPC `getnetworkinfo` in the "localaddresses" section
|
||||
- in the output of the CLI `-netinfo` peer connections dashboard
|
||||
|
||||
You may set the `-debug=tor` config logging option to have additional
|
||||
information in the debug log about your Tor configuration.
|
||||
|
||||
|
||||
## 1. Run Bitcoin Core behind a Tor proxy
|
||||
|
||||
@@ -52,14 +62,19 @@ The directory can be different of course, but virtual port numbers should be equ
|
||||
your bitcoind's P2P listen port (8333 by default), and target addresses and ports
|
||||
should be equal to binding address and port for inbound Tor connections (127.0.0.1:8334 by default).
|
||||
|
||||
-externalip=X You can tell bitcoin about its publicly reachable address using
|
||||
this option, and this can be a .onion address. Given the above
|
||||
configuration, you can find your .onion address in
|
||||
-externalip=X You can tell bitcoin about its publicly reachable addresses using
|
||||
this option, and this can be an onion address. Given the above
|
||||
configuration, you can find your onion address in
|
||||
/var/lib/tor/bitcoin-service/hostname. For connections
|
||||
coming from unroutable addresses (such as 127.0.0.1, where the
|
||||
Tor proxy typically runs), .onion addresses are given
|
||||
Tor proxy typically runs), onion addresses are given
|
||||
preference for your node to advertise itself with.
|
||||
|
||||
You can set multiple local addresses with -externalip. The
|
||||
one that will be rumoured to a particular peer is the most
|
||||
compatible one and also using heuristics, e.g. the address
|
||||
with the most incoming connections, etc.
|
||||
|
||||
-listen You'll need to enable listening for incoming connections, as this
|
||||
is off by default behind a proxy.
|
||||
|
||||
@@ -72,7 +87,7 @@ should be equal to binding address and port for inbound Tor connections (127.0.0
|
||||
|
||||
In a typical situation, where you're only reachable via Tor, this should suffice:
|
||||
|
||||
./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
|
||||
./bitcoind -proxy=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -listen
|
||||
|
||||
(obviously, replace the .onion address with your own). It should be noted that you still
|
||||
listen on all devices and another node could establish a clearnet connection, when knowing
|
||||
@@ -90,7 +105,7 @@ and open port 8333 on your firewall (or use -upnp).
|
||||
If you only want to use Tor to reach .onion addresses, but not use it as a proxy
|
||||
for normal IPv4/IPv6 communication, use:
|
||||
|
||||
./bitcoind -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
|
||||
./bitcoind -onion=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -discover
|
||||
|
||||
## 3. Automatically listen on Tor
|
||||
|
||||
|
||||
@@ -4,13 +4,16 @@
|
||||
|
||||
# Network-related settings:
|
||||
|
||||
# Note that if you use testnet or regtest, particularly with the options
|
||||
# Note that if you use testnet, signet or regtest, particularly with the options
|
||||
# addnode, connect, port, bind, rpcport, rpcbind or wallet, you will also
|
||||
# want to read "[Sections]" further down.
|
||||
|
||||
# Run on the test network instead of the real bitcoin network.
|
||||
# Run on the testnet network
|
||||
#testnet=0
|
||||
|
||||
# Run on a signet network
|
||||
#signet=0
|
||||
|
||||
# Run a regression test network
|
||||
#regtest=0
|
||||
|
||||
@@ -57,7 +60,7 @@
|
||||
# Listening mode, enabled by default except when 'connect' is being used
|
||||
#listen=1
|
||||
|
||||
# Port on which to listen for connections (default: 8333, testnet: 18333, regtest: 18444)
|
||||
# Port on which to listen for connections (default: 8333, testnet: 18333, signet: 38333, regtest: 18444)
|
||||
#port=
|
||||
|
||||
# Maximum number of inbound+outbound connections.
|
||||
@@ -155,7 +158,7 @@
|
||||
#minimizetotray=1
|
||||
|
||||
# [Sections]
|
||||
# Most options apply to mainnet, testnet and regtest.
|
||||
# Most options apply to mainnet, testnet, signet and regtest.
|
||||
# If you want to confine an option to just one network, you should add it in the
|
||||
# relevant section below.
|
||||
# EXCEPTIONS: The options addnode, connect, port, bind, rpcport, rpcbind and wallet
|
||||
@@ -167,5 +170,8 @@
|
||||
# Options only for testnet
|
||||
[test]
|
||||
|
||||
# Options only for signet
|
||||
[signet]
|
||||
|
||||
# Options only for regtest
|
||||
[regtest]
|
||||
|
||||
@@ -20,9 +20,8 @@ else
|
||||
LIBUNIVALUE = $(UNIVALUE_LIBS)
|
||||
endif
|
||||
|
||||
BITCOIN_INCLUDES=-I$(builddir) $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
|
||||
BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/secp256k1/include $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
|
||||
|
||||
BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include
|
||||
BITCOIN_INCLUDES += $(UNIVALUE_CFLAGS)
|
||||
|
||||
LIBBITCOIN_SERVER=libbitcoin_server.a
|
||||
|
||||
@@ -78,6 +78,7 @@ QT_MOC_CPP = \
|
||||
qt/moc_transactiondesc.cpp \
|
||||
qt/moc_transactiondescdialog.cpp \
|
||||
qt/moc_transactionfilterproxy.cpp \
|
||||
qt/moc_transactionoverviewwidget.cpp \
|
||||
qt/moc_transactiontablemodel.cpp \
|
||||
qt/moc_transactionview.cpp \
|
||||
qt/moc_utilitydialog.cpp \
|
||||
@@ -151,6 +152,7 @@ BITCOIN_QT_H = \
|
||||
qt/transactiondesc.h \
|
||||
qt/transactiondescdialog.h \
|
||||
qt/transactionfilterproxy.h \
|
||||
qt/transactionoverviewwidget.h \
|
||||
qt/transactionrecord.h \
|
||||
qt/transactiontablemodel.h \
|
||||
qt/transactionview.h \
|
||||
|
||||
@@ -2,6 +2,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_af.ts \
|
||||
qt/locale/bitcoin_am.ts \
|
||||
qt/locale/bitcoin_ar.ts \
|
||||
qt/locale/bitcoin_az.ts \
|
||||
qt/locale/bitcoin_be.ts \
|
||||
qt/locale/bitcoin_bg.ts \
|
||||
qt/locale/bitcoin_bn.ts \
|
||||
@@ -27,7 +28,10 @@ QT_TS = \
|
||||
qt/locale/bitcoin_fi.ts \
|
||||
qt/locale/bitcoin_fil.ts \
|
||||
qt/locale/bitcoin_fr.ts \
|
||||
qt/locale/bitcoin_ga.ts \
|
||||
qt/locale/bitcoin_gl.ts \
|
||||
qt/locale/bitcoin_gl_ES.ts \
|
||||
qt/locale/bitcoin_gu.ts \
|
||||
qt/locale/bitcoin_he.ts \
|
||||
qt/locale/bitcoin_hi.ts \
|
||||
qt/locale/bitcoin_hr.ts \
|
||||
@@ -38,6 +42,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_ja.ts \
|
||||
qt/locale/bitcoin_ka.ts \
|
||||
qt/locale/bitcoin_kk.ts \
|
||||
qt/locale/bitcoin_kl.ts \
|
||||
qt/locale/bitcoin_km.ts \
|
||||
qt/locale/bitcoin_ko.ts \
|
||||
qt/locale/bitcoin_ku_IQ.ts \
|
||||
@@ -54,6 +59,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_nb.ts \
|
||||
qt/locale/bitcoin_ne.ts \
|
||||
qt/locale/bitcoin_nl.ts \
|
||||
qt/locale/bitcoin_no.ts \
|
||||
qt/locale/bitcoin_pam.ts \
|
||||
qt/locale/bitcoin_pl.ts \
|
||||
qt/locale/bitcoin_pt.ts \
|
||||
@@ -73,6 +79,7 @@ QT_TS = \
|
||||
qt/locale/bitcoin_te.ts \
|
||||
qt/locale/bitcoin_th.ts \
|
||||
qt/locale/bitcoin_tr.ts \
|
||||
qt/locale/bitcoin_ug.ts \
|
||||
qt/locale/bitcoin_uk.ts \
|
||||
qt/locale/bitcoin_ur.ts \
|
||||
qt/locale/bitcoin_uz@Cyrl.ts \
|
||||
|
||||
@@ -157,7 +157,8 @@ FUZZ_TARGETS = \
|
||||
test/fuzz/txrequest \
|
||||
test/fuzz/txundo_deserialize \
|
||||
test/fuzz/uint160_deserialize \
|
||||
test/fuzz/uint256_deserialize
|
||||
test/fuzz/uint256_deserialize \
|
||||
test/fuzz/versionbits
|
||||
|
||||
if ENABLE_FUZZ
|
||||
noinst_PROGRAMS += $(FUZZ_TARGETS:=)
|
||||
@@ -1260,6 +1261,12 @@ test_fuzz_uint256_deserialize_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
test_fuzz_uint256_deserialize_LDFLAGS = $(FUZZ_SUITE_LDFLAGS_COMMON)
|
||||
test_fuzz_uint256_deserialize_SOURCES = test/fuzz/deserialize.cpp
|
||||
|
||||
test_fuzz_versionbits_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
test_fuzz_versionbits_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
test_fuzz_versionbits_LDADD = $(FUZZ_SUITE_LD_COMMON)
|
||||
test_fuzz_versionbits_LDFLAGS = $(FUZZ_SUITE_LDFLAGS_COMMON)
|
||||
test_fuzz_versionbits_SOURCES = test/fuzz/versionbits.cpp
|
||||
|
||||
endif # ENABLE_FUZZ
|
||||
|
||||
nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2017 Pieter Wuille
|
||||
// Copyright (c) 2017, 2021 Pieter Wuille
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
@@ -7,15 +7,18 @@
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
typedef std::vector<uint8_t> data;
|
||||
|
||||
/** The Bech32 character set for encoding. */
|
||||
/** The Bech32 and Bech32m character set for encoding. */
|
||||
const char* CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
|
||||
|
||||
/** The Bech32 character set for decoding. */
|
||||
/** The Bech32 and Bech32m character set for decoding. */
|
||||
const int8_t CHARSET_REV[128] = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
@@ -27,6 +30,12 @@ const int8_t CHARSET_REV[128] = {
|
||||
1, 0, 3, 16, 11, 28, 12, 14, 6, 4, 2, -1, -1, -1, -1, -1
|
||||
};
|
||||
|
||||
/* Determine the final constant to use for the specified encoding. */
|
||||
uint32_t EncodingConstant(Encoding encoding) {
|
||||
assert(encoding == Encoding::BECH32 || encoding == Encoding::BECH32M);
|
||||
return encoding == Encoding::BECH32 ? 1 : 0x2bc830a3;
|
||||
}
|
||||
|
||||
/** This function will compute what 6 5-bit values to XOR into the last 6 input values, in order to
|
||||
* make the checksum 0. These 6 values are packed together in a single 30-bit integer. The higher
|
||||
* bits correspond to earlier values. */
|
||||
@@ -111,21 +120,24 @@ data ExpandHRP(const std::string& hrp)
|
||||
}
|
||||
|
||||
/** Verify a checksum. */
|
||||
bool VerifyChecksum(const std::string& hrp, const data& values)
|
||||
Encoding VerifyChecksum(const std::string& hrp, const data& values)
|
||||
{
|
||||
// PolyMod computes what value to xor into the final values to make the checksum 0. However,
|
||||
// if we required that the checksum was 0, it would be the case that appending a 0 to a valid
|
||||
// list of values would result in a new valid list. For that reason, Bech32 requires the
|
||||
// resulting checksum to be 1 instead.
|
||||
return PolyMod(Cat(ExpandHRP(hrp), values)) == 1;
|
||||
// resulting checksum to be 1 instead. In Bech32m, this constant was amended.
|
||||
const uint32_t check = PolyMod(Cat(ExpandHRP(hrp), values));
|
||||
if (check == EncodingConstant(Encoding::BECH32)) return Encoding::BECH32;
|
||||
if (check == EncodingConstant(Encoding::BECH32M)) return Encoding::BECH32M;
|
||||
return Encoding::INVALID;
|
||||
}
|
||||
|
||||
/** Create a checksum. */
|
||||
data CreateChecksum(const std::string& hrp, const data& values)
|
||||
data CreateChecksum(Encoding encoding, const std::string& hrp, const data& values)
|
||||
{
|
||||
data enc = Cat(ExpandHRP(hrp), values);
|
||||
enc.resize(enc.size() + 6); // Append 6 zeroes
|
||||
uint32_t mod = PolyMod(enc) ^ 1; // Determine what to XOR into those 6 zeroes.
|
||||
uint32_t mod = PolyMod(enc) ^ EncodingConstant(encoding); // Determine what to XOR into those 6 zeroes.
|
||||
data ret(6);
|
||||
for (size_t i = 0; i < 6; ++i) {
|
||||
// Convert the 5-bit groups in mod to checksum values.
|
||||
@@ -136,16 +148,13 @@ data CreateChecksum(const std::string& hrp, const data& values)
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
/** Encode a Bech32 string. */
|
||||
std::string Encode(const std::string& hrp, const data& values) {
|
||||
// First ensure that the HRP is all lowercase. BIP-173 requires an encoder
|
||||
// to return a lowercase Bech32 string, but if given an uppercase HRP, the
|
||||
/** Encode a Bech32 or Bech32m string. */
|
||||
std::string Encode(Encoding encoding, const std::string& hrp, const data& values) {
|
||||
// First ensure that the HRP is all lowercase. BIP-173 and BIP350 require an encoder
|
||||
// to return a lowercase Bech32/Bech32m string, but if given an uppercase HRP, the
|
||||
// result will always be invalid.
|
||||
for (const char& c : hrp) assert(c < 'A' || c > 'Z');
|
||||
data checksum = CreateChecksum(hrp, values);
|
||||
data checksum = CreateChecksum(encoding, hrp, values);
|
||||
data combined = Cat(values, checksum);
|
||||
std::string ret = hrp + '1';
|
||||
ret.reserve(ret.size() + combined.size());
|
||||
@@ -155,8 +164,8 @@ std::string Encode(const std::string& hrp, const data& values) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** Decode a Bech32 string. */
|
||||
std::pair<std::string, data> Decode(const std::string& str) {
|
||||
/** Decode a Bech32 or Bech32m string. */
|
||||
DecodeResult Decode(const std::string& str) {
|
||||
bool lower = false, upper = false;
|
||||
for (size_t i = 0; i < str.size(); ++i) {
|
||||
unsigned char c = str[i];
|
||||
@@ -183,10 +192,9 @@ std::pair<std::string, data> Decode(const std::string& str) {
|
||||
for (size_t i = 0; i < pos; ++i) {
|
||||
hrp += LowerCase(str[i]);
|
||||
}
|
||||
if (!VerifyChecksum(hrp, values)) {
|
||||
return {};
|
||||
}
|
||||
return {hrp, data(values.begin(), values.end() - 6)};
|
||||
Encoding result = VerifyChecksum(hrp, values);
|
||||
if (result == Encoding::INVALID) return {};
|
||||
return {result, std::move(hrp), data(values.begin(), values.end() - 6)};
|
||||
}
|
||||
|
||||
} // namespace bech32
|
||||
|
||||
39
src/bech32.h
39
src/bech32.h
@@ -1,13 +1,14 @@
|
||||
// Copyright (c) 2017 Pieter Wuille
|
||||
// Copyright (c) 2017, 2021 Pieter Wuille
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
// Bech32 is a string encoding format used in newer address types.
|
||||
// The output consists of a human-readable part (alphanumeric), a
|
||||
// separator character (1), and a base32 data section, the last
|
||||
// 6 characters of which are a checksum.
|
||||
// Bech32 and Bech32m are string encoding formats used in newer
|
||||
// address types. The outputs consist of a human-readable part
|
||||
// (alphanumeric), a separator character (1), and a base32 data
|
||||
// section, the last 6 characters of which are a checksum. The
|
||||
// module is namespaced under bech32 for historical reasons.
|
||||
//
|
||||
// For more information, see BIP 173.
|
||||
// For more information, see BIP 173 and BIP 350.
|
||||
|
||||
#ifndef BITCOIN_BECH32_H
|
||||
#define BITCOIN_BECH32_H
|
||||
@@ -19,11 +20,29 @@
|
||||
namespace bech32
|
||||
{
|
||||
|
||||
/** Encode a Bech32 string. If hrp contains uppercase characters, this will cause an assertion error. */
|
||||
std::string Encode(const std::string& hrp, const std::vector<uint8_t>& values);
|
||||
enum class Encoding {
|
||||
INVALID, //!< Failed decoding
|
||||
|
||||
/** Decode a Bech32 string. Returns (hrp, data). Empty hrp means failure. */
|
||||
std::pair<std::string, std::vector<uint8_t>> Decode(const std::string& str);
|
||||
BECH32, //!< Bech32 encoding as defined in BIP173
|
||||
BECH32M, //!< Bech32m encoding as defined in BIP350
|
||||
};
|
||||
|
||||
/** Encode a Bech32 or Bech32m string. If hrp contains uppercase characters, this will cause an
|
||||
* assertion error. Encoding must be one of BECH32 or BECH32M. */
|
||||
std::string Encode(Encoding encoding, const std::string& hrp, const std::vector<uint8_t>& values);
|
||||
|
||||
struct DecodeResult
|
||||
{
|
||||
Encoding encoding; //!< What encoding was detected in the result; Encoding::INVALID if failed.
|
||||
std::string hrp; //!< The human readable part
|
||||
std::vector<uint8_t> data; //!< The payload (excluding checksum)
|
||||
|
||||
DecodeResult() : encoding(Encoding::INVALID) {}
|
||||
DecodeResult(Encoding enc, std::string&& h, std::vector<uint8_t>&& d) : encoding(enc), hrp(std::move(h)), data(std::move(d)) {}
|
||||
};
|
||||
|
||||
/** Decode a Bech32 or Bech32m string. */
|
||||
DecodeResult Decode(const std::string& str);
|
||||
|
||||
} // namespace bech32
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ static void Bech32Encode(benchmark::Bench& bench)
|
||||
tmp.reserve(1 + 32 * 8 / 5);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { tmp.push_back(c); }, v.begin(), v.end());
|
||||
bench.batch(v.size()).unit("byte").run([&] {
|
||||
bech32::Encode("bc", tmp);
|
||||
bech32::Encode(bech32::Encoding::BECH32, "bc", tmp);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,10 @@ static void CoinSelection(benchmark::Bench& bench)
|
||||
}
|
||||
|
||||
const CoinEligibilityFilter filter_standard(1, 6, 0);
|
||||
const CoinSelectionParams coin_selection_params(true, 34, 148, CFeeRate(0), 0);
|
||||
const CoinSelectionParams coin_selection_params(/* use_bnb= */ true, /* change_output_size= */ 34,
|
||||
/* change_spend_size= */ 148, /* effective_feerate= */ CFeeRate(0),
|
||||
/* long_term_feerate= */ CFeeRate(0), /* discard_feerate= */ CFeeRate(0),
|
||||
/* tx_no_inputs_size= */ 0);
|
||||
bench.run([&] {
|
||||
std::set<CInputCoin> setCoinsRet;
|
||||
CAmount nValueRet;
|
||||
|
||||
@@ -80,16 +80,18 @@ public:
|
||||
consensus.nPowTargetSpacing = 10 * 60;
|
||||
consensus.fPowAllowMinDifficultyBlocks = false;
|
||||
consensus.fPowNoRetargeting = false;
|
||||
consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016
|
||||
consensus.nRuleChangeActivationThreshold = 1815; // 90% of 2016
|
||||
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = Consensus::BIP9Deployment::NEVER_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay
|
||||
|
||||
// Deployment of Taproot (BIPs 340-342)
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].bit = 2;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = 1199145601; // January 1, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1230767999; // December 31, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = 1619222400; // April 24th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 709632; // Approximately November 12th, 2021
|
||||
|
||||
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000001533efd8d716a517fe2c5008");
|
||||
consensus.defaultAssumeValid = uint256S("0x0000000000000000000b9d2ec5a352ecba0592946514a92f14319dc2b367fc72"); // 654683
|
||||
@@ -196,13 +198,15 @@ public:
|
||||
consensus.nRuleChangeActivationThreshold = 1512; // 75% for testchains
|
||||
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = Consensus::BIP9Deployment::NEVER_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay
|
||||
|
||||
// Deployment of Taproot (BIPs 340-342)
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].bit = 2;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = 1199145601; // January 1, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1230767999; // December 31, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = 1619222400; // April 24th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
|
||||
|
||||
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000001db6ec4ac88cf2272c6");
|
||||
consensus.defaultAssumeValid = uint256S("0x000000000000006433d1efec504c53ca332b64963c425395515b01977bd7b3b0"); // 1864000
|
||||
@@ -272,7 +276,7 @@ public:
|
||||
bin = ParseHex("512103ad5e0edad18cb1f0fc0d28a3d4f1f3e445640337489abb10404f2d1e086be430210359ef5021964fe22d6f8e05b2463c9540ce96883fe3b278760f048f5189f2e6c452ae");
|
||||
vSeeds.emplace_back("178.128.221.177");
|
||||
vSeeds.emplace_back("2a01:7c8:d005:390::5");
|
||||
vSeeds.emplace_back("ntv3mtqw5wt63red.onion:38333");
|
||||
vSeeds.emplace_back("v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333");
|
||||
|
||||
consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000000000019fd16269a");
|
||||
consensus.defaultAssumeValid = uint256S("0x0000002a1de0f46379358c1fd09906f7ac59adf3712323ed90eb59e4c183c020"); // 9434
|
||||
@@ -322,18 +326,20 @@ public:
|
||||
consensus.nPowTargetSpacing = 10 * 60;
|
||||
consensus.fPowAllowMinDifficultyBlocks = false;
|
||||
consensus.fPowNoRetargeting = false;
|
||||
consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016
|
||||
consensus.nRuleChangeActivationThreshold = 1815; // 90% of 2016
|
||||
consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing
|
||||
consensus.MinBIP9WarningHeight = 0;
|
||||
consensus.powLimit = uint256S("00000377ae000000000000000000000000000000000000000000000000000000");
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = Consensus::BIP9Deployment::NEVER_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay
|
||||
|
||||
// Activation of Taproot (BIPs 340-342)
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].bit = 2;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = Consensus::BIP9Deployment::ALWAYS_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
|
||||
|
||||
// message start is defined as the first 4 bytes of the sha256d of the block script
|
||||
CHashWriter h(SER_DISK, 0);
|
||||
@@ -391,12 +397,16 @@ public:
|
||||
consensus.fPowNoRetargeting = true;
|
||||
consensus.nRuleChangeActivationThreshold = 108; // 75% for testchains
|
||||
consensus.nMinerConfirmationWindow = 144; // Faster than normal for regtest (144 instead of 2016)
|
||||
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 0;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0; // No activation delay
|
||||
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].bit = 2;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nStartTime = Consensus::BIP9Deployment::ALWAYS_ACTIVE;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
|
||||
|
||||
consensus.nMinimumChainWork = uint256{};
|
||||
consensus.defaultAssumeValid = uint256{};
|
||||
@@ -449,10 +459,11 @@ public:
|
||||
/**
|
||||
* Allows modifying the Version Bits regtest parameters.
|
||||
*/
|
||||
void UpdateVersionBitsParameters(Consensus::DeploymentPos d, int64_t nStartTime, int64_t nTimeout)
|
||||
void UpdateVersionBitsParameters(Consensus::DeploymentPos d, int64_t nStartTime, int64_t nTimeout, int min_activation_height)
|
||||
{
|
||||
consensus.vDeployments[d].nStartTime = nStartTime;
|
||||
consensus.vDeployments[d].nTimeout = nTimeout;
|
||||
consensus.vDeployments[d].min_activation_height = min_activation_height;
|
||||
}
|
||||
void UpdateActivationParametersFromArgs(const ArgsManager& args);
|
||||
};
|
||||
@@ -475,22 +486,26 @@ void CRegTestParams::UpdateActivationParametersFromArgs(const ArgsManager& args)
|
||||
for (const std::string& strDeployment : args.GetArgs("-vbparams")) {
|
||||
std::vector<std::string> vDeploymentParams;
|
||||
boost::split(vDeploymentParams, strDeployment, boost::is_any_of(":"));
|
||||
if (vDeploymentParams.size() != 3) {
|
||||
throw std::runtime_error("Version bits parameters malformed, expecting deployment:start:end");
|
||||
if (vDeploymentParams.size() < 3 || 4 < vDeploymentParams.size()) {
|
||||
throw std::runtime_error("Version bits parameters malformed, expecting deployment:start:end[:min_activation_height]");
|
||||
}
|
||||
int64_t nStartTime, nTimeout;
|
||||
int min_activation_height = 0;
|
||||
if (!ParseInt64(vDeploymentParams[1], &nStartTime)) {
|
||||
throw std::runtime_error(strprintf("Invalid nStartTime (%s)", vDeploymentParams[1]));
|
||||
}
|
||||
if (!ParseInt64(vDeploymentParams[2], &nTimeout)) {
|
||||
throw std::runtime_error(strprintf("Invalid nTimeout (%s)", vDeploymentParams[2]));
|
||||
}
|
||||
if (vDeploymentParams.size() >= 4 && !ParseInt32(vDeploymentParams[3], &min_activation_height)) {
|
||||
throw std::runtime_error(strprintf("Invalid min_activation_height (%s)", vDeploymentParams[3]));
|
||||
}
|
||||
bool found = false;
|
||||
for (int j=0; j < (int)Consensus::MAX_VERSION_BITS_DEPLOYMENTS; ++j) {
|
||||
if (vDeploymentParams[0] == VersionBitsDeploymentInfo[j].name) {
|
||||
UpdateVersionBitsParameters(Consensus::DeploymentPos(j), nStartTime, nTimeout);
|
||||
UpdateVersionBitsParameters(Consensus::DeploymentPos(j), nStartTime, nTimeout, min_activation_height);
|
||||
found = true;
|
||||
LogPrintf("Setting version bits activation parameters for %s to start=%ld, timeout=%ld\n", vDeploymentParams[0], nStartTime, nTimeout);
|
||||
LogPrintf("Setting version bits activation parameters for %s to start=%ld, timeout=%ld, min_activation_height=%d\n", vDeploymentParams[0], nStartTime, nTimeout, min_activation_height);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ void SetupChainParamsBaseOptions(ArgsManager& argsman)
|
||||
"This is intended for regression testing tools and app development. Equivalent to -chain=regtest.", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-segwitheight=<n>", "Set the activation height of segwit. -1 to disable. (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||
argsman.AddArg("-testnet", "Use the test chain. Equivalent to -chain=test.", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-vbparams=deployment:start:end", "Use given start/end times for specified version bits deployment (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-vbparams=deployment:start:end[:min_activation_height]", "Use given start/end times and min_activation_height for specified version bits deployment (regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-signet", "Use the signet chain. Equivalent to -chain=signet. Note that the network is defined by the -signetchallenge parameter", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-signetchallenge", "Blocks must satisfy the given script to be considered valid (only for signet networks; defaults to the global default signet test network challenge)", ArgsManager::ALLOW_STRING, OptionsCategory::CHAINPARAMS);
|
||||
argsman.AddArg("-signetseednode", "Specify a seed node for the signet network, in the hostname[:port] format, e.g. sig.net:1234 (may be used multiple times to specify multiple seed nodes; defaults to the global default signet test network seed node(s))", ArgsManager::ALLOW_STRING, OptionsCategory::CHAINPARAMS);
|
||||
|
||||
@@ -29,6 +29,11 @@ struct BIP9Deployment {
|
||||
int64_t nStartTime;
|
||||
/** Timeout/expiry MedianTime for the deployment attempt. */
|
||||
int64_t nTimeout;
|
||||
/** If lock in occurs, delay activation until at least this block
|
||||
* height. Note that activation will only occur on a retarget
|
||||
* boundary.
|
||||
*/
|
||||
int min_activation_height{0};
|
||||
|
||||
/** Constant for nTimeout very far in the future. */
|
||||
static constexpr int64_t NO_TIMEOUT = std::numeric_limits<int64_t>::max();
|
||||
@@ -38,6 +43,11 @@ struct BIP9Deployment {
|
||||
* process (which takes at least 3 BIP9 intervals). Only tests that specifically test the
|
||||
* behaviour during activation cannot use this. */
|
||||
static constexpr int64_t ALWAYS_ACTIVE = -1;
|
||||
|
||||
/** Special value for nStartTime indicating that the deployment is never active.
|
||||
* This is useful for integrating the code changes for a new feature
|
||||
* prior to deploying it on some or all networks. */
|
||||
static constexpr int64_t NEVER_ACTIVE = -2;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -119,31 +119,72 @@ static bool CheckTxScriptsSanity(const CMutableTransaction& tx)
|
||||
|
||||
static bool DecodeTx(CMutableTransaction& tx, const std::vector<unsigned char>& tx_data, bool try_no_witness, bool try_witness)
|
||||
{
|
||||
// General strategy:
|
||||
// - Decode both with extended serialization (which interprets the 0x0001 tag as a marker for
|
||||
// the presense of witnesses) and with legacy serialization (which interprets the tag as a
|
||||
// 0-input 1-output incomplete transaction).
|
||||
// - Restricted by try_no_witness (which disables legacy if false) and try_witness (which
|
||||
// disables extended if false).
|
||||
// - Ignore serializations that do not fully consume the hex string.
|
||||
// - If neither succeeds, fail.
|
||||
// - If only one succeeds, return that one.
|
||||
// - If both decode attempts succeed:
|
||||
// - If only one passes the CheckTxScriptsSanity check, return that one.
|
||||
// - If neither or both pass CheckTxScriptsSanity, return the extended one.
|
||||
|
||||
CMutableTransaction tx_extended, tx_legacy;
|
||||
bool ok_extended = false, ok_legacy = false;
|
||||
|
||||
// Try decoding with extended serialization support, and remember if the result successfully
|
||||
// consumes the entire input.
|
||||
if (try_witness) {
|
||||
CDataStream ssData(tx_data, SER_NETWORK, PROTOCOL_VERSION);
|
||||
try {
|
||||
ssData >> tx;
|
||||
// If transaction looks sane, we don't try other mode even if requested
|
||||
if (ssData.empty() && (!try_no_witness || CheckTxScriptsSanity(tx))) {
|
||||
return true;
|
||||
}
|
||||
ssData >> tx_extended;
|
||||
if (ssData.empty()) ok_extended = true;
|
||||
} catch (const std::exception&) {
|
||||
// Fall through.
|
||||
}
|
||||
}
|
||||
|
||||
// Optimization: if extended decoding succeeded and the result passes CheckTxScriptsSanity,
|
||||
// don't bother decoding the other way.
|
||||
if (ok_extended && CheckTxScriptsSanity(tx_extended)) {
|
||||
tx = std::move(tx_extended);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Try decoding with legacy serialization, and remember if the result successfully consumes the entire input.
|
||||
if (try_no_witness) {
|
||||
CDataStream ssData(tx_data, SER_NETWORK, PROTOCOL_VERSION | SERIALIZE_TRANSACTION_NO_WITNESS);
|
||||
try {
|
||||
ssData >> tx;
|
||||
if (ssData.empty()) {
|
||||
return true;
|
||||
}
|
||||
ssData >> tx_legacy;
|
||||
if (ssData.empty()) ok_legacy = true;
|
||||
} catch (const std::exception&) {
|
||||
// Fall through.
|
||||
}
|
||||
}
|
||||
|
||||
// If legacy decoding succeeded and passes CheckTxScriptsSanity, that's our answer, as we know
|
||||
// at this point that extended decoding either failed or doesn't pass the sanity check.
|
||||
if (ok_legacy && CheckTxScriptsSanity(tx_legacy)) {
|
||||
tx = std::move(tx_legacy);
|
||||
return true;
|
||||
}
|
||||
|
||||
// If extended decoding succeeded, and neither decoding passes sanity, return the extended one.
|
||||
if (ok_extended) {
|
||||
tx = std::move(tx_extended);
|
||||
return true;
|
||||
}
|
||||
|
||||
// If legacy decoding succeeded and extended didn't, return the legacy one.
|
||||
if (ok_legacy) {
|
||||
tx = std::move(tx_legacy);
|
||||
return true;
|
||||
}
|
||||
|
||||
// If none succeeded, we failed.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#include <codecvt>
|
||||
#include <limits>
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
@@ -236,7 +237,11 @@ void ofstream::close()
|
||||
}
|
||||
#else // __GLIBCXX__
|
||||
|
||||
#if BOOST_VERSION >= 107700
|
||||
static_assert(sizeof(*BOOST_FILESYSTEM_C_STR(fs::path())) == sizeof(wchar_t),
|
||||
#else
|
||||
static_assert(sizeof(*fs::path().BOOST_FILESYSTEM_C_STR) == sizeof(wchar_t),
|
||||
#endif // BOOST_VERSION >= 107700
|
||||
"Warning: This build is using boost::filesystem ofstream and ifstream "
|
||||
"implementations which will fail to open paths containing multibyte "
|
||||
"characters. You should delete this static_assert to ignore this warning, "
|
||||
|
||||
@@ -461,7 +461,7 @@ void SetupServerArgs(NodeContext& node)
|
||||
argsman.AddArg("-peerbloomfilters", strprintf("Support filtering of blocks and transaction with bloom filters (default: %u)", DEFAULT_PEERBLOOMFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-peerblockfilters", strprintf("Serve compact block filters to peers per BIP 157 (default: %u)", DEFAULT_PEERBLOCKFILTERS), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-permitbaremultisig", strprintf("Relay non-P2SH multisig (default: %u)", DEFAULT_PERMIT_BAREMULTISIG), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-port=<port>", strprintf("Listen for connections on <port> (default: %u, testnet: %u signet: %u, regtest: %u)", defaultChainParams->GetDefaultPort(), testnetChainParams->GetDefaultPort(), signetChainParams->GetDefaultPort(), regtestChainParams->GetDefaultPort()), ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-port=<port>", strprintf("Listen for connections on <port>. Nodes not using the default ports (default: %u, testnet: %u, signet: %u, regtest: %u) are unlikely to get incoming connections.", defaultChainParams->GetDefaultPort(), testnetChainParams->GetDefaultPort(), signetChainParams->GetDefaultPort(), regtestChainParams->GetDefaultPort()), ArgsManager::ALLOW_ANY | ArgsManager::NETWORK_ONLY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-proxy=<ip:port>", "Connect through SOCKS5 proxy, set -noproxy to disable (default: disabled)", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-proxyrandomize", strprintf("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)", DEFAULT_PROXYRANDOMIZE), ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
argsman.AddArg("-seednode=<ip>", "Connect to a node to retrieve peer addresses, and disconnect. This option can be specified multiple times to connect to multiple nodes.", ArgsManager::ALLOW_ANY, OptionsCategory::CONNECTION);
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
std::vector<unsigned char> data = {0};
|
||||
data.reserve(33);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end());
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const WitnessV0ScriptHash& id) const
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
std::vector<unsigned char> data = {0};
|
||||
data.reserve(53);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.begin(), id.end());
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const WitnessUnknown& id) const
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
std::vector<unsigned char> data = {(unsigned char)id.version};
|
||||
data.reserve(1 + (id.length * 8 + 4) / 5);
|
||||
ConvertBits<8, 5, true>([&](unsigned char c) { data.push_back(c); }, id.program, id.program + id.length);
|
||||
return bech32::Encode(m_params.Bech32HRP(), data);
|
||||
return bech32::Encode(bech32::Encoding::BECH32M, m_params.Bech32HRP(), data);
|
||||
}
|
||||
|
||||
std::string operator()(const CNoDestination& no) const { return {}; }
|
||||
@@ -91,13 +91,19 @@ CTxDestination DecodeDestination(const std::string& str, const CChainParams& par
|
||||
}
|
||||
}
|
||||
data.clear();
|
||||
auto bech = bech32::Decode(str);
|
||||
if (bech.second.size() > 0 && bech.first == params.Bech32HRP()) {
|
||||
const auto dec = bech32::Decode(str);
|
||||
if ((dec.encoding == bech32::Encoding::BECH32 || dec.encoding == bech32::Encoding::BECH32M) && dec.data.size() > 0 && dec.hrp == params.Bech32HRP()) {
|
||||
// Bech32 decoding
|
||||
int version = bech.second[0]; // The first 5 bit symbol is the witness version (0-16)
|
||||
int version = dec.data[0]; // The first 5 bit symbol is the witness version (0-16)
|
||||
if (version == 0 && dec.encoding != bech32::Encoding::BECH32) {
|
||||
return CNoDestination();
|
||||
}
|
||||
if (version != 0 && dec.encoding != bech32::Encoding::BECH32M) {
|
||||
return CNoDestination();
|
||||
}
|
||||
// The rest of the symbols are converted witness program bytes.
|
||||
data.reserve(((bech.second.size() - 1) * 5) / 8);
|
||||
if (ConvertBits<5, 8, false>([&](unsigned char c) { data.push_back(c); }, bech.second.begin() + 1, bech.second.end())) {
|
||||
data.reserve(((dec.data.size() - 1) * 5) / 8);
|
||||
if (ConvertBits<5, 8, false>([&](unsigned char c) { data.push_back(c); }, dec.data.begin() + 1, dec.data.end())) {
|
||||
if (version == 0) {
|
||||
{
|
||||
WitnessV0KeyHash keyid;
|
||||
|
||||
15
src/net.cpp
15
src/net.cpp
@@ -28,6 +28,10 @@
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_DECL_GETIFADDRS && HAVE_DECL_FREEIFADDRS
|
||||
#include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_POLL
|
||||
#include <poll.h>
|
||||
#endif
|
||||
@@ -2050,7 +2054,11 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
||||
continue;
|
||||
}
|
||||
|
||||
// do not allow non-default ports, unless after 50 invalid addresses selected already
|
||||
// Do not allow non-default ports, unless after 50 invalid
|
||||
// addresses selected already. This is to prevent malicious peers
|
||||
// from advertising themselves as a service on another host and
|
||||
// port, causing a DoS attack as nodes around the network attempt
|
||||
// to connect to it fruitlessly.
|
||||
if (addr.GetPort() != Params().GetDefaultPort() && nTries < 50)
|
||||
continue;
|
||||
|
||||
@@ -2397,8 +2405,9 @@ NodeId CConnman::GetNewNodeId()
|
||||
|
||||
|
||||
bool CConnman::Bind(const CService &addr, unsigned int flags, NetPermissionFlags permissions) {
|
||||
if (!(flags & BF_EXPLICIT) && !IsReachable(addr))
|
||||
if (!(flags & BF_EXPLICIT) && !IsReachable(addr)) {
|
||||
return false;
|
||||
}
|
||||
bilingual_str strError;
|
||||
if (!BindListenPort(addr, strError, permissions)) {
|
||||
if ((flags & BF_REPORT_ERROR) && clientInterface) {
|
||||
@@ -2407,7 +2416,7 @@ bool CConnman::Bind(const CService &addr, unsigned int flags, NetPermissionFlags
|
||||
return false;
|
||||
}
|
||||
|
||||
if (addr.IsRoutable() && fDiscover && !(flags & BF_DONT_ADVERTISE) && !(permissions & PF_NOBAN)) {
|
||||
if (addr.IsRoutable() && fDiscover && !(flags & BF_DONT_ADVERTISE) && !NetPermissions::HasFlag(permissions, NetPermissionFlags::PF_NOBAN)) {
|
||||
AddLocal(addr, LOCAL_BIND);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ enum NetPermissionFlags {
|
||||
PF_NOBAN = (1U << 4) | PF_DOWNLOAD,
|
||||
// Can query the mempool
|
||||
PF_MEMPOOL = (1U << 5),
|
||||
// Can request addrs without hitting a privacy-preserving cache
|
||||
// Can request addrs without hitting a privacy-preserving cache, and send us
|
||||
// unlimited amounts of addrs.
|
||||
PF_ADDR = (1U << 7),
|
||||
|
||||
// True if the user did not specifically set fine grained permissions
|
||||
|
||||
@@ -146,6 +146,13 @@ static constexpr uint32_t MAX_GETCFILTERS_SIZE = 1000;
|
||||
static constexpr uint32_t MAX_GETCFHEADERS_SIZE = 2000;
|
||||
/** the maximum percentage of addresses from our addrman to return in response to a getaddr message. */
|
||||
static constexpr size_t MAX_PCT_ADDR_TO_SEND = 23;
|
||||
/** The maximum rate of address records we're willing to process on average. Can be bypassed using
|
||||
* the NetPermissionFlags::Addr permission. */
|
||||
static constexpr double MAX_ADDR_RATE_PER_SECOND{0.1};
|
||||
/** The soft limit of the address processing token bucket (the regular MAX_ADDR_RATE_PER_SECOND
|
||||
* based increments won't go above this, but the MAX_ADDR_TO_SEND increment following GETADDR
|
||||
* is exempt from this limit. */
|
||||
static constexpr size_t MAX_ADDR_PROCESSING_TOKEN_BUCKET{MAX_ADDR_TO_SEND};
|
||||
|
||||
struct COrphanTx {
|
||||
// When modifying, adapt the copy of this definition in tests/DoS_tests.
|
||||
@@ -454,6 +461,16 @@ struct Peer {
|
||||
/** Work queue of items requested by this peer **/
|
||||
std::deque<CInv> m_getdata_requests GUARDED_BY(m_getdata_requests_mutex);
|
||||
|
||||
/** Number of addr messages that can be processed from this peer. Start at 1 to
|
||||
* permit self-announcement. */
|
||||
double m_addr_token_bucket{1.0};
|
||||
/** When m_addr_token_bucket was last updated */
|
||||
std::chrono::microseconds m_addr_token_timestamp{GetTime<std::chrono::microseconds>()};
|
||||
/** Total number of addresses that were dropped due to rate limiting. */
|
||||
std::atomic<uint64_t> m_addr_rate_limited{0};
|
||||
/** Total number of addresses that were processed (excludes rate limited ones). */
|
||||
std::atomic<uint64_t> m_addr_processed{0};
|
||||
|
||||
Peer(NodeId id) : m_id(id) {}
|
||||
};
|
||||
|
||||
@@ -906,6 +923,8 @@ bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats) {
|
||||
PeerRef peer = GetPeerRef(nodeid);
|
||||
if (peer == nullptr) return false;
|
||||
stats.m_misbehavior_score = WITH_LOCK(peer->m_misbehavior_mutex, return peer->m_misbehavior_score);
|
||||
stats.m_addr_processed = peer->m_addr_processed.load();
|
||||
stats.m_addr_rate_limited = peer->m_addr_rate_limited.load();
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -2305,6 +2324,9 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
bool fRelay = true;
|
||||
|
||||
vRecv >> nVersion >> nServiceInt >> nTime >> addrMe;
|
||||
if (nTime < 0) {
|
||||
nTime = 0;
|
||||
}
|
||||
nServices = ServiceFlags(nServiceInt);
|
||||
if (!pfrom.IsInboundConn())
|
||||
{
|
||||
@@ -2364,10 +2386,16 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::WTXIDRELAY));
|
||||
}
|
||||
|
||||
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::VERACK));
|
||||
|
||||
// Signal ADDRv2 support (BIP155).
|
||||
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::SENDADDRV2));
|
||||
if (greatest_common_version >= 70016) {
|
||||
// BIP155 defines addrv2 and sendaddrv2 for all protocol versions, but some
|
||||
// implementations reject messages they don't know. As a courtesy, don't send
|
||||
// it to nodes with a version before 70016, as no software is known to support
|
||||
// BIP155 that doesn't announce at least that protocol version number.
|
||||
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::SENDADDRV2));
|
||||
}
|
||||
|
||||
m_connman.PushMessage(&pfrom, msg_maker.Make(NetMsgType::VERACK));
|
||||
|
||||
pfrom.nServices = nServices;
|
||||
pfrom.SetAddrLocal(addrMe);
|
||||
@@ -2429,6 +2457,9 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
// Get recent addresses
|
||||
m_connman.PushMessage(&pfrom, CNetMsgMaker(greatest_common_version).Make(NetMsgType::GETADDR));
|
||||
pfrom.fGetAddr = true;
|
||||
// When requesting a getaddr, accept an additional MAX_ADDR_TO_SEND addresses in response
|
||||
// (bypassing the MAX_ADDR_PROCESSING_TOKEN_BUCKET limit).
|
||||
peer->m_addr_token_bucket += MAX_ADDR_TO_SEND;
|
||||
}
|
||||
|
||||
if (!pfrom.IsInboundConn()) {
|
||||
@@ -2540,6 +2571,17 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
return;
|
||||
}
|
||||
|
||||
if (msg_type == NetMsgType::SENDADDRV2) {
|
||||
if (pfrom.fSuccessfullyConnected) {
|
||||
// Disconnect peers that send SENDADDRV2 message after VERACK; this
|
||||
// must be negotiated between VERSION and VERACK.
|
||||
pfrom.fDisconnect = true;
|
||||
return;
|
||||
}
|
||||
pfrom.m_wants_addrv2 = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!pfrom.fSuccessfullyConnected) {
|
||||
LogPrint(BCLog::NET, "Unsupported message \"%s\" prior to verack from peer=%d\n", SanitizeString(msg_type), pfrom.GetId());
|
||||
return;
|
||||
@@ -2571,11 +2613,34 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
std::vector<CAddress> vAddrOk;
|
||||
int64_t nNow = GetAdjustedTime();
|
||||
int64_t nSince = nNow - 10 * 60;
|
||||
|
||||
// Update/increment addr rate limiting bucket.
|
||||
const auto current_time = GetTime<std::chrono::microseconds>();
|
||||
if (peer->m_addr_token_bucket < MAX_ADDR_PROCESSING_TOKEN_BUCKET) {
|
||||
// Don't increment bucket if it's already full
|
||||
const auto time_diff = std::max(current_time - peer->m_addr_token_timestamp, std::chrono::microseconds{0});
|
||||
const double increment = std::chrono::duration<double>(time_diff).count() * MAX_ADDR_RATE_PER_SECOND;
|
||||
peer->m_addr_token_bucket = std::min<double>(peer->m_addr_token_bucket + increment, MAX_ADDR_PROCESSING_TOKEN_BUCKET);
|
||||
}
|
||||
peer->m_addr_token_timestamp = current_time;
|
||||
|
||||
const bool rate_limited = !pfrom.HasPermission(NetPermissionFlags::PF_ADDR);
|
||||
uint64_t num_proc = 0;
|
||||
uint64_t num_rate_limit = 0;
|
||||
Shuffle(vAddr.begin(), vAddr.end(), FastRandomContext());
|
||||
for (CAddress& addr : vAddr)
|
||||
{
|
||||
if (interruptMsgProc)
|
||||
return;
|
||||
|
||||
// Apply rate limiting.
|
||||
if (rate_limited) {
|
||||
if (peer->m_addr_token_bucket < 1.0) {
|
||||
++num_rate_limit;
|
||||
continue;
|
||||
}
|
||||
peer->m_addr_token_bucket -= 1.0;
|
||||
}
|
||||
// We only bother storing full nodes, though this may include
|
||||
// things which we would not make an outbound connection to, in
|
||||
// part because we may make feeler connections to them.
|
||||
@@ -2589,6 +2654,7 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
// Do not process banned/discouraged addresses beyond remembering we received them
|
||||
continue;
|
||||
}
|
||||
++num_proc;
|
||||
bool fReachable = IsReachable(addr);
|
||||
if (addr.nTime > nSince && !pfrom.fGetAddr && vAddr.size() <= 10 && addr.IsRoutable())
|
||||
{
|
||||
@@ -2599,6 +2665,15 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
if (fReachable)
|
||||
vAddrOk.push_back(addr);
|
||||
}
|
||||
peer->m_addr_processed += num_proc;
|
||||
peer->m_addr_rate_limited += num_rate_limit;
|
||||
LogPrint(BCLog::NET, "Received addr: %u addresses (%u processed, %u rate-limited) from peer=%d%s\n",
|
||||
vAddr.size(),
|
||||
num_proc,
|
||||
num_rate_limit,
|
||||
pfrom.GetId(),
|
||||
fLogIPs ? ", peeraddr=" + pfrom.addr.ToString() : "");
|
||||
|
||||
m_connman.AddNewAddresses(vAddrOk, pfrom.addr, 2 * 60 * 60);
|
||||
if (vAddr.size() < 1000)
|
||||
pfrom.fGetAddr = false;
|
||||
@@ -2607,11 +2682,6 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
|
||||
return;
|
||||
}
|
||||
|
||||
if (msg_type == NetMsgType::SENDADDRV2) {
|
||||
pfrom.m_wants_addrv2 = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (msg_type == NetMsgType::SENDHEADERS) {
|
||||
LOCK(cs_main);
|
||||
State(pfrom.GetId())->fPreferHeaders = true;
|
||||
|
||||
@@ -32,6 +32,7 @@ static const bool DEFAULT_PEERBLOCKFILTERS = false;
|
||||
/** Threshold for marking a node to be discouraged, e.g. disconnected and added to the discouragement filter. */
|
||||
static const int DISCOURAGEMENT_THRESHOLD{100};
|
||||
|
||||
|
||||
class PeerManager final : public CValidationInterface, public NetEventsInterface {
|
||||
public:
|
||||
PeerManager(const CChainParams& chainparams, CConnman& connman, BanMan* banman,
|
||||
@@ -150,6 +151,8 @@ struct CNodeStateStats {
|
||||
int nSyncHeight = -1;
|
||||
int nCommonHeight = -1;
|
||||
std::vector<int> vHeightInFlight;
|
||||
uint64_t m_addr_processed = 0;
|
||||
uint64_t m_addr_rate_limited = 0;
|
||||
};
|
||||
|
||||
/** Get statistics from node state */
|
||||
|
||||
@@ -1063,15 +1063,24 @@ CSubNet::CSubNet(const CNetAddr& addr, const CNetAddr& mask) : CSubNet()
|
||||
|
||||
CSubNet::CSubNet(const CNetAddr& addr) : CSubNet()
|
||||
{
|
||||
valid = addr.IsIPv4() || addr.IsIPv6();
|
||||
if (!valid) {
|
||||
switch (addr.m_net) {
|
||||
case NET_IPV4:
|
||||
case NET_IPV6:
|
||||
valid = true;
|
||||
assert(addr.m_addr.size() <= sizeof(netmask));
|
||||
memset(netmask, 0xFF, addr.m_addr.size());
|
||||
break;
|
||||
case NET_ONION:
|
||||
case NET_I2P:
|
||||
case NET_CJDNS:
|
||||
valid = true;
|
||||
break;
|
||||
case NET_INTERNAL:
|
||||
case NET_UNROUTABLE:
|
||||
case NET_MAX:
|
||||
return;
|
||||
}
|
||||
|
||||
assert(addr.m_addr.size() <= sizeof(netmask));
|
||||
|
||||
memset(netmask, 0xFF, addr.m_addr.size());
|
||||
|
||||
network = addr;
|
||||
}
|
||||
|
||||
@@ -1083,6 +1092,21 @@ bool CSubNet::Match(const CNetAddr &addr) const
|
||||
{
|
||||
if (!valid || !addr.IsValid() || network.m_net != addr.m_net)
|
||||
return false;
|
||||
|
||||
switch (network.m_net) {
|
||||
case NET_IPV4:
|
||||
case NET_IPV6:
|
||||
break;
|
||||
case NET_ONION:
|
||||
case NET_I2P:
|
||||
case NET_CJDNS:
|
||||
case NET_INTERNAL:
|
||||
return addr == network;
|
||||
case NET_UNROUTABLE:
|
||||
case NET_MAX:
|
||||
return false;
|
||||
}
|
||||
|
||||
assert(network.m_addr.size() == addr.m_addr.size());
|
||||
for (size_t x = 0; x < addr.m_addr.size(); ++x) {
|
||||
if ((addr.m_addr[x] & netmask[x]) != network.m_addr[x]) {
|
||||
@@ -1094,18 +1118,35 @@ bool CSubNet::Match(const CNetAddr &addr) const
|
||||
|
||||
std::string CSubNet::ToString() const
|
||||
{
|
||||
assert(network.m_addr.size() <= sizeof(netmask));
|
||||
std::string suffix;
|
||||
|
||||
uint8_t cidr = 0;
|
||||
switch (network.m_net) {
|
||||
case NET_IPV4:
|
||||
case NET_IPV6: {
|
||||
assert(network.m_addr.size() <= sizeof(netmask));
|
||||
|
||||
for (size_t i = 0; i < network.m_addr.size(); ++i) {
|
||||
if (netmask[i] == 0x00) {
|
||||
break;
|
||||
uint8_t cidr = 0;
|
||||
|
||||
for (size_t i = 0; i < network.m_addr.size(); ++i) {
|
||||
if (netmask[i] == 0x00) {
|
||||
break;
|
||||
}
|
||||
cidr += NetmaskBits(netmask[i]);
|
||||
}
|
||||
cidr += NetmaskBits(netmask[i]);
|
||||
|
||||
suffix = strprintf("/%u", cidr);
|
||||
break;
|
||||
}
|
||||
case NET_ONION:
|
||||
case NET_I2P:
|
||||
case NET_CJDNS:
|
||||
case NET_INTERNAL:
|
||||
case NET_UNROUTABLE:
|
||||
case NET_MAX:
|
||||
break;
|
||||
}
|
||||
|
||||
return network.ToString() + strprintf("/%u", cidr);
|
||||
return network.ToString() + suffix;
|
||||
}
|
||||
|
||||
bool CSubNet::IsValid() const
|
||||
@@ -1115,7 +1156,19 @@ bool CSubNet::IsValid() const
|
||||
|
||||
bool CSubNet::SanityCheck() const
|
||||
{
|
||||
if (!(network.IsIPv4() || network.IsIPv6())) return false;
|
||||
switch (network.m_net) {
|
||||
case NET_IPV4:
|
||||
case NET_IPV6:
|
||||
break;
|
||||
case NET_ONION:
|
||||
case NET_I2P:
|
||||
case NET_CJDNS:
|
||||
return true;
|
||||
case NET_INTERNAL:
|
||||
case NET_UNROUTABLE:
|
||||
case NET_MAX:
|
||||
return false;
|
||||
}
|
||||
|
||||
for (size_t x = 0; x < network.m_addr.size(); ++x) {
|
||||
if (network.m_addr[x] & ~netmask[x]) return false;
|
||||
|
||||
@@ -462,11 +462,33 @@ class CSubNet
|
||||
bool SanityCheck() const;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Construct an invalid subnet (empty, `Match()` always returns false).
|
||||
*/
|
||||
CSubNet();
|
||||
|
||||
/**
|
||||
* Construct from a given network start and number of bits (CIDR mask).
|
||||
* @param[in] addr Network start. Must be IPv4 or IPv6, otherwise an invalid subnet is
|
||||
* created.
|
||||
* @param[in] mask CIDR mask, must be in [0, 32] for IPv4 addresses and in [0, 128] for
|
||||
* IPv6 addresses. Otherwise an invalid subnet is created.
|
||||
*/
|
||||
CSubNet(const CNetAddr& addr, uint8_t mask);
|
||||
|
||||
/**
|
||||
* Construct from a given network start and mask.
|
||||
* @param[in] addr Network start. Must be IPv4 or IPv6, otherwise an invalid subnet is
|
||||
* created.
|
||||
* @param[in] mask Network mask, must be of the same type as `addr` and not contain 0-bits
|
||||
* followed by 1-bits. Otherwise an invalid subnet is created.
|
||||
*/
|
||||
CSubNet(const CNetAddr& addr, const CNetAddr& mask);
|
||||
|
||||
//constructor for single ip subnet (<ipv4>/32 or <ipv6>/128)
|
||||
/**
|
||||
* Construct a single-host subnet.
|
||||
* @param[in] addr The sole address to be contained in the subnet, can also be non-IPv[46].
|
||||
*/
|
||||
explicit CSubNet(const CNetAddr& addr);
|
||||
|
||||
bool Match(const CNetAddr &addr) const;
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
#include <QThread>
|
||||
#include <QTimer>
|
||||
#include <QTranslator>
|
||||
#include <QtGlobal>
|
||||
|
||||
#if defined(QT_STATICPLUGIN)
|
||||
#include <QtPlugin>
|
||||
@@ -466,6 +467,13 @@ int GuiMain(int argc, char* argv[])
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
#endif
|
||||
|
||||
#if (QT_VERSION <= QT_VERSION_CHECK(5, 9, 8)) && defined(Q_OS_MACOS)
|
||||
const auto os_name = QSysInfo::prettyProductName();
|
||||
if (os_name.startsWith("macOS 11") || os_name.startsWith("macOS 10.16")) {
|
||||
QApplication::setStyle("fusion");
|
||||
}
|
||||
#endif
|
||||
|
||||
BitcoinApplication app;
|
||||
|
||||
/// 2. Parse command-line options. We do this after qt in order to show an error if there are problems parsing these
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<file alias="af">locale/bitcoin_af.qm</file>
|
||||
<file alias="am">locale/bitcoin_am.qm</file>
|
||||
<file alias="ar">locale/bitcoin_ar.qm</file>
|
||||
<file alias="az">locale/bitcoin_az.qm</file>
|
||||
<file alias="be">locale/bitcoin_be.qm</file>
|
||||
<file alias="bg">locale/bitcoin_bg.qm</file>
|
||||
<file alias="bn">locale/bitcoin_bn.qm</file>
|
||||
@@ -28,7 +29,10 @@
|
||||
<file alias="fi">locale/bitcoin_fi.qm</file>
|
||||
<file alias="fil">locale/bitcoin_fil.qm</file>
|
||||
<file alias="fr">locale/bitcoin_fr.qm</file>
|
||||
<file alias="ga">locale/bitcoin_ga.qm</file>
|
||||
<file alias="gl">locale/bitcoin_gl.qm</file>
|
||||
<file alias="gl_ES">locale/bitcoin_gl_ES.qm</file>
|
||||
<file alias="gu">locale/bitcoin_gu.qm</file>
|
||||
<file alias="he">locale/bitcoin_he.qm</file>
|
||||
<file alias="hi">locale/bitcoin_hi.qm</file>
|
||||
<file alias="hr">locale/bitcoin_hr.qm</file>
|
||||
@@ -39,6 +43,7 @@
|
||||
<file alias="ja">locale/bitcoin_ja.qm</file>
|
||||
<file alias="ka">locale/bitcoin_ka.qm</file>
|
||||
<file alias="kk">locale/bitcoin_kk.qm</file>
|
||||
<file alias="kl">locale/bitcoin_kl.qm</file>
|
||||
<file alias="km">locale/bitcoin_km.qm</file>
|
||||
<file alias="ko">locale/bitcoin_ko.qm</file>
|
||||
<file alias="ku_IQ">locale/bitcoin_ku_IQ.qm</file>
|
||||
@@ -55,6 +60,7 @@
|
||||
<file alias="nb">locale/bitcoin_nb.qm</file>
|
||||
<file alias="ne">locale/bitcoin_ne.qm</file>
|
||||
<file alias="nl">locale/bitcoin_nl.qm</file>
|
||||
<file alias="no">locale/bitcoin_no.qm</file>
|
||||
<file alias="pam">locale/bitcoin_pam.qm</file>
|
||||
<file alias="pl">locale/bitcoin_pl.qm</file>
|
||||
<file alias="pt">locale/bitcoin_pt.qm</file>
|
||||
@@ -74,6 +80,7 @@
|
||||
<file alias="te">locale/bitcoin_te.qm</file>
|
||||
<file alias="th">locale/bitcoin_th.qm</file>
|
||||
<file alias="tr">locale/bitcoin_tr.qm</file>
|
||||
<file alias="ug">locale/bitcoin_ug.qm</file>
|
||||
<file alias="uk">locale/bitcoin_uk.qm</file>
|
||||
<file alias="ur">locale/bitcoin_ur.qm</file>
|
||||
<file alias="uz@Cyrl">locale/bitcoin_uz@Cyrl.qm</file>
|
||||
|
||||
@@ -845,7 +845,7 @@ void BitcoinGUI::showDebugWindowActivateConsole()
|
||||
|
||||
void BitcoinGUI::showHelpMessageClicked()
|
||||
{
|
||||
helpMessageDialog->show();
|
||||
GUIUtil::bringToFront(helpMessageDialog);
|
||||
}
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
|
||||
@@ -7,140 +7,135 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>364</width>
|
||||
<height>213</height>
|
||||
<height>249</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Create Wallet</string>
|
||||
</property>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>170</y>
|
||||
<width>341</width>
|
||||
<height>32</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="wallet_name_line_edit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>20</y>
|
||||
<width>231</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
<width>101</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Wallet Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="encrypt_wallet_checkbox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>50</y>
|
||||
<width>171</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Encrypt Wallet</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="advanced_options_label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>90</y>
|
||||
<width>130</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">font-weight:bold;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Advanced options</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="disable_privkeys_checkbox">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>115</y>
|
||||
<width>171</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Disable Private Keys</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="blank_wallet_checkbox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>135</y>
|
||||
<width>220</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Make Blank Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="descriptor_checkbox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>155</y>
|
||||
<width>171</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Use descriptors for scriptPubKey management</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Descriptor Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
<property name="sizeGripEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="wallet_name_label">
|
||||
<property name="text">
|
||||
<string>Wallet Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="wallet_name_line_edit">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>262</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string>Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="encrypt_wallet_checkbox">
|
||||
<property name="toolTip">
|
||||
<string>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Encrypt Wallet</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_1">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>8</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Advanced Options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_groupbox">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disable_privkeys_checkbox">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Disable Private Keys</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="blank_wallet_checkbox">
|
||||
<property name="toolTip">
|
||||
<string>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Make Blank Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="descriptor_checkbox">
|
||||
<property name="toolTip">
|
||||
<string>Use descriptors for scriptPubKey management</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Descriptor Wallet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>wallet_name_line_edit</tabstop>
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListView" name="listTransactions">
|
||||
<widget class="TransactionOverviewWidget" name="listTransactions">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QListView { background: transparent; }</string>
|
||||
</property>
|
||||
@@ -517,9 +517,15 @@
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="uniformItemSizes">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -544,6 +550,13 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>TransactionOverviewWidget</class>
|
||||
<extends>QListView</extends>
|
||||
<header>qt/transactionoverviewwidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -734,8 +734,11 @@ bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
|
||||
|
||||
void setClipboard(const QString& str)
|
||||
{
|
||||
QApplication::clipboard()->setText(str, QClipboard::Clipboard);
|
||||
QApplication::clipboard()->setText(str, QClipboard::Selection);
|
||||
QClipboard* clipboard = QApplication::clipboard();
|
||||
clipboard->setText(str, QClipboard::Clipboard);
|
||||
if (clipboard->supportsSelection()) {
|
||||
clipboard->setText(str, QClipboard::Selection);
|
||||
}
|
||||
}
|
||||
|
||||
fs::path qstringToBoostPath(const QString &path)
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Right-click to edit address or label</translation>
|
||||
<translation>Regsklik om adres of etiket te verander</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Create a new address</translation>
|
||||
<translation>Skep ’n nuwe adres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
@@ -69,6 +69,11 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Hierdie is die adresse waar u Bitcoins sal ontvang. Ons beveel aan dat u 'n nuwe adres kies vir elke transaksie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Copy Address</translation>
|
||||
@@ -477,6 +482,10 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Up to date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>Laai PSBT van lêer....</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Node window</translation>
|
||||
@@ -798,6 +807,10 @@
|
||||
<source>Create Wallet</source>
|
||||
<translation>Create Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Wallet Name</translation>
|
||||
@@ -830,7 +843,7 @@
|
||||
<source>Create</source>
|
||||
<translation>Create</translation>
|
||||
</message>
|
||||
</context>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -3667,10 +3680,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s is set very high!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Starting network threads...</translation>
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation> &ቀይር</translation>
|
||||
<translation> &አርም</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
@@ -269,9 +269,151 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&አማራጮች...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>ዋሌት ፍጠር</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>አዲስ ዋሌት ፍጠር</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>ዋሌት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Send</source>
|
||||
<translation>&ላክ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receive</source>
|
||||
<translation>&ተቀበል</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Show / Hide</source>
|
||||
<translation>&አሳይ/ ደብቅ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>&ፋይል</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>&ቅንብሮች</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
<translation>&እርዳታ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>ማሳስቢያ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>መረጃ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>ዋሌት ክፈት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>ዋሌት ክፈት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>ዋሌት ዝጋ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>ዋሌት ዝጋ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize</source>
|
||||
<translation>አሳንስ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>እሳድግ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>ስህተት፥ %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>ማሳሰቢያ፥ %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
<translation>ቀን፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount: %1
|
||||
</source>
|
||||
<translation>መጠን፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address: %1
|
||||
</source>
|
||||
<translation>አድራሻ፥ %1
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>ብዛት፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>መጠን፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>ክፍያ፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>አድራሻ ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>ክፍያው ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>yes</source>
|
||||
<translation>አዎ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>no</source>
|
||||
<translation>አይ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(መለያ ስም የለም)</translation>
|
||||
@@ -282,33 +424,93 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>ዋሌት ስም</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>ፍጠር</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
<message>
|
||||
<source>name</source>
|
||||
<translation>ስም</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
<message>
|
||||
<source>version</source>
|
||||
<translation>ስሪት</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>ስለ እኛ %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Welcome</source>
|
||||
<translation>እንኳን ደህና መጣህ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to %1.</source>
|
||||
<translation>እንኳን ወድ %1 በደህና መጣህ።</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitcoin</source>
|
||||
<translation>ቢትኮይን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>ከ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>የማይታወቅ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>ደብቅ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>ከ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
@@ -321,6 +523,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>ስህተት፥ %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
@@ -330,12 +540,28 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>መጠን፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>ዋሌት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -347,6 +573,30 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>ብዛት፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>መጠን፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>ክፍያ፥</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>ደብቅ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy fee</source>
|
||||
<translation>ክፍያው ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(መለያ ስም የለም)</translation>
|
||||
@@ -366,12 +616,24 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>መጠን</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
@@ -383,13 +645,25 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Copy address</source>
|
||||
<translation>አድራሻ ቅዳ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>መጠኑ ገልብጥ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>ኮማ ሴፓሬትድ ፋይል (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>ቀን</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>መለያ ስም</translation>
|
||||
<translation>መለዮ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
@@ -397,7 +671,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>ወደ ውጪ መላክ አልተሳካም</translation>
|
||||
<translation>መላክ አልተሳካም</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -405,13 +679,25 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>ዋሌት ዝጋ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>አዲስ ዋሌት ፍጠር</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>መደበኛ ዋሌት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
@@ -422,6 +708,10 @@
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>በአሁኑ ማውጫ ውስጥ ያለውን መረጃ ወደ አንድ ፋይል ላክ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>ስህተት</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
|
||||
@@ -89,7 +89,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>تصدير قائمة العناوين</translation>
|
||||
<translation>صدّر قائمة العناوين</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
@@ -135,7 +135,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>إظهار كلمة المرور</translation>
|
||||
<translation>أظهر كلمة المرور</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
@@ -443,10 +443,6 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>معالجة الكتل على القرص...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Processed %n block(s) of transaction history.</source>
|
||||
<translation><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>Processed %n block of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>Processed %n blocks of transaction history.</numerusform><numerusform>تمت معالجة٪ n من كتل سجل المعاملات.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>خلف %1</translation>
|
||||
@@ -837,6 +833,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Create Wallet</source>
|
||||
<translation>إنشاء محفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>محفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>إسم المحفظة</translation>
|
||||
@@ -849,6 +849,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>تشفير محفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>خيارات متقدمة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>تعطيل المفاتيح الخاصة لهذه المحفظة. لن تحتوي المحافظ ذات المفاتيح الخاصة المعطلة على مفاتيح خاصة ولا يمكن أن تحتوي على مفتاح HD أو مفاتيح خاصة مستوردة. هذا مثالي لمحافظ مشاهدة فقط فقط.</translation>
|
||||
@@ -877,6 +881,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Create</source>
|
||||
<translation>إنشاء</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>تم تجميعه بدون دعم sqlite (مطلوب لمحافظ الواصف)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1088,6 +1096,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Hide</source>
|
||||
<translation>إخفاء</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>خروج</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>مجهول. مزامنة الرؤوس (%1, %2%)...</translation>
|
||||
@@ -1116,7 +1128,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>محفظة إفتراضية</translation>
|
||||
<translation>المحفظة الإفتراضية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
@@ -1209,6 +1221,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>MiB</source>
|
||||
<translation>ميجا بايت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
<translation>(0 = تلقائي, <0 = اترك هذا العدد من الأنوية حر)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
<translation>&محفظة</translation>
|
||||
@@ -1221,10 +1237,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Enable coin &control features</source>
|
||||
<translation>تفعيل ميزات التحكم في العملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source>
|
||||
<translation>اذا قمت بتعطيل الانفاق من النقود الغير مؤكدة، النقود من معاملة غير مؤكدة لن تكون قابلة للاستعمال حتى تحتوي تلك المعاملة على الأقل على تأكيد واحد. هذا أيضا يؤثر على كيفية حساب رصيدك.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Spend unconfirmed change</source>
|
||||
<translation>دفع الفكة غير المؤكدة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
|
||||
<translation>فتح منفذ خادم البتكوين تلقائيا على الموجه. هذا فقط يعمل عندما يكون الموجه الخاص بك يدعم UPnP ومفعل ايضا.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>ربط المنفذ باستخدام UPnP</translation>
|
||||
@@ -1539,6 +1563,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source> * Sends %1 to %2</source>
|
||||
<translation>* يرسل %1 إلى %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate transaction fee or total transaction amount.</source>
|
||||
<translation>غير قادر على حساب رسوم المعاملة أو إجمالي مبلغ المعاملة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pays transaction fee: </source>
|
||||
<translation>دفع رسوم المعاملة:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>القيمة الإجمالية</translation>
|
||||
@@ -1547,7 +1579,31 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>or</source>
|
||||
<translation>أو</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Transaction is missing some information about inputs.</source>
|
||||
<translation>تفتقد المعاملة إلى بعض المعلومات حول المدخلات </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction still needs signature(s).</source>
|
||||
<translation>المعاملة ما زالت تحتاج التوقيع.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation>.لكن هذه المخفضة لا يمكنها توقيع للمعاملات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
<translation>لكن هذه المحفظة لا تحتوي على المفاتيح الصحيحة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is fully signed and ready for broadcast.</source>
|
||||
<translation> الصفقة موقعة بالكامل وجاهزة للبث</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>حالة المعاملة غير معروفة.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1562,6 +1618,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>URI handling</source>
|
||||
<translation>التعامل مع العنوان</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>'bitcoin://' هو ليس عنوان URL صالح. استعمل 'bitcoin:' بدلا من ذلك.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>معالجة طلب الدفع لأن BIP70 غير مدعوم.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>بسبب الانتشار الواسع للعيوب الأمنية في BIP70 فإنه من الموصى به وبشدة تجاهل أي ارشادات من التجار لتغيير المحافظ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>إذا كنت تتلقى هذا الخطأ فيجب عليك الطلب من التاجر توفير عنوان URI يتوافق مع BIP21.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>عنوان الدفع غير صالح %1</translation>
|
||||
@@ -1695,6 +1767,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Error encoding URI into QR Code.</source>
|
||||
<translation>خطأ في ترميز العنوان إلى الرمز المربع.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>QR code support not available.</source>
|
||||
<translation>دعم كود الـQR غير متوفر.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save QR Code</source>
|
||||
<translation>حفظ رمز الاستجابة السريعة QR</translation>
|
||||
@@ -1730,6 +1806,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Datadir</source>
|
||||
<translation>دليل البيانات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocksdir</source>
|
||||
<translation>ملف الكتل blocksdir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Startup time</source>
|
||||
<translation>وقت البدء</translation>
|
||||
@@ -1814,6 +1894,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Synced Blocks</source>
|
||||
<translation>كتل متزامنة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mapped Autonomous System used for diversifying peer selection.</source>
|
||||
<translation>يستخدم النظام المستقل المعين لتنويع اختيار الأقران.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mapped AS</source>
|
||||
<translation>تعيين AS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>وكيل المستخدم</translation>
|
||||
@@ -1822,6 +1910,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Node window</source>
|
||||
<translation>نافذة Node </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>ارتفاع الكتلة الحالي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrease font size</source>
|
||||
<translation>تصغير حجم الخط</translation>
|
||||
@@ -2017,6 +2109,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>مبلغ اختياري للطلب. اترك هذا فارغًا أو صفراً لعدم طلب مبلغ محدد.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional label to associate with the new receiving address (used by you to identify an invoice). It is also attached to the payment request.</source>
|
||||
<translation>وُسم اختياري للربط مع عنوان الاستقبال (يستعمل من قبلك لتحديد فاتورة). هو أيضا مرفق بطلب الدفع.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An optional message that is attached to the payment request and may be displayed to the sender.</source>
|
||||
<translation>رسالة اختيارية مرفقة بطلب الدفع ومن الممكن أن تعرض للمرسل.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>و إنشاء عناوين استقبال جديدة</translation>
|
||||
@@ -2029,6 +2129,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Clear</source>
|
||||
<translation>مسح</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Native segwit addresses (aka Bech32 or BIP-173) reduce your transaction fees later on and offer better protection against typos, but old wallets don't support them. When unchecked, an address compatible with older wallets will be created instead.</source>
|
||||
<translation>عناوين segwit (المعروفة بـBech32 أو BIP-173) تخفض من رسوم المعاملة لاحقا وتوفر حماية أفضل ضد الأخطاء المطبعية، لكن المحافظ القديمة لا تدعمهم. عندما يكون هذا الخيار غير محدد، سوف يتم إنشاء عنوان متوافق مع المحافظ القديمة عوضا عن ذلك.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate native segwit (Bech32) address</source>
|
||||
<translation>توليد عنوان segwit ـ (Bech32)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Requested payments history</source>
|
||||
<translation>سجل طلبات الدفع</translation>
|
||||
@@ -2084,6 +2192,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Amount:</source>
|
||||
<translation>القيمة :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label:</source>
|
||||
<translation>وسم:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>الرسائل</translation>
|
||||
@@ -2206,10 +2318,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Choose...</source>
|
||||
<translation>إختر …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using the fallbackfee can result in sending a transaction that will take several hours or days (or never) to confirm. Consider choosing your fee manually or wait until you have validated the complete chain.</source>
|
||||
<translation>يمكن أن يؤدي استخدام الرسوم الاحتياطية إلى إرسال معاملة تستغرق عدة ساعات أو أيام (أو أبدًا) للتأكيد. ضع في اعتبارك اختيار الرسوم يدويًا أو انتظر حتى تتحقق من صحة السلسلة الكاملة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Fee estimation is currently not possible.</source>
|
||||
<translation>تحذير: تقدير الرسوم غير ممكن في الوقت الحالي.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify a custom fee per kB (1,000 bytes) of the transaction's virtual size.
|
||||
|
||||
Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis per kB" for a transaction size of 500 bytes (half of 1 kB) would ultimately yield a fee of only 50 satoshis.</source>
|
||||
<translation>حدد رسوم مخصصة لكل كيلوبايت (1000 بايت) من حجم المعاملة الافتراضي.
|
||||
|
||||
ملاحظة: باعتبار أن الرسوم تحسب على أساس لكل-بايت، رسوم قدرها "100 ساتوشي لكل كيلوبايت" لحجم معاملة يتكون من 500 بايت (نصف كيلوبايت) سوف يؤدي في النهاية الى رسوم قدرها 50 ساتوشي فقط.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>per kilobyte</source>
|
||||
<translation>لكل كيلوبايت</translation>
|
||||
@@ -2246,6 +2370,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Dust:</source>
|
||||
<translation>غبار:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>اخفاء اعدادات رسوم المعاملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>When there is less transaction volume than space in the blocks, miners as well as relaying nodes may enforce a minimum fee. Paying only this minimum fee is just fine, but be aware that this can result in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source>
|
||||
<translation>عندما يكون هناك حجم معاملات أقل من الفراغ في الكتل، المعدنون وعقد الترحيل أيضا من الممكن أن يفرضوا الحد الأدنى للرسوم. دفع الحد الأدنى للرسوم قد يكون على ما يرام، لكن كن حذرا بأنه هذا الشيء قد يؤدي الى معاملة لن تتأكد أبدا بمجرد أن الطلب على معاملات البتكوين قد أصبح أكثر مما تتحمله الشبكة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A too low fee might result in a never confirming transaction (read the tooltip)</source>
|
||||
<translation>رسوم قليلة جدا من الممكن أن تؤدي الى معاملة لن تتأكد أبدا (اقرأ التلميح).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>هدف وقت التأكيد:</translation>
|
||||
@@ -2306,10 +2442,19 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 كثلة)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cr&eate Unsigned</source>
|
||||
<translation>إنشاء غير موقع
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 الى %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft this transaction?</source>
|
||||
<translation>هل تريد صياغة هذه المعاملة؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>هل أنت متأكد من أنك تريد أن ترسل؟</translation>
|
||||
@@ -2326,6 +2471,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>معاملة موقعة جزئيًا (ثنائي) (* .psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved</source>
|
||||
<translation>تم حفظ PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>أو</translation>
|
||||
@@ -2334,6 +2483,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>يمكنك زيادة الرسوم لاحقًا (بإشارة الإستبدال بواسطة الرسوم، BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>رجاء، راجع معاملتك.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction fee</source>
|
||||
<translation>رسوم المعاملة</translation>
|
||||
@@ -2346,14 +2499,26 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Total Amount</source>
|
||||
<translation>القيمة الإجمالية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To review recipient list click "Show Details..."</source>
|
||||
<translation>لمراجعة قائمة المستلمين انقر على "اظهار التفاصيل..."</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>تأكيد الإرسال Coins</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>أكد اقتراح المعاملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>إرسال</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only balance:</source>
|
||||
<translation>رصيد للاستعراض فقط:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>عنوان المستلم غير صالح. يرجى إعادة الفحص.</translation>
|
||||
@@ -2398,6 +2563,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Confirm custom change address</source>
|
||||
<translation>تأكيد تغيير العنوان الفكة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The address you selected for change is not part of this wallet. Any or all funds in your wallet may be sent to this address. Are you sure?</source>
|
||||
<translation>العنوان الذي قمت بتحديده للتغيير ليس جزءا من هذه المحفظة. أي أو جميع الأموال في محفظتك قد يتم إرسالها لهذا العنوان. هل أنت متأكد؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(بدون وسم)</translation>
|
||||
@@ -2441,6 +2610,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Remove this entry</source>
|
||||
<translation>ازل هذه المداخله</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>المبلغ للإرسال في الوحدة المحددة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
|
||||
<translation>سيتم خصم الرسوم من المبلغ الذي يتم إرساله. لذا سوف يتلقى المستلم مبلغ أقل من البتكوين المدخل في حقل المبلغ. في حالة تحديد عدة مستلمين، يتم تقسيم الرسوم بالتساوي.</translation>
|
||||
@@ -2503,6 +2676,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>&Sign Message</source>
|
||||
<translation>&توقيع الرسالة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source>
|
||||
<translation>تستطيع توقيع رسائل/اتفاقات مع عناوينك لإثبات أنه بإمكانك استقبال بتكوين مرسل إليهم. كن حذرا من عدم توقيع أي شيء غامض أو عشوائي، كهجمات التصيد التي قد تحاول خداعك لتوقيع هويتك لديهم. وقع البيانات المفصلة بالكامل والتي أنت توافق عليها فقط.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Bitcoin address to sign the message with</source>
|
||||
<translation>عنوان البتكوين لتوقيع الرسالة به</translation>
|
||||
@@ -2555,10 +2732,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>&Verify Message</source>
|
||||
<translation>&تحقق رسالة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source>
|
||||
<translation>أدخل عنوان المتلقي، راسل (تأكد من نسخ فواصل الأسطر، الفراغات، الخ.. تماما) والتوقيع أسفله لتأكيد الرسالة. كن حذرا من عدم قراءة داخل التوقيع أكثر مما هو موقع بالرسالة نفسها، لتجنب خداعك بهجوم man-in-the-middle. لاحظ أنه هذا لاثبات أن الجهة الموقعة تستقبل مع العنوان فقط، لا تستطيع اثبات الارسال لأي معاملة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>عنوان البتكوين الذي تم توقيع الرسالة به</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>الرسالة الموقعة للتحقق.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>التوقيع يعطى عندما تكون الرسالة موقعة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>تحقق من الرسالة للتأكد من توقيعها مع عنوان البتكوين المحدد</translation>
|
||||
@@ -2591,6 +2780,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>تم الغاء عملية فتح المحفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>لا يوجد خطأ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>المفتاح الخاص للعنوان المدخل غير موجود.</translation>
|
||||
@@ -2745,10 +2938,18 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Transaction total size</source>
|
||||
<translation>الحجم الكلي للمعاملات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction virtual size</source>
|
||||
<translation>حجم المعاملة الافتراضي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output index</source>
|
||||
<translation>مؤشر المخرجات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation>(لم يتم التحقق من الشهادة)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>تاجر</translation>
|
||||
@@ -2883,6 +3084,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Whether or not a watch-only address is involved in this transaction.</source>
|
||||
<translation>ما إذا كان العنوان المشاهدة فقط متضمنًا في هذه المعاملة أم لا.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User-defined intent/purpose of the transaction.</source>
|
||||
<translation>تحديد سبب المعاملة من المستخدم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount removed from or added to balance.</source>
|
||||
<translation>المبلغ الذي أزيل أو أضيف الى الرصيد</translation>
|
||||
@@ -3060,13 +3265,29 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Close wallet</source>
|
||||
<translation>اغلق المحفظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>اغلاق المحفظة لفترة طويلة قد يؤدي الى الاضطرار الى اعادة مزامنة السلسلة بأكملها اذا تم تمكين التلقيم.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>إغلاق جميع المحافظ ...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>هل أنت متأكد من رغبتك في اغلاق جميع المحافظ؟</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
<source>No wallet has been loaded.
|
||||
Go to File > Open Wallet to load a wallet.
|
||||
- OR -</source>
|
||||
<translation>لم يتم تحميل أية محافظ.
|
||||
اذهب الى ملف > افتح محفظة لتحميل محفظة.
|
||||
- أو -</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>إنشاء محفظة جديدة</translation>
|
||||
@@ -3090,6 +3311,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>هل تريد زيادة الرسوم؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>هل تريد صياغة معاملة مع زيادة في الرسوم؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>الأجر الحالي:</translation>
|
||||
@@ -3106,6 +3331,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Confirm fee bump</source>
|
||||
<translation>تأكيد زيادة الرسوم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't draft transaction.</source>
|
||||
<translation>لا يمكن صياغة المعاملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>تم نسخ PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
<translation>لا يمكن توقيع المعاملة.</translation>
|
||||
@@ -3116,7 +3349,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>المحفظة إفتراضية</translation>
|
||||
<translation>المحفظة الإفتراضية</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -3133,6 +3366,26 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Error</source>
|
||||
<translation>خطأ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
|
||||
<translation>تعذر فك تشفير PSBT من الحافظة (base64 غير صالح)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>تحميل بيانات المعاملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (*.psbt)</source>
|
||||
<translation>معاملة موقعة جزئيا (psbt.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT file must be smaller than 100 MiB</source>
|
||||
<translation>ملف PSBT يجب أن يكون أصغر من 100 ميجابايت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT</source>
|
||||
<translation>غير قادر على فك تشفير PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>نسخ احتياط للمحفظة</translation>
|
||||
@@ -3160,6 +3413,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Prune configured below the minimum of %d MiB. Please use a higher number.</source>
|
||||
<translation>تم تكوين تقليم أقل من الحد الأدنى %d ميجابايت. من فضلك استعمل رقم أعلى.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source>
|
||||
<translation>تقليم: اخر مزامنة للمحفظة كانت قبل البيانات الملقمة. تحتاج الى - اعادة فهرسة (قم بتنزيل سلسلة الكتل بأكملها مرة أخرى في حال تم تقليم عقدة)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pruning blockstore...</source>
|
||||
<translation>تجريد مخزن الكتل...</translation>
|
||||
@@ -3180,14 +3441,66 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>لا يمكن توفير اتصالات محددة ولابد أن يكون لدى addrman اتصالات صادرة في نفس الوقت.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>خطأ في قراءة %s! جميع المفاتيح قرأت بشكل صحيح، لكن بيانات المعاملة أو إدخالات سجل العناوين قد تكون مفقودة أو غير صحيحة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>رجاء تأكد من أن التاريخ والوقت في حاسوبك صحيحان! اذا كانت ساعتك خاطئة، %s لن يعمل كما بصورة صحيحة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>يرجى المساهمة إذا وجدت %s مفيداً. تفضل بزيارة %s لمزيد من المعلومات حول البرنامج.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabse: فشل في تحضير التصريح لجلب محفظة sqlite اصدار المخطط: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: فشل في تحضير التصريح لجلب التطبيق id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: اصدار مخطط لمحفظة sqlite غير معروف %d. فقط اصدار %d مدعوم.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>قاعدة بيانات الكتل تحتوي على كتلة يبدو أنها من المستقبل. قد يكون هذا بسبب أن التاريخ والوقت في حاسوبك قم ضبط بشكل غير صحيح. قم بإعادة بناء قاعدة بيانات الكتل في حال كنت متأكد من أن التاريخ والوقت قد تم ضبطهما بشكل صحيح.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source>
|
||||
<translation>هذه بنية للتجربة ما قبل-الاصدار - استخدمها على مسؤوليتك الخاصة - لا تستخدمها للتعدين أو لتطبيقات التجارة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may discard if change is smaller than dust at this level</source>
|
||||
<translation>هذه رسوم المعاملة يمكنك التخلص منها إذا كان المبلغ أصغر من الغبار عند هذا المستوى</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate.</source>
|
||||
<translation>غير قادر على اعادة الكتل. سوف تحتاج الى اعادة بناء قاعدة البيانات باستخدام - reindex-chainstate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain</source>
|
||||
<translation>تعذر إرجاع قاعدة البيانات إلى حالة ما قبل الانقسام. سوف تحتاج إلى إعادة تنزيل blockchain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source>
|
||||
<translation>تحذير: يبدو أن الشبكة لا توافق تمامًا! يبدو أن بعض عمال المناجم يواجهون مشكلات.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source>
|
||||
<translation>تحذير: لا يبدو أننا نتفق تمامًا مع أقراننا! قد تحتاج إلى الترقية ، أو قد تحتاج العقد الأخرى إلى الترقية.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>-maxmempool must be at least %d MB</source>
|
||||
<translation>-الحد الأقصى للذاكرة على الأقل %d ميغابايت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot resolve -%s address: '%s'</source>
|
||||
<translation>لا يمكن الحل - %s العنوان: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change index out of range</source>
|
||||
<translation>فهرس الفكة خارج النطاق</translation>
|
||||
@@ -3204,6 +3517,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>هل تريد إعادة بناء قاعدة بيانات الكتل الآن؟</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing block database</source>
|
||||
<translation>Error initializing block database</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing wallet database environment %s!</source>
|
||||
<translation>Error initializing wallet database environment %s!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading %s</source>
|
||||
<translation>خطأ في تحميل %s</translation>
|
||||
@@ -3236,6 +3557,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>فشل في اعادة مسح المحفظة خلال عملية التهيئة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>فشل في التحقق من قاعدة البيانات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation> تم تجاهل تعريف مكرر -wallet %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>إستيراد...</translation>
|
||||
@@ -3248,6 +3577,62 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>فشل بالتحقق في اختبار التعقل. تم إيقاف %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation> إذن غير صالح لالند للند: '%s' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>مبلغ غير صحيح -%s=: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -discardfee=<amount>: '%s'</source>
|
||||
<translation>مبلغ غير صحيح -discardfee=: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>مبلغ غير صحيح -fallbackfee=: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: فشل في تحضير التصريح لجلب التطبيق id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to fetch the application id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to prepare statement to verify database: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to read database verification error: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
|
||||
<translation>SQLiteDatabase: Unexpected application id. Expected %u, got %u</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Specified blocks directory "%s" does not exist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>عنوان غير صحيح : '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Unknown change type '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>تحديث قاعدة بيانات txindex</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading P2P addresses...</source>
|
||||
<translation>تحميل عناوين P2P...</translation>
|
||||
@@ -3280,14 +3665,30 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>The source code is available from %s.</source>
|
||||
<translation>شفرة المصدر متاحة من %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction fee and change calculation failed</source>
|
||||
<translation>حساب عمولة المعاملة والصرف فشل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to bind to %s on this computer. %s is probably already running.</source>
|
||||
<translation>تعذر الربط مع %s على هذا الكمبيوتر. %s على الأغلب يعمل مسبقا.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate keys</source>
|
||||
<translation> غير قادر على توليد مفاتيح.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported logging category %s=%s.</source>
|
||||
<translation>Unsupported logging category %s=%s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading UTXO database</source>
|
||||
<translation>ترقية قاعدة بيانات UTXO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Agent comment (%s) contains unsafe characters.</source>
|
||||
<translation>User Agent comment (%s) contains unsafe characters.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying blocks...</source>
|
||||
<translation>التحقق من الكتل...</translation>
|
||||
@@ -3296,14 +3697,50 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Wallet needed to be rewritten: restart %s to complete</source>
|
||||
<translation>يلزم إعادة كتابة المحفظة: إعادة تشغيل %s لإكمال العملية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Error: Listening for incoming connections failed (listen returned error %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>قيمة غير صالحة لـ -maxtxfee=<amount>: '%s' (يجب أن تحتوي على الحد الأدنى للعمولة من %s على الأقل لتجنب المعاملات العالقة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>قيمة المعاملة صغيرة جدًا ولا يمكن إرسالها بعد خصم الرسوم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
|
||||
<translation>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
|
||||
<translation>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
|
||||
<translation>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>تحتاج إلى إعادة إنشاء قاعدة البيانات باستخدام -reindex للعودة إلى الوضعية الغير مجردة. هذا سوف يعيد تحميل سلسلة الكتل بأكملها</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal internal error occurred, see debug.log for details</source>
|
||||
<translation>A fatal internal error occurred, see debug.log for details</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
|
||||
<translation>Cannot set -peerblockfilters without -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>تحذير: مساحة القرص منخفضة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading from database, shutting down.</source>
|
||||
<translation>خطأ في القراءة من قاعدة البيانات ، والتوقف.</translation>
|
||||
@@ -3312,10 +3749,78 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Error upgrading chainstate database</source>
|
||||
<translation>خطأ في ترقية قاعدة بيانات chainstate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>خطأ : مساحة القرص منخفضة ل %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Error: Keypool ran out, please call keypoolrefill first</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
|
||||
<translation>Fee rate (%s) is lower than the minimum fee rate setting (%s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>عنوان اونيون غير صحيح : '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -proxy address or hostname: '%s'</source>
|
||||
<translation>Invalid -proxy address or hostname: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s)</source>
|
||||
<translation>Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid netmask specified in -whitelist: '%s'</source>
|
||||
<translation>Invalid netmask specified in -whitelist: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Need to specify a port with -whitebind: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>.</source>
|
||||
<translation>No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Prune mode is incompatible with -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Reducing -maxconnections from %d to %d, because of system limitations.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Section [%s] is not recognized.</source>
|
||||
<translation>لم يتم التعرف على القسم [%s]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signing transaction failed</source>
|
||||
<translation>فشل توقيع المعاملة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" does not exist</source>
|
||||
<translation>ملف المحفظة المحدد "%s" غير موجود
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is a relative path</source>
|
||||
<translation>ملف المحفظة المحدد "%s" غير موجود
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified -walletdir "%s" is not a directory</source>
|
||||
<translation>Specified -walletdir "%s" is not a directory</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The specified config file %s does not exist
|
||||
</source>
|
||||
<translation>ملف التكوين المحدد %s غير موجود
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The transaction amount is too small to pay the fee</source>
|
||||
<translation>قيمة المعاملة صغيرة جدا لدفع الأجر</translation>
|
||||
@@ -3336,14 +3841,34 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Unable to bind to %s on this computer (bind returned error %s)</source>
|
||||
<translation>يتعذر الربط مع %s على هذا الكمبيوتر (الربط انتج خطأ %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create the PID file '%s': %s</source>
|
||||
<translation>Unable to create the PID file '%s': %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>غير قادر على توليد مفاتيح أولية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>قيمة -blockfilterindex مجهولة %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>التحقق من المحفظة (المحافظ)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source>
|
||||
<translation>-maxtxfee الموضوع عالي جدا! رسوم بهذا الحجم من الممكن أن تدفع على معاملة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you may pay when fee estimates are not available.</source>
|
||||
<translation>هذه هي رسوم المعاملة التي قد تدفعها عندما تكون عملية حساب الرسوم غير متوفرة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source>
|
||||
<translation>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s عالٍ جداً</translation>
|
||||
@@ -3360,6 +3885,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>This is the minimum transaction fee you pay on every transaction.</source>
|
||||
<translation>هذه هي اقل قيمة من العمولة التي تدفعها عند كل عملية تحويل للأموال.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the transaction fee you will pay if you send a transaction.</source>
|
||||
<translation>هذه هي رسوم تحويل الأموال التي ستدفعها إذا قمت بتحويل الأموال.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction amounts must not be negative</source>
|
||||
<translation>يجب ألا تكون قيمة المعاملة سلبية</translation>
|
||||
@@ -3372,10 +3901,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Transaction must have at least one recipient</source>
|
||||
<translation>يجب أن تحتوي المعاملة على مستلم واحد على الأقل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown network specified in -onlynet: '%s'</source>
|
||||
<translation>شبكة مجهولة عرفت حددت في -onlynet: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insufficient funds</source>
|
||||
<translation>الرصيد غير كافي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>عملية حساب الرسوم فشلت. الرسوم الاحتياطية غير مفعلة. انتظر عدة كتل أو مكن خيار الرسوم الاحتياطية.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>تحذير: تم اكتشاف مفاتيح خاصة في المحفظة {%s} مع مفاتيح خاصة موقفة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>لايمكن الكتابة على دليل البيانات '%s'؛ تحقق من السماحيات.</translation>
|
||||
|
||||
467
src/qt/locale/bitcoin_az.ts
Normal file
467
src/qt/locale/bitcoin_az.ts
Normal file
@@ -0,0 +1,467 @@
|
||||
<TS language="az" version="2.1">
|
||||
<context>
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Ünvana və ya etiketə düzəliş etmək üçün sağ düyməsi ilə klikləyin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Yeni bir ünvan yaradın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>&Yeni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>Hazırki seçilmiş ünvanı sistem lövhəsinə kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>&Kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
<translation>Bağla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Hazırki seçilmiş ünvanı siyahıdan silin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
<translation>Axtarmaq üçün ünvan və ya etiket daxil edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&İxrac</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Pul göndəriləcək ünvanı seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
<translation>Pul alınacaq ünvanı seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&hoose</source>
|
||||
<translation>Seç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sending addresses</source>
|
||||
<translation>Göndərilən ünvanlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receiving addresses</source>
|
||||
<translation>Alınan ünvanlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Bunlar ödənişləri göndərmək üçün Bitcoin ünvanlarınızdır. Pul göndərməkdən əvvəl həmişə miqdarı və göndəriləcək ünvanı yoxlayın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Bunlar ödəniş almaq üçün Bitcoin ünvanlarınızdır. Yeni ünvan yaratmaq üçün alacaqlar vərəqində 'Yeni alacaq ünvan yarat' düyməsini istifadə edin.
|
||||
Daxil olma, yalnız 'qanuni' tipli ünvanlar ilə mümkündür.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Ünvanı kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &Label</source>
|
||||
<translation>Etiketi kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation>&Düzəliş et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export Address List</source>
|
||||
<translation>Ünvan siyahısını ixrac et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>İxrac edilmədi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error trying to save the address list to %1. Please try again.</source>
|
||||
<translation>Ünvan siyahısını %1 daxilində saxlamağı sınayarkən xəta baş verdi. Zəhmət olmasa yenidən sınayın.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AddressTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Ünvan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AskPassphraseDialog</name>
|
||||
<message>
|
||||
<source>Passphrase Dialog</source>
|
||||
<translation>Şifrə İfadə Dialoqu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter passphrase</source>
|
||||
<translation>Şifrə ifadəsini daxil edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New passphrase</source>
|
||||
<translation>Yeni şifrə ifadəsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Şifrə ifadəsini təkrarlayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Şifrə ifadəsini göstər</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Cüzdanı şifrələyin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Bu əməliyyat, cüzdanın kilidini açmaq üçün cüzdan şifrə ifadəsinə ehtiyac duyur.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Cüzdanın kilidini açın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Bu əməliyyat, cüzdanın şifrəsini açmaq üçün cüzdan şifrə ifadəsinə ehtiyac duyur.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Cüzdanın şifrəsini açın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
<translation>Şifrə ifadəsini dəyişdir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Cüzdan şifrələməsini təsdiqləyin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Unutmayın ki, cüzdanınızın şifrələməsi bitcoinlərinizi kompüterinizə zərərli proqram tərəfindən oğurlanmaqdan tamamilə qoruya bilməz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Cüzdan şifrələnəcək</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Cüzdanınız şifrələnmək üzrədir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Cüzdanınız artıq şifrələnib.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
<source>&Settings</source>
|
||||
<translation>&Tənzimləmələr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Xəbərdarlıq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Məlumat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Bir pulqabı aç</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Miqdarı kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Dəyişikliyi kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>FreespaceChecker</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>HelpMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Əvvəlcə tam zənciri endirmək və sonra budamaq daha sürətlidir. Bəzi qabaqcıl özəllikləri sıradan çıxarar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ModalOverlay</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
<source>Disables some advanced features but all blocks will still be fully validated. Reverting this setting requires re-downloading the entire blockchain. Actual disk usage may be somewhat higher.</source>
|
||||
<translation>Bəzi qabaqcıl özəllikləri sıradan çıxardar, ancaq bütün bloklar tamamilə təsdiqlənmiş qalacaq. Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. Aktual disk istifadəsi biraz daha yüksək ola bilər.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain.</source>
|
||||
<translation>Bu tənzimləməni geri almaq bütün blok zəncirinin yenidən endirilməsini tələb edəcək. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>&UPnP istifadə edən xəritə portu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The user interface language can be set here. This setting will take effect after restarting %1.</source>
|
||||
<translation>İstifadəçi interfeys dili burada tənzimlənə bilər. Bu tənzimləmə %1 yenidən başladıldıqdan sonra təsirli olacaq.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OverviewPage</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>QRImageWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
<message>
|
||||
<source>&Reset</source>
|
||||
<translation>&Sıfırla</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>RecentRequestsTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsDialog</name>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Miqdarı kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Dəyişikliyi kopyalayın</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SendCoinsEntry</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>ShutdownWindow</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>SignVerifyMessageDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDesc</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDescDialog</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionTableModel</name>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(etiket yoxdur)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionView</name>
|
||||
<message>
|
||||
<source>Other</source>
|
||||
<translation>Başqa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Vergüllə ayrılmış fayl (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label</source>
|
||||
<translation>Etiket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address</source>
|
||||
<translation>Ünvan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting Failed</source>
|
||||
<translation>İxrac edilmədi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnitDisplayStatusBarControl</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&İxrac</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Hazırki vərəqdəki verilənləri fayla ixrac edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Xəta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>bitcoin-core</name>
|
||||
<message>
|
||||
<source>Replaying blocks...</source>
|
||||
<translation>Bloklar yenidən səsləndirilir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The source code is available from %s.</source>
|
||||
<translation>Mənbə kodu %s-dən əldə edilə bilər.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insufficient funds</source>
|
||||
<translation>Yetərsiz balans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.</source>
|
||||
<translation>Ödəniş təxmin edilmədi. Fallbackfee sıradan çıxarıldı. Bir neçə blok gözləyin və ya Fallbackfee-ni fəallaşdırın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Private keys detected in wallet {%s} with disabled private keys</source>
|
||||
<translation>Xəbərdarlıq: Gizli açarlar, sıradan çıxarılmış gizli açarlar ilə {%s} pulqabısında aşkarlandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot write to data directory '%s'; check permissions.</source>
|
||||
<translation>'%s' verilənlər kateqoriyasına yazıla bilmir; icazələri yoxlayın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading wallet...</source>
|
||||
<translation>Pulqabı yüklənir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot downgrade wallet</source>
|
||||
<translation>Pulqabı əvvəlki versiyaya keçirilə bilmir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rescanning...</source>
|
||||
<translation>Yenidən tədqiq edilir...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Done loading</source>
|
||||
<translation>Yükləmə tamamlandı</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -131,6 +131,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Паўтарыце новую кодавую фразу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Паказаць кодавую фразу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Зашыфраваць гаманец.</translation>
|
||||
@@ -552,6 +556,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Гаманец</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
|
||||
@@ -175,10 +175,18 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>портфейлa е шифрован</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Въведете старата и новата паролна фраза за портфейла.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Портфейл за криптиране</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Портфейлът ви е на път да бъде шифрован.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Вашият портфейл сега е криптиран.</translation>
|
||||
@@ -449,6 +457,14 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Актуално</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Прозорец на възела</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Отворете портфейл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Затвори Портфейла</translation>
|
||||
@@ -678,6 +694,10 @@
|
||||
<source>no</source>
|
||||
<translation>не</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This label turns red if any recipient receives an amount smaller than the current dust threshold.</source>
|
||||
<translation>Този етикет става червен ако някой получател получи количество, по-малко от текущия праг на прах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(no label)</source>
|
||||
<translation>(без етикет)</translation>
|
||||
@@ -693,9 +713,21 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Създаването на портфейл не бе успешен</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Създайте портфейл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>портфейл</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1301,6 +1333,10 @@
|
||||
<source>User Agent</source>
|
||||
<translation>Потребителски агент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Прозорец на възела</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Услуги</translation>
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Create a new address</translation>
|
||||
<translation>নতুন একটি ঠিকানা তৈরি করুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
<translation>&New</translation>
|
||||
<translation>নতুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
@@ -19,7 +19,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
<translation>&Copy</translation>
|
||||
<translation>&কপি</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>C&lose</source>
|
||||
@@ -27,7 +27,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the currently selected address from the list</source>
|
||||
<translation>Delete the currently selected address from the list</translation>
|
||||
<translation>বাছাইকৃত ঠিকানাটি লিস্ট থেকে মুছুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter address or label to search</source>
|
||||
@@ -35,19 +35,19 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Export the data in the current tab to a file</source>
|
||||
<translation>Export the data in the current tab to a file</translation>
|
||||
<translation>বর্তমান ট্যাবের ডেটা একটি ফাইলে এক্সপোর্ট করুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Export</source>
|
||||
<translation>&Export</translation>
|
||||
<translation>&এক্সপোর্ট</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Delete</translation>
|
||||
<translation>&মুছুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
<translation>Choose the address to send coins to</translation>
|
||||
<translation>কয়েন পাঠানোর ঠিকানা বাছাই করুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to receive coins with</source>
|
||||
@@ -69,6 +69,11 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>পেমেন্ট পাওয়ার জন্য এটি আপনার বিটকয়েন ঠিকানা। নতুন ঠিকানা তৈরী করতে "নতুন গ্রহণের ঠিকানা তৈরী করুন" বোতাম ব্যবহার করুন। সাইন ইন করা শুধুমাত্র "উত্তরাধিকার" ঠিকানার মাধ্যমেই সম্ভব।</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Copy Address</translation>
|
||||
@@ -477,6 +482,22 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Up to date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>ফাইল থেকে পিএসবিটি লোড করুন ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction</source>
|
||||
<translation>আংশিক স্বাক্ষরিত বিটকয়েন লেনদেন লোড করুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load PSBT from clipboard...</source>
|
||||
<translation>ক্লিপবোর্ড থেকে পিএসবিটি লোড করুন ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
|
||||
<translation>ক্লিপবোর্ড থেকে আংশিক স্বাক্ষরিত বিটকয়েন লেনদেন লোড করুন</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Node window</translation>
|
||||
@@ -798,6 +819,10 @@
|
||||
<source>Create Wallet</source>
|
||||
<translation>Create Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Wallet Name</translation>
|
||||
@@ -830,7 +855,7 @@
|
||||
<source>Create</source>
|
||||
<translation>Create</translation>
|
||||
</message>
|
||||
</context>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -3667,10 +3692,6 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s is set very high!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Starting network threads...</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -844,6 +844,10 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Nom de la cartera</translation>
|
||||
@@ -856,6 +860,10 @@ Només és possible firmar amb adreces del tipus "legacy".</translation>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Xifrar la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Opcions avançades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Deshabilita les claus privades per a aquesta cartera. Carteres amb claus privades deshabilitades no tindran cap clau privada i no podran tenir cap llavor HD o importar claus privades.
|
||||
@@ -885,6 +893,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Compilat sense el suport sqlite (requerit per carteres descriptor)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1527,6 +1539,66 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Save...</source>
|
||||
<translation>Desa...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Tanca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load transaction: %1</source>
|
||||
<translation>Ha fallat la càrrega de la transacció: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation>Ha fallat la firma de la transacció: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not sign any more inputs.</source>
|
||||
<translation>No s'han pogut firmar més entrades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed %1 inputs, but more signatures are still required.</source>
|
||||
<translation>Firmades %1 entrades, però encara es requereixen més firmes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation>La transacció s'ha firmat correctament. La transacció està a punt per emetre's.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation>Error desconnegut al processar la transacció.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast failed: %1</source>
|
||||
<translation>L'emissió de la transacció ha fallat: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied to clipboard.</source>
|
||||
<translation>PSBT copiada al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Guarda Dades de Transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Transacció Parcialment Firmada (Binari) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved to disk.</source>
|
||||
<translation>PSBT guardada al disc.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> * Sends %1 to %2</source>
|
||||
<translation>*Envia %1 a %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate transaction fee or total transaction amount.</source>
|
||||
<translation>Incapaç de calcular la comissió de transacció o la quantitat total de la transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pays transaction fee: </source>
|
||||
<translation>Paga comissió de transacció:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Import total</translation>
|
||||
@@ -1535,7 +1607,35 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Transaction has %1 unsigned inputs.</source>
|
||||
<translation>La transacció té %1 entrades no firmades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is missing some information about inputs.</source>
|
||||
<translation>La transacció manca d'informació en algunes entrades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction still needs signature(s).</source>
|
||||
<translation>La transacció encara necessita una o vàries firmes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation>(Però aquesta cartera no pot firmar transaccions.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
<translation>(Però aquesta cartera no té les claus correctes.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is fully signed and ready for broadcast.</source>
|
||||
<translation>La transacció està completament firmada i a punt per emetre's.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>L'estat de la transacció és desconegut.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1700,6 +1800,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Error: %1</source>
|
||||
<translation>Avís: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing settings: %1</source>
|
||||
<translation>Error a l'inicialitzar la configuració: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation>%1 encara no ha finalitzat de manera segura...</translation>
|
||||
@@ -1878,6 +1982,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Node window</source>
|
||||
<translation>Finestra node</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>Altura actual de bloc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
<translation>Obre el fitxer de registre de depuració %1 del directori de dades actual. Això pot trigar uns segons en fitxers de registre grans.</translation>
|
||||
@@ -1890,6 +1998,10 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Increase font size</source>
|
||||
<translation>Augmenta la mida de la lletra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Permissions</source>
|
||||
<translation>Permisos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Serveis</translation>
|
||||
@@ -2145,13 +2257,29 @@ Això és ideal per a carteres de mode només lectura.</translation>
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>No s'ha pogut desblocar la cartera.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Could not generate new %1 address</source>
|
||||
<translation>No s'ha pogut generar una nova %1 direcció</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Request payment to ...</source>
|
||||
<translation>Sol·licita el pagament a ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Direcció:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Import:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label:</source>
|
||||
<translation>Etiqueta:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Missatge:</translation>
|
||||
@@ -2426,6 +2554,22 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Esteu segur que ho voleu enviar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Unsigned</source>
|
||||
<translation>Creació sense firmar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Guarda Dades de Transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Transacció Parcialment Firmada (Binari) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved</source>
|
||||
<translation>PSBT guardada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
@@ -2434,6 +2578,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Pot incrementar la comissió més tard (senyala Replace-By-Fee o substitució per comissió, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Si us plau, revisa la teva proposta de transacció. Es produirà una transacció de Bitcoin amb firma parcial (PSBT) que podeu guardar o copiar i després firmar, per exemple, amb una cartera %1, o amb una cartera física compatible amb PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Reviseu la transacció</translation>
|
||||
@@ -3252,9 +3400,21 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Close all wallets</source>
|
||||
<translation>Tanqueu totes les carteres</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>Esteu segur que voleu tancar totes les carteres?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
<source>No wallet has been loaded.
|
||||
Go to File > Open Wallet to load a wallet.
|
||||
- OR -</source>
|
||||
<translation>No s'ha carregat cap cartera.
|
||||
Ves a Arxiu > Obrir Cartera per a carregar cartera.
|
||||
- O -</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nova cartera</translation>
|
||||
@@ -3333,6 +3493,26 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
|
||||
<translation>Incapaç de descodificar la PSBT del porta-retalls (base64 invàlida)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Carrega dades de transacció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (*.psbt)</source>
|
||||
<translation>Transacció Parcialment Firmada (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT file must be smaller than 100 MiB</source>
|
||||
<translation>L'arxiu PSBT ha de ser més petit que 100MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT</source>
|
||||
<translation>Incapaç de descodificar la PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Còpia de seguretat de la cartera</translation>
|
||||
@@ -3400,6 +3580,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>S'ha produït un error en llegir %s. Totes les claus es llegeixen correctament, però les dades de la transacció o les entrades de la llibreta d'adreces podrien faltar o ser incorrectes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation> Es proporciona més d'una adreça de vinculació. Utilitzant %s pel servei Tor onion automàticament creat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>Comproveu que la data i hora de l'ordinador són correctes. Si el rellotge és incorrecte, %s no funcionarà correctament.</translation>
|
||||
@@ -3408,6 +3592,18 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Contribueix si trobes %s útil. Visita %s per obtenir més informació sobre el programari.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut preparar la sentència per obtenir la versió de l'esquema de la cartera sqlite: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut preparar la sentència per obtenir l'identificador de l'aplicació: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: esquema de cartera sqlite de versió %d desconegut. Només és compatible la versió %d</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>La base de dades de blocs conté un bloc que sembla ser del futur. Això pot ser degut a que la data i l'hora del vostre ordinador s'estableix incorrectament. Només reconstruïu la base de dades de blocs si esteu segur que la data i l'hora del vostre ordinador són correctes</translation>
|
||||
@@ -3512,6 +3708,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>No s'ha pogut escanejar novament la cartera durant la inicialització</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>Ha fallat la verificació de la base de dades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>Ignorant -cartera duplicada %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>S'està important...</translation>
|
||||
@@ -3540,6 +3744,30 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Import invàlid per -fallbackfee=<amount>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut executar la sentència per verificar la base de dades: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut obtenir la versió d'esquema de cartera sqlite: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut obtenir l'identificador de l'aplicació: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: No s'ha pogut preparar la sentència per verificar la base de dades: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: ha fallat la lectura de la base de dades. Error de verificació: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
|
||||
<translation>SQLiteDatabase: Identificador d’aplicació inesperat. S'esperava %u, s'ha obtingut %u</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>El directori de blocs especificat "%s" no existeix.</translation>
|
||||
@@ -3624,6 +3852,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Error: ha fallat escoltar les connexions entrants (l'escoltament ha retornat l'error %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation>%s està malmès. Proveu d’utilitzar l’eina bitcoin-wallet per recuperar o restaurar una còpia de seguretat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
|
||||
<translation>No es pot actualitzar una cartera dividida que no sigui HD sense actualitzar-la per donar suport al grup de claus previ a la divisió. Utilitzeu la versió 169900 o no especificar-ne cap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>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)</translation>
|
||||
@@ -3632,10 +3868,34 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>L'import de la transacció és massa petit per enviar-la després que se'n dedueixi la comissió</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
|
||||
<translation>Aquest error es podria produir si la cartera no es va tancar netament i es va carregar per última vegada mitjançant una més nova de Berkeley DB. Si és així, utilitzeu el programari que va carregar aquesta cartera per última vegada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
|
||||
<translation>Aquesta és la comissió màxima de transacció que pagueu (a més de la tarifa normal) per prioritzar l'evitació parcial de la despesa per sobre de la selecció regular de monedes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
|
||||
<translation>La transacció necessita una adreça de canvi, però no la podem generar. Si us plau, visiteu primer a keypoolrefill.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>Cal que torneu a construir la base de dades fent servir -reindex per tornar al mode no podat. Això tornarà a baixar la cadena de blocs sencera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal internal error occurred, see debug.log for details</source>
|
||||
<translation>S'ha produït un error intern fatal. Consulteu debug.log per a més detalls</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
|
||||
<translation>No es poden configurar -peerblockfilters sense -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>L'espai de disc és insuficient!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading from database, shutting down.</source>
|
||||
<translation>Error en llegir la base de dades, tancant.</translation>
|
||||
@@ -3648,6 +3908,14 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>Error: l'espai del disc és insuficient per a %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Error: Keypool s’ha esgotat. Visiteu primer keypoolrefill</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
|
||||
<translation>La taxa de tarifa (%s) és inferior a la configuració de la tarifa mínima (%s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Adreça o nom de l'ordinador -onion no vàlida: '%s'</translation>
|
||||
@@ -3668,6 +3936,10 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Cal especificar un port amb -whitebind: «%s»</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>.</source>
|
||||
<translation>No s'ha especificat cap servidor intermediari. Utilitzeu -proxy =<ip> o -proxy =<ip:port>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>El mode de poda no és compatible amb -blockfilterindex.</translation>
|
||||
@@ -3758,10 +4030,6 @@ Nota: Com que la comissió es calcula en funció dels bytes, una comissió de "1
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s està especificat molt alt!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>S'ha produït un error en carregar la cartera %s. S'ha especificat un nom de fitxer duplicat -wallet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>S'estan iniciant els fils de la xarxa...</translation>
|
||||
|
||||
@@ -482,6 +482,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Up to date</source>
|
||||
<translation>Aktuální</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>&Načíst PSBT ze souboru...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction</source>
|
||||
<translation>Načíst částečně podepsanou Bitcoinovou transakci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load PSBT from clipboard...</source>
|
||||
<translation>Načíst PSBT ze schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
|
||||
<translation>Načíst částečně podepsanou Bitcoinovou transakci ze schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Okno uzlu</translation>
|
||||
@@ -518,10 +534,26 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Close wallet</source>
|
||||
<translation>Zavřít peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Zavřít všechny peněženky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Zavřít všechny peněženky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Seznam argumentů Bitcoinu pro příkazovou řádku získáš v nápovědě %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Mask values</source>
|
||||
<translation>&Skrýt částky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mask the values in the Overview tab</source>
|
||||
<translation>Skrýt částky v přehledu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>výchozí peněženka</translation>
|
||||
@@ -630,7 +662,15 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Peněženka je <b>zašifrovaná</b> a momentálně <b>zamčená</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Původní zpráva:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation>Stala se fatální chyba. %1 nemůže bezpečně pokračovat v činnosti, a bude ukončen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -803,6 +843,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Vytvořit peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Peněženka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Název peněženky</translation>
|
||||
@@ -815,6 +859,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Zašifrovat peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Pokročilé možnosti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Vypnout soukromé klíče pro tuto peněženku. Peněženky s vypnutými soukromými klíči nebudou mít soukromé klíče a nemohou mít HD inicializaci ani importované soukromé klíče. Tohle je ideální pro peněženky pouze na sledování.</translation>
|
||||
@@ -831,10 +879,22 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Vytvořit prázdnou peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use descriptors for scriptPubKey management</source>
|
||||
<translation>Použít popisovače pro správu scriptPubKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descriptor Wallet</source>
|
||||
<translation>Popisovačová peněženka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Vytvořit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Zkompilováno bez podpory sqlite (vyžadováno pro popisovačové peněženky)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1307,6 +1367,14 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation>Zda ukazovat možnosti pro ruční správu mincí nebo ne.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
|
||||
<translation>Připojí se do Bitcoinové sítě přes vyhrazenou SOCKS5 proxy pro služby v Tor síti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor onion services:</source>
|
||||
<translation>Použít samostatnou SOCKS&5 proxy ke spojení s protějšky přes skryté služby v Toru:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>&URL třetích stran pro transakce</translation>
|
||||
@@ -1442,13 +1510,97 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Current total balance in watch-only addresses</source>
|
||||
<translation>Aktuální stav účtu sledovaných adres</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
<translation>Pro kartu Přehled je aktivovaný režim soukromí. Pro zobrazení částek, odškrtněte Nastavení -> Skrýt částky.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Dialog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign Tx</source>
|
||||
<translation>Podepsat transakci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Broadcast Tx</source>
|
||||
<translation>Odeslat transakci do sítě</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>Kopírovat do schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>Uložit...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load transaction: %1</source>
|
||||
<translation>Nepodařilo se načíst transakci: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation>Nepodařilo se podepsat transakci: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not sign any more inputs.</source>
|
||||
<translation>Nelze podepsat další vstupy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed %1 inputs, but more signatures are still required.</source>
|
||||
<translation>Podepsáno %1 výstupů, ale jsou ještě potřeba další podpisy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation>Transakce byla úspěšně podepsána. Transakce je připravena k odeslání.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation>Neznámá chyba při zpracování transakce.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast successfully! Transaction ID: %1</source>
|
||||
<translation>Transakce byla úspěšně odeslána! ID transakce: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast failed: %1</source>
|
||||
<translation>Odeslání transakce se nezdařilo: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied to clipboard.</source>
|
||||
<translation>PSBT zkopírována do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Zachovaj procesní data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Částečně podepsaná transakce (Binární) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved to disk.</source>
|
||||
<translation>PSBT uložena na disk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> * Sends %1 to %2</source>
|
||||
<translation> * Odešle %1 na %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate transaction fee or total transaction amount.</source>
|
||||
<translation>Nelze vypočítat transakční poplatek nebo celkovou výši transakce.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pays transaction fee: </source>
|
||||
<translation>Platí transakční poplatek:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Celková částka</translation>
|
||||
@@ -1457,7 +1609,35 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>or</source>
|
||||
<translation>nebo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Transaction has %1 unsigned inputs.</source>
|
||||
<translation>Transakce %1 má nepodepsané vstupy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is missing some information about inputs.</source>
|
||||
<translation>Transakci chybí některé informace o vstupech.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction still needs signature(s).</source>
|
||||
<translation>Transakce stále potřebuje podpis(y).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation>(Ale tato peněženka nemůže podepisovat transakce.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
<translation>Ale tenhle vstup nemá správné klíče</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is fully signed and ready for broadcast.</source>
|
||||
<translation>Transakce je plně podepsána a připravena k odeslání.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>Stav transakce není známý.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1622,6 +1802,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Error: %1</source>
|
||||
<translation>Chyba: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing settings: %1</source>
|
||||
<translation>Zjišťování neshod: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation>%1 ještě bezpečně neskončil…</translation>
|
||||
@@ -1800,6 +1984,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Node window</source>
|
||||
<translation>Okno uzlu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>Velikost aktuálního bloku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
<translation>Otevři soubor s ladicími záznamy %1 z aktuálního datového adresáře. U velkých žurnálů to může pár vteřin zabrat.</translation>
|
||||
@@ -1812,6 +2000,10 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Increase font size</source>
|
||||
<translation>Zvětšit písmo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Permissions</source>
|
||||
<translation>Oprávnění</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Služby</translation>
|
||||
@@ -2067,9 +2259,21 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Nemohu odemknout peněženku.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Could not generate new %1 address</source>
|
||||
<translation>Nelze vygenerovat novou adresu %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Request payment to ...</source>
|
||||
<translation>Požádat o platbu pro ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Adresa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Částka:</translation>
|
||||
@@ -2352,6 +2556,22 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Jsi si jistý, že tuhle transakci chceš poslat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Unsigned</source>
|
||||
<translation>Vytvořit bez podpisu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Zachovaj procesní data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Částečně podepsaná transakce (Binární) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved</source>
|
||||
<translation>PSBT uložena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>nebo</translation>
|
||||
@@ -2360,6 +2580,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Poplatek můžete navýšit později (vysílá se "Replace-By-Fee" - nahrazení poplatkem, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Zkontrolujte prosím svůj návrh transakce. Výsledkem bude částečně podepsaná bitcoinová transakce (PSBT), kterou můžete uložit nebo kopírovat a poté podepsat např. pomocí offline %1 peněženky nebo hardwarové peněženky kompatibilní s PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Prosím, zkontrolujte vaši transakci.</translation>
|
||||
@@ -3174,9 +3398,25 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Zavření peněženky na příliš dlouhou dobu může vyústit v potřebu resynchronizace celého blockchainu pokud je zapnuté prořezávání.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Zavřít všechny peněženky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>Opravdu chcete zavřít všechny peněženky?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
<source>No wallet has been loaded.
|
||||
Go to File > Open Wallet to load a wallet.
|
||||
- OR -</source>
|
||||
<translation>Není načtena žádná peněženka.
|
||||
Přejděte do Soubor > Otevřít peněženku pro načtení peněženky.
|
||||
- NEBO -</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Vytvoř novou peněženku</translation>
|
||||
@@ -3226,7 +3466,7 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied</source>
|
||||
<translation>PSBT zkopírováno</translation>
|
||||
<translation>PSBT zkopírována</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't sign transaction.</source>
|
||||
@@ -3255,6 +3495,26 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Error</source>
|
||||
<translation>Chyba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
|
||||
<translation>Nelze dekódovat PSBT ze schránky (neplatné kódování base64)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Načíst data o transakci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (*.psbt)</source>
|
||||
<translation>Částečně podepsaná transakce (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT file must be smaller than 100 MiB</source>
|
||||
<translation>Soubor PSBT musí být menší než 100 MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT</source>
|
||||
<translation>Nelze dekódovat PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Záloha peněženky</translation>
|
||||
@@ -3322,6 +3582,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Nastala chyba při čtení souboru %s! Všechny klíče se přečetly správně, ale data o transakcích nebo záznamy v adresáři mohou chybět či být nesprávné.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation>Byla zadána více než jedna onion adresa. Použiju %s pro automaticky vytvořenou službu sítě Tor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>Zkontroluj, že máš v počítači správně nastavený datum a čas! Pokud jsou nastaveny špatně, %s nebude fungovat správně.</translation>
|
||||
@@ -3330,6 +3594,18 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Prosíme, zapoj se nebo přispěj, pokud ti %s přijde užitečný. Více informací o programu je na %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se připravit dotaz pro získání verze schématu sqlite peněženky: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se připravit dotaz pro získání id aplikace: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: Neznámá verze schématu sqlite peněženky: %d. Podporovaná je pouze verze %d</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>Databáze bloků obsahuje blok, který vypadá jako z budoucnosti, což může být kvůli špatně nastavenému datu a času na tvém počítači. Nech databázi bloků přestavět pouze v případě, že si jsi jistý, že máš na počítači správný datum a čas</translation>
|
||||
@@ -3434,6 +3710,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Během inicializace se nepodařilo proskenovat peněženku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>Selhání v ověření databáze</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>Ignoruji duplicitní -wallet %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Importuji...</translation>
|
||||
@@ -3462,6 +3746,30 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Neplatná částka pro -fallbackfee=<částka>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se vykonat dotaz pro ověření databáze: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se získat verzi sqlite schématu peněženky: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se získat id aplikace: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se připravit dotaz pro ověření databáze: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: Nepodařilo se přečist databázovou ověřovací chybu: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
|
||||
<translation>SQLiteDatabase: Neočekávané id aplikace. Očekáváno: %u, ve skutečnosti %u</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Zadaný adresář bloků "%s" neexistuje.</translation>
|
||||
@@ -3546,6 +3854,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Chyba: Nelze naslouchat příchozí spojení (listen vrátil chybu %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation>Soubor %s je poškozen. Zkus použít bitcoin-wallet pro opravu nebo obnov zálohu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
|
||||
<translation>Nelze upgradovat na non HD split peněženku bez aktualizace pre split keypoolu. Použij verzi 169900 nebo nezadávej verzi žádnou.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Neplatná částka pro -maxtxfee=<amount>: '%s' (musí být alespoň jako poplatek minrelay %s, aby transakce nezůstávaly trčet)</translation>
|
||||
@@ -3554,10 +3870,34 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>Částka v transakci po odečtení poplatku je příliš malá na odeslání</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
|
||||
<translation>Tato chyba může nastat pokud byla peněženka ukončena chybně a byla naposledy použita programem s novější verzi Berkeley DB. Je-li to tak, použijte program, který naposledy přistoupil k této peněžence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
|
||||
<translation>Jedná se o maximální poplatek, který zaplatíte (navíc k běžnému poplatku), aby se upřednostnila útrata z dosud nepoužitých adres oproti těm už jednou použitých.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
|
||||
<translation>Transakce potřebuje adresu pro drobné, ale ta se nepodařila vygenerovat. Nejdřív zavolej keypoolrefill.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>K návratu k neprořezávacímu režimu je potřeba přestavět databázi použitím -reindex. Také se znovu stáhne celý blockchain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal internal error occurred, see debug.log for details</source>
|
||||
<translation>Nastala závažná vnitřní chyba, podrobnosti viz v debug.log.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
|
||||
<translation>Nelze nastavit -peerblockfilters bez -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>Na disku je příliš málo místa!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading from database, shutting down.</source>
|
||||
<translation>Chyba při čtení z databáze, ukončuji se.</translation>
|
||||
@@ -3570,6 +3910,14 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>Chyba: Málo místa na disku pro %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Chyba: V keypoolu došly adresy, nejdřív zavolej keypool refill</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
|
||||
<translation>Zvolený poplatek (%s) je nižší než nastavený minimální poplatek (%s).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Neplatná -onion adresa či hostitel: '%s'</translation>
|
||||
@@ -3590,6 +3938,10 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>V rámci -whitebind je třeba specifikovat i port: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>.</source>
|
||||
<translation>Není specifikován proxy server. Použijte -proxy=<ip> nebo -proxy=<ip:port>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Režim prořezávání není kompatibilní s -blockfilterindex.</translation>
|
||||
@@ -3680,10 +4032,6 @@ Poznámka: Jelikož je poplatek počítaný za bajt, poplatek o hodnotě "100 sa
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s je nastaveno velmi vysoko!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Chyba při načítání peněženky %s. Udán duplicitní název souboru -wallet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Spouštím síťová vlákna…</translation>
|
||||
|
||||
@@ -610,6 +610,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Waled</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
|
||||
@@ -69,6 +69,11 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Disse er dine Bitcoin-adresser til afsendelse af betalinger. Tjek altid beløb og modtagelsesadresse, inden du sender bitcoins.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Disse er dine Bitcoin adresser til at modtage betalinger. Benyt 'Opret ny modtager adresse' knappen i modtag fanen for at oprette nye adresser.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopiér adresse</translation>
|
||||
@@ -477,6 +482,22 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Opdateret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>&Indlæs PSBT fra fil...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction</source>
|
||||
<translation>Indlæs Partvist Signeret Bitcoin-Transaktion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load PSBT from clipboard...</source>
|
||||
<translation>Indlæs PSBT fra udklipsholder...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
|
||||
<translation>Indlæs Partvist Signeret Bitcoin-Transaktion fra udklipsholder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Knudevindue</translation>
|
||||
@@ -513,10 +534,26 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Luk tegnebog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Luk alle tegnebøgerne ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Luk alle tegnebøgerne </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Vis %1 hjælpebesked for at få en liste over mulige tilvalg for Bitcoin kommandolinje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Mask values</source>
|
||||
<translation>&Maskér værdier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mask the values in the Overview tab</source>
|
||||
<translation>Maskér værdierne i Oversigt-fanebladet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Standard tegnebog</translation>
|
||||
@@ -625,7 +662,15 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Tegnebog er <b>krypteret</b> og i øjeblikket <b>låst</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Original besked:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation>Der skete en fatal fejl. %1 kan ikke længere fortsætte sikkert og vil afslutte.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -798,6 +843,10 @@
|
||||
<source>Create Wallet</source>
|
||||
<translation>Opret tegnebog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Tegnebog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Navn på tegnebog</translation>
|
||||
@@ -810,6 +859,10 @@
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Kryptér tegnebog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Avancerede Indstillinger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Slå private nøgler fra for denne tegnebog. Tegnebøger med private nøgler slået fra vil ikke have nogen private nøgler og kan ikke have et HD-seed eller importerede private nøgler. Dette er ideelt til kigge-tegnebøger.</translation>
|
||||
@@ -826,10 +879,22 @@
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Lav flad tegnebog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use descriptors for scriptPubKey management</source>
|
||||
<translation>Brug beskrivere til håndtering af scriptPubKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descriptor Wallet</source>
|
||||
<translation>Beskriver-Pung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Opret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Kompileret uden sqlite-understøttelse (krævet til beskriver-punge)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1302,6 +1367,14 @@
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation>Hvorvidt egenskaber for coin-styring skal vises eller ej.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
|
||||
<translation>Opret forbindelse til Bitcoin-netværk igennem en separat SOCKS5 proxy til Tor-onion-tjenester.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor onion services:</source>
|
||||
<translation>Brug separate SOCKS&5 proxy, for at nå fælle via Tor-onion-tjenester:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Third party transaction URLs</source>
|
||||
<translation>&Tredjeparts-transaktions-URL'er</translation>
|
||||
@@ -1437,13 +1510,97 @@
|
||||
<source>Current total balance in watch-only addresses</source>
|
||||
<translation>Nuværende totalsaldo på kigge-adresser</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
<translation>Privatlivstilstand aktiveret for Oversigt-fanebladet. Fjern flueben fra Instillinger->Maskér værdier, for at afmaskere værdierne.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Dialog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign Tx</source>
|
||||
<translation>Signér Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Broadcast Tx</source>
|
||||
<translation>Udsend Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>Kopier til udklipsholder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>Gem...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Luk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load transaction: %1</source>
|
||||
<translation>Kunne ikke indlæse transaktion: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation>Kunne ikke signere transaktion: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not sign any more inputs.</source>
|
||||
<translation>Kunne ikke signere flere input.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed %1 inputs, but more signatures are still required.</source>
|
||||
<translation>Signerede %1 input, men flere signaturer kræves endnu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation>Signering af transaktion lykkedes. Transaktion er klar til udsendelse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation>Ukendt fejl i behandling af transaktion.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast successfully! Transaction ID: %1</source>
|
||||
<translation>Udsendelse af transaktion lykkedes! Transaktions-ID: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast failed: %1</source>
|
||||
<translation>Udsendelse af transaktion mislykkedes: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied to clipboard.</source>
|
||||
<translation>PSBT kopieret til udklipsholder.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Gem Transaktionsdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Partvist Signeret Transaktion (Binær) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved to disk.</source>
|
||||
<translation>PSBT gemt på disk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> * Sends %1 to %2</source>
|
||||
<translation>* Sender %1 til %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate transaction fee or total transaction amount.</source>
|
||||
<translation>Kunne ikke beregne transaktionsgebyr eller totalt transaktionsbeløb.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pays transaction fee: </source>
|
||||
<translation>Betaler transaktionsgebyr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Total Mængde</translation>
|
||||
@@ -1452,7 +1609,35 @@
|
||||
<source>or</source>
|
||||
<translation>eller</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Transaction has %1 unsigned inputs.</source>
|
||||
<translation>Transaktion har %1 usignerede input.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is missing some information about inputs.</source>
|
||||
<translation>Transaktion mangler noget information om input.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction still needs signature(s).</source>
|
||||
<translation>Transaktion mangler stadig signatur(er).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation>(Men denne pung kan ikke signere transaktioner.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
<translation>(Men denne pung har ikke de rette nøgler.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is fully signed and ready for broadcast.</source>
|
||||
<translation>Transaktion er fuldt signeret og klar til udsendelse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>Transaktionsstatus er ukendt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1617,6 +1802,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Fejl: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing settings: %1</source>
|
||||
<translation>Fejl ved initialisering af indstillinger: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation>%1 har endnu ikke afsluttet på sikker vis…</translation>
|
||||
@@ -1795,6 +1984,10 @@
|
||||
<source>Node window</source>
|
||||
<translation>Knudevindue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>Nuværende blokhøjde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
<translation>Åbn %1s fejlsøgningslogfil fra den aktuelle datamappe. Dette kan tage nogle få sekunder for store logfiler.</translation>
|
||||
@@ -1807,6 +2000,10 @@
|
||||
<source>Increase font size</source>
|
||||
<translation>Forstør skrifttypestørrelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Permissions</source>
|
||||
<translation>Tilladelser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Tjenester</translation>
|
||||
@@ -2062,9 +2259,21 @@
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Kunne ikke låse tegnebog op.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Could not generate new %1 address</source>
|
||||
<translation>Kunne ikke generere ny %1 adresse</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Request payment to ...</source>
|
||||
<translation>Anmod om betaling til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Beløb:</translation>
|
||||
@@ -2343,6 +2552,22 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Er du sikker på, at du vil sende?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Unsigned</source>
|
||||
<translation>Opret Usigneret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Gem Transaktionsdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (Binary) (*.psbt)</source>
|
||||
<translation>Partvist Signeret Transaktion (Binær) (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved</source>
|
||||
<translation>PSBT gemt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>eller</translation>
|
||||
@@ -2351,6 +2576,10 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation>Du kan øge gebyret senere (signalerer erstat-med-gebyr, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Gennemse venligst dit transaktionsforslag. Dette vil producere en Partvist Signeret Bitcoin Transaktion (PSBT), som du kan gemme eller kopiere, og så signere med f.eks. en offline %1 pung, eller en PSBT-kompatibel maskinelpung.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Venligst, vurder din transaktion.</translation>
|
||||
@@ -2516,7 +2745,7 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
</message>
|
||||
<message>
|
||||
<source>A message that was attached to the bitcoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Bitcoin network.</source>
|
||||
<translation>En besked, som blev føjet til “bitcon:”-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over Bitcoin-netværket.</translation>
|
||||
<translation>En besked, som blev føjet til “bitcoin:”-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over Bitcoin-netværket.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pay To:</source>
|
||||
@@ -3165,9 +3394,25 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Lukning af tegnebog i for lang tid kan resultere i at synkronisere hele kæden forfra, hvis beskæring er aktiveret.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Luk alle tegnebøgerne </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>Er du sikker på du vil lukke alle tegnebøgerne?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
<source>No wallet has been loaded.
|
||||
Go to File > Open Wallet to load a wallet.
|
||||
- OR -</source>
|
||||
<translation>Ingen pung er blevet indlæst.
|
||||
Gå til Fil > Åbn Pung for, at indlæse en pung.
|
||||
- ELLER -</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Opret en ny tegnebog</translation>
|
||||
@@ -3246,6 +3491,26 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Error</source>
|
||||
<translation>Fejl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
|
||||
<translation>Kan ikke afkode PSBT fra udklipsholder (ugyldigt base64)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Indlæs transaktions data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partially Signed Transaction (*.psbt)</source>
|
||||
<translation>Partvist Signeret Transaktion (*.psbt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT file must be smaller than 100 MiB</source>
|
||||
<translation>PSBT-fil skal være mindre end 100 MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT</source>
|
||||
<translation>Kunne ikke afkode PSBT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Sikkerhedskopiér tegnebog</translation>
|
||||
@@ -3313,6 +3578,10 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Fejl under læsning af %s! Alle nøgler blev læst korrekt, men transaktionsdata eller indgange i adressebogen kan mangle eller være ukorrekte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation>Mere end én onion-bindingsadresse er opgivet. Bruger %s til den automatiske oprettelse af Tor-onion-tjeneste.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet! Hvis der er fejl i disse, vil %s ikke fungere korrekt.</translation>
|
||||
@@ -3321,6 +3590,18 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Overvej venligst at bidrage til udviklingen, hvis du finder %s brugbar. Besøg %s for yderligere information om softwaren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Forberedelse af udtrykket på, at gribe sqlite-pung-skemaversion mislykkedes: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Forberedelse af udtrykket på, at gribe applikations-ID mislykkedes: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: Ukendt sqlite-pung-skemaversion %d. Kun version %d understøttes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>Blokdatabasen indeholder en blok, som ser ud til at være fra fremtiden. Dette kan skyldes, at din computers dato og tid ikke er sat korrekt. Genopbyg kun blokdatabasen, hvis du er sikker på, at din computers dato og tid er korrekt</translation>
|
||||
@@ -3425,6 +3706,14 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Genindlæsning af tegnebogen under initialisering mislykkedes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>Kunne ikke verificere databasen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>Ignorerer duplikeret -pung %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Importerer…</translation>
|
||||
@@ -3453,6 +3742,22 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Ugyldigt beløb for -fallbackfee=<beløb>: “%s”</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Udførelse af udtryk for, at bekræfte database mislykkedes: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Forberedelse af udtryk på, at bekræfte database mislykkedes: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: Indlæsning af database-bekræftelsesfejl mislykkedes: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
|
||||
<translation>SQLiteDatabase: Uventet applikations-ID. Ventede %u, fik %u</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Angivet blokmappe “%s” eksisterer ikke.</translation>
|
||||
@@ -3537,6 +3842,14 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Fejl: Lytning efter indkommende forbindelser mislykkedes (lytning resultarede i fejl %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation>%s beskadiget. Prøv at bruge pung-værktøjet bitcoin-wallet til, at bjærge eller gendanne en sikkerhedskopi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
|
||||
<translation>Kan ikke opgradere en ikke-HD-splittet pung, uden at opgradere for, at understøtte præ-split-nøglepøl. Brug venligst version 169900 eller ingen specificeret version.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Ugyldigt beløb for -maxtxfee=<beløb>: “%s” (skal være på mindst minrelay-gebyret på %s for at undgå hængende transaktioner)</translation>
|
||||
@@ -3545,10 +3858,34 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>Transaktionsbeløbet er for lille til at sende, når gebyret er trukket fra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
|
||||
<translation>Denne fejl kunne finde sted hvis denne pung ikke blev lukket rent ned og sidst blev indlæst vha. en udgave med en nyere version af Berkeley DB. Brug i så fald venligst den programvare, som sidst indlæste denne pung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
|
||||
<translation>Dette er det maksimale transaktionsgebyr, du betaler (ud over det normale gebyr) for, at prioritere partisk forbrugsafvigelse over almindelig møntudvælgelse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
|
||||
<translation>Transaktion har brug for for, at skifte adresse, men vi kan ikke generere den. Tilkald venligst keypoolrefill først.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>Du er nødt til at genopbygge databasen ved hjælp af -reindex for at gå tilbage til ikke-beskåret tilstand. Dette vil downloade hele blokkæden igen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal internal error occurred, see debug.log for details</source>
|
||||
<translation>Der er sket en fatal intern fejl, se debug.log for detaljer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
|
||||
<translation>Kan ikke indstille -peerblockfilters uden -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>Fejl: Disk pladsen er for lav!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading from database, shutting down.</source>
|
||||
<translation>Fejl under læsning fra database; lukker ned.</translation>
|
||||
@@ -3561,6 +3898,14 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>Fejl: Disk plads er lavt for %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Fejl: Nøglepøl løb tør, tilkald venligst keypoolrefill først</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
|
||||
<translation>Gebyrrate (%s) er lavere end den minimale gebyrrate-indstilling (%s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Ugyldig -onion-adresse eller værtsnavn: “%s”</translation>
|
||||
@@ -3581,6 +3926,10 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Nødt til at angive en port med -whitebinde: “%s”</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No proxy server specified. Use -proxy=<ip> or -proxy=<ip:port>.</source>
|
||||
<translation>Ingen proxyserver specificeret. Brug -proxy=<ip> eller -proxy=<ip:port>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Beskærings tilstand er ikke understøttet med -blockfilterindex.</translation>
|
||||
@@ -3671,10 +4020,6 @@ Note: Siden gebyret er kalkuleret på en per-byte basis, et gebyr på "100 satos
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s er meget højt sat!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Fejl under indlæsning af tegnebog %s. -wallet filnavn angivet mere end én gang.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Starter netværkstråde…</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the currently selected address to the system clipboard</source>
|
||||
<translation>Αντέγραψε την επιλεγμένη διεύθυνση στο πρόχειρο του συστήματος</translation>
|
||||
<translation>Αντιγράψτε την επιλεγμένη διεύθυνση στο πρόχειρο του συστήματος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy</source>
|
||||
@@ -69,6 +69,12 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Αυτές είναι οι Bitcoin διευθύνσεις σας για να στέλνετε πληρωμές. Να ελέγχετε πάντα το ποσό, καθώς και τη διεύθυνση παραλήπτη πριν στείλετε νομίσματα.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Αυτές είναι οι Bitcoin διευθύνσεις για την λήψη πληρωμών. Χρησιμοποιήστε το κουμπί 'Δημιουργία νέας διεύθυνσης λήψεων' στο παράθυρο λήψεων για την δημιουργία νέας διεύθυνσης.
|
||||
Η υπογραφή είναι διαθέσιμη μόνο σε διευθύνσεις 'παλαιού τύπου'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Αντιγραφή Διεύθυνσης</translation>
|
||||
@@ -477,6 +483,22 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Ενημερωμένο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>&Φόρτωση PSBT από αρχείο...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction</source>
|
||||
<translation>Φόρτωση συναλλαγής Partially Signed Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load PSBT from clipboard...</source>
|
||||
<translation>Φόρτωση PSBT από το πρόχειρο...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
|
||||
<translation>Φόρτωση συναλλαγής Partially Signed Bitcoin από το πρόχειρο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Κόμβος παράθυρο</translation>
|
||||
@@ -513,10 +535,26 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Κλείσιμο πορτοφολιού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Κλείσιμο όλων των πορτοφολιών...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Κλείσιμο όλων των πορτοφολιών</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Εμφάνισε το %1 βοηθητικό μήνυμα για λήψη μιας λίστας με διαθέσιμες επιλογές για Bitcoin εντολές </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Mask values</source>
|
||||
<translation>&Απόκρυψη τιμών</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mask the values in the Overview tab</source>
|
||||
<translation>Απόκρυψη τιμών στην καρτέλα Επισκόπησης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Προεπιλεγμένο πορτοφόλι</translation>
|
||||
@@ -625,7 +663,15 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Το πορτοφόλι είναι <b>κρυπτογραφημένο</b> και <b>κλειδωμένο</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Αρχικό Μήνυμα:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation>Συνέβη ενα μοιραίο σφάλμα. %1 δε μπορεί να συνεχιστεί με ασφάλεια και θα σταματήσει</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
@@ -646,7 +692,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Ταρίφα:</translation>
|
||||
<translation>Τέλη:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
@@ -654,7 +700,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
<translation>Ταρίφα αλλαγής:</translation>
|
||||
<translation>Τέλη αλλαγής:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
@@ -798,6 +844,10 @@
|
||||
<source>Create Wallet</source>
|
||||
<translation>Δημιουργία Πορτοφολιού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Πορτοφόλι</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Όνομα Πορτοφολιού</translation>
|
||||
@@ -810,6 +860,10 @@
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Κρυπτογράφηση Πορτοφολιού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Προχωρημένες ρυθμίσεις</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Απενεργοποιήστε τα ιδιωτικά κλειδιά για αυτό το πορτοφόλι. Τα πορτοφόλια που έχουν απενεργοποιημένα ιδιωτικά κλειδιά δεν έχουν ιδιωτικά κλειδιά και δεν μπορούν να έχουν σπόρους HD ή εισαγόμενα ιδιωτικά κλειδιά. Αυτό είναι ιδανικό για πορτοφόλια μόνο για ρολόγια.</translation>
|
||||
@@ -826,10 +880,22 @@
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Δημιουργία Άδειου Πορτοφολιού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use descriptors for scriptPubKey management</source>
|
||||
<translation>χρήση περιγραφέων για την διαχείριση του scriptPubKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descriptor Wallet</source>
|
||||
<translation>Πορτοφόλι Περιγραφέα </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Δημιουργία</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Μεταγλωτίστηκε χωρίς την υποστήριξη sqlite (απαραίτητη για περιγραφικά πορτοφόλια )</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1294,6 +1360,14 @@
|
||||
<source>Whether to show coin control features or not.</source>
|
||||
<translation>Επιλογή κατά πόσο να αναδείχνονται οι δυνατότητες ελέγχου κερμάτων.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor onion services.</source>
|
||||
<translation>Συνδεθείτε στο δίκτυο Bitcoin μέσω ενός ξεχωριστού διακομιστή μεσολάβησης SOCKS5 για τις onion υπηρεσίες του Tor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use separate SOCKS&5 proxy to reach peers via Tor onion services:</source>
|
||||
<translation>Χρησιμοποιήστε ξεχωριστό διακομιστή μεσολάβησης SOCKS&5 για σύνδεση με αποδέκτες μέσω των υπηρεσιών onion του Tor:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options set in this dialog are overridden by the command line or in the configuration file:</source>
|
||||
<translation>Οι επιλογές που έχουν οριστεί σε αυτό το παράθυρο διαλόγου παραβλέπονται από τη γραμμή εντολών ή από το αρχείο διαμόρφωσης:</translation>
|
||||
@@ -1426,13 +1500,25 @@
|
||||
<source>Current total balance in watch-only addresses</source>
|
||||
<translation>Το τρέχον συνολικό υπόλοιπο σε διευθύνσεις παρακολούθησης μόνο</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
<translation>Ενεργοποιήθηκε η κατάσταση ιδιωτικότητας στην καρτέλα Επισκόπησης. Για εμφάνιση των τιμών αποεπιλέξτε το Ρυθμίσεις->Απόκρυψη τιμών.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Διάλογος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign Tx</source>
|
||||
<translation>Υπόγραψε Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Broadcast Tx</source>
|
||||
<translation>Αναμετάδωση Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>Αντιγραφή στο Πρόχειρο</translation>
|
||||
@@ -1441,10 +1527,59 @@
|
||||
<source>Save...</source>
|
||||
<translation>Αποθήκευση...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Κλείσιμο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load transaction: %1</source>
|
||||
<translation>Αποτυχία φόρτωσης μεταφοράς: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation>Αποτυχία εκπλήρωσης συναλλαγής: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation>Η συναλλαγή υπογράφηκε με επιτυχία. Η συναλλαγή είναι έτοιμη για μετάδοση.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation>Άγνωστο λάθος επεξεργασίας μεταφοράς.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast successfully! Transaction ID: %1</source>
|
||||
<translation>Έγινε επιτυχής αναμετάδοση της συναλλαγής!
|
||||
ID Συναλλαγής: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast failed: %1</source>
|
||||
<translation>Η αναμετάδοση της συναλαγής απέτυχε: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT copied to clipboard.</source>
|
||||
<translation>PSBT αντιγράφηκε στο πρόχειρο.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Αποθήκευση Δεδομένων Συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved to disk.</source>
|
||||
<translation>PSBT αποθηκεύτηκε στο δίσκο.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> * Sends %1 to %2</source>
|
||||
<translation>* Στέλνει %1 προς %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate transaction fee or total transaction amount.</source>
|
||||
<translation>Δεν είναι δυνατός ο υπολογισμός των κρατήσεων ή του συνολικού ποσού συναλλαγής.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pays transaction fee: </source>
|
||||
<translation>Πληρωμή τέλους συναλλαγής:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Συνολικό Ποσό</translation>
|
||||
@@ -1453,7 +1588,23 @@
|
||||
<source>or</source>
|
||||
<translation>ή</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>(But this wallet cannot sign transactions.)</source>
|
||||
<translation>(Αλλά αυτό το πορτοφόλι δεν μπορεί να υπογράψει συναλλαγές.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(But this wallet does not have the right keys.)</source>
|
||||
<translation>(Αλλά αυτό το πορτοφόλι δεν έχει τα σωστά κλειδιά.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction is fully signed and ready for broadcast.</source>
|
||||
<translation>Η συναλλαγή είναι πλήρως υπογεγραμμένη και έτοιμη για αναμετάδωση.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>Η κατάσταση της συναλλαγής είναι άγνωστη.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1618,6 +1769,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Σφάλμα: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error initializing settings: %1</source>
|
||||
<translation>Σφάλμα έναρξης ρυθμίσεω: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 didn't yet exit safely...</source>
|
||||
<translation> Το %1 δεν έφυγε ακόμα με ασφάλεια...</translation>
|
||||
@@ -1792,6 +1947,10 @@
|
||||
<source>Node window</source>
|
||||
<translation>Κόμβος παράθυρο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>Τωρινό ύψος block</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.</source>
|
||||
<translation>Ανοίξτε το αρχείο καταγραφής εντοπισμού σφαλμάτων %1 από τον τρέχοντα κατάλογο δεδομένων. Αυτό μπορεί να διαρκέσει μερικά δευτερόλεπτα για τα μεγάλα αρχεία καταγραφής.</translation>
|
||||
@@ -1804,6 +1963,10 @@
|
||||
<source>Increase font size</source>
|
||||
<translation>Αύξηση μεγέθους γραμματοσειράς</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Permissions</source>
|
||||
<translation>Αδειες</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Υπηρεσίες</translation>
|
||||
@@ -2060,13 +2223,29 @@
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Δεν είναι δυνατό το ξεκλείδωμα του πορτοφολιού.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Could not generate new %1 address</source>
|
||||
<translation>Δεν πραγματοποιήθηκε παραγωγή νέας %1 διεύθυνσης </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Request payment to ...</source>
|
||||
<translation>Αίτημα πληρωμής προς ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Διεύθυνση:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Ποσό:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label:</source>
|
||||
<translation>Ετικέτα:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Μήνυμα:</translation>
|
||||
@@ -2338,10 +2517,18 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>Είστε βέβαιοι ότι θέλετε να στείλετε;</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Unsigned</source>
|
||||
<translation>Δημιουργία Ανυπόγραφου</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Αποθήκευση Δεδομένων Συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PSBT saved</source>
|
||||
<translation>Το PSBT αποθηκεύτηκε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>ή</translation>
|
||||
@@ -2350,6 +2537,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>You can increase the fee later (signals Replace-By-Fee, BIP-125).</source>
|
||||
<translation> Μπορείτε να αυξήσετε αργότερα την αμοιβή (σήματα Αντικατάσταση-By-Fee, BIP-125).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.</source>
|
||||
<translation>Παρακαλούμε, ελέγξτε την πρόταση συναλλαγής. Θα παραχθεί μια συναλλαγή Bitcoin με μερική υπογραφή (PSBT), την οποία μπορείτε να αντιγράψετε και στη συνέχεια να υπογράψετε με π.χ. ένα πορτοφόλι %1 εκτός σύνδεσης ή ένα πορτοφόλι υλικού συμβατό με το PSBT.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Παρακαλούμε, ελέγξτε τη συναλλαγή σας.</translation>
|
||||
@@ -3161,9 +3352,25 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Το κλείσιμο του πορτοφολιού για πολύ μεγάλο χρονικό διάστημα μπορεί να οδηγήσει στην επανασύνδεση ολόκληρης της αλυσίδας αν είναι ενεργοποιημένη η περικοπή.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Κλείσιμο όλων των πορτοφολιών</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>Είσαι σίγουροι ότι επιθυμείτε το κλείσιμο όλων των πορτοφολιών;</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
<message>
|
||||
<source>No wallet has been loaded.
|
||||
Go to File > Open Wallet to load a wallet.
|
||||
- OR -</source>
|
||||
<translation>Δεν έχει φορτωθεί κανένα πορτοφόλι.
|
||||
Μεταβείτε στο Αρχείο>Άνοιγμα πορτοφολιού για φόρτωση.
|
||||
-Η-</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Δημιουργία νέου Πορτοφολιού</translation>
|
||||
@@ -3242,6 +3449,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Error</source>
|
||||
<translation>Σφάλμα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Φόρτωση δεδομένων συναλλαγής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Αντίγραφο ασφαλείας Πορτοφολιού</translation>
|
||||
@@ -3421,6 +3632,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Αποτυχία επανεγγραφής του πορτοφολιού κατά την αρχικοποίηση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>Η επιβεβαίωση της βάσης δεδομένων απέτυχε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Εισαγωγή...</translation>
|
||||
@@ -3537,6 +3752,10 @@ Note: Since the fee is calculated on a per-byte basis, a fee of "100 satoshis p
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>Πρέπει να ξαναφτιάξετε τη βάση δεδομένων χρησιμοποιώντας το -reindex για να επιστρέψετε στη λειτουργία χωρίς εκτύπωση. Αυτό θα ξαναφορτώσει ολόκληρο το blockchain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>Αποθηκευτικός χώρος πολύ μικρός!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading from database, shutting down.</source>
|
||||
<translation>Σφάλμα ανάγνωσης από τη βάση δεδομένων, γίνεται τερματισμός.</translation>
|
||||
|
||||
@@ -838,7 +838,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../bitcoin.cpp" line="+418"/>
|
||||
<location filename="../bitcoin.cpp" line="+419"/>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1059,12 +1059,17 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+38"/>
|
||||
<location line="+24"/>
|
||||
<source>Wallet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="-13"/>
|
||||
<source>Wallet Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+22"/>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1074,7 +1079,12 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+19"/>
|
||||
<location line="+26"/>
|
||||
<source>Advanced Options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+9"/>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1084,7 +1094,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+7"/>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1094,7 +1104,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+13"/>
|
||||
<location line="+7"/>
|
||||
<source>Use descriptors for scriptPubKey management</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1109,7 +1119,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location line="+20"/>
|
||||
<location line="+36"/>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1897,7 +1907,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../overviewpage.cpp" line="+166"/>
|
||||
<location filename="../overviewpage.cpp" line="+191"/>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -2270,7 +2280,7 @@ Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../bitcoin.cpp" line="+105"/>
|
||||
<location filename="../bitcoin.cpp" line="+112"/>
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
@@ -884,7 +884,7 @@ Signing is only possible with addresses of the type 'legacy'.</translation>
|
||||
<source>Create</source>
|
||||
<translation>Create</translation>
|
||||
</message>
|
||||
</context>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -3973,10 +3973,6 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s is set very high!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Starting network threads...</translation>
|
||||
|
||||
@@ -69,6 +69,11 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Jen viaj Bitmon-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson antaŭ ol sendi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Jen viaj bitmonaj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ĉiu transakcio.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Kopii Adreson</translation>
|
||||
@@ -131,6 +136,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Ripetu la novan pasfrazon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Montri pasfrazon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Ĉifri la monujon</translation>
|
||||
@@ -171,6 +180,26 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>La monujo estas ĉifrita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Enigi la novan pasfrazon por la monujo. <br/>Bonvolu uzi pasfrazon de <b>dek aŭ pli hazardaj signoj</b>, aŭ <b>ok aŭ pli vortoj</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Enigi la malnovan pasfrazon kaj la novan pasfrazon por la monujo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Monujo ĉifriĝota</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Via monujo estas ĉifriĝota.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Via monujo ĵus estas ĉifrata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>GRAVE: antaŭaj sekur-kopioj de via monujo-dosiero estas forigindaj kiam vi havas nove kreitan ĉifritan monujo-dosieron. Pro sekureco, antaŭaj kopioj de la neĉifrita dosiero ne plu funkcios tuj kiam vi ekuzos la novan ĉifritan dosieron.</translation>
|
||||
@@ -210,7 +239,11 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>BanTableModel</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Banned Until</source>
|
||||
<translation>Ekzilita Ĝis</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BitcoinGUI</name>
|
||||
<message>
|
||||
@@ -249,6 +282,10 @@
|
||||
<source>&About %1</source>
|
||||
<translation>&Pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show information about %1</source>
|
||||
<translation>Montri informojn pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About &Qt</source>
|
||||
<translation>Pri &Qt</translation>
|
||||
@@ -261,6 +298,10 @@
|
||||
<source>&Options...</source>
|
||||
<translation>&Agordoj...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify configuration options for %1</source>
|
||||
<translation>Ŝanĝi agordojn por %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>Ĉifri &Monujon...</translation>
|
||||
@@ -277,6 +318,30 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Malfermi &URI-on...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Krei Monujon...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Krei novan monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Monujo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
<translation>Alklaki por malebligi retajn agadojn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Network activity disabled.</source>
|
||||
<translation>Retaj agadoj malebliĝas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to enable network activity again.</source>
|
||||
<translation>Alklaki por denove ebligi retajn agadojn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Reindeksado de blokoj sur disko...</translation>
|
||||
@@ -385,14 +450,58 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Ĝisdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Malfermi la Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Malfermi monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Fermi la Monujon...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Fermi monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Fermi Ĉiujn Monujojn...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Fermi ĉiujn monujojn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>&Fenestro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>Zomi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Main Window</source>
|
||||
<translation>Ĉefa Fenestro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Ĝisdatigante...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Eraro: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Averto: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -403,6 +512,12 @@
|
||||
<source>Amount: %1
|
||||
</source>
|
||||
<translation>Sumo: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet: %1
|
||||
</source>
|
||||
<translation>Monujo: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -439,9 +554,21 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Monujo estas <b>ĉifrita</b> kaj aktuale <b>ŝlosita</b></translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Originala mesaĝo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A fatal error occurred. %1 can no longer continue safely and will quit.</source>
|
||||
<translation>Neriparebla eraro okazis. %1 ne plu sekure povas daŭri kaj ĝi ĉesiĝos.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
<message>
|
||||
<source>Coin Selection</source>
|
||||
<translation>Monero-Elektaĵo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quantity:</source>
|
||||
<translation>Kvanto:</translation>
|
||||
@@ -581,9 +708,45 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Krei monujon malsukcesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Averto pro krei monujon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Krei Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Monujo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Monujo-Nomo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Ĉifri Monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Malebligi privatajn ŝlosilojn por ĉi tiu monujo. Monujoj kun malebligitaj privataj ŝlosiloj ne havos privatajn ŝlosilojn, kaj povas havi nek HD-semon nek importatajn privatajn ŝlosilojn. Ĉi tio estas ideale por nurspektaj monujoj.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Malebligi Privatajn Ŝlosilojn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Krei</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -661,6 +824,10 @@
|
||||
<source>version</source>
|
||||
<translation>versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>Pri %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command-line options</source>
|
||||
<translation>Komandliniaj agordaĵoj</translation>
|
||||
@@ -672,6 +839,10 @@
|
||||
<source>Welcome</source>
|
||||
<translation>Bonvenon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Welcome to %1.</source>
|
||||
<translation>Bonvenon al %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use the default data directory</source>
|
||||
<translation>Uzi la defaŭltan dosierujon por datumoj</translation>
|
||||
@@ -699,13 +870,45 @@
|
||||
<source>Form</source>
|
||||
<translation>Formularo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Nekonata...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Horo de la lasta bloko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Progreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress increase per hour</source>
|
||||
<translation>Hora pligrandigo da progreso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>kalkuladas...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Kaŝi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
|
||||
<translation>%1 sinkronigadas. Ĝi elŝutos kapaĵojn kaj blokojn de samtavolanoj, kaj validigos ilin, ĝis ĝi atingas la pinton de la blokĉeno.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Malfermi na la URI de bitmono</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -713,7 +916,23 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Open wallet failed</source>
|
||||
<translation>Malfermi monujon malsukcesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Malfermi monujon averto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
<translation>Malfermadas Monujon <b>%1</b>...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
@@ -724,10 +943,26 @@
|
||||
<source>&Main</source>
|
||||
<translation>Ĉ&efa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically start %1 after logging in to the system.</source>
|
||||
<translation>Aŭtomate komenci na %1 post ensalutis en la sistemon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Start %1 on system login</source>
|
||||
<translation>&Komenci na %1 kiam ensaluti en la sistemon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size of &database cache</source>
|
||||
<translation>Dosiergrando de &datumbasa kaŝmemoro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of script &verification threads</source>
|
||||
<translation>Kvanto da skriptaj kaj kontroleraraj fadenoj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>IP-adreso de prokurilo (ekz. IPv4: 127.0.0.1 / IPv6: ::1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
<translation>Reagordi ĉion al defaŭlataj valoroj.</translation>
|
||||
@@ -851,6 +1086,10 @@
|
||||
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
|
||||
<translation>Eblas, ke la informoj videblaj ĉi tie estas eksdataj. Via monujo aŭtomate sinkoniĝas kun la bitmona reto kiam ili konektiĝas, sed tiu procezo ankoraŭ ne finfariĝis.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
<translation>Disponebla:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your current spendable balance</source>
|
||||
<translation>via aktuala elspezebla saldo</translation>
|
||||
@@ -890,6 +1129,18 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>Konservi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Fermi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Totala Sumo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>aŭ</translation>
|
||||
@@ -951,10 +1202,34 @@
|
||||
<source>N/A</source>
|
||||
<translation>neaplikebla</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n second(s)</source>
|
||||
<translation><numerusform>%n sekundo</numerusform><numerusform>%n sekundoj</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n minute(s)</source>
|
||||
<translation><numerusform>%n minuto</numerusform><numerusform>%n minutoj</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n hour(s)</source>
|
||||
<translation><numerusform>%n horo</numerusform><numerusform>%n horoj</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n day(s)</source>
|
||||
<translation><numerusform>%n tago</numerusform><numerusform>%n tagoj</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>%n semajno</numerusform><numerusform>%n semajnoj</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 and %2</source>
|
||||
<translation>%1 kaj %2</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n year(s)</source>
|
||||
<translation><numerusform>%n jaro</numerusform><numerusform>%n jaroj</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 B</source>
|
||||
<translation>%1 B</translation>
|
||||
@@ -975,6 +1250,10 @@
|
||||
<source>Error: Specified data directory "%1" does not exist.</source>
|
||||
<translation>Eraro: la elektita dosierujo por datumoj "%1" ne ekzistas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Eraro: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>nekonata</translation>
|
||||
@@ -1045,6 +1324,10 @@
|
||||
<source>Block chain</source>
|
||||
<translation>Blokĉeno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet: </source>
|
||||
<translation>Monujo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received</source>
|
||||
<translation>Ricevita</translation>
|
||||
@@ -1109,7 +1392,35 @@
|
||||
<source>Clear console</source>
|
||||
<translation>Malplenigi konzolon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>1 &hour</source>
|
||||
<translation>1 &horo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &day</source>
|
||||
<translation>1 &tago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &week</source>
|
||||
<translation>1 &semajno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 &year</source>
|
||||
<translation>1 &jaro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unban</source>
|
||||
<translation>&Malekzili</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>never</source>
|
||||
<translation>neniam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation>Nekonata</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveCoinsDialog</name>
|
||||
<message>
|
||||
@@ -1159,6 +1470,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Adreso:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Sumo:</translation>
|
||||
@@ -1171,6 +1486,10 @@
|
||||
<source>Message:</source>
|
||||
<translation>Mesaĝo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Monujo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &URI</source>
|
||||
<translation>Kopii &URI</translation>
|
||||
@@ -1261,6 +1580,10 @@
|
||||
<source>Transaction Fee:</source>
|
||||
<translation>Krompago:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide</source>
|
||||
<translation>Kaŝi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send to multiple recipients at once</source>
|
||||
<translation>Sendi samtempe al pluraj ricevantoj</translation>
|
||||
@@ -1337,10 +1660,18 @@
|
||||
<source>Transaction fee</source>
|
||||
<translation>Krompago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Totala Sumo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Konfirmi sendon de bitmono</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Sendi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to pay must be larger than 0.</source>
|
||||
<translation>La pagenda sumo devas esti pli ol 0.</translation>
|
||||
@@ -1875,17 +2206,33 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Fermi monujon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Fermi ĉiujn monujojn</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Krei novan monujon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
<message>
|
||||
<source>Send Coins</source>
|
||||
<translation>Sendi Bitmonon</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>defaŭlta monujo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Haz click con el botón derecho para editar una dirección o etiqueta</translation>
|
||||
<translation>haz click derecho para editar dirección o etiqueta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
<translation>Crear una dirección nueva</translation>
|
||||
<translation>crear un nueva direccion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New</source>
|
||||
@@ -43,7 +43,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>&Delete</source>
|
||||
<translation>&Borrar</translation>
|
||||
<translation>Borrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose the address to send coins to</source>
|
||||
@@ -143,23 +143,23 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Cifrar cartera</translation>
|
||||
<translation>Cifrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
|
||||
<translation>Esta operación necesita la contraseña para desbloquear la cartera</translation>
|
||||
<translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock wallet</source>
|
||||
<translation>Desbloquear cartera</translation>
|
||||
<translation>Desbloquear billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
|
||||
<translation>Esta operación necesita la contraseña para desbloquear la cartera.</translation>
|
||||
<translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrypt wallet</source>
|
||||
<translation>Descifrar cartera</translation>
|
||||
<translation>Descifrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change passphrase</source>
|
||||
@@ -167,7 +167,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm wallet encryption</source>
|
||||
<translation>Confirma el cifrado de esta cartera</translation>
|
||||
<translation>Confirma el cifrado de esta billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source>
|
||||
@@ -175,47 +175,47 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to encrypt your wallet?</source>
|
||||
<translation>¿Seguro que quieres cifrar tu cartera?</translation>
|
||||
<translation>¿Seguro que quieres cifrar tu billetera?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Cartera encriptada</translation>
|
||||
<translation>Billetera encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Introduce la contraseña nueva para la cartera. <br/>Por favor utiliza una contraseña de <b>diez o más caracteres aleatorios</b>, u <b>ocho o más palabras</b>.</translation>
|
||||
<translation>Introduce la contraseña nueva para la billetera. <br/>Por favor utiliza una contraseña de <b>diez o más caracteres aleatorios</b>, u <b>ocho o más palabras</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Introduce la contraseña antigua y la nueva para la cartera.</translation>
|
||||
<translation>Introduce la contraseña antigua y la nueva para la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Recuerda que cifrar tu cartera no garantiza la protección de tus bitcoin si tu ordenador es infectado con malware.</translation>
|
||||
<translation>Recuerda que cifrar tu billetera no garantiza la protección de tus bitcoin si tu ordenador es infectado con malware.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Cartera a cifrar</translation>
|
||||
<translation>Billetera a cifrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Tu cartera va a ser cifrada</translation>
|
||||
<translation>Tu billetera va a ser cifrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Tu cartera ya está cifrada</translation>
|
||||
<translation>Tu billetera ya está cifrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>IMPORTANTE: Cualquier copia de seguridad que hayas hecho del archivo de tu cartera debe ser reemplazada por el archivo cifrado de la cartera recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo de la cartera sin cifrar serán inútiles cuando empiece a usar la nueva cartera cifrada.</translation>
|
||||
<translation>IMPORTANTE: Cualquier copia de seguridad que hayas hecho del archivo de tu billetera debe ser reemplazada por el archivo cifrado de la billetera recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo de la billetera sin cifrar serán inútiles cuando empiece a usar la nueva billetera cifrada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed</source>
|
||||
<translation>El cifrado de la cartera ha fallado</translation>
|
||||
<translation>El cifrado de la billetera ha fallado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
|
||||
<translation>El cifrado de la cartera ha fallado debido a un error interno. Tu cartera no ha sido cifrada.</translation>
|
||||
<translation>El cifrado de la billetera ha fallado debido a un error interno. Tu billetera no ha sido cifrada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The supplied passphrases do not match.</source>
|
||||
@@ -223,19 +223,19 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet unlock failed</source>
|
||||
<translation>El desbloqueo de la cartera ha fallado</translation>
|
||||
<translation>El desbloqueo de la billetera ha fallado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The passphrase entered for the wallet decryption was incorrect.</source>
|
||||
<translation>La contraseña introducida descifrar la cartera es incorrecta.</translation>
|
||||
<translation>La contraseña introducida descifrar la billetera es incorrecta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet decryption failed</source>
|
||||
<translation>El descifrado de la cartera ha fallado</translation>
|
||||
<translation>El descifrado de la billetera ha fallado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet passphrase was successfully changed.</source>
|
||||
<translation>La contraseña de la cartera ha sido cambiada.</translation>
|
||||
<translation>La contraseña de la billetera ha sido cambiada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: The Caps Lock key is on!</source>
|
||||
@@ -269,7 +269,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show general overview of wallet</source>
|
||||
<translation>Mostrar vista general de la cartera</translation>
|
||||
<translation>Mostrar vista general de la billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Transactions</source>
|
||||
@@ -313,11 +313,11 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Encrypt Wallet...</source>
|
||||
<translation>&Cifrar cartera…</translation>
|
||||
<translation>&Cifrar billetera…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Backup Wallet...</source>
|
||||
<translation>&Copia de seguridad de la cartera...</translation>
|
||||
<translation>&Copia de seguridad de la billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Change Passphrase...</source>
|
||||
@@ -329,15 +329,15 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear cartera...</translation>
|
||||
<translation>Crear billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear nueva cartera</translation>
|
||||
<translation>Crear nueva billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Cartera:</translation>
|
||||
<translation>Billetera:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to disable network activity.</source>
|
||||
@@ -397,7 +397,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the private keys that belong to your wallet</source>
|
||||
<translation>Cifrar las claves privadas que pertenecen a tu cartera</translation>
|
||||
<translation>Cifrar las claves privadas que pertenecen a tu billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
|
||||
@@ -521,27 +521,27 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Abrir cartera</translation>
|
||||
<translation>Abrir billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Abrir una cartera</translation>
|
||||
<translation>Abrir una billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Cerrar cartera...</translation>
|
||||
<translation>Cerrar billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar cartera</translation>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Cerrar todas las carteras...</translation>
|
||||
<translation>Cerrar todas las billeteras...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Cerrar todas las carteras</translation>
|
||||
<translation>Cerrar todas las billeteras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
@@ -557,11 +557,11 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Cartera predeterminada</translation>
|
||||
<translation>Billetera predeterminada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallets available</source>
|
||||
<translation>No hay carteras disponibles</translation>
|
||||
<translation>No hay billeteras disponibles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
@@ -614,7 +614,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
<message>
|
||||
<source>Wallet: %1
|
||||
</source>
|
||||
<translation>Cartera: %1
|
||||
<translation>Billetera: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -661,7 +661,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>La cartera está <b>cifrada</b> y <b>bloqueada</b></translation>
|
||||
<translation>La billetera está <b>cifrada</b> y <b>bloqueada</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
@@ -831,7 +831,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Error al crear cartera</translation>
|
||||
<translation>Error al crear billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
@@ -844,6 +844,10 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear monedero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Monedero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Nombre de monedero</translation>
|
||||
@@ -856,6 +860,10 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Cifrar monedero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Opciones avanzadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Deshabilita las claves privadas para este monedero. Los monederos con claves privadas deshabilitadas no tendrán claves privadas y no podrán tener ni una semilla HD ni claves privadas importadas. Esto es ideal para monederos de solo lectura.</translation>
|
||||
@@ -884,6 +892,10 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Compilado sin soporte de sqlite (requerido para billeteras descriptoras)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1038,7 +1050,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The wallet will also be stored in this directory.</source>
|
||||
<translation>La cartera también se almacenará en este directorio.</translation>
|
||||
<translation>La billetera también se almacenará en este directorio.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Specified data directory "%1" cannot be created.</source>
|
||||
@@ -1139,7 +1151,7 @@ Firmar solo es posible con correos del tipo Legacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open wallet warning</source>
|
||||
<translation>Ver aviso sobre la cartera</translation>
|
||||
<translation>Ver aviso sobre la billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
@@ -3377,7 +3389,7 @@ Nota: Dado que la comisión se calcula por byte, una comisión de "100 satoshis
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Cerrar todas las carteras</translation>
|
||||
<translation>Cerrar todas las billeteras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
@@ -3472,6 +3484,10 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to decode PSBT from clipboard (invalid base64)</source>
|
||||
<translation>No se puede decodificar PSBT desde el portapapeles (inválido base64)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Cargar datos de la transacción</translation>
|
||||
@@ -3555,6 +3571,10 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Error leyendo %s!. Todas las claves se han leído correctamente, pero los datos de la transacción o el libro de direcciones pueden faltar o ser incorrectos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation>Se proporciona más de una dirección de ligar de cebolla. Utilizando %s para el servicio Tor cebolla creado automático.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>¡Por favor, compruebe si la fecha y hora en su computadora son correctas! Si su reloj está mal, %s no trabajará correctamente.</translation>
|
||||
@@ -3563,6 +3583,18 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Contribuya si encuentra %s de utilidad. Visite %s para más información acerca del programa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Fallado para preparar la declaración para traer versión del esquema de la monedero sqlite: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Fallado para preparar la declaración para traer la aplicación id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: versión del esquema de la monedero sqlite desconocido %d. Sólo version %d se admite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>La base de datos de bloques contiene un bloque que parece ser del futuro. Esto puede ser porque la fecha y hora de su ordenador están mal ajustados. Reconstruya la base de datos de bloques solo si está seguro de que la fecha y hora de su ordenador están ajustadas correctamente.</translation>
|
||||
@@ -3671,6 +3703,10 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Failed to verify database</source>
|
||||
<translation>No se ha podido verificar la base de datos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>No hacer caso de duplicado -wallet %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Importando...</translation>
|
||||
@@ -3699,6 +3735,30 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Monto inválido para -fallbackfee=<amount>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Fallado para ejecutar declaración para verificar base de datos: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Fallado para traer versión del esquema de la monedero sqlite: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Error al obtener el ID de aplicación: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Fallado para preparar declaración para verificar base de datos: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: Error al leer la verificación de la base de datos: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unexpected application id. Expected %u, got %u</source>
|
||||
<translation>SQLiteDatabase: id aplicación inesperada. Esperado %u, tiene %u</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>El directorio de bloques «%s» especificado no existe.</translation>
|
||||
@@ -3761,7 +3821,7 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported logging category %s=%s.</source>
|
||||
<translation>Categoría de registro no soportada %s=%s.</translation>
|
||||
<translation>Categoría de registro no soportada %s=%s. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading UTXO database</source>
|
||||
@@ -3783,6 +3843,14 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Error: Listening for incoming connections failed (listen returned error %s)</source>
|
||||
<translation>Error: La escucha para conexiones entrantes falló (la escucha devolvió el error %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%s corrupt. Try using the wallet tool bitcoin-wallet to salvage or restoring a backup.</source>
|
||||
<translation>%s corrupto. Intente utilizar la monedero herramienta de bitcoin-monedero para salvar o restaurar una copia de seguridad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot upgrade a non HD split wallet without upgrading to support pre split keypool. Please use version 169900 or no version specified.</source>
|
||||
<translation>No es posible actualizar un monedero HD dividido sin actualizar el soporte para admitir el keypool pre dividido. Porfavor usa -upgradewallet=169900 o -upgradewallet sin especificar una versión.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Cantidad no válida para -maxtxfee=<amount>: '%s' (debe ser al menos la comisión mínima de %s para prevenir transacciones atascadas)</translation>
|
||||
@@ -3791,6 +3859,18 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>The transaction amount is too small to send after the fee has been deducted</source>
|
||||
<translation>Monto de transacción muy pequeño después de la deducción de la comisión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This error could occur if this wallet was not shutdown cleanly and was last loaded using a build with a newer version of Berkeley DB. If so, please use the software that last loaded this wallet</source>
|
||||
<translation>Este error podría ocurrir si la billetera no fuese apagada correctamente y fuese cargada usando una compilación con una versión más nueva de Berkeley DB. Si es así, utilice el software que cargó por última vez en esta billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection.</source>
|
||||
<translation>Esta es la máxima tarifa de transacción que pagas (en adicional a la tarifa normal de transacción) para primordialmente evitar gastar un sobrecosto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction needs a change address, but we can't generate it. Please call keypoolrefill first.</source>
|
||||
<translation>La transacción necesita un cambio de dirección, pero no podemos generar una. Porfavor, realice una petición a keypoolrefill antes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source>
|
||||
<translation>Necesita reconstruir la base de datos utilizando -reindex para volver al modo sin recorte. Esto volverá a descargar toda la cadena de bloques</translation>
|
||||
@@ -3799,6 +3879,10 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>A fatal internal error occurred, see debug.log for details</source>
|
||||
<translation>Ha ocurrido un error interno grave. Consulte debug.log para más detalles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot set -peerblockfilters without -blockfilterindex.</source>
|
||||
<translation>No se puede establecer -peerblockfilters sin -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk space is too low!</source>
|
||||
<translation>¡El espacio en el disco es demasiado bajo!</translation>
|
||||
@@ -3815,6 +3899,14 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>Error: Disk space is low for %s</source>
|
||||
<translation>Error: ¡Espacio en disco bajo por %s!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Keypool ran out, please call keypoolrefill first</source>
|
||||
<translation>Keypool se ha agotado, llame a keypoolrefill primero</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee rate (%s) is lower than the minimum fee rate setting (%s)</source>
|
||||
<translation>El ratio de comisión (%s) es menor que el mínimo ratio de comisión (%s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid -onion address or hostname: '%s'</source>
|
||||
<translation>Dirección de -onion o dominio '%s' inválido</translation>
|
||||
@@ -3929,10 +4021,6 @@ Vaya a Archivo> Abrir monedero para cargar un monedero.
|
||||
<source>%s is set very high!</source>
|
||||
<translation>¡%s está configurado muy alto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Iniciando procesos de red...</translation>
|
||||
|
||||
@@ -70,6 +70,12 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Estas son sus direcciones de Bitcoin para enviar pagos. Siempre verifique el monto y la dirección de recepción antes de enviar monedas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Estas son sus direcciones de Bitcoin para recibir los pagos.
|
||||
Usa el boton "Crear nueva direccion de recibimiento" en la pestaña de recibir para crear una nueva direccion. Firmar es posible solo con la direccion del tipo "legado"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>Copiar dirección</translation>
|
||||
@@ -132,6 +138,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Repetir nueva contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Mostrar contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Encriptar la billetera</translation>
|
||||
@@ -172,10 +182,30 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Billetera encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Introducir la nueva contraseña para la billetera. Por favor usa una contraseña de diez o mas caracteres aleatorios, u ocho o mas palabras.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Introducir la vieja contraseña y la nueva contraseña para la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Recuerda que codificando tu billetera no garantiza mantener a salvo tus bitcoins en caso de tener virus en el computador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Billetera para ser encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Tu billetera esta por ser encriptada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Su billetera ahora esta encriptada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>IMPORTANTE: todas las copias de seguridad anteriores que haya realizado de su archivo de billetera se deben reemplazar con el archivo de monedero cifrado recién generado. Por razones de seguridad, las copias de seguridad anteriores del archivo monedero sin encriptar serán inútiles tan pronto como comience a usar el nuevo monedero cifrado.</translation>
|
||||
@@ -298,6 +328,14 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Open &URI...</source>
|
||||
<translation>Abrir &URL...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear Billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Billetera:</translation>
|
||||
@@ -446,10 +484,38 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Up to date</source>
|
||||
<translation>A hoy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Load PSBT from file...</source>
|
||||
<translation>&Load PSBT desde el archivo...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction</source>
|
||||
<translation>Cargar transacción de Bitcoin parcialmente firmada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Abrir billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Abrir una billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Cerrar billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Muestre el mensaje de ayuda %1 para obtener una lista con posibles opciones de línea de comandos de Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>Ventana</translation>
|
||||
@@ -696,9 +762,29 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Crear billetera falló</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Advertencia de crear billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear Billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -916,6 +1002,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
@@ -1241,6 +1331,14 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>Dialog</source>
|
||||
<translation>Cambiar contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Cerrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Monto total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
@@ -1715,6 +1813,10 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source>
|
||||
<translation>Un monto opcional para solicitar. Deje esto vacío o en cero para no solicitar una cantidad específica.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Create new receiving address</source>
|
||||
<translation>&Crear una nueva dirección de recibo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear all fields of the form.</source>
|
||||
<translation>Borre todos los campos del formulario.</translation>
|
||||
@@ -1997,6 +2099,10 @@ Tarifa de copia</translation>
|
||||
<source>Transaction fee</source>
|
||||
<translation>Comisión de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Monto total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Confirmar el envió de monedas</translation>
|
||||
@@ -2683,10 +2789,18 @@ Tarifa de copia</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
<message>
|
||||
@@ -2729,7 +2843,11 @@ Tarifa de copia</translation>
|
||||
<source>Could not commit transaction</source>
|
||||
<translation>No se pudo confirmar la transacción</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
@@ -2992,10 +3110,6 @@ Exportar los datos en la pestaña actual a un archivo</translation>
|
||||
<source>%s is set very high!</source>
|
||||
<translation>¡%s esta configurado muy alto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Iniciando procesos de red...</translation>
|
||||
|
||||
@@ -69,6 +69,12 @@
|
||||
<source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source>
|
||||
<translation>Estas son tus direcciones de Bitcoin para recibir pagos. Siempre revise el monto y la dirección de envío antes de enviar criptomonedas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These are your Bitcoin addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses.
|
||||
Signing is only possible with addresses of the type 'legacy'.</source>
|
||||
<translation>Estas son tus direcciones Bitcoin para recibir pagos. Usa el botón 'Crear una nueva dirección para recibir' en la pestaña 'Recibir' para crear nuevas direcciones.
|
||||
Firmar solo es posible con direcciones del tipo 'Legacy'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Copy Address</source>
|
||||
<translation>&Copiar dirección</translation>
|
||||
@@ -131,6 +137,10 @@
|
||||
<source>Repeat new passphrase</source>
|
||||
<translation>Repite nueva contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passphrase</source>
|
||||
<translation>Mostrar la frase de contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt wallet</source>
|
||||
<translation>Codificar billetera</translation>
|
||||
@@ -171,6 +181,30 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Billetera codificada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Introduce la contraseña nueva para la billetera. <br/>Por favor utiliza una contraseña de <b>diez o más caracteres aleatorios</b>, u <b>ocho o más palabras</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
<translation>Ingresa la antigua frase de contraseña y la nueva frase de contraseña para la billetera.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
|
||||
<translation>Recuerda que cifrar tu billetera no garantiza total protección de robo de tus bitcoins si tu ordenador es infectado con malware.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Billetera a cifrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is about to be encrypted. </source>
|
||||
<translation>Tu billetera esta a punto de ser encriptada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your wallet is now encrypted. </source>
|
||||
<translation>Tu billetera ha sido cifrada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
|
||||
<translation>IMPORTANTE: Cualquier respaldo anterior que hayas hecho del archivo de tu billetera debe ser reemplazado por el nuevo archivo encriptado que has generado. Por razones de seguridad, todos los respaldos realizados anteriormente serán inutilizables al momento de que utilices tu nueva billetera encriptada.</translation>
|
||||
@@ -293,6 +327,14 @@
|
||||
<source>Open &URI...</source>
|
||||
<translation>Abrir y url...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Wallet...</source>
|
||||
<translation>Crear billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet:</source>
|
||||
<translation>Billetera:</translation>
|
||||
@@ -441,10 +483,66 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Actualizado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Partially Signed Bitcoin Transaction from clipboard</source>
|
||||
<translation>Cargar una transacción de Bitcoin parcialmente firmada desde el Portapapeles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Ventana del nodo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Abrir la consola de depuración y diagnóstico del nodo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&Direcciones de envío</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&Direcciones de entrega</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Abrir un bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Abrir billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a wallet</source>
|
||||
<translation>Abrir una billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close Wallet...</source>
|
||||
<translation>Cerrar billetera...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Cerrar todas las billeteras...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Cerrar todas las billeteras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
|
||||
<translation>Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallets available</source>
|
||||
<translation>No hay billeteras disponibles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>Ventana</translation>
|
||||
@@ -453,6 +551,10 @@
|
||||
<source>Minimize</source>
|
||||
<translation>Minimizar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Zoom</source>
|
||||
<translation>Acercar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Main Window</source>
|
||||
<translation>Ventana principal</translation>
|
||||
@@ -473,6 +575,10 @@
|
||||
<source>Error: %1</source>
|
||||
<translation>Error: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: %1</source>
|
||||
<translation>Advertencia: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -537,6 +643,10 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>La billetera esta <b>codificada</b> y actualmente <b>bloqueda</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Mensaje original:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
@@ -692,13 +802,69 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation>Creando billetera <b>%1</b>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Fallo al crear la billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Advertencia al crear la billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear Billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Nombre de la billetera </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>Encriptar la billetera. La billetera será encriptada con una contraseña de tu elección.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Encriptar la billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Opciones avanzadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Desactivar las claves privadas para esta billetera. Las billeteras con claves privadas desactivadas no tendrán claves privadas y no podrán tener ninguna semilla HD o claves privadas importadas. Esto es ideal para billeteras de solo lectura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Desactivar las claves privadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Crea una billetera en blanco. Las billeteras en blanco inicialmente no tienen llaves privadas o texto. Las llaves privadas y las direcciones pueden ser importadas, o se puede establecer una semilla HD, más tarde.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Crear billetera vacía</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descriptor Wallet</source>
|
||||
<translation>Descriptor de la billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -906,6 +1072,10 @@
|
||||
<source>Hide</source>
|
||||
<translation>Ocultar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Desconocido. Sincronizando cabeceras (%1, %2%)...</translation>
|
||||
@@ -920,6 +1090,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenWalletActivity</name>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
@@ -1242,11 +1416,35 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Dialogo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>Guardar...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Cerrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Guardar datos de la transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Monto total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Transaction status is unknown.</source>
|
||||
<translation>El estado de la transacción es desconocido.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
@@ -1481,6 +1679,14 @@
|
||||
<source>Memory usage</source>
|
||||
<translation>Memoria utilizada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet: </source>
|
||||
<translation>Billetera:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(none)</source>
|
||||
<translation>(ninguno)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset</source>
|
||||
<translation>&Reestablecer</translation>
|
||||
@@ -1530,6 +1736,14 @@
|
||||
<source>User Agent</source>
|
||||
<translation>User Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Ventana del nodo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current block height</source>
|
||||
<translation>Altura del bloque actual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decrease font size</source>
|
||||
<translation>Disminuir tamaño de fuente</translation>
|
||||
@@ -1538,6 +1752,10 @@
|
||||
<source>Increase font size</source>
|
||||
<translation>Aumentar tamaño de fuente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Permissions</source>
|
||||
<translation>Permisos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Services</source>
|
||||
<translation>Servicios</translation>
|
||||
@@ -1768,10 +1986,18 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>ReceiveRequestDialog</name>
|
||||
<message>
|
||||
<source>Address:</source>
|
||||
<translation>Dirección:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount:</source>
|
||||
<translation>Cantidad:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label:</source>
|
||||
<translation>Etiqueta:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Mensaje:</translation>
|
||||
@@ -1927,6 +2153,10 @@
|
||||
<source>Dust:</source>
|
||||
<translation>Polvo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide transaction fee settings</source>
|
||||
<translation>Esconder ajustes de la tarifa de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time target:</source>
|
||||
<translation>Objetivo de tiempo de confirmación</translation>
|
||||
@@ -1979,6 +2209,10 @@
|
||||
<source>%1 (%2 blocks)</source>
|
||||
<translation>%1 (%2 bloques)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> from wallet '%1'</source>
|
||||
<translation>desde la billetera '%1'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 to %2</source>
|
||||
<translation>%1 a %2</translation>
|
||||
@@ -1987,18 +2221,38 @@
|
||||
<source>Are you sure you want to send?</source>
|
||||
<translation>¿Seguro que quiere enviar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save Transaction Data</source>
|
||||
<translation>Guardar datos de la transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>or</source>
|
||||
<translation>o</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, review your transaction.</source>
|
||||
<translation>Por favor, revise su transacción.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction fee</source>
|
||||
<translation>Comisión de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Monto total</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Confirmar el envió de monedas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm transaction proposal</source>
|
||||
<translation>Confirmar la propuesta de transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send</source>
|
||||
<translation>Enviar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The recipient address is not valid. Please recheck.</source>
|
||||
<translation>La dirección de envío no es válida. Por favor revisala.</translation>
|
||||
@@ -2015,6 +2269,10 @@
|
||||
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
|
||||
<translation>El total sobrepasa tu saldo cuando se incluyen %1 como comisión de envió.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Duplicate address found: addresses should only be used once each.</source>
|
||||
<translation>Dirección duplicada encontrada: las direcciones sólo deben ser utilizadas una vez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction creation failed!</source>
|
||||
<translation>¡Fallo al crear la transacción!</translation>
|
||||
@@ -2090,6 +2348,10 @@
|
||||
<source>S&ubtract fee from amount</source>
|
||||
<translation>Restar comisiones del monto.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use available balance</source>
|
||||
<translation>Usar el saldo disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Mensaje:</translation>
|
||||
@@ -2224,6 +2486,10 @@
|
||||
<source>Wallet unlock was cancelled.</source>
|
||||
<translation>El desbloqueo del monedero fue cancelado.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>No hay error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key for the entered address is not available.</source>
|
||||
<translation>La llave privada para la dirección introducida no está disponible.</translation>
|
||||
@@ -2681,10 +2947,26 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletController</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Close wallet</source>
|
||||
<translation>Cerrar billetera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Cerrar todas las billeteras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close all wallets?</source>
|
||||
<translation>¿Está seguro de que desea cerrar todas las billeteras?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create a new wallet</source>
|
||||
<translation>Crear una nueva billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletModel</name>
|
||||
<message>
|
||||
@@ -2727,7 +3009,11 @@
|
||||
<source>Could not commit transaction</source>
|
||||
<translation>No se pudo confirmar la transacción</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>billetera predeterminada</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletView</name>
|
||||
<message>
|
||||
@@ -2742,6 +3028,10 @@
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load Transaction Data</source>
|
||||
<translation>Cargar datos de la transacción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup Wallet</source>
|
||||
<translation>Respaldar monedero</translation>
|
||||
@@ -2989,10 +3279,6 @@
|
||||
<source>%s is set very high!</source>
|
||||
<translation>¡%s esta configurado muy alto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error cargando el monedero %s. Se ha especificado un nombre de fichero -wallet duplicado.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Iniciando procesos de red...</translation>
|
||||
|
||||
@@ -552,6 +552,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Billetera</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<name>AddressBookPage</name>
|
||||
<message>
|
||||
<source>Right-click to edit address or label</source>
|
||||
<translation>Click derecho para editar tu dirección o etiqueta</translation>
|
||||
<translation>Haga clic derecho para editar la dirección o la etiqueta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new address</source>
|
||||
@@ -847,6 +847,10 @@ Solicitar pagos (genera códigos QR y bitcoin: URI)
|
||||
<source>Create Wallet</source>
|
||||
<translation>Crear una cartera </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Nombre de la cartera </translation>
|
||||
@@ -859,6 +863,10 @@ Solicitar pagos (genera códigos QR y bitcoin: URI)
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Encripta la cartera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Opciones avanzadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Desactivar las llaves privadas de esta cartera. Las carteras con las llaves privadas desactivadas no tendrán llaves privadas y no podrán tener una semilla HD o llaves privadas importadas. Esto es ideal para las carteras "watch-only".</translation>
|
||||
@@ -887,6 +895,10 @@ Solicitar pagos (genera códigos QR y bitcoin: URI)
|
||||
<source>Create</source>
|
||||
<translation>Crear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Compiled without sqlite support (required for descriptor wallets)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -3574,6 +3586,10 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</source>
|
||||
<translation>More than one onion bind address is provided. Using %s for the automatically created Tor onion service.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</source>
|
||||
<translation>Please check that your computer's date and time are correct! If your clock is wrong, %s will not work properly.</translation>
|
||||
@@ -3582,6 +3598,18 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>Please contribute if you find %s useful. Visit %s for further information about the software.</source>
|
||||
<translation>Please contribute if you find %s useful. Visit %s for further information about the software.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to prepare the statement to fetch sqlite wallet schema version: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to prepare the statement to fetch the application id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</source>
|
||||
<translation>SQLiteDatabase: Unknown sqlite wallet schema version %d. Only version %d is supported</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source>
|
||||
<translation>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</translation>
|
||||
@@ -3686,6 +3714,14 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>Failed to rescan the wallet during initialization</source>
|
||||
<translation>Falló al volver a escanear la cartera durante la inicialización</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to verify database</source>
|
||||
<translation>No se pudo verificar la base de datos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>Ignoring duplicate -wallet %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Importando...</translation>
|
||||
@@ -3714,6 +3750,26 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>Invalid amount for -fallbackfee=<amount>: '%s'</source>
|
||||
<translation>Invalid amount for -fallbackfee=<amount>: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to execute statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to execute statement to verify database: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to fetch sqlite wallet schema version: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to fetch the application id: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to fetch the application id: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to prepare statement to verify database: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to prepare statement to verify database: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SQLiteDatabase: Failed to read database verification error: %s</source>
|
||||
<translation>SQLiteDatabase: Failed to read database verification error: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Specified blocks directory "%s" does not exist.</translation>
|
||||
@@ -3976,10 +4032,6 @@ Go to File > Open Wallet to load a wallet.
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s is set very high!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Error loading wallet %s. Duplicate -wallet filename specified.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Starting network threads...</translation>
|
||||
|
||||
@@ -175,6 +175,10 @@
|
||||
<source>Wallet encrypted</source>
|
||||
<translation>Monedero cifrado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Ingrese la nueva contraseña para la billetera. Use una contraseña de diez o más caracteres aleatorios, u ocho o más palabras.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet to be encrypted</source>
|
||||
<translation>Billetera a ser cifrada</translation>
|
||||
@@ -590,6 +594,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Monedero</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
|
||||
@@ -461,6 +461,10 @@
|
||||
<source>Catching up...</source>
|
||||
<translation>Jõuan järgi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Tõrge %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date: %1
|
||||
</source>
|
||||
@@ -632,6 +636,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Rahakott</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -861,7 +869,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
|
||||
<translation>Kuvatav info ei pruugi olla ajakohane. Ühenduse loomisel süngitakse sinu rahakott automaatselt Bitconi võrgustikuga, kuid see toiming on hetkel lõpetamata.</translation>
|
||||
<translation>Kuvatav info ei pruugi olla ajakohane. Ühenduse loomisel süngitakse sinu rahakott automaatselt Bitcoin võrgustikuga, kuid see toiming on hetkel lõpetamata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pending:</source>
|
||||
@@ -971,6 +979,10 @@
|
||||
<source>%1 GB</source>
|
||||
<translation>%1 GB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: %1</source>
|
||||
<translation>Tõrge %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>tundmatu</translation>
|
||||
|
||||
@@ -353,10 +353,18 @@
|
||||
<source>Reindexing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan berriro zerrendatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy is <b>enabled</b>: %1</source>
|
||||
<translation>Proxya <b>gaituta</b> dago : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send coins to a Bitcoin address</source>
|
||||
<translation>Bidali txanponak Bitcoin helbide batera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup wallet to another location</source>
|
||||
<translation>Diru-zorroaren segurtasun-kopia beste leku batean.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change the passphrase used for wallet encryption</source>
|
||||
<translation>Diruzorroa enkriptatzeko erabilitako pasahitza aldatu</translation>
|
||||
@@ -381,6 +389,14 @@
|
||||
<source>Show or hide the main Window</source>
|
||||
<translation>Lehio nagusia erakutsi edo izkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the private keys that belong to your wallet</source>
|
||||
<translation>Zure diru-zorroari dagozkion giltza pribatuak enkriptatu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign messages with your Bitcoin addresses to prove you own them</source>
|
||||
<translation>Sinatu mezuak Bitcoinen helbideekin, zure jabea zarela frogatzeko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify messages to ensure they were signed with specified Bitcoin addresses</source>
|
||||
<translation>Egiaztatu mesua Bitcoin helbide espezifikoarekin erregistratu direla ziurtatzeko</translation>
|
||||
@@ -401,14 +417,46 @@
|
||||
<source>Tabs toolbar</source>
|
||||
<translation>Fitxen tresna-barra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the list of used sending addresses and labels</source>
|
||||
<translation>Erakutsi bidalketa-helbideen eta etiketen zerrenda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the list of used receiving addresses and labels</source>
|
||||
<translation>Harrera-helbideen eta etiketen zerrenda erakutsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Command-line options</source>
|
||||
<translation>&Komando-lerroaren aukerak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan indexatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Processing blocks on disk...</source>
|
||||
<translation>Blokeak diskoan prozesatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 behind</source>
|
||||
<translation>%1 atzetik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last received block was generated %1 ago.</source>
|
||||
<translation>Jasotako azken blokea duela %1 sortu zen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transactions after this will not yet be visible.</source>
|
||||
<translation>Honen ondorengo transakzioak oraindik ez daude ikusgai.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Akatsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
<translation>Abisua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information</source>
|
||||
<translation>Informazioa</translation>
|
||||
@@ -417,6 +465,10 @@
|
||||
<source>Up to date</source>
|
||||
<translation>Eguneratua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Adabegiaren leihoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>&Helbideak bidaltzen</translation>
|
||||
@@ -425,6 +477,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>&Helbideak jasotzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Ireki bitcoin bat: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Diruzorroa zabaldu</translation>
|
||||
@@ -441,10 +497,22 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Diruzorroa itxi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close All Wallets...</source>
|
||||
<translation>Diruzorro guztiak itxi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Diruzorro guztiak itxi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default wallet</source>
|
||||
<translation>Diruzorro lehenetsia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No wallets available</source>
|
||||
<translation>Ez dago diru-zorrorik eskura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Window</source>
|
||||
<translation>&Lehioa</translation>
|
||||
@@ -461,6 +529,14 @@
|
||||
<source>Main Window</source>
|
||||
<translation>Lehio nagusia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 client</source>
|
||||
<translation>%1 bezeroa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connecting to peers...</source>
|
||||
<translation>Pareekin konektatzen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Catching up...</source>
|
||||
<translation>Eguneratzen...</translation>
|
||||
@@ -491,6 +567,11 @@
|
||||
<translation>Diruzorroa: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type: %1
|
||||
</source>
|
||||
<translation>Mota: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Label: %1
|
||||
</source>
|
||||
@@ -511,6 +592,18 @@
|
||||
<source>Incoming transaction</source>
|
||||
<translation>Sartutako transakzioa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>enabled</b></source>
|
||||
<translation>HD gakoa sortzea <b>gaituta</b> dago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HD key generation is <b>disabled</b></source>
|
||||
<translation>HD gakoa sortzea <b>desgaituta</b> dago</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private key <b>disabled</b></source>
|
||||
<translation>Gako pribatua <b>desgaitua</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>unlocked</b></source>
|
||||
<translation>Zorroa <b>enkriptatuta</b> eta <b>desblokeatuta</b> dago une honetan</translation>
|
||||
@@ -519,6 +612,10 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Zorroa <b>enkriptatuta</b> eta <b>blokeatuta</b> dago une honetan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Jatorrizko mezua:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
@@ -538,18 +635,42 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Kopurua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Ordainketa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dust:</source>
|
||||
<translation>Hautsa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
<translation>Ordaindu ondoren:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Bueltak:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tree mode</source>
|
||||
<translation>Zuhaitz modua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>List mode</source>
|
||||
<translation>Zerrenda modua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Amount</source>
|
||||
<translation>Kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with label</source>
|
||||
<translation>Etiketarekin jasoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Received with address</source>
|
||||
<translation>Helbidearekin jasoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
@@ -570,6 +691,42 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Kopiatu transakzioaren IDa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock unspent</source>
|
||||
<translation>Blokeatu erabili gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlock unspent</source>
|
||||
<translation>Desblokeatu gastatu gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Kopia kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Kopiatu byte-ak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy dust</source>
|
||||
<translation>Kopiatu hautsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Kopiatu aldaketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(%1 locked)</source>
|
||||
<translation>(%1 blokeatuta)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>yes</source>
|
||||
<translation>bai</translation>
|
||||
@@ -597,13 +754,21 @@
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Diruzorroa sortzen hutsegitea</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Create wallet warning</source>
|
||||
<translation>Diru-zorroa sortzearen buruzko oharra</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletDialog</name>
|
||||
<message>
|
||||
<source>Create Wallet</source>
|
||||
<translation>Diruzorroa sortu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Diru-zorroa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Diruzorroaren izena</translation>
|
||||
@@ -612,11 +777,23 @@
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Diruzorroa enkriptatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Aukera aurreratuak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Desgaitu gako pribatuak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descriptor Wallet</source>
|
||||
<translation>Deskriptorearen zorroa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create</source>
|
||||
<translation>Sortu</translation>
|
||||
</message>
|
||||
</context>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -665,7 +842,15 @@
|
||||
<source>version</source>
|
||||
<translation>bertsioa</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>About %1</source>
|
||||
<translation>%1 inguru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command-line options</source>
|
||||
<translation>Komando lerroaren aukerak</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Intro</name>
|
||||
<message>
|
||||
@@ -691,6 +876,10 @@
|
||||
<source>Form</source>
|
||||
<translation>Inprimakia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of blocks left</source>
|
||||
<translation>Gainerako blokeen kopurua.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown...</source>
|
||||
<translation>Ezezaguna...</translation>
|
||||
@@ -699,6 +888,10 @@
|
||||
<source>Last block time</source>
|
||||
<translation>Azken blokearen unea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Progress</source>
|
||||
<translation>Aurrerapena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>calculating...</source>
|
||||
<translation>kalkulatzen...</translation>
|
||||
@@ -707,9 +900,17 @@
|
||||
<source>Hide</source>
|
||||
<translation>Izkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Ireki bitcoin URIa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI: </translation>
|
||||
@@ -729,7 +930,11 @@
|
||||
<source>default wallet</source>
|
||||
<translation>Diruzorro lehenetsia</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Opening Wallet <b>%1</b>...</source>
|
||||
<translation>Diru-zorroa irekitzen <b>%1</b>...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OptionsDialog</name>
|
||||
<message>
|
||||
@@ -744,6 +949,78 @@
|
||||
<source>Size of &database cache</source>
|
||||
<translation>Databasearen cache tamaina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source>
|
||||
<translation>Proxyaren IP helbidea (IPv4: 127.0.0.1 / IPv6: ::1 adibidez )</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Hide tray icon</source>
|
||||
<translation>&Erretiluaren ikonoa ezkutatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Configuration File</source>
|
||||
<translation>Ireki konfigurazio fitxategia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
<translation>Bezeroaren aukera guztiak hasieratu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Reset Options</source>
|
||||
<translation>&Aukerak Hasieratu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Network</source>
|
||||
<translation>&Sarea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>GB</source>
|
||||
<translation>GB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MiB</source>
|
||||
<translation>MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expert</source>
|
||||
<translation>Aditu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable coin &control features</source>
|
||||
<translation>Diruaren &kontrolaren ezaugarriak gaitu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Map port using &UPnP</source>
|
||||
<translation>Portua mapeatu &UPnP erabiliz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside.</source>
|
||||
<translation>Kanpoko konexioak onartu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow incomin&g connections</source>
|
||||
<translation>Sarbide konexioak baimendu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Proxy &IP:</source>
|
||||
<translation>Proxyaren &IP helbidea:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Port:</source>
|
||||
<translation>&Portua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Port of the proxy (e.g. 9050)</source>
|
||||
<translation>Proxy portua (9050 adibidez)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPv4</source>
|
||||
<translation>IPv4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPv6</source>
|
||||
<translation>IPv6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tor</source>
|
||||
<translation>Tor</translation>
|
||||
@@ -756,6 +1033,10 @@
|
||||
<source>&Display</source>
|
||||
<translation>&Pantaila</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User Interface &language:</source>
|
||||
<translation>Erabiltzaile-interfazearen &hizkuntza:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Unit to show amounts in:</source>
|
||||
<translation>Zenbatekoa azaltzeko &unitatea:</translation>
|
||||
@@ -768,10 +1049,22 @@
|
||||
<source>&Cancel</source>
|
||||
<translation>&Ezeztatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>default</source>
|
||||
<translation>lehenetsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>none</source>
|
||||
<translation>Bat ere ez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm options reset</source>
|
||||
<translation>Berretsi aukeren berrezarpena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client restart required to activate changes.</source>
|
||||
<translation>Bezeroa berrabiarazi behar da aldaketak aktibatzeko.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Configuration options</source>
|
||||
<translation>Konfiguraketa aukerak</translation>
|
||||
@@ -791,10 +1084,22 @@
|
||||
<source>Form</source>
|
||||
<translation>Inprimakia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch-only:</source>
|
||||
<translation>Ikusi-bakarrik:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available:</source>
|
||||
<translation>Eskuragarri:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pending:</source>
|
||||
<translation>Zai:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Immature:</source>
|
||||
<translation>Ez dago eskuragarri:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total:</source>
|
||||
<translation>Guztira:</translation>
|
||||
@@ -802,12 +1107,40 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>Kopiatu arbelera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>Gorde...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Itxi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PaymentServer</name>
|
||||
<message>
|
||||
<source>Payment request error</source>
|
||||
<translation>Ordainketa eskaera akatsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Ordainketa helbide baliogabea %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerTableModel</name>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Erabiltzaile agentea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node/Service</source>
|
||||
<translation>Adabegi / Zerbitzua</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
@@ -829,6 +1162,14 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>RPCConsole</name>
|
||||
<message>
|
||||
<source>User Agent</source>
|
||||
<translation>Erabiltzaile agentea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node window</source>
|
||||
<translation>Adabegiaren leihoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last block time</source>
|
||||
<translation>Azken blokearen unea</translation>
|
||||
@@ -852,6 +1193,10 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not unlock wallet.</source>
|
||||
<translation>Ezin da diruzorroa desblokeatu.</translation>
|
||||
@@ -913,6 +1258,14 @@
|
||||
<source>Amount:</source>
|
||||
<translation>Kopurua:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fee:</source>
|
||||
<translation>Ordainketa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>After Fee:</source>
|
||||
<translation>Ordaindu ondoren:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change:</source>
|
||||
<translation>Bueltak:</translation>
|
||||
@@ -937,6 +1290,26 @@
|
||||
<source>Confirm the send action</source>
|
||||
<translation>Bidalketa berretsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy quantity</source>
|
||||
<translation>Kopia kopurua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy bytes</source>
|
||||
<translation>Kopiatu byte-ak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy dust</source>
|
||||
<translation>Kopiatu hautsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy change</source>
|
||||
<translation>Kopiatu aldaketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm send coins</source>
|
||||
<translation>Txanponen bidalketa berretsi</translation>
|
||||
@@ -1002,6 +1375,22 @@
|
||||
<source>Alt+P</source>
|
||||
<translation>Alt+P</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No error</source>
|
||||
<translation>Ez dago errorerik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message signing failed.</source>
|
||||
<translation>Errorea mezua sinatzean</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message signed.</source>
|
||||
<translation>Mezua sinatuta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please check the signature and try again.</source>
|
||||
<translation>Mesedez, begiratu sinadura eta saiatu berriro.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrafficGraphWidget</name>
|
||||
@@ -1012,6 +1401,10 @@
|
||||
<source>Open until %1</source>
|
||||
<translation>Zabalik %1 arte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>abandoned</source>
|
||||
<translation>abandonatuta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1/unconfirmed</source>
|
||||
<translation>%1/konfirmatu gabe</translation>
|
||||
@@ -1020,14 +1413,66 @@
|
||||
<source>%1 confirmations</source>
|
||||
<translation>%1 konfirmazio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
<translation>Egoera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source</source>
|
||||
<translation>Iturria</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generated</source>
|
||||
<translation>Sortua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From</source>
|
||||
<translation>Tik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation>ezezaguna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To</source>
|
||||
<translation>Ra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>own address</source>
|
||||
<translation>zure helbidea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>ikusi bakarrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>label</source>
|
||||
<translation>etiketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Credit</source>
|
||||
<translation>Kreditua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>not accepted</source>
|
||||
<translation>Onartu gabe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debit</source>
|
||||
<translation>Zorrak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total debit</source>
|
||||
<translation>Zor totala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total credit</source>
|
||||
<translation>Kreditu totala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
<translation>Mezua</translation>
|
||||
@@ -1090,6 +1535,10 @@
|
||||
<source>Mined</source>
|
||||
<translation>Meatua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>watch-only</source>
|
||||
<translation>ikusi bakarrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(n/a)</source>
|
||||
<translation>(n/a)</translation>
|
||||
@@ -1177,6 +1626,14 @@
|
||||
<source>Copy label</source>
|
||||
<translation>Etiketa kopiatu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy amount</source>
|
||||
<translation>zenbatekoaren kopia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy transaction ID</source>
|
||||
<translation>Kopiatu transakzioaren IDa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Comma separated file (*.csv)</source>
|
||||
<translation>Komaz bereizitako artxiboa (*.csv)</translation>
|
||||
@@ -1215,6 +1672,10 @@
|
||||
<source>Close wallet</source>
|
||||
<translation>Diruzorroa itxi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close all wallets</source>
|
||||
<translation>Diruzorro guztiak itxi</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WalletFrame</name>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -183,7 +183,7 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Syötä uusi salasanalause lompakolle <br/>Ole hyvä ja käytä salasanalausetta, jossa on <b>kymmenen tai enemmän sattumanvaraisia merkkjä tai <b>kahdeksan tai enemmän sanoja</b> .</translation>
|
||||
<translation>Syötä uusi salasanalause lompakolle <br/>Käytä salasanalausetta, jossa on <b>vähintään kymmenen sattumanvaraista merkkiä tai <b>vähintään kahdeksan sanaa</b> .</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
@@ -844,6 +844,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
|
||||
<source>Create Wallet</source>
|
||||
<translation>Luo lompakko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Lompakko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Lompakon nimi</translation>
|
||||
@@ -856,6 +860,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Salaa lompakko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Options</source>
|
||||
<translation>Lisäasetukset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Poista tämän lompakon yksityiset avaimet käytöstä. Lompakot, joissa yksityiset avaimet on poistettu käytöstä, eivät sisällä yksityisiä avaimia, eikä niissä voi olla HD-juurisanoja tai tuotuja yksityisiä avaimia. Tämä on ihanteellinen katselulompakkoihin.</translation>
|
||||
@@ -884,6 +892,10 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
|
||||
<source>Create</source>
|
||||
<translation>Luo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compiled without sqlite support (required for descriptor wallets)</source>
|
||||
<translation>Koostettu ilman sqlite-tukea (vaaditaan descriptor-lompakoille)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
@@ -1206,7 +1218,7 @@ Allekirjoitus on mahdollista vain 'legacy'-tyyppisillä osoitteilla.</translatio
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Configuration File</source>
|
||||
<translation>Avaa asetustiedosto.</translation>
|
||||
<translation>Avaa asetustiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all client options to default.</source>
|
||||
@@ -3691,6 +3703,10 @@ Siirry osioon Tiedosto > Avaa lompakko ladataksesi lompakon.
|
||||
<source>Failed to verify database</source>
|
||||
<translation>Tietokannan todennus epäonnistui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignoring duplicate -wallet %s.</source>
|
||||
<translation>Ohitetaan kaksois -lompakko %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Importing...</source>
|
||||
<translation>Tuodaan...</translation>
|
||||
@@ -3997,10 +4013,6 @@ Siirry osioon Tiedosto > Avaa lompakko ladataksesi lompakon.
|
||||
<source>%s is set very high!</source>
|
||||
<translation>%s on asetettu todella korkeaksi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Virhe ladattaessa lompakkoa %s. -wallet -tiedostonimi esiintyy useaan kertaan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Käynnistetään verkkoa...</translation>
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the new passphrase for the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source>
|
||||
<translation>Ipasok ang bagong passphrase para sa wallet. (1)Mangyaring gumamit ng isang passphrase na(2) sampu o higit pang mga random na character(2), o (3)walo o higit pang mga salita(3).</translation>
|
||||
<translation>Ipasok ang bagong passphrase para sa wallet. <br/>Mangyaring gumamit ng isang passphrase na may <b>sampu o higit pang mga random na character</b>, o <b>walo o higit pang mga salita</b>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the old passphrase and new passphrase for the wallet.</source>
|
||||
@@ -473,6 +473,10 @@
|
||||
<source>Node window</source>
|
||||
<translation>Bintana ng Node</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open node debugging and diagnostic console</source>
|
||||
<translation>Open node debugging and diagnostic console</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sending addresses</source>
|
||||
<translation>Mga address para sa pagpapadala</translation>
|
||||
@@ -481,6 +485,10 @@
|
||||
<source>&Receiving addresses</source>
|
||||
<translation>Mga address para sa pagtanggap</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a bitcoin: URI</source>
|
||||
<translation>Open a bitcoin: URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Wallet</source>
|
||||
<translation>Buksan ang Walet</translation>
|
||||
@@ -605,6 +613,10 @@
|
||||
<source>Wallet is <b>encrypted</b> and currently <b>locked</b></source>
|
||||
<translation>Walet ay na-encrypt at kasalukuyang naka-lock.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Original message:</source>
|
||||
<translation>Orihinal na mensahe:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CoinControlDialog</name>
|
||||
@@ -759,6 +771,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>CreateWalletActivity</name>
|
||||
<message>
|
||||
<source>Creating Wallet <b>%1</b>...</source>
|
||||
<translation>Lumilikha ng Wallet 1 %1 1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create wallet failed</source>
|
||||
<translation>Nabigo ang Pag likha ng Pitaka</translation>
|
||||
@@ -774,14 +790,34 @@
|
||||
<source>Create Wallet</source>
|
||||
<translation>Gumawa ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet</source>
|
||||
<translation>Walet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wallet Name</source>
|
||||
<translation>Pangalan ng Pitaka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</source>
|
||||
<translation>Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encrypt Wallet</source>
|
||||
<translation>Encrypt Wallet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</source>
|
||||
<translation>Disable private keys for this wallet. Wallets with private keys disabled will have no private keys and cannot have an HD seed or imported private keys. This is ideal for watch-only wallets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Private Keys</source>
|
||||
<translation>Huwag paganahin ang Privbadong susi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</source>
|
||||
<translation>Make a blank wallet. Blank wallets do not initially have private keys or scripts. Private keys and addresses can be imported, or an HD seed can be set, at a later time.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Make Blank Wallet</source>
|
||||
<translation>Gumawa ng Blankong Pitaka</translation>
|
||||
@@ -790,7 +826,7 @@
|
||||
<source>Create</source>
|
||||
<translation>Gumawa</translation>
|
||||
</message>
|
||||
</context>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditAddressDialog</name>
|
||||
<message>
|
||||
@@ -902,6 +938,10 @@
|
||||
<source>When you click OK, %1 will begin to download and process the full %4 block chain (%2GB) starting with the earliest transactions in %3 when %4 initially launched.</source>
|
||||
<translation>Pagkatapos mong mag-click ng OK, %1 ay magsisimulang mag-download at mag-proseso ng buong blockchain (%2GB) magmula sa pinakaunang transaksyon sa %3 nuong ang %4 ay paunang nilunsad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</source>
|
||||
<translation>Reverting this setting requires re-downloading the entire blockchain. It is faster to download the full chain first and prune it later. Disables some advanced features.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This initial synchronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run %1, it will continue downloading where it left off.</source>
|
||||
<translation>Maraming pangangailangan ang itong paunang sinkronisasyon at maaaring ilantad ang mga problema sa hardware ng iyong computer na hindi dating napansin. Tuwing pagaganahin mo ang %1, ito'y magpapatuloy mag-download kung saan ito tumigil.</translation>
|
||||
@@ -922,6 +962,10 @@
|
||||
<source>Bitcoin</source>
|
||||
<translation>Bitcoin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard blocks after verification, except most recent %1 GB (prune)</source>
|
||||
<translation>Discard blocks after verification, except most recent %1 GB (prune)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>At least %1 GB of data will be stored in this directory, and it will grow over time.</source>
|
||||
<translation>Kahit na %1 GB na datos ay maiimbak sa direktoryong ito, ito ay lalaki sa pagtagal.</translation>
|
||||
@@ -1001,6 +1045,10 @@
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</source>
|
||||
<translation>%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown. Syncing Headers (%1, %2%)...</source>
|
||||
<translation>Hindi alam. S-in-i-sync ang mga Header (%1, %2%)...</translation>
|
||||
@@ -1008,6 +1056,10 @@
|
||||
</context>
|
||||
<context>
|
||||
<name>OpenURIDialog</name>
|
||||
<message>
|
||||
<source>Open bitcoin URI</source>
|
||||
<translation>Open bitcoin URI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URI:</source>
|
||||
<translation>URI:</translation>
|
||||
@@ -1122,6 +1174,10 @@
|
||||
<source>MiB</source>
|
||||
<translation>MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(0 = auto, <0 = leave that many cores free)</source>
|
||||
<translation>(0 = auto, <0 = leave that many cores free)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>W&allet</source>
|
||||
<translation>Walet</translation>
|
||||
@@ -1369,9 +1425,65 @@
|
||||
<source>Current total balance in watch-only addresses</source>
|
||||
<translation>Kasalukuyang kabuuan ng balanse sa mga watch-only address</translation>
|
||||
</message>
|
||||
</context>
|
||||
<message>
|
||||
<source>Privacy mode activated for the Overview tab. To unmask the values, uncheck Settings->Mask values.</source>
|
||||
<translation>Na-activate ang mode ng privacy para sa tab na Pangkalahatang-ideya. Upang ma-unkkan ang mga halaga, alisan ng check ang Mga Setting-> Mga halaga ng mask.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PSBTOperationsDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Dialog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign Tx</source>
|
||||
<translation>I-sign ang Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Broadcast Tx</source>
|
||||
<translation>I-broadcast ang Tx</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>Kopyahin sa clipboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save...</source>
|
||||
<translation>I-save ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Isara</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load transaction: %1</source>
|
||||
<translation>Nabigong i-load ang transaksyon: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to sign transaction: %1</source>
|
||||
<translation>Nabigong pumirma sa transaksyon: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not sign any more inputs.</source>
|
||||
<translation>Hindi makapag-sign ng anumang karagdagang mga input.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed %1 inputs, but more signatures are still required.</source>
|
||||
<translation>Naka-sign %1 na mga input, ngunit kailangan pa ng maraming mga lagda.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
|
||||
<translation>Matagumpay na nag-sign transaksyon. Handa nang i-broadcast ang transaksyon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error processing transaction.</source>
|
||||
<translation>Hindi kilalang error sa pagproseso ng transaksyon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction broadcast successfully! Transaction ID: %1</source>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Amount</source>
|
||||
<translation>Kabuuang Halaga</translation>
|
||||
@@ -1399,6 +1511,18 @@
|
||||
<source>'bitcoin://' is not a valid URI. Use 'bitcoin:' instead.</source>
|
||||
<translation>Ang 'bitcoin://' ay hindi wastong URI. Sa halip, gamitin ang 'bitcoin:'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot process payment request because BIP70 is not supported.</source>
|
||||
<translation>Cannot process payment request because BIP70 is not supported.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</source>
|
||||
<translation>Due to widespread security flaws in BIP70 it's strongly recommended that any merchant instructions to switch wallets be ignored.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</source>
|
||||
<translation>If you are receiving this error you should request the merchant provide a BIP21 compatible URI.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid payment address %1</source>
|
||||
<translation>Hindi wasto and address ng bayad %1</translation>
|
||||
@@ -2387,6 +2511,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Remove this entry</source>
|
||||
<translation>Alisin ang entry na ito</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The amount to send in the selected unit</source>
|
||||
<translation>The amount to send in the selected unit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
|
||||
<translation>Ibabawas ang bayad mula sa halagang ipapadala. Ang tatanggap ay makakatanggap ng mas kaunting mga bitcoin kaysa sa pinasok mo sa patlang ng halaga. Kung napili ang maraming tatanggap, ang bayad ay paghihiwalayin.</translation>
|
||||
@@ -2513,6 +2641,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>The Bitcoin address the message was signed with</source>
|
||||
<translation>Ang Bitcoin address na pumirma sa mensahe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signed message to verify</source>
|
||||
<translation>The signed message to verify</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The signature given when the message was signed</source>
|
||||
<translation>The signature given when the message was signed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
|
||||
<translation>Tiyakin ang katotohanan ng mensahe upang siguruhin na ito'y napirmahan ng tinukoy na Bitcoin address</translation>
|
||||
@@ -2723,6 +2859,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Output index</source>
|
||||
<translation>Output index</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (Certificate was not verified)</source>
|
||||
<translation> (Certificate was not verified)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merchant</source>
|
||||
<translation>Mangangalakal</translation>
|
||||
@@ -3046,6 +3186,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Close wallet</source>
|
||||
<translation>Isara ang walet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you wish to close the wallet <i>%1</i>?</source>
|
||||
<translation>Are you sure you wish to close the wallet <i>%1</i>?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled.</source>
|
||||
<translation>Ang pagsasara ng walet nang masyadong matagal ay maaaring magresulta sa pangangailangan ng pag-resync sa buong chain kung pinagana ang pruning.</translation>
|
||||
@@ -3076,6 +3220,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Do you want to increase the fee?</source>
|
||||
<translation>Nais mo bang dagdagan ang bayad?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to draft a transaction with fee increase?</source>
|
||||
<translation>Do you want to draft a transaction with fee increase?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current fee:</source>
|
||||
<translation>Kasalukuyang bayad:</translation>
|
||||
@@ -3186,6 +3334,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Cannot obtain a lock on data directory %s. %s is probably already running.</source>
|
||||
<translation>Hindi makakuha ng lock sa direktoryo ng data %s. Malamang na tumatakbo ang %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot provide specific connections and have addrman find outgoing connections at the same.</source>
|
||||
<translation>Cannot provide specific connections and have addrman find outgoing connections at the same.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
|
||||
<translation>Error sa pagbabasa %s! Nabasa nang tama ang lahat ng mga key, ngunit ang data ng transaksyon o mga entry sa address book ay maaaring nawawala o hindi tama.</translation>
|
||||
@@ -3250,6 +3402,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Corrupted block database detected</source>
|
||||
<translation>Sirang block database ay napansin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find asmap file %s</source>
|
||||
<translation>Could not find asmap file %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse asmap file %s</source>
|
||||
<translation>Could not parse asmap file %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to rebuild the block database now?</source>
|
||||
<translation>Nais mo bang muling itayo ang block database?</translation>
|
||||
@@ -3302,6 +3462,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Incorrect or no genesis block found. Wrong datadir for network?</source>
|
||||
<translation>Hindi tamang o walang nahanap na genesis block. Maling datadir para sa network?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initialization sanity check failed. %s is shutting down.</source>
|
||||
<translation>Initialization sanity check failed. %s is shutting down.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid P2P permission: '%s'</source>
|
||||
<translation>Invalid P2P permission: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -%s=<amount>: '%s'</source>
|
||||
<translation>Hindi wastong halaga para sa -%s=<amount>: '%s'</translation>
|
||||
@@ -3318,6 +3486,14 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Specified blocks directory "%s" does not exist.</source>
|
||||
<translation>Ang tinukoy na direktoryo ng mga block "%s" ay hindi umiiral.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown address type '%s'</source>
|
||||
<translation>Unknown address type '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown change type '%s'</source>
|
||||
<translation>Unknown change type '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upgrading txindex database</source>
|
||||
<translation>Nag-u-upgrade ng txindex database</translation>
|
||||
@@ -3434,6 +3610,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Kailangang tukuyin ang port na may -whitebind: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prune mode is incompatible with -blockfilterindex.</source>
|
||||
<translation>Prune mode is incompatible with -blockfilterindex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reducing -maxconnections from %d to %d, because of system limitations.</source>
|
||||
<translation>Pagbabawas ng -maxconnections mula sa %d hanggang %d, dahil sa mga limitasyon ng systema.</translation>
|
||||
@@ -3492,6 +3672,10 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>Unable to generate initial keys</source>
|
||||
<translation>Hindi makagawa ng paunang mga key</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown -blockfilterindex value %s.</source>
|
||||
<translation>Unknown -blockfilterindex value %s.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Verifying wallet(s)...</source>
|
||||
<translation>Nag-ve-verify ng mga walet...</translation>
|
||||
@@ -3516,10 +3700,6 @@ Tandaan: Dahil ang bayad ay kinakalkula sa bawat-byte na batayan, ang bayad ng
|
||||
<source>%s is set very high!</source>
|
||||
<translation>Ang %s ay nakatakda ng napakataas!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading wallet %s. Duplicate -wallet filename specified.</source>
|
||||
<translation>Kamalian sa paglo-load ng walet %s. Duplicate -wallet filename na tinukoy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting network threads...</source>
|
||||
<translation>Pagsisimula ng mga thread ng network...</translation>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
4081
src/qt/locale/bitcoin_ga.ts
Normal file
4081
src/qt/locale/bitcoin_ga.ts
Normal file
File diff suppressed because it is too large
Load Diff
1921
src/qt/locale/bitcoin_gl.ts
Normal file
1921
src/qt/locale/bitcoin_gl.ts
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user