From e83673f28263f99ef7b5a8886eaec58277536c14 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Wed, 20 Apr 2022 13:12:58 -0500 Subject: [PATCH 01/74] fix: adjust nWindowSize and nThresholdStart and nThresholdMin (#4786) --- src/chainparams.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 9304606bca..3d90569197 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -467,9 +467,9 @@ public: consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].bit = 7; consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nStartTime = 1649980800; // Friday, April 15, 2022 0:00:00 consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nTimeout = 999999999999ULL; - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nWindowSize = 4032; - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdStart = 3226; // 80% of 4032 - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdMin = 2420; // 60% of 4032 + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nWindowSize = 100; + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdStart = 80; // 80% of 100 + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdMin = 60; // 60% of 100 consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nFalloffCoeff = 5; // this corresponds to 10 periods // The best chain should have at least this much work. From ed12b8d29df8d32bfdd87eba25b871c265cc09bc Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Wed, 20 Apr 2022 13:19:59 -0500 Subject: [PATCH 02/74] fix(instantsend): avoid an iterator invalidation in pendingInstantSendLocks handling (#4787) * fix(instantsend): avoid an iterator invalidation in pendingInstantSendLocks handling this also removes the following, as it doesn't take into account deterministic / not deterministic ``` if (pendingInstantSendLocks.size() <= maxCount) { pend = std::move(pendingInstantSendLocks); } ``` Also uses structured bindings * suggestions Co-authored-by: UdjinM6 --- src/llmq/instantsend.cpp | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/llmq/instantsend.cpp b/src/llmq/instantsend.cpp index 7cd96895a2..70c74efc6d 100644 --- a/src/llmq/instantsend.cpp +++ b/src/llmq/instantsend.cpp @@ -883,18 +883,27 @@ bool CInstantSendManager::ProcessPendingInstantSendLocks(bool deterministic) // only process a max 32 locks at a time to avoid duplicate verification of recovered signatures which have been // verified by CSigningManager in parallel const size_t maxCount = 32; - if (pendingInstantSendLocks.size() <= maxCount) { - pend = std::move(pendingInstantSendLocks); - } else { - for (auto it = pendingInstantSendLocks.begin(); it != pendingInstantSendLocks.end() && pend.size() < maxCount;) { - if (it->second.second->IsDeterministic() == deterministic) { - pend.emplace(it->first, std::move(it->second)); - pendingInstantSendLocks.erase(it); - } else { - ++it; - } + // The keys of the removed values are temporaily stored here to avoid invalidating an iterator + std::vector removed; + removed.reserve(maxCount); + + for (const auto& [islockHash, nodeid_islptr_pair] : pendingInstantSendLocks) { + const auto& [_, islock_ptr] = nodeid_islptr_pair; + // Check if we've reached max count + if (pend.size() >= maxCount) { + fMoreWork = true; + break; } - fMoreWork = true; + // Check if we care about this islock on this run + if (islock_ptr->IsDeterministic() != deterministic) { + continue; + } + pend.emplace(islockHash, std::move(nodeid_islptr_pair)); + removed.emplace_back(islockHash); + } + + for (const auto& islockHash : removed) { + pendingInstantSendLocks.erase(islockHash); } } From bf3319cb26543757093a0da7e48d5e5b554e8567 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 21 Apr 2022 04:57:46 +0300 Subject: [PATCH 03/74] instantsend: create islock/isdlock based on the quorum rotation activation status (#4790) --- src/llmq/instantsend.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/llmq/instantsend.cpp b/src/llmq/instantsend.cpp index 70c74efc6d..1d4f30bd69 100644 --- a/src/llmq/instantsend.cpp +++ b/src/llmq/instantsend.cpp @@ -705,7 +705,9 @@ void CInstantSendManager::TrySignInstantSendLock(const CTransaction& tx) LogPrint(BCLog::INSTANTSEND, "CInstantSendManager::%s -- txid=%s: got all recovered sigs, creating CInstantSendLock\n", __func__, tx.GetHash().ToString()); - CInstantSendLock islock(CInstantSendLock::isdlock_version); + CInstantSendLock islock(llmqType == Params().GetConsensus().llmqTypeDIP0024InstantSend ? + CInstantSendLock::isdlock_version: + CInstantSendLock::islock_version); islock.txid = tx.GetHash(); for (auto& in : tx.vin) { islock.inputs.emplace_back(in.prevout); From 7c330ab5e945cf803cd1f6a5021ee3ffd20c5ce5 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Thu, 21 Apr 2022 17:01:29 -0500 Subject: [PATCH 04/74] fix(qt): fix crash when first enabling governance tab due to null-ptr deref (#4795) Decided to also apply the same logic to the other items so that we don't do nullptr dereferences replication ``` ./src/qt/dash-qt --regtest --resetguisettings Enable governance shutdown ``` --- src/qt/walletview.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index f096403930..721d3ae343 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -153,14 +153,20 @@ void WalletView::setClientModel(ClientModel *_clientModel) { this->clientModel = _clientModel; - overviewPage->setClientModel(_clientModel); - sendCoinsPage->setClientModel(_clientModel); - coinJoinCoinsPage->setClientModel(_clientModel); + if (overviewPage != nullptr) { + overviewPage->setClientModel(_clientModel); + } + if (sendCoinsPage != nullptr) { + sendCoinsPage->setClientModel(_clientModel); + } + if (coinJoinCoinsPage != nullptr) { + coinJoinCoinsPage->setClientModel(_clientModel); + } QSettings settings; - if (settings.value("fShowMasternodesTab").toBool()) { + if (settings.value("fShowMasternodesTab").toBool() && masternodeListPage != nullptr) { masternodeListPage->setClientModel(_clientModel); } - if (settings.value("fShowGovernanceTab").toBool()) { + if (settings.value("fShowGovernanceTab").toBool() && governanceListPage != nullptr) { governanceListPage->setClientModel(_clientModel); } } From 2f12a8e38a3f80984e44b370d637f07753c08b4f Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 25 Apr 2022 22:12:04 +0300 Subject: [PATCH 05/74] tests: various fixes/cleanups (#4797) * tests: move `move_to_next_cycle` to `DashTestFramework` * tests: set correct defaults for `mine_cycle_quorum` * tests: use correct quorum type in `create_islock` * tests: fix `rpc_verifyislock.py` * tests: fix `feature_llmq_is_cl_conflicts.py` * tests: isolate zmq subscribers in `interface_zmq_dash.py` this lets us call `test_*_publishers()` in any order and any number of times * tests: check zmq for both deterministic and non-deterministic islocks --- .../feature_llmq_is_cl_conflicts.py | 14 ++- test/functional/feature_llmq_is_migration.py | 19 +-- test/functional/feature_llmq_rotation.py | 16 --- test/functional/interface_zmq_dash.py | 112 +++++++++++------- test/functional/rpc_verifyislock.py | 2 +- .../test_framework/test_framework.py | 22 +++- 6 files changed, 104 insertions(+), 81 deletions(-) diff --git a/test/functional/feature_llmq_is_cl_conflicts.py b/test/functional/feature_llmq_is_cl_conflicts.py index 7017705118..c0821db3ad 100755 --- a/test/functional/feature_llmq_is_cl_conflicts.py +++ b/test/functional/feature_llmq_is_cl_conflicts.py @@ -51,8 +51,8 @@ class TestP2PConn(P2PInterface): class LLMQ_IS_CL_Conflicts(DashTestFramework): def set_test_params(self): - self.set_dash_test_params(4, 3, fast_dip3_enforcement=True) - #disable_mocktime() + self.set_dash_test_params(5, 4, fast_dip3_enforcement=True) + self.set_dash_llmq_test_params(4, 4) def run_test(self): self.activate_dip8() @@ -72,6 +72,14 @@ class LLMQ_IS_CL_Conflicts(DashTestFramework): self.test_chainlock_overrides_islock(True, False) self.test_chainlock_overrides_islock(True, True) self.test_chainlock_overrides_islock_overrides_nonchainlock(False) + self.activate_dip0024() + self.log.info("Activated DIP0024 at height:" + str(self.nodes[0].getblockcount())) + self.test_chainlock_overrides_islock_overrides_nonchainlock(False) + # At this point, we need to move forward 3 cycles (3 x 24 blocks) so the first 3 quarters can be created (without DKG sessions) + self.move_to_next_cycle() + self.move_to_next_cycle() + self.move_to_next_cycle() + self.mine_cycle_quorum() self.test_chainlock_overrides_islock_overrides_nonchainlock(True) def test_chainlock_overrides_islock(self, test_block_conflict, mine_confllicting=False): @@ -320,7 +328,7 @@ class LLMQ_IS_CL_Conflicts(DashTestFramework): coinbase.calc_sha256() - block = create_block(int(tip_hash, 16), coinbase, ntime=bt['curtime']) + block = create_block(int(tip_hash, 16), coinbase, ntime=bt['curtime'], version=bt['version']) block.vtx += vtx # Add quorum commitments from template diff --git a/test/functional/feature_llmq_is_migration.py b/test/functional/feature_llmq_is_migration.py index 213a16c4bc..68ff79291c 100755 --- a/test/functional/feature_llmq_is_migration.py +++ b/test/functional/feature_llmq_is_migration.py @@ -6,7 +6,7 @@ import time from test_framework.messages import CTransaction, FromHex, hash256, ser_compact_size, ser_string from test_framework.test_framework import DashTestFramework -from test_framework.util import wait_until, connect_nodes, sync_blocks +from test_framework.util import wait_until, connect_nodes ''' feature_llmq_is_migration.py @@ -91,7 +91,7 @@ class LLMQISMigrationTest(DashTestFramework): self.move_to_next_cycle() self.log.info("Cycle H+2C height:" + str(self.nodes[0].getblockcount())) - (quorum_info_0_0, quorum_info_0_1) = self.mine_cycle_quorum("llmq_test_dip0024", 103) + (quorum_info_0_0, quorum_info_0_1) = self.mine_cycle_quorum() q_list = self.nodes[0].quorum("list") self.log.info(q_list) @@ -118,20 +118,5 @@ class LLMQISMigrationTest(DashTestFramework): assert not n.quorum("hasrecsig", 104, request_id2, txid2) - def move_to_next_cycle(self): - cycle_length = 24 - mninfos_online = self.mninfo.copy() - nodes = [self.nodes[0]] + [mn.node for mn in mninfos_online] - cur_block = self.nodes[0].getblockcount() - - # move forward to next DKG - skip_count = cycle_length - (cur_block % cycle_length) - if skip_count != 0: - self.bump_mocktime(1, nodes=nodes) - self.nodes[0].generate(skip_count) - sync_blocks(nodes) - time.sleep(1) - self.log.info('Moved from block %d to %d' % (cur_block, self.nodes[0].getblockcount())) - if __name__ == '__main__': LLMQISMigrationTest().main() diff --git a/test/functional/feature_llmq_rotation.py b/test/functional/feature_llmq_rotation.py index 18f574a0e8..6e737ed49b 100755 --- a/test/functional/feature_llmq_rotation.py +++ b/test/functional/feature_llmq_rotation.py @@ -9,7 +9,6 @@ feature_llmq_rotation.py Checks LLMQs Quorum Rotation ''' -import time from test_framework.test_framework import DashTestFramework from test_framework.util import ( assert_equal, @@ -128,21 +127,6 @@ class LLMQQuorumRotationTest(DashTestFramework): wait_until(lambda: self.nodes[0].getbestblockhash() == new_quorum_blockhash, sleep=1) assert_equal(self.nodes[0].quorum("list", llmq_type), new_quorum_list) - def move_to_next_cycle(self): - cycle_length = 24 - mninfos_online = self.mninfo.copy() - nodes = [self.nodes[0]] + [mn.node for mn in mninfos_online] - cur_block = self.nodes[0].getblockcount() - - # move forward to next DKG - skip_count = cycle_length - (cur_block % cycle_length) - if skip_count != 0: - self.bump_mocktime(1, nodes=nodes) - self.nodes[0].generate(skip_count) - sync_blocks(nodes) - time.sleep(1) - self.log.info('Moved from block %d to %d' % (cur_block, self.nodes[0].getblockcount())) - if __name__ == '__main__': LLMQQuorumRotationTest().main() diff --git a/test/functional/interface_zmq_dash.py b/test/functional/interface_zmq_dash.py index 4410ae53b1..dc5caaf4b9 100755 --- a/test/functional/interface_zmq_dash.py +++ b/test/functional/interface_zmq_dash.py @@ -28,6 +28,7 @@ from test_framework.messages import ( msg_clsig, msg_inv, msg_isdlock, + msg_islock, msg_tx, ser_string, uint256_from_str, @@ -52,24 +53,39 @@ class ZMQPublisher(Enum): raw_recovered_sig = "rawrecoveredsig" +class ZMQSubscriber: + def __init__(self, socket, topic): + self.socket = socket + self.topic = topic + + import zmq + self.socket.setsockopt(zmq.SUBSCRIBE, self.topic) + + def receive(self, flags=0): + topic, body, seq = self.socket.recv_multipart(flags) + # Topic should match the subscriber topic. + assert_equal(topic, self.topic) + return io.BytesIO(body) + + class TestP2PConn(P2PInterface): def __init__(self): super().__init__() self.islocks = {} self.txes = {} - def send_islock(self, islock): + def send_islock(self, islock, deterministic): hash = uint256_from_str(hash256(islock.serialize())) self.islocks[hash] = islock - inv = msg_inv([CInv(30, hash)]) + inv = msg_inv([CInv(31 if deterministic else 30, hash)]) self.send_message(inv) - def send_tx(self, tx): + def send_tx(self, tx, deterministic): hash = uint256_from_str(hash256(tx.serialize())) self.txes[hash] = tx - inv = msg_inv([CInv(30, hash)]) + inv = msg_inv([CInv(31 if deterministic else 30, hash)]) self.send_message(inv) def on_getdata(self, message): @@ -89,7 +105,10 @@ class DashZMQTest (DashTestFramework): node0_extra_args.append("-whitelist=127.0.0.1") node0_extra_args.append("-watchquorums") # have to watch quorums to receive recsigs and trigger zmq - self.set_dash_test_params(4, 3, fast_dip3_enforcement=True, extra_args=[node0_extra_args, [], [], []]) + extra_args = [[]] * 5 + extra_args[0] = node0_extra_args + self.set_dash_test_params(5, 4, fast_dip3_enforcement=True, extra_args=extra_args) + self.set_dash_llmq_test_params(4, 4) def skip_test_if_missing_module(self): self.skip_if_no_py3_zmq() @@ -97,16 +116,15 @@ class DashZMQTest (DashTestFramework): self.skip_if_no_wallet() def run_test(self): + self.subscribers = {} # Check that dashd has been built with ZMQ enabled. config = configparser.ConfigParser() config.read_file(open(self.options.configfile)) import zmq try: - # Setup the ZMQ subscriber socket + # Setup the ZMQ subscriber context self.zmq_context = zmq.Context() - self.socket = self.zmq_context.socket(zmq.SUB) - self.socket.connect(self.address) # Initialize the network self.activate_dip8() self.nodes[0].spork("SPORK_17_QUORUM_DKG_ENABLED", 0) @@ -122,30 +140,41 @@ class DashZMQTest (DashTestFramework): # Test all dash related ZMQ publisher self.test_recovered_signature_publishers() self.test_chainlock_publishers() - self.test_instantsend_publishers() self.test_governance_publishers() self.test_getzmqnotifications() + self.test_instantsend_publishers(False) + self.activate_dip0024() + self.wait_for_chainlocked_block_all_nodes(self.nodes[0].getbestblockhash()) + self.log.info("Activated DIP0024 at height:" + str(self.nodes[0].getblockcount())) + self.test_instantsend_publishers(False) + # At this point, we need to move forward 3 cycles (3 x 24 blocks) so the first 3 quarters can be created (without DKG sessions) + self.move_to_next_cycle() + self.test_instantsend_publishers(False) + self.move_to_next_cycle() + self.test_instantsend_publishers(False) + self.move_to_next_cycle() + self.test_instantsend_publishers(False) + self.mine_cycle_quorum() + self.test_instantsend_publishers(True) finally: # Destroy the ZMQ context. self.log.debug("Destroying ZMQ context") self.zmq_context.destroy(linger=None) def subscribe(self, publishers): + import zmq + # Setup the ZMQ subscriber socket + socket = self.zmq_context.socket(zmq.SUB) + socket.set(zmq.RCVTIMEO, 60000) + socket.connect(self.address) # Subscribe to a list of ZMQPublishers for pub in publishers: - self.socket.subscribe(pub.value) + self.subscribers[pub] = ZMQSubscriber(socket, pub.value.encode()) def unsubscribe(self, publishers): # Unsubscribe from a list of ZMQPublishers for pub in publishers: - self.socket.unsubscribe(pub.value) - - def receive(self, publisher, flags=0): - # Receive a ZMQ message and validate it's sent from the correct ZMQPublisher - topic, body, seq = self.socket.recv_multipart(flags) - # Topic should match the publisher value - assert_equal(topic.decode(), publisher.value) - return io.BytesIO(body) + del self.subscribers[pub] def test_recovered_signature_publishers(self): @@ -153,11 +182,11 @@ class DashZMQTest (DashTestFramework): # Make sure the recovered sig exists by RPC rpc_recovered_sig = self.get_recovered_sig(request_id, msg_hash) # Validate hashrecoveredsig - zmq_recovered_sig_hash = self.receive(ZMQPublisher.hash_recovered_sig).read(32).hex() + zmq_recovered_sig_hash = self.subscribers[ZMQPublisher.hash_recovered_sig].receive().read(32).hex() assert_equal(zmq_recovered_sig_hash, msg_hash) # Validate rawrecoveredsig zmq_recovered_sig_raw = CRecoveredSig() - zmq_recovered_sig_raw.deserialize(self.receive(ZMQPublisher.raw_recovered_sig)) + zmq_recovered_sig_raw.deserialize(self.subscribers[ZMQPublisher.raw_recovered_sig].receive()) assert_equal(zmq_recovered_sig_raw.llmqType, rpc_recovered_sig['llmqType']) assert_equal(uint256_to_string(zmq_recovered_sig_raw.quorumHash), rpc_recovered_sig['quorumHash']) assert_equal(uint256_to_string(zmq_recovered_sig_raw.id), rpc_recovered_sig['id']) @@ -207,15 +236,15 @@ class DashZMQTest (DashTestFramework): rpc_chain_lock_hash = rpc_chain_locked_block["hash"] assert_equal(generated_hash, rpc_chain_lock_hash) # Validate hashchainlock - zmq_chain_lock_hash = self.receive(ZMQPublisher.hash_chain_lock).read(32).hex() + zmq_chain_lock_hash = self.subscribers[ZMQPublisher.hash_chain_lock].receive().read(32).hex() assert_equal(zmq_chain_lock_hash, rpc_best_chain_lock_hash) # Validate rawchainlock zmq_chain_locked_block = CBlock() - zmq_chain_locked_block.deserialize(self.receive(ZMQPublisher.raw_chain_lock)) + zmq_chain_locked_block.deserialize(self.subscribers[ZMQPublisher.raw_chain_lock].receive()) assert zmq_chain_locked_block.is_valid() assert_equal(zmq_chain_locked_block.hash, rpc_chain_lock_hash) # Validate rawchainlocksig - zmq_chain_lock_sig_stream = self.receive(ZMQPublisher.raw_chain_lock_sig) + zmq_chain_lock_sig_stream = self.subscribers[ZMQPublisher.raw_chain_lock_sig].receive() zmq_chain_locked_block = CBlock() zmq_chain_locked_block.deserialize(zmq_chain_lock_sig_stream) assert zmq_chain_locked_block.is_valid() @@ -228,7 +257,7 @@ class DashZMQTest (DashTestFramework): # Unsubscribe from ChainLock messages self.unsubscribe(chain_lock_publishers) - def test_instantsend_publishers(self): + def test_instantsend_publishers(self, deterministic): import zmq instantsend_publishers = [ ZMQPublisher.hash_tx_lock, @@ -251,57 +280,57 @@ class DashZMQTest (DashTestFramework): rpc_raw_tx_1_hash = self.nodes[0].sendrawtransaction(rpc_raw_tx_1['hex']) self.wait_for_instantlock(rpc_raw_tx_1_hash, self.nodes[0]) # Validate hashtxlock - zmq_tx_lock_hash = self.receive(ZMQPublisher.hash_tx_lock).read(32).hex() + zmq_tx_lock_hash = self.subscribers[ZMQPublisher.hash_tx_lock].receive().read(32).hex() assert_equal(zmq_tx_lock_hash, rpc_raw_tx_1['txid']) # Validate rawtxlock zmq_tx_lock_raw = CTransaction() - zmq_tx_lock_raw.deserialize(self.receive(ZMQPublisher.raw_tx_lock)) + zmq_tx_lock_raw.deserialize(self.subscribers[ZMQPublisher.raw_tx_lock].receive()) assert zmq_tx_lock_raw.is_valid() assert_equal(zmq_tx_lock_raw.hash, rpc_raw_tx_1['txid']) # Validate rawtxlocksig - zmq_tx_lock_sig_stream = self.receive(ZMQPublisher.raw_tx_lock_sig) + zmq_tx_lock_sig_stream = self.subscribers[ZMQPublisher.raw_tx_lock_sig].receive() zmq_tx_lock_tx = CTransaction() zmq_tx_lock_tx.deserialize(zmq_tx_lock_sig_stream) assert zmq_tx_lock_tx.is_valid() assert_equal(zmq_tx_lock_tx.hash, rpc_raw_tx_1['txid']) - zmq_tx_lock = msg_isdlock() + zmq_tx_lock = msg_isdlock() if deterministic else msg_islock() zmq_tx_lock.deserialize(zmq_tx_lock_sig_stream) assert_equal(uint256_to_string(zmq_tx_lock.txid), rpc_raw_tx_1['txid']) # Try to send the second transaction. This must throw an RPC error because it conflicts with rpc_raw_tx_1 # which already got the InstantSend lock. assert_raises_rpc_error(-26, "tx-txlock-conflict", self.nodes[0].sendrawtransaction, rpc_raw_tx_2['hex']) # Validate hashinstantsenddoublespend - zmq_double_spend_hash2 = self.receive(ZMQPublisher.hash_instantsend_doublespend).read(32).hex() - zmq_double_spend_hash1 = self.receive(ZMQPublisher.hash_instantsend_doublespend).read(32).hex() + zmq_double_spend_hash2 = self.subscribers[ZMQPublisher.hash_instantsend_doublespend].receive().read(32).hex() + zmq_double_spend_hash1 = self.subscribers[ZMQPublisher.hash_instantsend_doublespend].receive().read(32).hex() assert_equal(zmq_double_spend_hash2, rpc_raw_tx_2['txid']) assert_equal(zmq_double_spend_hash1, rpc_raw_tx_1['txid']) # Validate rawinstantsenddoublespend zmq_double_spend_tx_2 = CTransaction() - zmq_double_spend_tx_2.deserialize(self.receive(ZMQPublisher.raw_instantsend_doublespend)) + zmq_double_spend_tx_2.deserialize(self.subscribers[ZMQPublisher.raw_instantsend_doublespend].receive()) assert zmq_double_spend_tx_2.is_valid() assert_equal(zmq_double_spend_tx_2.hash, rpc_raw_tx_2['txid']) zmq_double_spend_tx_1 = CTransaction() - zmq_double_spend_tx_1.deserialize(self.receive(ZMQPublisher.raw_instantsend_doublespend)) + zmq_double_spend_tx_1.deserialize(self.subscribers[ZMQPublisher.raw_instantsend_doublespend].receive()) assert zmq_double_spend_tx_1.is_valid() assert_equal(zmq_double_spend_tx_1.hash, rpc_raw_tx_1['txid']) # No islock notifications when tx is not received yet self.nodes[0].generate(1) rpc_raw_tx_3 = self.create_raw_tx(self.nodes[0], self.nodes[0], 1, 1, 100) - islock = self.create_islock(rpc_raw_tx_3['hex']) - self.test_node.send_islock(islock) + islock = self.create_islock(rpc_raw_tx_3['hex'], deterministic) + self.test_node.send_islock(islock, deterministic) # Validate NO hashtxlock time.sleep(1) try: - self.receive(ZMQPublisher.hash_tx_lock, zmq.NOBLOCK) + self.subscribers[ZMQPublisher.hash_tx_lock].receive(zmq.NOBLOCK) assert False except zmq.ZMQError: # this is expected pass # Now send the tx itself - self.test_node.send_tx(FromHex(msg_tx(), rpc_raw_tx_3['hex'])) + self.test_node.send_tx(FromHex(msg_tx(), rpc_raw_tx_3['hex']), deterministic) self.wait_for_instantlock(rpc_raw_tx_3['txid'], self.nodes[0]) # Validate hashtxlock - zmq_tx_lock_hash = self.receive(ZMQPublisher.hash_tx_lock).read(32).hex() + zmq_tx_lock_hash = self.subscribers[ZMQPublisher.hash_tx_lock].receive().read(32).hex() assert_equal(zmq_tx_lock_hash, rpc_raw_tx_3['txid']) # Drop test node connection self.nodes[0].disconnect_p2ps() @@ -337,10 +366,11 @@ class DashZMQTest (DashTestFramework): self.sync_blocks() rpc_proposal_hash = self.nodes[0].gobject("submit", "0", proposal_rev, proposal_time, proposal_hex, collateral) # Validate hashgovernanceobject - zmq_governance_object_hash = self.receive(ZMQPublisher.hash_governance_object).read(32).hex() + zmq_governance_object_hash = self.subscribers[ZMQPublisher.hash_governance_object].receive().read(32).hex() assert_equal(zmq_governance_object_hash, rpc_proposal_hash) + # Validate rawgovernanceobject zmq_governance_object_raw = CGovernanceObject() - zmq_governance_object_raw.deserialize(self.receive(ZMQPublisher.raw_governance_object)) + zmq_governance_object_raw.deserialize(self.subscribers[ZMQPublisher.raw_governance_object].receive()) assert_equal(zmq_governance_object_raw.nHashParent, 0) assert_equal(zmq_governance_object_raw.nRevision, proposal_rev) assert_equal(zmq_governance_object_raw.nTime, proposal_time) @@ -365,11 +395,11 @@ class DashZMQTest (DashTestFramework): self.nodes[0].gobject("vote-many", rpc_proposal_hash, map_vote_signals[1], map_vote_outcomes[1]) rpc_proposal_votes = self.nodes[0].gobject('getcurrentvotes', rpc_proposal_hash) # Validate hashgovernancevote - zmq_governance_vote_hash = self.receive(ZMQPublisher.hash_governance_vote).read(32).hex() + zmq_governance_vote_hash = self.subscribers[ZMQPublisher.hash_governance_vote].receive().read(32).hex() assert zmq_governance_vote_hash in rpc_proposal_votes # Validate rawgovernancevote zmq_governance_vote_raw = CGovernanceVote() - zmq_governance_vote_raw.deserialize(self.receive(ZMQPublisher.raw_governance_vote)) + zmq_governance_vote_raw.deserialize(self.subscribers[ZMQPublisher.raw_governance_vote].receive()) assert_equal(uint256_to_string(zmq_governance_vote_raw.nParentHash), rpc_proposal_hash) rpc_vote_parts = rpc_proposal_votes[zmq_governance_vote_hash].split(':') rpc_outpoint_parts = rpc_vote_parts[0].split('-') diff --git a/test/functional/rpc_verifyislock.py b/test/functional/rpc_verifyislock.py index 7c503fee97..e16a8f694a 100755 --- a/test/functional/rpc_verifyislock.py +++ b/test/functional/rpc_verifyislock.py @@ -82,7 +82,7 @@ class RPCVerifyISLockTest(DashTestFramework): break assert selected_hash == oldest_quorum_hash # Create the ISLOCK, then mine a quorum to move the signing quorum out of the active set - islock = self.create_islock(rawtx, True) + islock = self.create_islock(rawtx, False) # Mine one block to trigger the "signHeight + dkgInterval" verification for the ISLOCK self.mine_quorum() # Verify the ISLOCK for a transaction that is not yet known by the node diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index a0a589db92..c7c53ae487 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -1038,13 +1038,14 @@ class DashTestFramework(BitcoinTestFramework): request_id = hash256(request_id_buf)[::-1].hex() message_hash = tx.hash + llmq_type = 103 if deterministic else 104 quorum_member = None for mn in self.mninfo: - res = mn.node.quorum('sign', 104, request_id, message_hash) + res = mn.node.quorum('sign', llmq_type, request_id, message_hash) if (res and quorum_member is None): quorum_member = mn - rec_sig = self.get_recovered_sig(request_id, message_hash, node=quorum_member.node, llmq_type=104) + rec_sig = self.get_recovered_sig(request_id, message_hash, node=quorum_member.node, llmq_type=llmq_type) if deterministic: block_count = quorum_member.node.getblockcount() @@ -1330,7 +1331,7 @@ class DashTestFramework(BitcoinTestFramework): return new_quorum - def mine_cycle_quorum(self, llmq_type_name="llmq_test", llmq_type=100, expected_connections=None, expected_members=None, expected_contributions=None, expected_complaints=0, expected_justifications=0, expected_commitments=None, mninfos_online=None, mninfos_valid=None): + def mine_cycle_quorum(self, llmq_type_name="llmq_test_dip0024", llmq_type=103, expected_connections=None, expected_members=None, expected_contributions=None, expected_complaints=0, expected_justifications=0, expected_commitments=None, mninfos_online=None, mninfos_valid=None): spork21_active = self.nodes[0].spork('show')['SPORK_21_QUORUM_ALL_CONNECTED'] <= 1 spork23_active = self.nodes[0].spork('show')['SPORK_23_QUORUM_POSE'] <= 1 @@ -1467,6 +1468,21 @@ class DashTestFramework(BitcoinTestFramework): return (quorum_info_0, quorum_info_1) + def move_to_next_cycle(self): + cycle_length = 24 + mninfos_online = self.mninfo.copy() + nodes = [self.nodes[0]] + [mn.node for mn in mninfos_online] + cur_block = self.nodes[0].getblockcount() + + # move forward to next DKG + skip_count = cycle_length - (cur_block % cycle_length) + if skip_count != 0: + self.bump_mocktime(1, nodes=nodes) + self.nodes[0].generate(skip_count) + sync_blocks(nodes) + time.sleep(1) + self.log.info('Moved from block %d to %d' % (cur_block, self.nodes[0].getblockcount())) + def get_recovered_sig(self, rec_sig_id, rec_sig_msg_hash, llmq_type=100, node=None): # Note: recsigs aren't relayed to regular nodes by default, # make sure to pick a mn as a node to query for recsigs. From 307c0b928ad16cbaf7eaa402287741f28d64ad73 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 25 Apr 2022 22:13:24 +0300 Subject: [PATCH 06/74] trivial/lint: tweak `lint-spelling.sh` and fix typos (#4802) * lint: exclude 3-rd party libs from spell-checks * trivial: fix typos --- src/evo/deterministicmns.h | 2 +- src/llmq/utils.cpp | 4 ++-- src/qt/forms/governancelist.ui | 2 +- src/test/descriptor_tests.cpp | 2 +- test/functional/wallet_importmulti.py | 2 +- test/lint/lint-spelling.sh | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/evo/deterministicmns.h b/src/evo/deterministicmns.h index 1749c81347..513548a256 100644 --- a/src/evo/deterministicmns.h +++ b/src/evo/deterministicmns.h @@ -209,7 +209,7 @@ public: /** * Execute a callback on all masternodes in the mnList. This will pass a reference - * of each masternode to the callback function. This should be prefered over ForEachMNShared. + * of each masternode to the callback function. This should be preferred over ForEachMNShared. * @param onlyValid Run on all masternodes, or only "valid" (not banned) masternodes * @param cb callback to execute */ diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index fd49427069..657d4e9974 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -65,9 +65,9 @@ std::vector CLLMQUtils::GetAllQuorumMembers(Consensus::LLM } /* * Quorums created with rotation are now created in a different way. All signingActiveQuorumCount are created during the period of dkgInterval. - * But they are not created exactly in the same block, they are spreaded overtime: one quorum in each block until all signingActiveQuorumCount are created. + * But they are not created exactly in the same block, they are spread overtime: one quorum in each block until all signingActiveQuorumCount are created. * The new concept of quorumIndex is introduced in order to identify them. - * In every dkgInterval blocks (also called CycleQuorumBaseBlock), the spreaded quorum creation starts like this: + * In every dkgInterval blocks (also called CycleQuorumBaseBlock), the spread quorum creation starts like this: * For quorumIndex = 0 : signingActiveQuorumCount * Quorum Q with quorumIndex is created at height CycleQuorumBaseBlock + quorumIndex */ diff --git a/src/qt/forms/governancelist.ui b/src/qt/forms/governancelist.ui index c4be9555be..c9766e0693 100644 --- a/src/qt/forms/governancelist.ui +++ b/src/qt/forms/governancelist.ui @@ -61,7 +61,7 @@ - Filter propsal list + Filter proposal list diff --git a/src/test/descriptor_tests.cpp b/src/test/descriptor_tests.cpp index deb529cfe3..76cf560d15 100644 --- a/src/test/descriptor_tests.cpp +++ b/src/test/descriptor_tests.cpp @@ -128,7 +128,7 @@ void DoCheck(const std::string& prv, const std::string& pub, int flags, const st // When the descriptor is hardened, evaluate with access to the private keys inside. const FlatSigningProvider& key_provider = (flags & HARDENED) ? keys_priv : keys_pub; - // Evaluate the descriptor selected by `t` in poisition `i`. + // Evaluate the descriptor selected by `t` in position `i`. FlatSigningProvider script_provider, script_provider_cached; std::vector spks, spks_cached; std::vector cache; diff --git a/test/functional/wallet_importmulti.py b/test/functional/wallet_importmulti.py index b325cdf343..28f76a22d3 100755 --- a/test/functional/wallet_importmulti.py +++ b/test/functional/wallet_importmulti.py @@ -640,7 +640,7 @@ class ImportMultiTest(BitcoinTestFramework): assert_equal(addr2, newaddr2) # Import a multisig and make sure the keys don't go into the keypool - self.log.info('Imported scripts with pubkeys shoud not have their pubkeys go into the keypool') + self.log.info('Imported scripts with pubkeys should not have their pubkeys go into the keypool') addr1 = self.nodes[0].getnewaddress() addr2 = self.nodes[0].getnewaddress() pub1 = self.nodes[0].getaddressinfo(addr1)['pubkey'] diff --git a/test/lint/lint-spelling.sh b/test/lint/lint-spelling.sh index 1d87310e10..59ff829c62 100755 --- a/test/lint/lint-spelling.sh +++ b/test/lint/lint-spelling.sh @@ -15,6 +15,6 @@ if ! command -v codespell > /dev/null; then fi IGNORE_WORDS_FILE=test/lint/lint-spelling.ignore-words.txt -if ! codespell --check-filenames --disable-colors --quiet-level=7 --ignore-words=${IGNORE_WORDS_FILE} $(git ls-files -- ":(exclude)build-aux/m4/" ":(exclude)contrib/seeds/*.txt" ":(exclude)depends/" ":(exclude)doc/release-notes/" ":(exclude)src/crypto/" ":(exclude)src/leveldb/" ":(exclude)src/qt/locale/" ":(exclude)src/qt/*.qrc" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/"); then +if ! codespell --check-filenames --disable-colors --quiet-level=7 --ignore-words=${IGNORE_WORDS_FILE} $(git ls-files -- ":(exclude)build-aux/m4/" ":(exclude)contrib/seeds/*.txt" ":(exclude)depends/" ":(exclude)doc/release-notes/" ":(exclude)src/bip39_english.h" ":(exclude)src/crc32c/" ":(exclude)src/crypto/" ":(exclude)src/ctpl_stl.h" ":(exclude)src/cxxtimer.hpp" ":(exclude)src/leveldb/" ":(exclude)src/qt/locale/" ":(exclude)src/qt/*.qrc" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/"); then echo "^ Warning: codespell identified likely spelling errors. Any false positives? Add them to the list of ignored words in ${IGNORE_WORDS_FILE}" fi From 96a80ac17b8ac03f2f1edaf134b72d18cc20954c Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Mon, 25 Apr 2022 22:11:44 +0300 Subject: [PATCH 07/74] Edge case fix for Rotation (#4803) * Edge case fix * Simpler syntax * add a bit of documentation, and adjust scopes * use a switch statment * adjust how returning happens Co-authored-by: pasta --- src/llmq/utils.cpp | 118 ++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 55 deletions(-) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 657d4e9974..62b6cbcee1 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -351,69 +351,77 @@ void CLLMQUtils::BuildQuorumSnapshot(const Consensus::LLMQParams& llmqParams, co std::vector> CLLMQUtils::GetQuorumQuarterMembersBySnapshot(const Consensus::LLMQParams& llmqParams, const CBlockIndex* pQuorumBaseBlockIndex, const llmq::CQuorumSnapshot& snapshot, int nHeight) { - auto numQuorums = static_cast(llmqParams.signingActiveQuorumCount); - auto quorumSize = static_cast(llmqParams.size); + std::vector sortedCombinedMns; + { + const CBlockIndex* pWorkBlockIndex = pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8); + const auto modifier = ::SerializeHash(std::make_pair(llmqParams.type, pWorkBlockIndex->GetBlockHash())); + const auto [MnsUsedAtH, MnsNotUsedAtH] = CLLMQUtils::GetMNUsageBySnapshot(llmqParams.type, pQuorumBaseBlockIndex, snapshot, nHeight); + // the list begins with all the unused MNs + auto sortedMnsNotUsedAtH = MnsNotUsedAtH.CalculateQuorum(MnsNotUsedAtH.GetAllMNsCount(), modifier); + sortedCombinedMns = std::move(sortedMnsNotUsedAtH); + // Now add the already used MNs to the end of the list + auto sortedMnsUsedAtH = MnsUsedAtH.CalculateQuorum(MnsUsedAtH.GetAllMNsCount(), modifier); + std::move(sortedMnsUsedAtH.begin(), sortedMnsUsedAtH.end(), std::back_inserter(sortedCombinedMns)); + } + + if (sortedCombinedMns.empty()) return {}; + + auto numQuorums = size_t(llmqParams.signingActiveQuorumCount); + auto quorumSize = size_t(llmqParams.size); auto quarterSize = quorumSize / 4; std::vector> quarterQuorumMembers(numQuorums); - const CBlockIndex* pWorkBlockIndex = pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8); - auto modifier = ::SerializeHash(std::make_pair(llmqParams.type, pWorkBlockIndex->GetBlockHash())); - - auto [MnsUsedAtH, MnsNotUsedAtH] = CLLMQUtils::GetMNUsageBySnapshot(llmqParams.type, pQuorumBaseBlockIndex, snapshot, nHeight); - - auto sortedMnsUsedAtH = MnsUsedAtH.CalculateQuorum(MnsUsedAtH.GetAllMNsCount(), modifier); - auto sortedMnsNotUsedAtH = MnsNotUsedAtH.CalculateQuorum(MnsNotUsedAtH.GetAllMNsCount(), modifier); - auto sortedCombinedMns = std::move(sortedMnsNotUsedAtH); - for (auto& m : sortedMnsUsedAtH) { - sortedCombinedMns.push_back(std::move(m)); - } - - //Mode 0: No skipping - if (snapshot.mnSkipListMode == SnapshotSkipMode::MODE_NO_SKIPPING) { - auto itm = sortedCombinedMns.begin(); - for (auto i = 0; i < llmqParams.signingActiveQuorumCount; ++i) { - while (quarterQuorumMembers[i].size() < quarterSize) { - quarterQuorumMembers[i].push_back(*itm); - itm++; - if (itm == sortedCombinedMns.end()) - itm = sortedCombinedMns.begin(); + switch (snapshot.mnSkipListMode) { + case SnapshotSkipMode::MODE_NO_SKIPPING: + { + auto itm = sortedCombinedMns.begin(); + for (auto i = 0; i < llmqParams.signingActiveQuorumCount; ++i) { + while (quarterQuorumMembers[i].size() < quarterSize) { + quarterQuorumMembers[i].push_back(*itm); + itm++; + if (itm == sortedCombinedMns.end()) { + itm = sortedCombinedMns.begin(); + } + } } + return quarterQuorumMembers; } - } - //Mode 1: List holds entries to be skipped - else if (snapshot.mnSkipListMode == SnapshotSkipMode::MODE_SKIPPING_ENTRIES) { - size_t first_entry_index = {}; - std::vector processesdSkipList; - for (const auto& s : snapshot.mnSkipList) { - if (first_entry_index == 0) { - first_entry_index = s; - processesdSkipList.push_back(s); - } else - processesdSkipList.push_back(first_entry_index + s); - } - - auto idx = 0; - auto itsk = processesdSkipList.begin(); - for (auto i = 0; i < llmqParams.signingActiveQuorumCount; ++i) { - while (quarterQuorumMembers[i].size() < quarterSize) { - if (itsk != processesdSkipList.end() && idx == *itsk) - itsk++; - else - quarterQuorumMembers[i].push_back(sortedCombinedMns[idx]); - idx++; - if (idx == sortedCombinedMns.size()) - idx = 0; + case SnapshotSkipMode::MODE_SKIPPING_ENTRIES: // List holds entries to be skipped + { + size_t first_entry_index{0}; + std::vector processesdSkipList; + for (const auto& s : snapshot.mnSkipList) { + if (first_entry_index == 0) { + first_entry_index = s; + processesdSkipList.push_back(s); + } else { + processesdSkipList.push_back(first_entry_index + s); + } } - } - } - //Mode 2: List holds entries to be kept - else if (snapshot.mnSkipListMode == SnapshotSkipMode::MODE_NO_SKIPPING_ENTRIES) { - //TODO Mode 2 will be written. Not used now - } - //Mode 3: Every node was skipped. Returning empty quarterQuorumMembers - return quarterQuorumMembers; + auto idx = 0; + auto itsk = processesdSkipList.begin(); + for (auto i = 0; i < llmqParams.signingActiveQuorumCount; ++i) { + while (quarterQuorumMembers[i].size() < quarterSize) { + if (itsk != processesdSkipList.end() && idx == *itsk) { + itsk++; + } else { + quarterQuorumMembers[i].push_back(sortedCombinedMns[idx]); + } + idx++; + if (idx == sortedCombinedMns.size()) { + idx = 0; + } + } + } + return quarterQuorumMembers; + } + case SnapshotSkipMode::MODE_NO_SKIPPING_ENTRIES: // List holds entries to be kept + case SnapshotSkipMode::MODE_ALL_SKIPPED: // Every node was skipped. Returning empty quarterQuorumMembers + default: + return {}; + } } std::pair CLLMQUtils::GetMNUsageBySnapshot(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex, const llmq::CQuorumSnapshot& snapshot, int nHeight) From 5c0e0e9089a1f0d1bbc561176d96d3f0cbc05a00 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Apr 2022 11:21:57 +0300 Subject: [PATCH 08/74] Translations 202202 (#4691) * make translate * ru * fi * 100%: es, fi, fr, it, ja, ko, nl, pl, pt, sk, th, tr, zh_TW --- src/qt/dashstrings.cpp | 79 +- src/qt/locale/dash_en.ts | 1646 +++++++++++++++++++++-------------- src/qt/locale/dash_es.ts | 848 ++++++++++++------ src/qt/locale/dash_fi.ts | 839 ++++++++++++------ src/qt/locale/dash_fr.ts | 848 ++++++++++++------ src/qt/locale/dash_it.ts | 848 ++++++++++++------ src/qt/locale/dash_ja.ts | 1516 +++++++++++++++++++++++++++----- src/qt/locale/dash_ko.ts | 848 ++++++++++++------ src/qt/locale/dash_nl.ts | 870 ++++++++++++------ src/qt/locale/dash_pl.ts | 846 ++++++++++++------ src/qt/locale/dash_pt.ts | 848 ++++++++++++------ src/qt/locale/dash_ru.ts | 846 ++++++++++++------ src/qt/locale/dash_sk.ts | 848 ++++++++++++------ src/qt/locale/dash_th.ts | 842 ++++++++++++------ src/qt/locale/dash_tr.ts | 848 ++++++++++++------ src/qt/locale/dash_zh_TW.ts | 846 ++++++++++++------ 16 files changed, 9812 insertions(+), 4454 deletions(-) diff --git a/src/qt/dashstrings.cpp b/src/qt/dashstrings.cpp index 50d3e61f72..04264c53d5 100644 --- a/src/qt/dashstrings.cpp +++ b/src/qt/dashstrings.cpp @@ -9,21 +9,23 @@ #define UNUSED #endif static const char UNUSED *dash_strings[] = { -QT_TRANSLATE_NOOP("dash-core", "Dash Core"), QT_TRANSLATE_NOOP("dash-core", "The %s developers"), QT_TRANSLATE_NOOP("dash-core", "" +"%s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a " +"backup."), +QT_TRANSLATE_NOOP("dash-core", "" "%s file contains all private keys from this wallet. Do not share it with " "anyone!"), QT_TRANSLATE_NOOP("dash-core", "" "%s uses exact denominated amounts to send funds, you might simply need to " "mix some more coins."), QT_TRANSLATE_NOOP("dash-core", "" -"-masternode option is deprecated and ignored, specifying -" -"masternodeblsprivkey is enough to start this node as a masternode."), -QT_TRANSLATE_NOOP("dash-core", "" "-maxtxfee is set very high! Fees this large could be paid on a single " "transaction."), QT_TRANSLATE_NOOP("dash-core", "" +"Can't generate a change-address key. No keys in the internal keypool and " +"can't generate any keys."), +QT_TRANSLATE_NOOP("dash-core", "" "Cannot obtain a lock on data directory %s. %s is probably already running."), QT_TRANSLATE_NOOP("dash-core", "" "Cannot provide specific connections and have addrman find outgoing " @@ -43,6 +45,9 @@ QT_TRANSLATE_NOOP("dash-core", "" "restarted wallet in less than 60 seconds. You can continue if you are ok " "with this."), QT_TRANSLATE_NOOP("dash-core", "" +"Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -" +"fallbackfee."), +QT_TRANSLATE_NOOP("dash-core", "" "Found unconfirmed denominated outputs, will wait till they confirm to " "continue."), QT_TRANSLATE_NOOP("dash-core", "" @@ -78,6 +83,10 @@ QT_TRANSLATE_NOOP("dash-core", "" QT_TRANSLATE_NOOP("dash-core", "" "The transaction amount is too small to send after the fee has been deducted"), QT_TRANSLATE_NOOP("dash-core", "" +"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"), +QT_TRANSLATE_NOOP("dash-core", "" "This is a pre-release test build - use at your own risk - do not use for " "mining or merchant applications"), QT_TRANSLATE_NOOP("dash-core", "" @@ -100,27 +109,16 @@ QT_TRANSLATE_NOOP("dash-core", "" "Unable to replay blocks. You will need to rebuild the database using -" "reindex-chainstate."), QT_TRANSLATE_NOOP("dash-core", "" -"Unsupported argument -socks found. Setting SOCKS version isn't possible " -"anymore, only SOCKS5 proxies are supported."), -QT_TRANSLATE_NOOP("dash-core", "" -"Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/" -"or -whitelistforcerelay."), -QT_TRANSLATE_NOOP("dash-core", "" "WARNING! Failed to replenish keypool, please unlock your wallet to do so."), QT_TRANSLATE_NOOP("dash-core", "" "Wallet is locked, can't replenish keypool! Automatic backups and mixing are " "disabled, please unlock your wallet to replenish keypool."), QT_TRANSLATE_NOOP("dash-core", "" +"Warning: Private keys detected in wallet {%s} with disabled private keys"), +QT_TRANSLATE_NOOP("dash-core", "" "Warning: The network does not appear to fully agree! Some miners appear to " "be experiencing issues."), QT_TRANSLATE_NOOP("dash-core", "" -"Warning: Unknown block versions being mined! It's possible unknown rules are " -"in effect"), -QT_TRANSLATE_NOOP("dash-core", "" -"Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; " -"if your balance or transactions are incorrect you should restore from a " -"backup."), -QT_TRANSLATE_NOOP("dash-core", "" "Warning: We do not appear to fully agree with our peers! You may need to " "upgrade, or other nodes may need to upgrade."), QT_TRANSLATE_NOOP("dash-core", "" @@ -130,17 +128,17 @@ QT_TRANSLATE_NOOP("dash-core", "" "mode. This will redownload the entire blockchain"), QT_TRANSLATE_NOOP("dash-core", "%d of last 100 blocks have unexpected version"), QT_TRANSLATE_NOOP("dash-core", "%s can't be lower than %s"), -QT_TRANSLATE_NOOP("dash-core", "%s corrupt, salvage failed"), QT_TRANSLATE_NOOP("dash-core", "%s failed"), QT_TRANSLATE_NOOP("dash-core", "%s is idle."), QT_TRANSLATE_NOOP("dash-core", "%s is not a valid backup folder!"), +QT_TRANSLATE_NOOP("dash-core", "%s is only allowed with a single wallet file"), QT_TRANSLATE_NOOP("dash-core", "%s is set very high!"), -QT_TRANSLATE_NOOP("dash-core", "%s request incomplete: %s"), +QT_TRANSLATE_NOOP("dash-core", "%s request incomplete:"), QT_TRANSLATE_NOOP("dash-core", "-devnet can only be specified once"), -QT_TRANSLATE_NOOP("dash-core", "-litemode is deprecated."), QT_TRANSLATE_NOOP("dash-core", "-maxmempool must be at least %d MB"), QT_TRANSLATE_NOOP("dash-core", "-port must be specified when -devnet and -listen are specified"), QT_TRANSLATE_NOOP("dash-core", "-rpcport must be specified when -devnet and -server are specified"), +QT_TRANSLATE_NOOP("dash-core", "A fatal internal error occurred, see debug.log for details"), QT_TRANSLATE_NOOP("dash-core", "Already have that input."), QT_TRANSLATE_NOOP("dash-core", "Automatic backups disabled"), QT_TRANSLATE_NOOP("dash-core", "Can't find random Masternode."), @@ -148,11 +146,16 @@ QT_TRANSLATE_NOOP("dash-core", "Can't mix while sync in progress."), QT_TRANSLATE_NOOP("dash-core", "Can't mix: no compatible inputs found!"), QT_TRANSLATE_NOOP("dash-core", "Cannot downgrade wallet"), QT_TRANSLATE_NOOP("dash-core", "Cannot resolve -%s address: '%s'"), +QT_TRANSLATE_NOOP("dash-core", "Cannot set -peerblockfilters without -blockfilterindex."), QT_TRANSLATE_NOOP("dash-core", "Cannot write to data directory '%s'; check permissions."), QT_TRANSLATE_NOOP("dash-core", "Change index out of range"), QT_TRANSLATE_NOOP("dash-core", "Collateral not valid."), +QT_TRANSLATE_NOOP("dash-core", "Config setting for %s only applied on %s network when in [%s] section."), QT_TRANSLATE_NOOP("dash-core", "Copyright (C)"), QT_TRANSLATE_NOOP("dash-core", "Corrupted block database detected"), +QT_TRANSLATE_NOOP("dash-core", "Could not find asmap file %s"), +QT_TRANSLATE_NOOP("dash-core", "Could not parse asmap file %s"), +QT_TRANSLATE_NOOP("dash-core", "Disk space is too low!"), QT_TRANSLATE_NOOP("dash-core", "Do you want to rebuild the block database now?"), QT_TRANSLATE_NOOP("dash-core", "Done loading"), QT_TRANSLATE_NOOP("dash-core", "ERROR! Failed to create automatic backup"), @@ -161,6 +164,7 @@ QT_TRANSLATE_NOOP("dash-core", "Entry exceeds maximum size."), QT_TRANSLATE_NOOP("dash-core", "Error initializing block database"), QT_TRANSLATE_NOOP("dash-core", "Error initializing wallet database environment %s!"), QT_TRANSLATE_NOOP("dash-core", "Error loading %s"), +QT_TRANSLATE_NOOP("dash-core", "Error loading %s: Private keys can only be disabled during creation"), QT_TRANSLATE_NOOP("dash-core", "Error loading %s: Wallet corrupted"), QT_TRANSLATE_NOOP("dash-core", "Error loading %s: Wallet requires newer version of %s"), QT_TRANSLATE_NOOP("dash-core", "Error loading %s: You can't disable HD on an already existing HD wallet"), @@ -170,25 +174,24 @@ QT_TRANSLATE_NOOP("dash-core", "Error opening block database"), QT_TRANSLATE_NOOP("dash-core", "Error reading from database, shutting down."), QT_TRANSLATE_NOOP("dash-core", "Error upgrading chainstate database"), QT_TRANSLATE_NOOP("dash-core", "Error upgrading evo database"), -QT_TRANSLATE_NOOP("dash-core", "Error"), QT_TRANSLATE_NOOP("dash-core", "Error: A fatal internal error occurred, see debug.log for details"), -QT_TRANSLATE_NOOP("dash-core", "Error: Disk space is low!"), +QT_TRANSLATE_NOOP("dash-core", "Error: Disk space is low for %s"), QT_TRANSLATE_NOOP("dash-core", "Error: failed to add socket to epollfd (epoll_ctl returned error %s)"), QT_TRANSLATE_NOOP("dash-core", "Error: failed to add socket to kqueuefd (kevent returned error %s)"), QT_TRANSLATE_NOOP("dash-core", "Exceeded max tries."), -QT_TRANSLATE_NOOP("dash-core", "Failed to clear fulfilled requests cache at"), -QT_TRANSLATE_NOOP("dash-core", "Failed to clear governance cache at"), -QT_TRANSLATE_NOOP("dash-core", "Failed to clear masternode cache at"), +QT_TRANSLATE_NOOP("dash-core", "Failed to clear fulfilled requests cache at %s"), +QT_TRANSLATE_NOOP("dash-core", "Failed to clear governance cache at %s"), +QT_TRANSLATE_NOOP("dash-core", "Failed to clear masternode cache at %s"), QT_TRANSLATE_NOOP("dash-core", "Failed to commit EvoDB"), QT_TRANSLATE_NOOP("dash-core", "Failed to create backup %s!"), QT_TRANSLATE_NOOP("dash-core", "Failed to create backup, error: %s"), QT_TRANSLATE_NOOP("dash-core", "Failed to delete backup, error: %s"), QT_TRANSLATE_NOOP("dash-core", "Failed to find mixing queue to join"), QT_TRANSLATE_NOOP("dash-core", "Failed to listen on any port. Use -listen=0 if you want this."), -QT_TRANSLATE_NOOP("dash-core", "Failed to load fulfilled requests cache from"), -QT_TRANSLATE_NOOP("dash-core", "Failed to load governance cache from"), -QT_TRANSLATE_NOOP("dash-core", "Failed to load masternode cache from"), -QT_TRANSLATE_NOOP("dash-core", "Failed to load sporks cache from"), +QT_TRANSLATE_NOOP("dash-core", "Failed to load fulfilled requests cache from %s"), +QT_TRANSLATE_NOOP("dash-core", "Failed to load governance cache from %s"), +QT_TRANSLATE_NOOP("dash-core", "Failed to load masternode cache from %s"), +QT_TRANSLATE_NOOP("dash-core", "Failed to load sporks cache from %s"), QT_TRANSLATE_NOOP("dash-core", "Failed to rescan the wallet during initialization"), QT_TRANSLATE_NOOP("dash-core", "Failed to start a new mixing queue"), QT_TRANSLATE_NOOP("dash-core", "Found enough users, signing ( waiting %s )"), @@ -198,13 +201,13 @@ QT_TRANSLATE_NOOP("dash-core", "Incompatible mode."), QT_TRANSLATE_NOOP("dash-core", "Incompatible version."), QT_TRANSLATE_NOOP("dash-core", "Incorrect -rescan mode, falling back to default value"), QT_TRANSLATE_NOOP("dash-core", "Incorrect or no genesis block found. Wrong datadir for network?"), -QT_TRANSLATE_NOOP("dash-core", "Information"), QT_TRANSLATE_NOOP("dash-core", "Initialization sanity check failed. %s is shutting down."), QT_TRANSLATE_NOOP("dash-core", "Input is not valid."), QT_TRANSLATE_NOOP("dash-core", "Inputs vs outputs size mismatch."), QT_TRANSLATE_NOOP("dash-core", "Insufficient funds."), QT_TRANSLATE_NOOP("dash-core", "Invalid -onion address or hostname: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Invalid -proxy address or hostname: '%s'"), +QT_TRANSLATE_NOOP("dash-core", "Invalid P2P permission: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Invalid amount for -%s=: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Invalid amount for -discardfee=: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Invalid amount for -fallbackfee=: '%s'"), @@ -214,8 +217,6 @@ QT_TRANSLATE_NOOP("dash-core", "Invalid minimum number of spork signers specifie QT_TRANSLATE_NOOP("dash-core", "Invalid netmask specified in -whitelist: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Invalid script detected."), QT_TRANSLATE_NOOP("dash-core", "Invalid spork address specified with -sporkaddr"), -QT_TRANSLATE_NOOP("dash-core", "It has been replaced by -disablegovernance."), -QT_TRANSLATE_NOOP("dash-core", "Its replacement -disablegovernance has been forced instead."), QT_TRANSLATE_NOOP("dash-core", "Keypool ran out, please call keypoolrefill first"), QT_TRANSLATE_NOOP("dash-core", "Last queue was created too recently."), QT_TRANSLATE_NOOP("dash-core", "Last successful action was too recent."), @@ -243,12 +244,14 @@ QT_TRANSLATE_NOOP("dash-core", "Not enough file descriptors available."), QT_TRANSLATE_NOOP("dash-core", "Not enough funds to mix."), QT_TRANSLATE_NOOP("dash-core", "Not in the Masternode list."), QT_TRANSLATE_NOOP("dash-core", "Prune cannot be configured with a negative value."), +QT_TRANSLATE_NOOP("dash-core", "Prune mode is incompatible with -blockfilterindex."), QT_TRANSLATE_NOOP("dash-core", "Prune mode is incompatible with -disablegovernance=false."), QT_TRANSLATE_NOOP("dash-core", "Prune mode is incompatible with -txindex."), QT_TRANSLATE_NOOP("dash-core", "Pruning blockstore..."), QT_TRANSLATE_NOOP("dash-core", "Reducing -maxconnections from %d to %d, because of system limitations."), QT_TRANSLATE_NOOP("dash-core", "Replaying blocks..."), QT_TRANSLATE_NOOP("dash-core", "Rescanning..."), +QT_TRANSLATE_NOOP("dash-core", "Section [%s] is not recognized."), QT_TRANSLATE_NOOP("dash-core", "Session not complete!"), QT_TRANSLATE_NOOP("dash-core", "Session timed out."), QT_TRANSLATE_NOOP("dash-core", "Signing transaction failed"), @@ -262,6 +265,7 @@ QT_TRANSLATE_NOOP("dash-core", "Synchronization finished"), QT_TRANSLATE_NOOP("dash-core", "Synchronizing blockchain..."), QT_TRANSLATE_NOOP("dash-core", "Synchronizing governance objects..."), QT_TRANSLATE_NOOP("dash-core", "The source code is available from %s."), +QT_TRANSLATE_NOOP("dash-core", "The specified config file %s does not exist\n"), QT_TRANSLATE_NOOP("dash-core", "The transaction amount is too small to pay the fee"), QT_TRANSLATE_NOOP("dash-core", "The wallet will avoid paying less than the minimum relay fee."), QT_TRANSLATE_NOOP("dash-core", "This is expected because you are running a pruned node."), @@ -275,33 +279,29 @@ QT_TRANSLATE_NOOP("dash-core", "Transaction fees are too high."), QT_TRANSLATE_NOOP("dash-core", "Transaction has too long of a mempool chain"), QT_TRANSLATE_NOOP("dash-core", "Transaction must have at least one recipient"), QT_TRANSLATE_NOOP("dash-core", "Transaction not valid."), -QT_TRANSLATE_NOOP("dash-core", "Transaction too large for fee policy"), QT_TRANSLATE_NOOP("dash-core", "Transaction too large"), QT_TRANSLATE_NOOP("dash-core", "Trying to connect..."), QT_TRANSLATE_NOOP("dash-core", "Unable to bind to %s on this computer (bind returned error %s)"), QT_TRANSLATE_NOOP("dash-core", "Unable to bind to %s on this computer. %s is probably already running."), +QT_TRANSLATE_NOOP("dash-core", "Unable to create the PID file '%s': %s"), QT_TRANSLATE_NOOP("dash-core", "Unable to generate initial keys"), QT_TRANSLATE_NOOP("dash-core", "Unable to locate enough mixed funds for this transaction."), QT_TRANSLATE_NOOP("dash-core", "Unable to locate enough non-denominated funds for this transaction."), QT_TRANSLATE_NOOP("dash-core", "Unable to sign spork message, wrong key?"), QT_TRANSLATE_NOOP("dash-core", "Unable to start HTTP server. See debug log for details."), +QT_TRANSLATE_NOOP("dash-core", "Unknown -blockfilterindex value %s."), QT_TRANSLATE_NOOP("dash-core", "Unknown network specified in -onlynet: '%s'"), QT_TRANSLATE_NOOP("dash-core", "Unknown response."), QT_TRANSLATE_NOOP("dash-core", "Unknown state: id = %u"), -QT_TRANSLATE_NOOP("dash-core", "Unsupported argument -benchmark ignored, use -debug=bench."), -QT_TRANSLATE_NOOP("dash-core", "Unsupported argument -debugnet ignored, use -debug=net."), -QT_TRANSLATE_NOOP("dash-core", "Unsupported argument -tor found, use -onion."), QT_TRANSLATE_NOOP("dash-core", "Unsupported logging category %s=%s."), QT_TRANSLATE_NOOP("dash-core", "Upgrading UTXO database"), +QT_TRANSLATE_NOOP("dash-core", "Upgrading txindex database"), QT_TRANSLATE_NOOP("dash-core", "User Agent comment (%s) contains unsafe characters."), QT_TRANSLATE_NOOP("dash-core", "Verifying blocks..."), QT_TRANSLATE_NOOP("dash-core", "Verifying wallet(s)..."), QT_TRANSLATE_NOOP("dash-core", "Very low number of keys left: %d"), -QT_TRANSLATE_NOOP("dash-core", "Wallet %s resides outside wallet directory %s"), QT_TRANSLATE_NOOP("dash-core", "Wallet is locked."), QT_TRANSLATE_NOOP("dash-core", "Wallet needed to be rewritten: restart %s to complete"), -QT_TRANSLATE_NOOP("dash-core", "Warning"), -QT_TRANSLATE_NOOP("dash-core", "Warning: %s is deprecated, please use %s instead"), QT_TRANSLATE_NOOP("dash-core", "Warning: can't use %s and %s together, will prefer %s"), QT_TRANSLATE_NOOP("dash-core", "Warning: incorrect parameter %s, path must exist! Using default path."), QT_TRANSLATE_NOOP("dash-core", "Warning: unknown new rules activated (versionbit %i)"), @@ -312,7 +312,6 @@ QT_TRANSLATE_NOOP("dash-core", "You can not disable governance validation on a m QT_TRANSLATE_NOOP("dash-core", "You can not start a masternode with wallet enabled."), QT_TRANSLATE_NOOP("dash-core", "You need to rebuild the database using -reindex to change -addressindex"), QT_TRANSLATE_NOOP("dash-core", "You need to rebuild the database using -reindex to change -spentindex"), -QT_TRANSLATE_NOOP("dash-core", "You need to rebuild the database using -reindex to change -txindex"), QT_TRANSLATE_NOOP("dash-core", "Your entries added successfully."), QT_TRANSLATE_NOOP("dash-core", "Zapping all transactions from wallet..."), QT_TRANSLATE_NOOP("dash-core", "no mixing available."), diff --git a/src/qt/locale/dash_en.ts b/src/qt/locale/dash_en.ts index 87a10e250f..69e1f0e339 100644 --- a/src/qt/locale/dash_en.ts +++ b/src/qt/locale/dash_en.ts @@ -69,7 +69,7 @@ C&lose - + Choose the address to send coins to Choose the address to send coins to @@ -100,8 +100,8 @@ - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. @@ -124,7 +124,7 @@ &Show address QR code - + QR code QR code @@ -152,7 +152,7 @@ AddressTableModel - + Label Label @@ -162,7 +162,7 @@ Address - + (no label) (no label) @@ -241,16 +241,11 @@ - Show password - Show password + Show passphrase + Show passphrase - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - - - + Encrypt wallet Encrypt wallet @@ -286,12 +281,7 @@ Change passphrase - - Enter the old passphrase and new passphrase to the wallet. - Enter the old passphrase and new passphrase to the wallet. - - - + Confirm wallet encryption Confirm wallet encryption @@ -306,17 +296,42 @@ Are you sure you wish to encrypt your wallet? + - - + Wallet encrypted Wallet encrypted - - - Your wallet is now encrypted. Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. - Your wallet is now encrypted. Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + + 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>. + 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>. + + + + Enter the old passphrase and new passphrase for the wallet. + Enter the old passphrase and new passphrase for the wallet. + + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + + + + Wallet to be encrypted + Wallet to be encrypted + + + + Your wallet is about to be encrypted. + Your wallet is about to be encrypted. + + + + + Your wallet is now encrypted. + Your wallet is now encrypted. @@ -324,37 +339,38 @@ IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. - + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet. 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. - - + + Wallet encryption failed Wallet encryption failed - + Wallet encryption failed due to an internal error. Your wallet was not encrypted. Wallet encryption failed due to an internal error. Your wallet was not encrypted. - - + + The supplied passphrases do not match. The supplied passphrases do not match. - + + Wallet unlock failed Wallet unlock failed - - + + The passphrase entered for the wallet decryption was incorrect. The passphrase entered for the wallet decryption was incorrect. @@ -379,7 +395,7 @@ BanTableModel - + IP/Netmask IP/Netmask @@ -400,27 +416,12 @@ BitcoinGUI - + A fatal error occurred. Dash Core can no longer continue safely and will quit. A fatal error occurred. Dash Core can no longer continue safely and will quit. - - Dash Core - Dash Core - - - - Wallet - Wallet - - - - Node - Node - - - + &Overview &Overview @@ -430,7 +431,7 @@ Show general overview of wallet - + &Send &Send @@ -440,7 +441,7 @@ Send coins to a Dash address - + &Receive &Receive @@ -450,7 +451,62 @@ Request payments (generates QR codes and dash: URIs) - + + &Sending addresses + &Sending addresses + + + + &Receiving addresses + &Receiving addresses + + + + Open Wallet + Open Wallet + + + + Open a wallet + Open a wallet + + + + Close Wallet... + Close Wallet... + + + + Close wallet + Close wallet + + + + No wallets available + No wallets available + + + + &Window + &Window + + + + Minimize + Minimize + + + + Zoom + Zoom + + + + Main Window + Main Window + + + &Transactions &Transactions @@ -470,7 +526,7 @@ Browse masternodes - + E&xit E&xit @@ -480,12 +536,7 @@ Quit application - - Show information about Dash Core - Show information about Dash Core - - - + About &Qt About &Qt @@ -505,12 +556,12 @@ &About %1 - + Send %1 funds to a Dash address Send %1 funds to a Dash address - + Modify configuration options for %1 Modify configuration options for %1 @@ -660,22 +711,12 @@ Show automatically created wallet backups - - &Sending addresses... - &Sending addresses... - - - + Show the list of used sending addresses and labels Show the list of used sending addresses and labels - - &Receiving addresses... - &Receiving addresses... - - - + Show the list of used receiving addresses and labels Show the list of used receiving addresses and labels @@ -690,7 +731,7 @@ Open a dash: URI or payment request - + &Command-line options &Command-line options @@ -700,17 +741,17 @@ Show the %1 help message to get a list with possible Dash command-line options - + default wallet default wallet - + %1 client %1 client - + Wallet: %1 Wallet: %1 @@ -722,12 +763,27 @@ Wallet is <b>unencrypted</b> - + &File &File - + + Show information about %1 + Show information about %1 + + + + Create Wallet... + Create Wallet... + + + + Create a new wallet + Create a new wallet + + + %1 &information %1 &information @@ -737,17 +793,12 @@ Show the %1 basic information - + &Settings &Settings - - &Tools - &Tools - - - + &Help &Help @@ -756,8 +807,18 @@ Tabs toolbar Tabs toolbar + + + &Governance + &Governance + + + + View Governance Proposals + View Governance Proposals + - + %n active connection(s) to Dash network %n active connection to Dash network @@ -808,7 +869,7 @@ - + %1 behind %1 behind @@ -838,15 +899,25 @@ Synchronizing additional data: %p% - + Error Error + + + Error: %1 + Error: %1 + Warning Warning + + + Warning: %1 + Warning: %1 + Information @@ -946,6 +1017,16 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Wallet is <b>encrypted</b> and currently <b>locked</b> + + + Proxy is <b>enabled</b>: %1 + Proxy is <b>enabled</b>: %1 + + + + Original message: + Original message: + CoinControlDialog @@ -1121,7 +1202,7 @@ (%1 locked) - + yes yes @@ -1171,7 +1252,7 @@ Show spendable coins only - + (no label) (no label) @@ -1192,6 +1273,72 @@ n/a + + CreateWalletActivity + + + Creating Wallet <b>%1</b>... + Creating Wallet <b>%1</b>... + + + + Create wallet failed + Create wallet failed + + + + Create wallet warning + Create wallet warning + + + + CreateWalletDialog + + + Create Wallet + Create Wallet + + + + Wallet Name + Wallet Name + + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + + + + Encrypt Wallet + Encrypt Wallet + + + + 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. + 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. + + + + Disable Private Keys + Disable Private Keys + + + + 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. + 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. + + + + Make Blank Wallet + Make Blank Wallet + + + + Create + Create + + EditAddressDialog @@ -1240,12 +1387,17 @@ The entered address "%1" is not a valid Dash address. - - The entered address "%1" is already in the address book. - The entered address "%1" is already in the address book. + + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + The entered address "%1" is already in the address book with label "%2". + The entered address "%1" is already in the address book with label "%2". + + + Could not unlock wallet. Could not unlock wallet. @@ -1258,7 +1410,7 @@ FreespaceChecker - + A new data directory will be created. A new data directory will be created. @@ -1283,21 +1435,48 @@ Cannot create data directory here. + + GovernanceList + + + Form + Form + + + + Filter List: + Filter List: + + + + Filter propsal list + Filter propsal list + + + + Proposal Count: + Proposal Count: + + + + Filter by Title + Filter by Title + + + + Proposal Info: %1 + Proposal Info: %1 + + HelpMessageDialog - + version version - - - (%1-bit) - (%1-bit) - - - + About %1 About %1 @@ -1360,7 +1539,7 @@ Use a custom data directory: - + At least %1 GB of data will be stored in this directory, and it will grow over time. At least %1 GB of data will be stored in this directory, and it will grow over time. @@ -1380,12 +1559,12 @@ The wallet will also be stored in this directory. - + Error: Specified data directory "%1" cannot be created. Error: Specified data directory "%1" cannot be created. - + Error Error @@ -1413,12 +1592,7 @@ Status - - 0 - 0 - - - + Filter List: Filter List: @@ -1493,7 +1667,7 @@ Voting Address - + Copy ProTx Hash Copy ProTx Hash @@ -1503,7 +1677,7 @@ Copy Collateral Outpoint - + Updating... Updating... @@ -1545,12 +1719,12 @@ NONE - + Filter by any property (e.g. address or protx hash) Filter by any property (e.g. address or protx hash) - + Please wait... Please wait... @@ -1601,7 +1775,7 @@ Progress - + Progress increase per hour Progress increase per hour @@ -1622,9 +1796,9 @@ Hide - - Unknown. Syncing Headers (%1)... - Unknown. Syncing Headers (%1)... + + Unknown. Syncing Headers (%1, %2%)... + Unknown. Syncing Headers (%1, %2%)... @@ -1655,6 +1829,29 @@ Select payment request file to open + + OpenWalletActivity + + + Open wallet failed + Open wallet failed + + + + Open wallet warning + Open wallet warning + + + + default wallet + default wallet + + + + Opening Wallet <b>%1</b>... + Opening Wallet <b>%1</b>... + + OptionsDialog @@ -1673,12 +1870,7 @@ Size of &database cache - - MB - MB - - - + Number of script &verification threads Number of script &verification threads @@ -1698,12 +1890,7 @@ &Appearance - - 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. - 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. - - - + Prune &block storage to Prune &block storage to @@ -1718,7 +1905,12 @@ Reverting this setting requires re-downloading the entire blockchain. - + + MiB + MiB + + + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. @@ -1727,6 +1919,16 @@ Show Masternodes Tab Show Masternodes Tab + + + Show additional tab listing governance proposals. + Show additional tab listing governance proposals. + + + + Show Governance Tab + Show Governance Tab + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. @@ -1799,6 +2001,16 @@ + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + + + + Map port using NA&T-PMP + Map port using NA&T-PMP + + + Accept connections from outside. Accept connections from outside. @@ -1830,7 +2042,12 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: - + + Options set in this dialog are overridden by the command line or in the configuration file: + Options set in this dialog are overridden by the command line or in the configuration file: + + + Hide the icon from the system tray. Hide the icon from the system tray. @@ -1845,7 +2062,7 @@ Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu. - + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items.<br/>%s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items.<br/>%s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. @@ -1856,7 +2073,7 @@ &Third party transaction URLs - + Whether to show coin control features or not. Whether to show coin control features or not. @@ -1876,7 +2093,7 @@ Enable coin &control features - + &Spend unconfirmed change &Spend unconfirmed change @@ -1886,17 +2103,22 @@ This setting determines the amount of individual masternodes that an input will be mixed through.<br/>More rounds of mixing gives a higher degree of privacy, but also costs more in fees. - + &Network &Network - + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + + + Map port using &UPnP Map port using &UPnP - + Proxy &IP: Proxy &IP: @@ -1945,7 +2167,7 @@ Connect to the Dash network through a separate SOCKS5 proxy for Tor hidden services. - + Show only a tray icon after minimizing the window. Show only a tray icon after minimizing the window. @@ -1965,7 +2187,7 @@ &Display - + User Interface &language: User Interface &language: @@ -1997,12 +2219,7 @@ https://www.transifex.com/projects/p/dash/ Decimal digits - - Active command-line options that override above options: - Active command-line options that override above options: - - - + Reset all client options to default. Reset all client options to default. @@ -2022,17 +2239,17 @@ https://www.transifex.com/projects/p/dash/ &Cancel - + Enable %1 features Enable %1 features - + default default - + Confirm options reset Confirm options reset @@ -2205,7 +2422,7 @@ https://www.transifex.com/projects/p/dash/ out of sync - + Automatic backups are disabled, no mixing available! Automatic backups are disabled, no mixing available! @@ -2216,12 +2433,12 @@ https://www.transifex.com/projects/p/dash/ No inputs detected - + %1 Balance %1 Balance - + %n Rounds @@ -2274,8 +2491,8 @@ https://www.transifex.com/projects/p/dash/ keys left: %1 - - + + Start %1 Start %1 @@ -2300,15 +2517,15 @@ https://www.transifex.com/projects/p/dash/ Stop %1 - + - + Disabled Disabled - + Very low number of keys left since last automatic backup! Very low number of keys left since last automatic backup! @@ -2358,8 +2575,8 @@ https://www.transifex.com/projects/p/dash/ PaymentServer - - + + @@ -2368,30 +2585,37 @@ https://www.transifex.com/projects/p/dash/ Payment request error - + Cannot start dash: click-to-pay handler Cannot start dash: click-to-pay handler - - - + + + + URI handling URI handling - + 'dash://' is not a valid URI. Use 'dash:' instead. 'dash://' is not a valid URI. Use 'dash:' instead. - + Payment request fetch URL is invalid: %1 Payment request fetch URL is invalid: %1 - + + + Cannot process payment request because BIP70 support was not compiled in. + Cannot process payment request because BIP70 support was not compiled in. + + + Invalid payment address %1 Invalid payment address %1 @@ -2401,17 +2625,18 @@ https://www.transifex.com/projects/p/dash/ URI cannot be parsed! This can be caused by an invalid Dash address or malformed URI parameters. - + + Payment request file handling Payment request file handling - + Payment request file cannot be read! This can be caused by an invalid payment request file. Payment request file cannot be read! This can be caused by an invalid payment request file. - + @@ -2482,7 +2707,7 @@ https://www.transifex.com/projects/p/dash/ Network request error - + Payment acknowledged Payment acknowledged @@ -2520,6 +2745,67 @@ https://www.transifex.com/projects/p/dash/ Received + + Proposal + + + Passing +%1 + Passing +%1 + + + + Needs additional %1 votes + Needs additional %1 votes + + + + ProposalModel + + + Yes + Yes + + + + No + No + + + + Hash + Hash + + + + Title + Title + + + + Start + Start + + + + End + End + + + + Amount + Amount + + + + Active + Active + + + + Status + Status + + QObject @@ -2573,7 +2859,57 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) - + + Error: Specified data directory "%1" does not exist. + Error: Specified data directory "%1" does not exist. + + + + Error: Cannot parse configuration file: %1. + Error: Cannot parse configuration file: %1. + + + + Error: %1 + Error: %1 + + + + Error: Failed to load application fonts. + Error: Failed to load application fonts. + + + + Error: Specified font-family invalid. Valid values: %1. + Error: Specified font-family invalid. Valid values: %1. + + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Error: Specified font-scale invalid. Valid range %1 to %2. + + + + Error: Invalid -custom-css-dir path. + Error: Invalid -custom-css-dir path. + + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Error: %1 CSS file(s) missing in -custom-css-dir path. + + + %1 didn't yet exit safely... %1 didn't yet exit safely... @@ -2583,12 +2919,12 @@ https://www.transifex.com/projects/p/dash/ Amount - + Enter a Dash address (e.g. %1) Enter a Dash address (e.g. %1) - + Appearance Setup Appearance Setup @@ -2603,7 +2939,7 @@ https://www.transifex.com/projects/p/dash/ This can also be adjusted later in the "Appearance" tab of the preferences. - + %1 d %1 d @@ -2619,7 +2955,7 @@ https://www.transifex.com/projects/p/dash/ - + %1 s %1 s @@ -2713,64 +3049,11 @@ https://www.transifex.com/projects/p/dash/ %1 GB - + unknown unknown - - QObject::QObject - - - Error: Specified data directory "%1" does not exist. - Error: Specified data directory "%1" does not exist. - - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Error: Cannot parse configuration file: %1. Only use key=value syntax. - - - - Error: %1 - Error: %1 - - - - Error: Failed to load application fonts. - Error: Failed to load application fonts. - - - - Error: Specified font-family invalid. Valid values: %1. - Error: Specified font-family invalid. Valid values: %1. - - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Error: Specified font-scale invalid. Valid range %1 to %2. - - - - Error: Invalid -custom-css-dir path. - Error: Invalid -custom-css-dir path. - - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Error: %1 CSS file(s) missing in -custom-css-dir path. - - QRDialog @@ -2789,7 +3072,7 @@ https://www.transifex.com/projects/p/dash/ &Save Image... - + Error creating QR Code. Error creating QR Code. @@ -2820,7 +3103,7 @@ https://www.transifex.com/projects/p/dash/ QRImageWidget - + &Save Image... &Save Image... @@ -2829,6 +3112,21 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Copy Image + + + Resulting URI too long, try to reduce the text for label / message. + Resulting URI too long, try to reduce the text for label / message. + + + + Error encoding URI into QR Code. + Error encoding URI into QR Code. + + + + QR code support not available. + QR code support not available. + Save QR Code @@ -2858,32 +3156,34 @@ https://www.transifex.com/projects/p/dash/ General - + Name Name - + - + - + + + - - - + + + @@ -2897,22 +3197,22 @@ https://www.transifex.com/projects/p/dash/ - + N/A N/A - + Number of connections Number of connections - + &Open &Open - + Startup time Startup time @@ -2922,42 +3222,32 @@ https://www.transifex.com/projects/p/dash/ Network - + Last block time Last block time - + Debug log file Debug log file - - Current number of blocks - Current number of blocks - - - + Client version Client version - - Using BerkeleyDB version - Using BerkeleyDB version - - - + Block chain Block chain - + Number of Masternodes Number of Masternodes - + Memory Pool Memory Pool @@ -2972,22 +3262,22 @@ https://www.transifex.com/projects/p/dash/ Memory usage - + &Console &Console - + Clear console Clear console - + &Network Traffic &Network Traffic - + Received Received @@ -2997,29 +3287,29 @@ https://www.transifex.com/projects/p/dash/ Sent - + &Peers &Peers - + Wallet: Wallet: - + Banned peers Banned peers - - - + + + Select a peer to view detailed information. Select a peer to view detailed information. - + Whitelisted Whitelisted @@ -3034,7 +3324,7 @@ https://www.transifex.com/projects/p/dash/ Version - + Starting Block Starting Block @@ -3049,7 +3339,7 @@ https://www.transifex.com/projects/p/dash/ Synced Blocks - + Rescan blockchain files 1 Rescan blockchain files 1 @@ -3059,7 +3349,12 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 - + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + + + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. @@ -3074,33 +3369,63 @@ https://www.transifex.com/projects/p/dash/ Wallet Path - - + + User Agent User Agent - + Datadir Datadir - + + To specify a non-default location of the data directory use the '%1' option. + To specify a non-default location of the data directory use the '%1' option. + + + + Blocksdir + Blocksdir + + + + To specify a non-default location of the blocks directory use the '%1' option. + To specify a non-default location of the blocks directory use the '%1' option. + + + + Current block height + Current block height + + + Last block hash Last block hash + + + Latest ChainLocked block hash + Latest ChainLocked block hash + + + + Latest ChainLocked block height + Latest ChainLocked block height + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. - + InstantSend locks InstantSend locks - + (none) (none) @@ -3115,12 +3440,12 @@ https://www.transifex.com/projects/p/dash/ Increase font size - + &Reset &Reset - + Node Type Node Type @@ -3130,7 +3455,7 @@ https://www.transifex.com/projects/p/dash/ PoSe Score - + Services Services @@ -3180,17 +3505,12 @@ https://www.transifex.com/projects/p/dash/ Time Offset - + &Wallet Repair &Wallet Repair - - Salvage wallet - Salvage wallet - - - + Recover transactions 1 Recover transactions 1 @@ -3205,17 +3525,7 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - - - + -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). @@ -3245,7 +3555,7 @@ https://www.transifex.com/projects/p/dash/ -reindex: Rebuild block chain index from current blk000??.dat files. - + &Disconnect &Disconnect @@ -3278,17 +3588,12 @@ https://www.transifex.com/projects/p/dash/ 1 &year - + &Unban &Unban - - default wallet - default wallet - - - + Welcome to the %1 RPC console. Welcome to the %1 RPC console. @@ -3328,22 +3633,22 @@ https://www.transifex.com/projects/p/dash/ Network activity disabled - + Total: %1 (Enabled: %2) Total: %1 (Enabled: %2) - + Executing command without any wallet Executing command without any wallet - + Executing command using "%1" wallet Executing command using "%1" wallet - + (node id: %1) (node id: %1) @@ -3435,22 +3740,22 @@ https://www.transifex.com/projects/p/dash/ - + An optional amount to request. Leave this empty or zero to not request a specific amount. An optional amount to request. Leave this empty or zero to not request a specific amount. - + &Amount: &Amount: - &Request payment - &Request payment + &Create new receiving address + &Create new receiving address - + Clear all fields of the form. Clear all fields of the form. @@ -3485,7 +3790,7 @@ https://www.transifex.com/projects/p/dash/ Remove - + Enter a label to associate with the new receiving address Enter a label to associate with the new receiving address @@ -3499,6 +3804,11 @@ https://www.transifex.com/projects/p/dash/ Copy URI Copy URI + + + Copy address + Copy address + Copy label @@ -3538,7 +3848,7 @@ https://www.transifex.com/projects/p/dash/ &Save Image... - + Request payment to %1 Request payment to %1 @@ -3577,16 +3887,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Wallet - - - Resulting URI too long, try to reduce the text for label / message. - Resulting URI too long, try to reduce the text for label / message. - - - - Error encoding URI into QR Code. - Error encoding URI into QR Code. - RecentRequestsTableModel @@ -3606,7 +3906,7 @@ https://www.transifex.com/projects/p/dash/ Message - + (no label) (no label) @@ -3630,7 +3930,7 @@ https://www.transifex.com/projects/p/dash/ SendCoinsDialog - + Send Coins Send Coins @@ -3710,12 +4010,7 @@ https://www.transifex.com/projects/p/dash/ Choose... - - collapse fee-settings - collapse fee-settings - - - + Confirmation time target: Confirmation time target: @@ -3746,7 +4041,12 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. - + + Hide transaction fee settings + Hide transaction fee settings + + + Hide Hide @@ -3772,7 +4072,7 @@ https://www.transifex.com/projects/p/dash/ - + Confirm the send action Confirm the send action @@ -3808,7 +4108,7 @@ https://www.transifex.com/projects/p/dash/ Balance: - + Copy quantity Copy quantity @@ -3843,7 +4143,7 @@ https://www.transifex.com/projects/p/dash/ Copy change - + %1 (%2 blocks) %1 (%2 blocks) @@ -3853,41 +4153,31 @@ https://www.transifex.com/projects/p/dash/ from wallet %1 - + using using - - + + %1 to %2 %1 to %2 - + Are you sure you want to send? Are you sure you want to send? - - are added as transaction fee - are added as transaction fee - - - - Total Amount = <b>%1</b><br />= %2 - Total Amount = <b>%1</b><br />= %2 - - - + <b>(%1 of %2 entries displayed)</b> <b>(%1 of %2 entries displayed)</b> - + S&end mixed funds S&end mixed funds @@ -3897,7 +4187,7 @@ https://www.transifex.com/projects/p/dash/ Confirm the %1 send action - + %1 funds only %1 funds only @@ -3907,7 +4197,12 @@ https://www.transifex.com/projects/p/dash/ any available funds - + + Transaction fee + Transaction fee + + + (%1 transactions have higher fees usually due to no change output being allowed) (%1 transactions have higher fees usually due to no change output being allowed) @@ -3935,12 +4230,27 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended - + + Click to learn more + Click to learn more + + + + Total Amount + Total Amount + + + + or + or + + + Confirm send coins Confirm send coins - + The recipient address is not valid. Please recheck. The recipient address is not valid. Please recheck. @@ -3969,11 +4279,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Transaction creation failed! - - - The transaction was rejected with the following reason: %1 - The transaction was rejected with the following reason: %1 - A fee higher than %1 is considered an absurdly high fee. @@ -4026,12 +4331,7 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - This is a normal payment. - - - + Pay &To: Pay &To: @@ -4062,13 +4362,13 @@ https://www.transifex.com/projects/p/dash/ - + Remove this entry Remove this entry - + &Label: &Label: @@ -4079,13 +4379,18 @@ https://www.transifex.com/projects/p/dash/ - + A&mount: A&mount: - + + The amount to send in the selected unit + The amount to send in the selected unit + + + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. @@ -4132,7 +4437,7 @@ https://www.transifex.com/projects/p/dash/ Memo: - + Enter a label for this address to add it to your address book Enter a label for this address to add it to your address book @@ -4142,8 +4447,8 @@ https://www.transifex.com/projects/p/dash/ - Yes - Yes + Send + Send @@ -4183,18 +4488,18 @@ https://www.transifex.com/projects/p/dash/ - + Choose previously used address Choose previously used address - - + + Alt+A Alt+A - + Paste address from clipboard Paste address from clipboard @@ -4205,6 +4510,7 @@ https://www.transifex.com/projects/p/dash/ + Enter the message you want to sign here Enter the message you want to sign here @@ -4235,17 +4541,17 @@ https://www.transifex.com/projects/p/dash/ - + Clear &All Clear &All - + &Verify Message &Verify Message - + 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! 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! @@ -4255,7 +4561,19 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with - + + + The signed message to verify + The signed message to verify + + + + + The signature given when the message was signed + The signature given when the message was signed + + + Verify the message to ensure it was signed with the specified Dash address Verify the message to ensure it was signed with the specified Dash address @@ -4270,7 +4588,7 @@ https://www.transifex.com/projects/p/dash/ Reset all verify message fields - + Enter a message to be signed Enter a message to be signed @@ -4367,12 +4685,12 @@ https://www.transifex.com/projects/p/dash/ TrafficGraphWidget - + KB/s KB/s - + Total Total @@ -4390,7 +4708,7 @@ https://www.transifex.com/projects/p/dash/ TransactionDesc - + Open for %n more block(s) Open for %n more block @@ -4448,7 +4766,7 @@ https://www.transifex.com/projects/p/dash/ verified via InstantSend - + Status Status @@ -4470,49 +4788,49 @@ https://www.transifex.com/projects/p/dash/ - + From From - + unknown unknown - + To To - + own address own address - + watch-only watch-only - + label label - + - + - + Credit Credit - + matures in %n more block(s) matures in %n more block @@ -4525,14 +4843,14 @@ https://www.transifex.com/projects/p/dash/ not accepted - - + + Debit Debit - + Total debit Total debit @@ -4578,12 +4896,17 @@ https://www.transifex.com/projects/p/dash/ Transaction total size - + + (Certificate was not verified) + (Certificate was not verified) + + + Merchant Merchant - + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. @@ -4636,7 +4959,7 @@ https://www.transifex.com/projects/p/dash/ TransactionTableModel - + Date Date @@ -4651,7 +4974,7 @@ https://www.transifex.com/projects/p/dash/ Address / Label - + Open for %n more block(s) Open for %n more block @@ -4812,13 +5135,13 @@ https://www.transifex.com/projects/p/dash/ TransactionView - - + + All All - + Today Today @@ -4848,7 +5171,7 @@ https://www.transifex.com/projects/p/dash/ Range... - + Most Common Most Common @@ -4913,7 +5236,7 @@ https://www.transifex.com/projects/p/dash/ Min amount - + Abandon transaction Abandon transaction @@ -4949,8 +5272,8 @@ https://www.transifex.com/projects/p/dash/ - Edit label - Edit label + Edit address label + Edit address label @@ -4963,7 +5286,7 @@ https://www.transifex.com/projects/p/dash/ Show address QR code - + Export Transaction History Export Transaction History @@ -5046,15 +5369,33 @@ https://www.transifex.com/projects/p/dash/ UnitDisplayStatusBarControl - + Unit to show amounts in. Click to select another unit. Unit to show amounts in. Click to select another unit. + + WalletController + + + Close wallet + Close wallet + + + + Are you sure you wish to close the wallet <i>%1</i>? + Are you sure you wish to close the wallet <i>%1</i>? + + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + + WalletFrame - + No wallet has been loaded. No wallet has been loaded. @@ -5062,10 +5403,15 @@ https://www.transifex.com/projects/p/dash/ WalletModel - + Send Coins Send Coins + + + default wallet + default wallet + WalletView @@ -5085,7 +5431,7 @@ https://www.transifex.com/projects/p/dash/ Selected amount: - + Backup Wallet Backup Wallet @@ -5115,7 +5461,7 @@ https://www.transifex.com/projects/p/dash/ The wallet data was successfully saved to %1. - + Cancel Cancel @@ -5123,22 +5469,32 @@ https://www.transifex.com/projects/p/dash/ dash-core - + Error: Listening for incoming connections failed (listen returned error %s) Error: Listening for incoming connections failed (listen returned error %s) - + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + + + + 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 + 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 + + + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - + Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. - + Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. @@ -5153,17 +5509,17 @@ https://www.transifex.com/projects/p/dash/ Cannot downgrade wallet - + Collateral not valid. Collateral not valid. - + Corrupted block database detected Corrupted block database detected - + Do you want to rebuild the block database now? Do you want to rebuild the block database now? @@ -5188,7 +5544,7 @@ https://www.transifex.com/projects/p/dash/ Error initializing wallet database environment %s! - + Error loading block database Error loading block database @@ -5203,32 +5559,22 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. - - Error - Error - - - - Error: Disk space is low! - Error: Disk space is low! - - - + Failed to listen on any port. Use -listen=0 if you want this. Failed to listen on any port. Use -listen=0 if you want this. - + -maxtxfee is set very high! Fees this large could be paid on a single transaction. -maxtxfee is set very high! Fees this large could be paid on a single transaction. - + Cannot provide specific connections and have addrman find outgoing connections at the same. Cannot provide specific connections and have addrman find outgoing connections at the same. - + Found unconfirmed denominated outputs, will wait till they confirm to continue. Found unconfirmed denominated outputs, will wait till they confirm to continue. @@ -5243,37 +5589,22 @@ https://www.transifex.com/projects/p/dash/ Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) - + Transaction index can't be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index. Transaction index can't be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index. - + Can't mix: no compatible inputs found! Can't mix: no compatible inputs found! - + Entry exceeds maximum size. Entry exceeds maximum size. - - Failed to load fulfilled requests cache from - Failed to load fulfilled requests cache from - - - - Failed to load governance cache from - Failed to load governance cache from - - - - Failed to load masternode cache from - Failed to load masternode cache from - - - + Found enough users, signing ( waiting %s ) Found enough users, signing ( waiting %s ) @@ -5302,11 +5633,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Incorrect or no genesis block found. Wrong datadir for network? - - - Information - Information - Input is not valid. @@ -5318,7 +5644,7 @@ https://www.transifex.com/projects/p/dash/ Insufficient funds. - + Invalid amount for -discardfee=<amount>: '%s' Invalid amount for -discardfee=<amount>: '%s' @@ -5333,7 +5659,7 @@ https://www.transifex.com/projects/p/dash/ Invalid minimum number of spork signers specified with -minsporkkeys - + Keypool ran out, please call keypoolrefill first Keypool ran out, please call keypoolrefill first @@ -5388,7 +5714,7 @@ https://www.transifex.com/projects/p/dash/ Not in the Masternode list. - + Submitted to masternode, waiting in queue %s Submitted to masternode, waiting in queue %s @@ -5398,32 +5724,17 @@ https://www.transifex.com/projects/p/dash/ Synchronization finished - + Unable to start HTTP server. See debug log for details. Unable to start HTTP server. See debug log for details. - + Unknown response. Unknown response. - - Unsupported argument -benchmark ignored, use -debug=bench. - Unsupported argument -benchmark ignored, use -debug=bench. - - - - Unsupported argument -debugnet ignored, use -debug=net. - Unsupported argument -debugnet ignored, use -debug=net. - - - - Unsupported argument -tor found, use -onion. - Unsupported argument -tor found, use -onion. - - - + User Agent comment (%s) contains unsafe characters. User Agent comment (%s) contains unsafe characters. @@ -5433,12 +5744,12 @@ https://www.transifex.com/projects/p/dash/ Verifying wallet(s)... - + Will retry... Will retry... - + Can't find random Masternode. Can't find random Masternode. @@ -5448,22 +5759,17 @@ https://www.transifex.com/projects/p/dash/ %s can't be lower than %s - + %s is idle. %s is idle. - - %s request incomplete: %s - %s request incomplete: %s - - - + Can't mix while sync in progress. Can't mix while sync in progress. - + Invalid netmask specified in -whitelist: '%s' Invalid netmask specified in -whitelist: '%s' @@ -5473,22 +5779,17 @@ https://www.transifex.com/projects/p/dash/ Invalid script detected. - + %s file contains all private keys from this wallet. Do not share it with anyone! %s file contains all private keys from this wallet. Do not share it with anyone! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - - - + Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. - + Make sure to encrypt your wallet and delete all non-encrypted backups after you have verified that the wallet works! Make sure to encrypt your wallet and delete all non-encrypted backups after you have verified that the wallet works! @@ -5518,22 +5819,12 @@ https://www.transifex.com/projects/p/dash/ The transaction amount is too small to send after the fee has been deducted - + Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - - - WARNING! Failed to replenish keypool, please unlock your wallet to do so. WARNING! Failed to replenish keypool, please unlock your wallet to do so. @@ -5543,12 +5834,7 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - - - + You need to rebuild the database using -reindex to change -timestampindex You need to rebuild the database using -reindex to change -timestampindex @@ -5558,42 +5844,67 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain - + %s failed %s failed - - -litemode is deprecated. - -litemode is deprecated. - - - + -maxmempool must be at least %d MB -maxmempool must be at least %d MB - + Automatic backups disabled Automatic backups disabled - + + Cannot set -peerblockfilters without -blockfilterindex. + Cannot set -peerblockfilters without -blockfilterindex. + + + + Config setting for %s only applied on %s network when in [%s] section. + Config setting for %s only applied on %s network when in [%s] section. + + + + Could not find asmap file %s + Could not find asmap file %s + + + + Could not parse asmap file %s + Could not parse asmap file %s + + + ERROR! Failed to create automatic backup ERROR! Failed to create automatic backup - + + Error loading %s: Private keys can only be disabled during creation + Error loading %s: Private keys can only be disabled during creation + + + Error upgrading evo database Error upgrading evo database - + Error: A fatal internal error occurred, see debug.log for details Error: A fatal internal error occurred, see debug.log for details - + + Error: Disk space is low for %s + Error: Disk space is low for %s + + + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Error: failed to add socket to epollfd (epoll_ctl returned error %s) @@ -5603,22 +5914,7 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. - - Failed to clear fulfilled requests cache at - Failed to clear fulfilled requests cache at - - - - Failed to clear governance cache at - Failed to clear governance cache at - - - - Failed to clear masternode cache at - Failed to clear masternode cache at - - - + Failed to commit EvoDB Failed to commit EvoDB @@ -5638,17 +5934,17 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s - - Failed to load sporks cache from - Failed to load sporks cache from - - - + Failed to rescan the wallet during initialization Failed to rescan the wallet during initialization - + + Invalid P2P permission: '%s' + Invalid P2P permission: '%s' + + + Invalid amount for -fallbackfee=<amount>: '%s' Invalid amount for -fallbackfee=<amount>: '%s' @@ -5658,17 +5954,7 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. - - It has been replaced by -disablegovernance. - It has been replaced by -disablegovernance. - - - - Its replacement -disablegovernance has been forced instead. - Its replacement -disablegovernance has been forced instead. - - - + Loading block index... Loading block index... @@ -5732,6 +6018,11 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Prune cannot be configured with a negative value. + + + Prune mode is incompatible with -blockfilterindex. + Prune mode is incompatible with -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. @@ -5748,7 +6039,12 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... - + + Section [%s] is not recognized. + Section [%s] is not recognized. + + + Specified -walletdir "%s" does not exist Specified -walletdir "%s" does not exist @@ -5768,7 +6064,14 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... - + + The specified config file %s does not exist + + The specified config file %s does not exist + + + + The wallet will avoid paying less than the minimum relay fee. The wallet will avoid paying less than the minimum relay fee. @@ -5803,7 +6106,7 @@ https://www.transifex.com/projects/p/dash/ Transaction must have at least one recipient - + Transaction too large Transaction too large @@ -5817,28 +6120,33 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Unable to bind to %s on this computer. %s is probably already running. + + + Unable to create the PID file '%s': %s + Unable to create the PID file '%s': %s + Unable to generate initial keys Unable to generate initial keys - + + Unknown -blockfilterindex value %s. + Unknown -blockfilterindex value %s. + + + Upgrading UTXO database Upgrading UTXO database - - Wallet %s resides outside wallet directory %s - Wallet %s resides outside wallet directory %s - - - + Wallet needed to be rewritten: restart %s to complete Wallet needed to be rewritten: restart %s to complete - + Warning: unknown new rules activated (versionbit %i) Warning: unknown new rules activated (versionbit %i) @@ -5862,11 +6170,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex You need to rebuild the database using -reindex to change -spentindex - - - You need to rebuild the database using -reindex to change -txindex - You need to rebuild the database using -reindex to change -txindex - no mixing available. @@ -5878,17 +6181,12 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. - - Dash Core - Dash Core - - - + The %s developers The %s developers - + %s uses exact denominated amounts to send funds, you might simply need to mix some more coins. %s uses exact denominated amounts to send funds, you might simply need to mix some more coins. @@ -5913,7 +6211,7 @@ https://www.transifex.com/projects/p/dash/ Error reading %s! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - + Incorrect or no devnet genesis block found. Wrong datadir for devnet specified? Incorrect or no devnet genesis block found. Wrong datadir for devnet specified? @@ -5928,7 +6226,7 @@ https://www.transifex.com/projects/p/dash/ Please contribute if you find %s useful. Visit %s for further information about the software. - + This is the transaction fee you may discard if change is smaller than dust at this level This is the transaction fee you may discard if change is smaller than dust at this level @@ -5948,37 +6246,42 @@ https://www.transifex.com/projects/p/dash/ Unable to replay blocks. You will need to rebuild the database using -reindex-chainstate. - - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. + + Warning: Private keys detected in wallet {%s} with disabled private keys + Warning: Private keys detected in wallet {%s} with disabled private keys - + %d of last 100 blocks have unexpected version %d of last 100 blocks have unexpected version - - %s corrupt, salvage failed - %s corrupt, salvage failed - - - + %s is not a valid backup folder! %s is not a valid backup folder! + + + %s is only allowed with a single wallet file + %s is only allowed with a single wallet file + %s is set very high! %s is set very high! - + + %s request incomplete: + %s request incomplete: + + + -devnet can only be specified once -devnet can only be specified once - + -port must be specified when -devnet and -listen are specified -port must be specified when -devnet and -listen are specified @@ -5987,13 +6290,18 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport must be specified when -devnet and -server are specified + + + A fatal internal error occurred, see debug.log for details + A fatal internal error occurred, see debug.log for details + Cannot resolve -%s address: '%s' Cannot resolve -%s address: '%s' - + Cannot write to data directory '%s'; check permissions. Cannot write to data directory '%s'; check permissions. @@ -6003,17 +6311,22 @@ https://www.transifex.com/projects/p/dash/ Change index out of range - + Copyright (C) Copyright (C) - + + Disk space is too low! + Disk space is too low! + + + Error loading %s Error loading %s - + Error loading %s: Wallet corrupted Error loading %s: Wallet corrupted @@ -6038,17 +6351,52 @@ https://www.transifex.com/projects/p/dash/ Error upgrading chainstate database - + Error: failed to add socket to kqueuefd (kevent returned error %s) Error: failed to add socket to kqueuefd (kevent returned error %s) - + + Failed to clear fulfilled requests cache at %s + Failed to clear fulfilled requests cache at %s + + + + Failed to clear governance cache at %s + Failed to clear governance cache at %s + + + + Failed to clear masternode cache at %s + Failed to clear masternode cache at %s + + + Failed to find mixing queue to join Failed to find mixing queue to join - + + Failed to load fulfilled requests cache from %s + Failed to load fulfilled requests cache from %s + + + + Failed to load governance cache from %s + Failed to load governance cache from %s + + + + Failed to load masternode cache from %s + Failed to load masternode cache from %s + + + + Failed to load sporks cache from %s + Failed to load sporks cache from %s + + + Failed to start a new mixing queue Failed to start a new mixing queue @@ -6058,7 +6406,7 @@ https://www.transifex.com/projects/p/dash/ Incorrect -rescan mode, falling back to default value - + Initialization sanity check failed. %s is shutting down. Initialization sanity check failed. %s is shutting down. @@ -6078,7 +6426,7 @@ https://www.transifex.com/projects/p/dash/ Invalid -proxy address or hostname: '%s' - + Invalid amount for -%s=<amount>: '%s' Invalid amount for -%s=<amount>: '%s' @@ -6088,12 +6436,12 @@ https://www.transifex.com/projects/p/dash/ Invalid spork address specified with -sporkaddr - + Loading P2P addresses... Loading P2P addresses... - + Reducing -maxconnections from %d to %d, because of system limitations. Reducing -maxconnections from %d to %d, because of system limitations. @@ -6108,7 +6456,7 @@ https://www.transifex.com/projects/p/dash/ Rescanning... - + Session not complete! Session not complete! @@ -6128,17 +6476,27 @@ https://www.transifex.com/projects/p/dash/ Specified blocks directory "%s" does not exist. - + Last queue was created too recently. Last queue was created too recently. - + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + + + Last successful action was too recent. Last successful action was too recent. - + Starting network threads... Starting network threads... @@ -6153,7 +6511,7 @@ https://www.transifex.com/projects/p/dash/ The source code is available from %s. - + The transaction amount is too small to pay the fee The transaction amount is too small to pay the fee @@ -6182,18 +6540,13 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transaction not valid. - - - Transaction too large for fee policy - Transaction too large for fee policy - Unable to bind to %s on this computer (bind returned error %s) Unable to bind to %s on this computer (bind returned error %s) - + Unable to locate enough mixed funds for this transaction. Unable to locate enough mixed funds for this transaction. @@ -6208,7 +6561,7 @@ https://www.transifex.com/projects/p/dash/ Unable to sign spork message, wrong key? - + Unknown network specified in -onlynet: '%s' Unknown network specified in -onlynet: '%s' @@ -6218,12 +6571,17 @@ https://www.transifex.com/projects/p/dash/ Unknown state: id = %u - + Unsupported logging category %s=%s. Unsupported logging category %s=%s. - + + Upgrading txindex database + Upgrading txindex database + + + Verifying blocks... Verifying blocks... @@ -6233,22 +6591,12 @@ https://www.transifex.com/projects/p/dash/ Very low number of keys left: %d - + Wallet is locked. Wallet is locked. - Warning - Warning - - - - Warning: %s is deprecated, please use %s instead - Warning: %s is deprecated, please use %s instead - - - Warning: can't use %s and %s together, will prefer %s Warning: can't use %s and %s together, will prefer %s @@ -6268,7 +6616,7 @@ https://www.transifex.com/projects/p/dash/ You can not disable governance validation on a masternode. - + Your entries added successfully. Your entries added successfully. diff --git a/src/qt/locale/dash_es.ts b/src/qt/locale/dash_es.ts index 25918376a8..eee6d1542e 100644 --- a/src/qt/locale/dash_es.ts +++ b/src/qt/locale/dash_es.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Estas son sus direcciones Dash para enviar pagos. Compruebe siempre la cantidad y la dirección receptora antes de enviar monedas. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estas son sus direcciones de Dash para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Estas son tus direcciones de Dash para recibir pagos. Use el botón 'Crear nueva dirección de recepción' en la pestaña de recepción para crear nuevas direcciones. &Copy Address @@ -191,12 +191,8 @@ Repita la nueva contraseña - Show password - Mostrar contraseña - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Introduzca la nueva contraseña de la billetera.<br/>Por favor, use una contraseña con <b>diez o más caracteres aleatorios</b>, u <b>ocho o más palabras</b>. + Show passphrase + Mostrar frase de contraseña Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Cambiar contraseña - - Enter the old passphrase and new passphrase to the wallet. - Ingresa la antigua frase de acceso y la nueva contraseña de la billetera. - Confirm wallet encryption Confirmar cifrado de la billetera @@ -246,6 +238,30 @@ Wallet encrypted Billetera cifrado + + 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>. + Ingresa la nueva frase de contraseña para la billetera.<br/>Utiliza una frase de contraseña de <b>diez o más caracteres aleatorios</b>, o <b>ocho o más palabras</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Ingresa la frase de contraseña anterior y la nueva para la billetera. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Recuerda que encriptar tu billetera no puede proteger completamente tus fondos de que sean robados por un malware que infecte tu computadora. + + + Wallet to be encrypted + Billetera a encriptar + + + Your wallet is about to be encrypted. + Tu billetera está a punto de ser encriptada. + + + Your wallet is now encrypted. + Tu billetera ahora está encriptada. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. IMPORTANTE: Todas las copias de seguridad anteriores que haya realizado de su archivo de la billetera se deben reemplazar con el archivo de la billetera cifrado recién generado. Las copias de seguridad anteriores del archivo de la billetera sin cifrar contienen la misma semilla HD y aun contienen el acceso completo a todos tus fondos al igual que la nueva billetera cifrada. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Se produjo un error fatal. Dash Core no puede continuar de forma segura y se cerrará. - - Dash Core - Dash Core - - - Wallet - Billetera - - - Node - Nodo - &Overview &Vista general @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Solicitar pagos (genera códigos QR y URIs de Dash) + + &Sending addresses + &Direcciones de envío + + + &Receiving addresses + &Direcciones de recepción + + + Open Wallet + Abrir billetera + + + Open a wallet + Abrir una billetera + + + Close Wallet... + Cerrar billetera... + + + Close wallet + Cerrar billetera + + + No wallets available + No hay billeteras disponibles + + + &Window + &Ventana + + + Minimize + Minimizar + + + Zoom + Zoom + + + Main Window + Ventana principal + &Transactions &Transacciones @@ -371,10 +419,6 @@ Quit application Salir de la aplicación - - Show information about Dash Core - Mostrar información acerca de Dash Core - About &Qt Acerca de &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Mostrar las copias de seguridad de la billetera creadas automáticamente - - &Sending addresses... - &Direcciones de envío... - Show the list of used sending addresses and labels Mostrar la lista de direcciones de envío y etiquetas - - &Receiving addresses... - &Direcciones de recepción... - Show the list of used receiving addresses and labels Mostrar la lista de direcciones de recepción y etiquetas @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Mostrar el %1 mensaje de ayuda para obtener una lista de las posibles opciones de linea de comandos de Dash + + default wallet + billetera predeterminada + %1 client %1 cliente @@ -565,6 +605,18 @@ &File &Archivo + + Show information about %1 + Mostrar información sobre %1 + + + Create Wallet... + Crear billetera... + + + Create a new wallet + Crear una nueva billetera + %1 &information %1 &Información @@ -577,10 +629,6 @@ &Settings &Configuración - - &Tools - &Herramientas - &Help &Ayuda @@ -589,6 +637,14 @@ Tabs toolbar Barra de pestañas + + &Governance + &Governanza + + + View Governance Proposals + Ver propuestas de gobernanza + %n active connection(s) to Dash network %n conexion(es) activa a la red Dash%n conexion(es) activas a la red Dash @@ -653,10 +709,18 @@ Error Error + + Error: %1 + Error: %1 + Warning Advertencia + + Warning: %1 + Advertencia: %1 + Information Información @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> La billetera está <b>cifrada</b> y actualmente <b>bloqueada</b> + + Proxy is <b>enabled</b>: %1 + Proxy esta <b>activado</b>: %1 + + + Original message: + Mensaje original: + CoinControlDialog @@ -935,6 +1007,60 @@ n/d + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Creando billetera <b>%1</b>... + + + Create wallet failed + No se pudo crear la billetera + + + Create wallet warning + Crear advertencia de billetera + + + + CreateWalletDialog + + Create Wallet + Crear billetera + + + Wallet Name + Nombre de la billetera + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Encriptar la billetera. La billetera se encriptará con una frase de contraseña de tu elección. + + + Encrypt Wallet + Encriptar billetera + + + 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. + Deshabilita las llaves privadas para esta billetera. Las billeteras con llaves privadas deshabilitadas no tendrán llaves privadas y no pueden tener una semilla HD o llaves privadas importadas. Esto es ideal para carteras de vigilancia + + + Disable Private Keys + Deshabilitar llaves privadas + + + 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. + Haz una billetera en blanco. Las billeteras en blanco inicialmente no tienen llaves privadas o scripts. Las llaves privadas y las direcciones se pueden importar, o se puede configurar una semilla HD, en un momento posterior. + + + Make Blank Wallet + Hacer una billetera en blanco + + + Create + Crear + + EditAddressDialog @@ -974,8 +1100,12 @@ La dirección introducida "%1" no es una dirección Dash válida. - The entered address "%1" is already in the address book. - La dirección introducida "%1" ya está en la libreta de direcciones. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + La dirección "%1" ya existe como dirección de recepción con la etiqueta "%2" y por lo tanto, no se puede agregar como dirección de envío. + + + The entered address "%1" is already in the address book with label "%2". + La dirección ingresada "%1" ya está en la libreta de direcciones con la etiqueta "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ No se puede crear un directorio de datos aquí. + + GovernanceList + + Form + Forma + + + Filter List: + Lista de filtros: + + + Filter propsal list + Filtrar lista de propuestas + + + Proposal Count: + Número de propuestas: + + + Filter by Title + Filtrar por título + + + Proposal Info: %1 + Información de la propuesta: %1 + + HelpMessageDialog version versión - - (%1-bit) - (%1-bit) - About %1 Acerda de %1 @@ -1113,10 +1266,6 @@ Status Estado - - 0 - 0 - Filter List: Lista de filtros: @@ -1277,8 +1426,8 @@ Ocultar - Unknown. Syncing Headers (%1)... - Desconocido. Sincronizando Encabezados (%1)... + Unknown. Syncing Headers (%1, %2%)... + Desconocido. Sincronización de encabezados (%1, %2%)... @@ -1304,6 +1453,25 @@ Seleccione archivo de solicitud de pago a abrir + + OpenWalletActivity + + Open wallet failed + No se pudo abrir la billetera + + + Open wallet warning + Advertencia de billetera abierta + + + default wallet + billetera predeterminada + + + Opening Wallet <b>%1</b>... + Abriendo billetera <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Tamaño de la &memoria caché en la base de datos - - MB - MB - Number of script &verification threads Número de hilos de &verificación de instrucciones @@ -1338,6 +1502,22 @@ &Appearance &Apariencia + + Prune &block storage to + Despeja y bloquea el almacenamiento para + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Revertir esta configuración requiere volver a descargar toda la cadena de bloques. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Mostrar una pestaña adicional listando todos sus masternodes en la primera sub-pestaña<br/> y todos los masternodos en la red en la segunda sub-pestaña. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Mostrar pestaña Masternodes + + Show additional tab listing governance proposals. + Mostrar pestaña adicional que enumera las propuestas de gobernanza. + + + Show Governance Tab + Mostrar pestaña de gobernanza + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Si desactiva el gasto del cambio sin confirmar, el cambio de una transacción<br/>no se podrá usar hasta que dicha transacción tenga al menos una confirmación.<br/> Esto también afecta al cómputo de su saldo. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Abrir automáticamente el puerto del cliente Dash Core en el enrutador. Esto solo funciona cuando su enrutador admite UPnP y está habilitado. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Abre automáticamente el puerto del cliente Bitcoin en el router. Esto solo funciona cuando tu router es compatible con NAT-PMP y está habilitado. El puerto externo podría ser aleatorio. + + + Map port using NA&T-PMP + Mapa de puerto usando NA&T-PMP + Accept connections from outside. Aceptar conexiones del exterior. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Usar por separado SOCKS&5 proxy para llegar a pares a través de los servicios ocultos de Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + Las opciones configuradas en este cuadro de diálogo se reemplazan por la línea de comando o en el archivo de configuración: + Hide the icon from the system tray. Ocultar el icono de la bandeja del sistema. @@ -1474,6 +1674,10 @@ &Network &Red + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Habilitar el despeje reduce significativamente el espacio en disco necesario para almacenar transacciones. Todos los bloques todavía están completamente validados. Revertir esta configuración requiere volver a descargar toda la cadena de bloques. + Map port using &UPnP Mapear puerto usando &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Dígitos decimales - - Active command-line options that override above options: - Opciones activas de la consola de comandos que tienen preferencia sobre las opciones anteriores: - Reset all client options to default. Restablecer todas las opciones del cliente a las predeterminadas. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 La URL de obtención de la solicitud de pago es inválida: %1 + + Cannot process payment request because BIP70 support was not compiled in. + No se puede procesar la solicitud de pago porque no se compiló el soporte BIP70. + Invalid payment address %1 Dirección de pago no válida %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Recibido + + Proposal + + Passing +%1 + Pasando +%1 + + + Needs additional %1 votes + Necesita %1 votos adicionales + + + + ProposalModel + + Yes + Si + + + No + No + + + Hash + Hash + + + Title + Título + + + Start + Inicio + + + End + Final + + + Amount + Monto + + + Active + Activo + + + Status + Estado + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Mostrar pantalla de bienvenida al iniciar (predeterminado: %u) + + Error: Specified data directory "%1" does not exist. + Error: Directorio de datos especificado "%1" no existe. + + + Error: Cannot parse configuration file: %1. + Error: No se puede analizar el archivo de configuración: %1. + + + Error: %1 + Error: %1 + + + Error: Failed to load application fonts. + Error: Error al cargar las fuentes de la aplicación. + + + Error: Specified font-family invalid. Valid values: %1. + Error: La familia de fuentes especificada no es válida. Valores válidos: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Error: Fuente-peso-normal especificado no válido. Rango válido %1 a %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Error: La fuente-peso-negrita especificada no es válida. Rango válido %1 a %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Error: La escala de fuente especificada no es válida. Rango válido %1 a %2. + + + Error: Invalid -custom-css-dir path. + Error: Camino -custom-css-dir inválido. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Error: %1 CSS file(s) faltando en -custom-css-dir camino. + %1 didn't yet exit safely... %1 no se ha cerrado de forma segura todavía... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ desconocido - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Error: El directorio de datos «%1» especificado no existe. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Error: No se puede analizar el archivo de configuración: %1. Utilice únicamente la sintaxis key=value. - - - Error: %1 - Error: %1 - - - Error: Failed to load application fonts. - Error: no se pudieron cargar las fuentes de la aplicación. - - - Error: Specified font-family invalid. Valid values: %1. - Error: la familia de fuentes especificada no es válida. Valores válidos: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Error: la fuente especificada-peso-normal no es válida. Rango válido %1 to %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Error: el peso de la fuente especificado no es válido. Rango válido %1 to %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Error: La escala de fuente especificada no es válida. Rango válido %1 to %2. - - - Error: Invalid -custom-css-dir path. - Error: Invalido -custom-css-dir path. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Error: %1 CSS archivo(s) falta en -custom-css-dir path. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Copiar imagen + + Resulting URI too long, try to reduce the text for label / message. + URI resultante demasiado largo, intenta reducir el texto de la etiqueta / mensaje. + + + Error encoding URI into QR Code. + Error al codificar el URI en el código QR. + + + QR code support not available. + Soporte de código QR no disponible. + Save QR Code Guardar código QR @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Archivo de registro de depuración - - Current number of blocks - Número actual de bloques - Client version Versión del cliente - - Using BerkeleyDB version - Utilizando versión de BerkeleyDB - Block chain Cadena de bloques @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Reexplorar la cadena de bloques 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Los botones a continuación reiniciarán la billetera con opciones de línea de comandos para reparar la billetera, solucionar problemas con archivos corruptos de la cadena de bloques o transacciones faltantes / obsoletas. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Vuelve a escanear la cadena de bloques en busca de transacciones de billetera faltantes a partir del momento de creación de la billetera. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datadir + + To specify a non-default location of the data directory use the '%1' option. + Para especificar una ubicación no predeterminada del directorio de datos, usa la opción '%1'. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Para especificar una ubicación no predeterminada del directorio de bloques, usa la opción '%1'. + + + Current block height + Altura de bloque actual + Last block hash Hash del último bloque + + Latest ChainLocked block hash + Último hash de bloque de la cadena bloqueada + + + Latest ChainLocked block height + Última altura de bloque de la cadena bloqueada + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Abrir el archivo de depuración %1 desde el directorio de datos actual. Puede tardar unos segundos para ficheros de gran tamaño. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Reparar Billetera - - Salvage wallet - Rescatar billetera - Recover transactions 1 Recuperar transacciones 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Actualizar formato de la billetera - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Los botones de abajo reiniciarán la billetera con las opciones de la línea de comandos para reparar la billetera, arreglar problemas con archivos corruptos de la cadena de bloques o transacciones perdidas/obsoletas. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Intentar recuperar las llaves privadas de un wallet.dat corrupto. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Recuperar transacciones de la cadena de bloques (conservar metadatos, ej. propietario de la cuenta). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Cantidad: - &Request payment - &Solicitar pago + &Create new receiving address + &Crear nueva dirección de recepción Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Copiar URI + + Copy address + Copiar dirección + Copy label Copiar etiqueta @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Billetera - - Resulting URI too long, try to reduce the text for label / message. - URI resultante demasiado larga. Intente reducir el texto de la etiqueta / mensaje. - - - Error encoding URI into QR Code. - Error al codificar la URI en el código QR. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Elegir... - - collapse fee-settings - plegar ajustes de comisión - Confirmation time target: Objetivo de tiempo de confirmación @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Nota: No hay suficientes datos para la estimación de tarifas, en su lugar se utiliza la tarifa de reserva. + + Hide transaction fee settings + Ocultar la configuración de la comisión de transacción + Hide Ocultar @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? ¿Está seguro que desea enviar? - - are added as transaction fee - se añaden como comisión de transacción - - - Total Amount = <b>%1</b><br />= %2 - Cantidad Total = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 de %2 registros mostrados)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds cualquier fondo disponible + + Transaction fee + Comisión de transacción + (%1 transactions have higher fees usually due to no change output being allowed) (Las transacciones de %1 tienen comisiones más altas, generalmente debido a que no se permiten cambios de salida) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Advertencia: el uso de %1 con %2 o más entradas puede dañar tu privacidad y no se recomienda + + Click to learn more + Haz click para aprender mas + + + Total Amount + Monto total + + + or + o + Confirm send coins Confirmar el envío de monedas @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! ¡Ha fallado la creación de la transacción! - - The transaction was rejected with the following reason: %1 - Se ha rechazado la transacción por la siguiente razón: %1 - A fee higher than %1 is considered an absurdly high fee. Una comisión superior a %1 se considera una comisión excesivamente alta. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Esto es un pago ordinario. - Pay &To: Pagar &a: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: C&antidad: + + The amount to send in the selected unit + El monto a enviar en la unidad seleccionada + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. La comisión se descontará de la cantidad que se envía. El destinatario recibirá una cantidad menor de Dash de la que ingrese en el campo de cantidad. Si se seleccionan múltiples destinatarios, la comisión se divide por igual. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - + Send + Enviar @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with La dirección Dash con la cual se firmó el mensaje + + The signed message to verify + El mensaje firmado para verificar + + + The signature given when the message was signed + La firma dada cuando se firmó el mensaje. + Verify the message to ensure it was signed with the specified Dash address Verificar el mensaje para garantizar que fue firmado con la dirección Dash indicada @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Tamaño total de transacción + + (Certificate was not verified) + (El certificado no fue verificado) + Merchant Vendedor @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Copiar todos los detalles de la transacción - Edit label - Editar etiqueta + Edit address label + Editar etiqueta de dirección Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Unidad para mostrar las cantidades. Pulse para seleccionar otra unidad. + + WalletController + + Close wallet + Cerrar billetera + + + Are you sure you wish to close the wallet <i>%1</i>? + ¿Estás seguro de que deseas cerrar la billetera<i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Cerrar la billetera por mucho tiempo puede resultar en tener que volver a sincronizar toda la cadena si el despeje está habilitado. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Enviar Dash + + default wallet + billetera predeterminada + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Error: Ha fallado la "escucha" de conexiones entrantes ("Escucha" ha devuelto el error %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + No se ha podido calcular la comisión. La comisión alternativa está deshabilitada. Espera unos bloques o habilitea -fallbackfee. + + + 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 + Este error podría ocurrir si esta billetera no se cerró correctamente y se cargó por última vez usando una compilación con una versión más nueva de Berkeley DB. Si es así, utiliza el software que cargaste por última vez en esta billetera + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Esta es una versión de pre-lanzamiento - utilícela bajo su propio riesgo. No la utilice para usos comerciales o de minería. @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Error leyendo la base de datos, cerrando. - - Error - Error - - - Error: Disk space is low! - Error: ¡Espacio en disco bajo! - Failed to listen on any port. Use -listen=0 if you want this. Error al escuchar cualquier puerto. Use -listen=0 si desea esto. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Entrada exceden el tamaño máximo. - - Failed to load fulfilled requests cache from - Error al cargar la memoria caché de solicitudes completadas - - - Failed to load governance cache from - Error al cargar la memoria cache de gobernanza - - - Failed to load masternode cache from - Error al cargar la memoria caché del masternode - Found enough users, signing ( waiting %s ) Se encontraron suficientes usuarios, firmando (esperando %s) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Bloque génesis incorrecto o no encontrado. ¿Es el directorio datadir incorrecto para la red? - - Information - Información - Input is not valid. La entrada no es válida. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Respuesta desconocida. - - Unsupported argument -benchmark ignored, use -debug=bench. - El argumento -benchmark no es soportado y ha sido ignorado, utiliza -debug=bench - - - Unsupported argument -debugnet ignored, use -debug=net. - Parámetros no compatibles -debugnet ignorados , use -debug = red. - - - Unsupported argument -tor found, use -onion. - Parámetros no compatibles -tor encontrados, use -onion . - User Agent comment (%s) contains unsafe characters. El comentario del Agente de Usuario (%s) contiene caracteres inseguros. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s está parado. - - %s request incomplete: %s - Petición de %s incompleta: %s - Can't mix while sync in progress. No se puede mezclar mientras la sincronización esté en curso. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s archivo contiene todas las llaves privadas de esta billetera. ¡No lo compartas con nadie! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -la opción masternode está en desuso e ignorada, especificando -masternodeblsprivkey es suficiente para iniciar este nodo como masternode. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. ¡Error al crear copia de seguridad, el archivo ya existe! Esto puede ocurrir si reinicio la billetera en menos de 60 segundos. Puede continuar si esta de acuerdo con esto. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. La longitud total de la cadena de versión de red ( %i ) supera la longitud máxima ( %i ) . Reducir el número o tamaño de uacomments . - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Error: argumento -socks encontrado. El ajuste de la versión SOCKS ya no es posible, sólo proxies SOCKS5 son compatibles. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - El argumento no soportado -whitelistalwaysrelay ha sido ignorado, utiliza -whitelistrelay y/o -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. ¡ADVERTENCIA! Error al reponer la keypool, por favor desbloquee su billetera para hacerlo. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. ¡La billetera esta bloqueado, no se puede reponer keypool! Copias de seguridad automáticas y mezclado están deshabilitados, por favor desbloquee su billetera para reponer keypool. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Advertencia: Se están minando versiones de bloques desconocidas! Es posible que normas desconocidas estén activas - You need to rebuild the database using -reindex to change -timestampindex Necesitas reconstruir la base de datos usando -reindex para cambiar -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Necesitas reconstruir la base de datos utilizando -reindex para volver al modo sin poda. Esto volverá a descargar toda la cadena de bloques - -litemode is deprecated. - -modo seguro está en desuso. + %s failed + %s ha fallado -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Copias de seguridad automáticas deshabilitadas + + Cannot set -peerblockfilters without -blockfilterindex. + No se puede establecer -peerblockfilters sin -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + El ajuste de configuración para %s solo se aplica en la red %s cuando está en la sección [%s]. + + + Could not find asmap file %s + No se pudo encontrar un archivo asmap %s + + + Could not parse asmap file %s + No se pudo analizar un archivo asmap %s + ERROR! Failed to create automatic backup ¡ERROR! Error al crear copia de seguridad automática + + Error loading %s: Private keys can only be disabled during creation + Error al cargar %s: las claves privadas solo se pueden deshabilitar durante la creación + Error upgrading evo database Error al actualizar la base de datos evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Error: Un error interno fatal ocurrió, ver debug.log para detalles + + Error: Disk space is low for %s + Error: el espacio en disco es bajo para %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Error: no se pudo agregar el socket a epollfd (epoll_ctl returned error %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Se superó el máximo de intentos. - - Failed to clear fulfilled requests cache at - No se pudo borrar la caché de solicitudes cumplidas en - - - Failed to clear governance cache at - No se pudo borrar el caché de gobernanza en - - - Failed to clear masternode cache at - No se pudo borrar el caché de masternode en - Failed to commit EvoDB No se pudo cometer EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Error al borrar copia de seguridad, error: %s - - Failed to load sporks cache from - Error al cargar el caché de sporks desde - Failed to rescan the wallet during initialization No se pudo volver a escanear la billetera durante la inicialización + + Invalid P2P permission: '%s' + Permiso P2P no válido: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Cantidad inválida para -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Llave privada de Masternode inválida. Por favor ver la documentación. - - It has been replaced by -disablegovernance. - Ha sido reemplazado por -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - Su reemplazo -disablegovernance ha sido forzado en su lugar. - Loading block index... Cargando el índice de bloques... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. La poda no se puede configurar con un valor negativo. + + Prune mode is incompatible with -blockfilterindex. + El modo de despeje es incompatible con -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. El modo de poda es incompatible con -disablegovernance=false. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Podando almacén de bloques + + Section [%s] is not recognized. + La sección [%s] no se reconoce + Specified -walletdir "%s" does not exist Dirección de billetera especificada "%s" no existe @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Sincronizando cadena de bloques... + + The specified config file %s does not exist + + El archivo de configuración especificado %s no existe + + The wallet will avoid paying less than the minimum relay fee. La billetera evitará pagar menos que la comisión mínima de transmisión. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. No se ha podido conectar con %s en este equipo. %s es posible que este todavia en ejecución. + + Unable to create the PID file '%s': %s + No se puede crear el archivo PID '%s': %s + Unable to generate initial keys No se pueden generar llaves iniciales - Upgrading UTXO database - Actualizando la base de datos UTXO + Unknown -blockfilterindex value %s. + Valor -blockfilterindex desconocido %s. - Wallet %s resides outside wallet directory %s - Billetera %s reside fuera del directorio de billetera %s + Upgrading UTXO database + Actualizando la base de datos UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Necesita reconstruir la base de datos usando -reindex para cambiar -spentindex - - You need to rebuild the database using -reindex to change -txindex - Usted necesita reconstruir la base de datos utilizando -reindex para cambiar -txindex - no mixing available. No hay mezclado disponible. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. ver debug.log para detalles. - - Dash Core - Dash Core - The %s developers Los desarrolladores de %s @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ No se pueden reproducir bloques. Deberás reconstruir la base de datos utilizando -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Advertencia: archivo Billetera esta corrupto, datos recuperados! Original %s guardado como %s en %s; si su balance o transacciones es incorrecto, debe restaurar desde una copia de seguridad. + Warning: Private keys detected in wallet {%s} with disabled private keys + Advertencia: claves privadas detectadas en la billetera {%s} con claves privadas deshabilitadas %d of last 100 blocks have unexpected version %d de los últimos 100 bloques tienen una versión inesperada - - %s corrupt, salvage failed - %s corrupto, recuperacion fallida - %s is not a valid backup folder! ¡%s no es una carpeta de copia de seguridad valida! + + %s is only allowed with a single wallet file + %s solo está permitido con un solo archivo de billetera + %s is set very high! ¡%s esta establecido muy alto! + + %s request incomplete: + %s solicitud incompleta: + -devnet can only be specified once -devnet solo puede ser especificado una vez @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport solo se debe especificar cuando -devnet y -server son especificados + + A fatal internal error occurred, see debug.log for details + Ocurrió un error interno fatal, ver debug.log para más detalles + Cannot resolve -%s address: '%s' No se puede resolver -%s direccion: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + ¡El espacio en disco es demasiado bajo! + Error loading %s Error cargando %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Error: no se pudo agregar el socket a kqueuefd (kevent returned error %s) + + Failed to clear fulfilled requests cache at %s + No se pudo borrar la memoria caché de solicitudes cumplidas en %s + + + Failed to clear governance cache at %s + No se pudo borrar la memoria caché de gobernanza en %s + + + Failed to clear masternode cache at %s + No se pudo borrar la memoria caché de masternode en %s + Failed to find mixing queue to join Error al encontrar cola de mezclado para unirse + + Failed to load fulfilled requests cache from %s + No se pudo cargar la memoria caché de solicitudes cumplidas desde %s + + + Failed to load governance cache from %s + No se pudo cargar la memoria caché de governanza desde %s + + + Failed to load masternode cache from %s + No se puedo cargar la memoria caché de masternode desde %s + + + Failed to load sporks cache from %s + No se pudo cargar la memoria caché de sporks desde %s + Failed to start a new mixing queue Error al iniciar una nueva cola de mezclado @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. La última cola se creó muy recientemente. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s corrupto. Intenta usar la herramienta de billetera dash-wallet para recuperar o restaurar una copia de seguridad. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + No se puede generar una llave de cambio de dirección. No hay llaves en el conjunto de llaves internas y no puede generar ninguna llave. + Last successful action was too recent. La última acción exitosa era demasiado reciente. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. La transacción no es válida. - - Transaction too large for fee policy - Transacción demasiado grande para la política de comisiones - Unable to bind to %s on this computer (bind returned error %s) No es posible enlazar con %s en este computador (enlazado ha dado el error %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Categoría de registro no compatible %s=%s. + + Upgrading txindex database + Actualización de la base de datos txindex + Verifying blocks... Verificando bloques... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. La billetera está bloqueada. - - Warning - Advertencia - - - Warning: %s is deprecated, please use %s instead - Advertencia: %s está obsoleto, utiliza %s en su lugar - Warning: can't use %s and %s together, will prefer %s Advertencia: no se pueden usar %s y %s juntos, se prefiere %s diff --git a/src/qt/locale/dash_fi.ts b/src/qt/locale/dash_fi.ts index 3a5d321b0c..30482a800c 100644 --- a/src/qt/locale/dash_fi.ts +++ b/src/qt/locale/dash_fi.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Nämä ovat Dash osoitteesi maksujen lähetykseen. Tarkista aina lähetettävä määrä ja vastaanottajan osoite ennen kuin lähetät kolikoita. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Nämä ovat Dash osoitteesi suoritusten vastaanottamiseen. Suositellaan että käytät uutta osoitetta kullekin siirtotapahtumalle. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Nämä ovat Dash osoitteesi maksujen vastaanottoon. Käytä 'Luo uusi osoite' painiketta vastaanota välilehdellä luodaksesi uusia osoitteita. &Copy Address @@ -191,13 +191,9 @@ Uusi salasana uudelleen - Show password + Show passphrase Näytä salasana - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Anna lompakolle uusi salasana.<br/>Käytä salasanaa jossa on ainakin <b>10 satunnaista mekkiä</b> tai <b>kahdeksan sanaa</b>. - Encrypt wallet Salaa lompakko @@ -226,10 +222,6 @@ Change passphrase Vaihda salasana - - Enter the old passphrase and new passphrase to the wallet. - Anna lompakon vanha ja uusi salasana. - Confirm wallet encryption Vahvista lompakon salaus @@ -247,8 +239,28 @@ Lompakko salattu - Your wallet is now encrypted. Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. - Lompakkosi on nyt salattu. Muista että salaus ei voi täysin suojata varojasi jo tietokoneesi saastuu haittaohjelmalla. + 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>. + Anna lompakolle uusi salasana.<br/>Käytä salasanaa jossa on ainakin <b>10 satunnaista mekkiä</b> tai, <b>kahdeksan sanaa</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Anna lompakon vanha ja uusi salasana. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Muista että salaus ei voi täysin suojata varojasi jos tietokoneesi saastuu haittaohjelmalla. + + + Wallet to be encrypted + Salattava lompakko + + + Your wallet is about to be encrypted. + Lompakkosi salataan pian. + + + Your wallet is now encrypted. + Lompakkosi on nyt salattu. IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. @@ -315,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Vakava virhe tapahtunut. Dash Core ei voi enää toimia turvallisesti ja sulkeutuu. - - Dash Core - Dash Core - - - Wallet - Lompakko - - - Node - Solmu - &Overview &Yleisnäkymä @@ -351,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Pyydä maksuja (Luo QR koodit ja Dash: URIt) + + &Sending addresses + &Lähettävät Osoitteet + + + &Receiving addresses + &Vastaanottavat Osoitteet + + + Open Wallet + Avaa Lompakko + + + Open a wallet + Avaa lompakko + + + Close Wallet... + Sulje Lompakko... + + + Close wallet + Sulje lompakko + + + No wallets available + Ei käytettävissä olevia lompakoita + + + &Window + &Ikkuna + + + Minimize + Pienennä + + + Zoom + Suurenna + + + Main Window + Pääikkuna + &Transactions &Tapahtumat @@ -375,10 +419,6 @@ Quit application Sulje ohjelma - - Show information about Dash Core - Näytä tietoja Dash Core:sta - About &Qt Tietoja &Qt @@ -519,18 +559,10 @@ Show automatically created wallet backups Näytä automaattisesti tehdyt lompakon varmistukset - - &Sending addresses... - &Lähettävät Osoitteet... - Show the list of used sending addresses and labels Näytä lähettämiseen käytettyjen osoitteiden ja nimien lista - - &Receiving addresses... - Va&staanottavat Osoitteet... - Show the list of used receiving addresses and labels Näytä vastaanottamiseen käytettyjen osoitteiden ja nimien lista @@ -573,6 +605,18 @@ &File &Tiedosto + + Show information about %1 + Näytä tietoja %1 + + + Create Wallet... + Luo Lompakko... + + + Create a new wallet + Luo uusi lompakko + %1 &information %1 T&ietoja @@ -585,10 +629,6 @@ &Settings &Asetukset - - &Tools - &Työkalut - &Help &Apua @@ -597,6 +637,14 @@ Tabs toolbar Välilehtipalkki + + &Governance + &Hallinto + + + View Governance Proposals + Näytä hallinnon ehdotukset + %n active connection(s) to Dash network %n aktiivinen yhteys Dash verkkoon%n aktiivista yhteyttä Dash verkkoon @@ -661,10 +709,18 @@ Error Virhe + + Error: %1 + Virhe: %1 + Warning Varoitus + + Warning: %1 + Varoitus: %1 + Information Tietoja @@ -747,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Lompakko on <b>salattu</b> ja tällä hetkellä <b>lukittu</b> + + Proxy is <b>enabled</b>: %1 + Proxy on <b>käytössä</b>: %1 + + + Original message: + Alkuperäinen viesti: + CoinControlDialog @@ -943,6 +1007,60 @@ e/s + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Luodaan Lompakko <b>%1</b>... + + + Create wallet failed + Lompakon luonti epäonnistui + + + Create wallet warning + Luo lompakko varoitus + + + + CreateWalletDialog + + Create Wallet + Luo Lompakko + + + Wallet Name + Lompakon Nimi + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Salaa lompakko. Lompakko salataan haluamallasi salasanallasi. + + + Encrypt Wallet + Salaa Lompakko + + + 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. + Poista tämän lompakon yksityisavaimet käytöstä. Lompakoissa joissa yksityisavaimet on poistettu käytöstä, ei ole yksityisiä avaimia, eikä niissä voi olla HD-siementä tai tuotuja yksityisavaimia Tämä sopii hyvin katso-vain lompakoille. + + + Disable Private Keys + Poista Käytöstä Yksityisavaimet + + + 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. + Tee tyhjä lompakko. Tyhjissä lompakoissa ei aluksi ole yksityisavaimia tai komentosarjoja. Yksityisavaimet ja osoitteet voidaan tuoda tai HD siemen voidaan asettaa myöhemmin. + + + Make Blank Wallet + Luo Tyhjä Lompakko + + + Create + Luo + + EditAddressDialog @@ -982,8 +1100,12 @@ Annettu osoite "%1" ei ole pätevä Dash osoite. - The entered address "%1" is already in the address book. - Osoite "%1" on jo osoitekirjassa. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Osoite "%1" on jo olemassa nimellä "%2" ja ei voida lisätä lähettäväksi osoitteeksi. + + + The entered address "%1" is already in the address book with label "%2". + Osoite "%1" on jo osoitekirjassa nimellä "%2". Could not unlock wallet. @@ -1017,16 +1139,39 @@ Ei voida luoda datahakemistoa tänne. + + GovernanceList + + Form + Lomake + + + Filter List: + SuodatusLista: + + + Filter propsal list + Suodata ehdotuslista + + + Proposal Count: + Ehdotuksien Määrä: + + + Filter by Title + Suodata Otsikolla + + + Proposal Info: %1 + Ehdotus Info: %1 + + HelpMessageDialog version versio - - (%1-bit) - (%1-bittinen) - About %1 Tietoja %1 @@ -1121,10 +1266,6 @@ Status Tila - - 0 - 0 - Filter List: Suodatukset: @@ -1285,8 +1426,8 @@ Piilota - Unknown. Syncing Headers (%1)... - Tuntematon. Synkronoidaan otsikoita (%1)... + Unknown. Syncing Headers (%1, %2%)... + Tuntematon. Synkronoidaan otsikoita (%1, %2%)... @@ -1312,6 +1453,25 @@ Valitse avattava maksupyynnön tiedosto + + OpenWalletActivity + + Open wallet failed + Lompakon avaus epäonnistui + + + Open wallet warning + Lompakon avaus varoitus + + + default wallet + oletus lompakko + + + Opening Wallet <b>%1</b>... + Avataan Lompakko <b>%1</b>... + + OptionsDialog @@ -1326,10 +1486,6 @@ Size of &database cache &Tietokannan välimuistin koko - - MB - MB - Number of script &verification threads Script &vahvistuksien säikeiden määrä @@ -1346,10 +1502,6 @@ &Appearance &Ulkoasu - - 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. - Poistaa käytöstä joitakin laajempia ominaisuuksia mutta silti kaikki lohkot vahvistetaan. Tämän asetuksen takaisin käyttöönottaminen edellyttää koko lohkoketjun uudelleen latausta. Levytilan tarve voi olla korkeampi. - Prune &block storage to Karsi &lohko levytila @@ -1362,6 +1514,10 @@ Reverting this setting requires re-downloading the entire blockchain. Tämän asetuksen takaisin käyttöönottaminen edellyttää koko lohkoketjun uudelleen latausta. + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Näytä lisävälilehti jonka ensimmäisellä alivälilehdellä näkyvät sinun masternodet<br/>ja toisella alivälilehdellä näkyvät verkon kaikki masternodet. @@ -1370,6 +1526,14 @@ Show Masternodes Tab Näytä Masternodet Välilehti + + Show additional tab listing governance proposals. + Näytä lisä välilehti listaus hallintoehdotuksista. + + + Show Governance Tab + Näytä Hallinto Välilehti + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Jos poistat vahvistamattomien vaihtorahojen käytön, siirtotapahtuman<br/>vaihtorahaa ei voida käyttää ennen vähintään yhtä vahvistusta.<br/>Tämä vaikuttaa myös kuinka saldosi lasketaan. @@ -1426,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Avaa automaattisesti Dash Core asiakasohjelmalle portti reitittimeen. Tämä toimii vain jos reitittimesi tukee UPnP:tä ja se on käytössä. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Avaa automaattisesti Bitcoin asiakasohjelmalle portti reitittimeen. Tämä toimii vain jos reitittimesi tukee NAT-PMP:tä ja se on käytössä. Ulkoinen portti voi olla satunnainen. + + + Map port using NA&T-PMP + Kartoita portti käyttäen NA&T-PMP + Accept connections from outside. Hyväksy yhteydet ulkopuolelta. @@ -1450,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Käytä erillistä SOCKS&5 proxy:a tavoittaaksesi peers:it Tor piilopalvelun kautta: + + Options set in this dialog are overridden by the command line or in the configuration file: + Asetukset tässä dialogissa ylikirjoitetaan joko komentorivin tai asetustiedostosta: + Hide the icon from the system tray. Piilota kuvake tehtäväpalkista. @@ -1498,6 +1674,10 @@ &Network &Verkko + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Karsinnan käyttöönotto vähentää huomattavasti levytilan tarvetta. Kaikki lohkot ovat silti täysin vahvistettu. Tämän asetuksen ottaminen pois päältä vaatii koko lohkoketjun uudelleen lataamisen. + Map port using &UPnP Kartoita portti käyttäen &UPnP:tä @@ -1580,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Desimaalit - - Active command-line options that override above options: - Aktiiviset komentorivivalinnat jotka ohittavat ylläolevat valinnat: - Reset all client options to default. Palauta kaikki asetukset oletusarvoihin. @@ -1874,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 Maksupyynnön haku URL on virheellinen: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Ei voida prosessoida maksupyyntöä koska BIP70 tukea ei ole. + Invalid payment address %1 Virheellinen maksuosoite %1 @@ -1974,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Vastaanotettu + + Proposal + + Passing +%1 + Läpi menossa +%1 + + + Needs additional %1 votes + Tarvitsee lisä-ääniä %1 + + + + ProposalModel + + Yes + Kyllä + + + No + Ei + + + Hash + Tarkiste + + + Title + Otsikko + + + Start + Käynnistä + + + End + Lopeta + + + Amount + Määrä + + + Active + Aktiivinen + + + Status + Tila + + QObject @@ -2016,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Näytä aloitusruutu käynnistettäessä (oletus: %u) + + Error: Specified data directory "%1" does not exist. + Virhe: Annettua datahakemistoa "%1" ei ole olemassa. + + + Error: Cannot parse configuration file: %1. + Virhe: Ei voida jäsentää asetustiedostoa: %1. + + + Error: %1 + Virhe: %1 + + + Error: Failed to load application fonts. + Virhe: Fonttien lataus ei onnistunut. + + + Error: Specified font-family invalid. Valid values: %1. + Virhe: Määritetty fonttiperhe virheellinen. Sallittu arvoalue: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Virhe: Määritetty fontin normaali painoarvo virheellinen. Sallittu arvoalue %1 - %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Virhe: Määritetty fontin paksu painoarvo virheellinen. Sallittu arvoalue %1 - %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Virhe: Määritetty fontin skaala virheellinen. Sallittu arvoalue %1 - %2. + + + Error: Invalid -custom-css-dir path. + Virhe: Virheellinen -custom-css-dir polku. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Virhe: %1 CSS tiedosto(t) puuttuu custom-css-dir polusta. + %1 didn't yet exit safely... %1 ei vielä sulkeutunut turvallisesti... @@ -2117,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ tuntematon - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Virhe: Annettua datahakemistoa "%1" ei ole olemassa. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Virhe: asetustiedostoa %1 ei voida jäsentää. Käytä vain avain=arvo merkintätapaa. - - - Error: %1 - Virhe: %1 - - - Error: Failed to load application fonts. - Virhe: Fonttien lataus ei onnistunut. - - - Error: Specified font-family invalid. Valid values: %1. - Virhe: Määritetty fonttiperhe virheellinen. Sallittu arvoalue: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Virhe: Määritetty fontin normaali painoarvo virheellinen. Sallittu arvoalue %1 - %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Virhe: Määritetty fontin paksu painoarvo virheellinen. Sallittu arvoalue %1 - %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Virhe: Määritetty fontin arvoalue virheellinen. Sallittu arvoalue %1 - %2. - - - Error: Invalid -custom-css-dir path. - Virhe: Virheellinen -custom-css-dir polku. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Virhe: %1 CSS tiedosto(t) puuttuu custom-css-dir polusta. - - QRDialog @@ -2208,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Kopioi kuva + + Resulting URI too long, try to reduce the text for label / message. + Tuloksen URI liian pitkä, yritä lyhentää otsikon tekstiä / viestiä. + + + Error encoding URI into QR Code. + Virhe käännettäessä URI:a QR koodiksi. + + + QR code support not available. + QR koodin tuki ei käytettävissä. + Save QR Code Tallenna QR Koodi @@ -2263,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Debug lokitiedosto - - Current number of blocks - Nykyinen lohkojen määrä - Client version Asiakasohjelman versio - - Using BerkeleyDB version - Käytössä oleva BerkeleyDB versio - Block chain Lohkoketju @@ -2363,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Skannaa lohkoketju tiedostot 2 uudelleen + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Painikkeet uudelleen käynnistävät lompakon korjauksen komentorivin valintoja käyttäen, nämä korjaavat korruptoituneen lohkoketjun tai puuttuvat/vanhentuneet tapahtumat. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Skannaa uudelleen puuttuvat tapahtumat lohkoketjusta aloittaen lompakon luontiajasta. @@ -2383,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datahakemisto + + To specify a non-default location of the data directory use the '%1' option. + Määrittääksesi ei oletus datahakemiston sijainnin käytä '%1' asetusta. + + + Blocksdir + Lohkohakemisto + + + To specify a non-default location of the blocks directory use the '%1' option. + Määrittääksesi ei oletus hakemiston sijainnin lohkoille käytä '%1' asetusta. + + + Current block height + Nykyinen lohkomäärä + Last block hash Viimeisin lohkon tarkiste + + Latest ChainLocked block hash + Viimeisin Ketjulukitun lohkon tarkiste + + + Latest ChainLocked block height + Viimeisin Ketjulukittu lohko + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Avaa %1 -debug-loki tämänhetkisestä datahakemistosta. Tämä voi viedä muutaman sekunnin suurille lokitiedostoille. @@ -2463,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Lompakon Korjaus - - Salvage wallet - Pelasta lompakko - Recover transactions 1 Palauta tapahtumat 1 @@ -2479,15 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Päivitä lompakon formaatti - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Painikkeet käynnistävät lompakon korjauksen komentorivin valintoja käyttäen. -Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/vanhentuneet tapahtumat. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Yrittää pelastaa yksityiset avaimet viallisesta lompakkotiedostosta. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Palauta tapahtumat lohkoketjusta @@ -2543,10 +2789,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van &Unban &Poista estolistalta - - default wallet - oletuslompakko - Welcome to the %1 RPC console. Tervetuloa %1 RPC konsoliin. @@ -2671,8 +2913,8 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van &Määrä - &Request payment - &Maksupyyntö + &Create new receiving address + &Luo uusi vastaanottava osoite Clear all fields of the form. @@ -2714,6 +2956,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Copy URI Kopioi URI + + Copy address + Kopioi osoite + Copy label Kopioi nimi @@ -2777,14 +3023,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Wallet Lompakko - - Resulting URI too long, try to reduce the text for label / message. - Tuloksen URI liian pitkä, yritä lyhentää otsikon tekstiä / viestiä. - - - Error encoding URI into QR Code. - Virhe käännettäessä URI:a QR koodiksi. - RecentRequestsTableModel @@ -2883,10 +3121,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Choose... Valitse... - - collapse fee-settings - pienennä siirtomaksu asetukset - Confirmation time target: Vahvistusajan tavoite: @@ -2911,6 +3145,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Note: Not enough data for fee estimation, using the fallback fee instead. Huomio: Ei tarpeeksi tietoja siirtomaksun määrän arviointiin, käytetään oletus siirtomaksua. + + Hide transaction fee settings + Piilota tapahtuman siirtomaksun asetukset + Hide Piilota @@ -3007,14 +3245,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Are you sure you want to send? Haluatko varmasti lähettää? - - are added as transaction fee - lisätty siirtomaksuna - - - Total Amount = <b>%1</b><br />= %2 - Määrä yhteensä = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(Näytetään %1 / %2 merkintää)</b> @@ -3035,6 +3265,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van any available funds kaikkia käytössä olevia varoja + + Transaction fee + Siirtomaksu + (%1 transactions have higher fees usually due to no change output being allowed) (%1 siirtotapahtumissa on korkeampi siirtomaksu yleensä koska vaihtolähtöjä ei sallita) @@ -3055,6 +3289,18 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Varoitus: Käyttämällä %1 ja %2 tai useampia syötteitä voi heikentää yksityisyyttäsi ja ei ole suositeltavaa + + Click to learn more + Klikkaa saadaksesi lisätietoja + + + Total Amount + Kokonaismäärä + + + or + tai + Confirm send coins Hyväksy lähettäminen @@ -3083,10 +3329,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Transaction creation failed! Siirtotapahtuman luonti epäonnistui! - - The transaction was rejected with the following reason: %1 - Siirto hylättiin seuraavasta syystä: %1 - A fee higher than %1 is considered an absurdly high fee. Siirtomaksu joka on korkeampi kuin %1, katsotaan erittäin korkeaksi siirtomaksuksi. @@ -3126,10 +3368,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van SendCoinsEntry - - This is a normal payment. - Tämä on normaali maksu. - Pay &To: Maksun &saaja: @@ -3170,6 +3408,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van A&mount: &Määrä: + + The amount to send in the selected unit + Valitun yksikön lähetettävä määrä + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Siirtomaksu vähennetään lähetettävästä määrästä. Vastaanottaja saa pienemmän määrän kuin mitä laitoit määrä kenttään. Jos useampia vastaanottajia on valittu, siirtomaksu jaetaan tasan. @@ -3214,8 +3456,8 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van SendConfirmationDialog - Yes - Kyllä + Send + Lähetä @@ -3303,6 +3545,14 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van The Dash address the message was signed with Dash osoite jolla viesti on allekirjoitettu + + The signed message to verify + Vahvistettava allekirjoitettu viesti + + + The signature given when the message was signed + Annettu allekirjoitus milloin viesti on vahvistettu + Verify the message to ensure it was signed with the specified Dash address Tarkista että viesti on allekirjoitettu määritetyllä Dash osoitteella @@ -3544,6 +3794,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Transaction total size Siirtotapahtuman koko yhteensä + + (Certificate was not verified) + (Sertifikaatti ei ollut vahvistettu) + Merchant Kauppias @@ -3838,8 +4092,8 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Kopioi siirtotapahtuman yksityiskohdat - Edit label - Muokkaa nimeä + Edit address label + Muokkaa osoitteen nimeä Show transaction details @@ -3921,6 +4175,21 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Yksikkö jona määrät näytetään. Klikkaa valitaksesi yksikön. + + WalletController + + Close wallet + Sulje lompakko + + + Are you sure you wish to close the wallet <i>%1</i>? + Haluatko varmasti sulkea lompakon <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Lompakon sulkeminen liian pitkäksi ajaksi voi johtaa siihen, että koko ketju on synkronoitava uudelleen, jos karsiminen on käytössä. + + WalletFrame @@ -3934,6 +4203,10 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Send Coins Lähetä + + default wallet + oletuslompakko + WalletView @@ -3984,6 +4257,14 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Error: Listening for incoming connections failed (listen returned error %s) Virhe: Sisääntulevien yhteyksien kuuntelu epäonnistui (kuuntelu palautti virheen %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Siirtomaksun arvio epäonnistui. Varasiirtomaksu ei ole käytössä. Odota muutama lohko tai ota käyttöön -fallbackfee + + + 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 + Tämä virhe saattaa ilmetä, jos tätä lompakkoa ei sammutettu kunnolla ja se ladattiin viimeksi Berkeley DB:n uudemmalla versiolla. Jos näin on, käytä ohjelmistoa joka latasi tämän lompakon viimeksi + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Tämä on esijulkaistu testiversio - Käytä omalla vastuulla - Älä käytä louhimiseen tai kauppasovelluksiin. @@ -4044,14 +4325,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Error reading from database, shutting down. Virhe luettaessa tietokantaa, ohjelma suljetaan. - - Error - Virhe - - - Error: Disk space is low! - Virhe: Levytila on alhainen! - Failed to listen on any port. Use -listen=0 if you want this. Ei onnistuttu kuuntelemaan mitään porttia. Käytä -listen=0 jos haluat tätä. @@ -4088,18 +4361,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Entry exceeds maximum size. Merkintä ylittää maksimin. - - Failed to load fulfilled requests cache from - Täytettyjen pyyntöjen välimuistin lataaminen epäonnistui - - - Failed to load governance cache from - Hallinnon välimuistin lataaminen epäonnistui - - - Failed to load masternode cache from - Masternode välimuistin lataaminen epäonnistui - Found enough users, signing ( waiting %s ) Löytyi tarpeeksi käyttäjiä, kirjaudutaan ( odotetaan %s ) @@ -4124,10 +4385,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Incorrect or no genesis block found. Wrong datadir for network? Väärä tai ei alkuperäinen lohko löydetty. Väärä datahakemisto verkolle? - - Information - Tietoja - Input is not valid. Syöte ei ole pätevä. @@ -4208,18 +4465,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Unknown response. Tuntematon vastaus. - - Unsupported argument -benchmark ignored, use -debug=bench. - Ei tuettu argumentti -benchmark jätetty huomiotta, käytä -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Ei tuettu argumentti -debugnet jätetty huomiotta, käytä -debug=net. - - - Unsupported argument -tor found, use -onion. - Ei tuettu argumentti -tor löytyi, käytä -onion. - User Agent comment (%s) contains unsafe characters. Käyttäjä toimijan kommentti (%s) sisältää ei suositeltuja merkkejä. @@ -4244,10 +4489,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van %s is idle. %s odottaa. - - %s request incomplete: %s - %s pyyntö kesken: %s - Can't mix while sync in progress. Ei voida sekoittaa synkronoinnin aikana. @@ -4264,10 +4505,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van %s file contains all private keys from this wallet. Do not share it with anyone! %s tiedosto sisältää kaikki yksityisavaimet tähän lompakkoon. Älä luovuta sitä kenellekkän! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode asetus ei ole enää käytössä, käyttämällä -masternodeblsprivkey riittää käynnistämään masternoden. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Varmistus epäonnistui, tiedosto on jo olemassa! Tämä voi tapahtua jos olet käynnistänyt lompakon uudelleen alle 60 sek aikana. Voit jatkaa jos hyväksyt tämän. @@ -4301,14 +4538,6 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Verkon version merkkijonon (%i) kokonaispituus ylittää maksimi pituuden (%i). Vähennä uakommenttien määrää tai kokoa. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Ei tuettu argumentti -socks löydetty. SOCKS version asettaminen ei ole enää mahdollista, vain SOCKS5 proxyt ovat tuettuja. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Ei tuettu argumentti -whitelistalwaysrelay sivuutettu, käytä -whitelistrelay ja/tai -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. VAROITUS! Osoitevarannon täydentäminen epäonnistui, avaa lompakon lukitus. @@ -4317,10 +4546,6 @@ Vähennä uakommenttien määrää tai kokoa. Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Lompakko on lukittu, osoitevarannon täydentäminen ei onnistu! Automaattinen varmistus ja sekoitus ei ole käytössä, avaa lompakon lukitus täydentääksesi osoitevarannon. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Varoitus: Tuntemattomia lohkoversioita louhitaan! On mahdollista että tuntemattomia sääntöjä on käytössä - You need to rebuild the database using -reindex to change -timestampindex Sinun tulee uudelleen rakentaa tietokanta käyttäen -reindex vaihtaen -timestampindex @@ -4333,10 +4558,6 @@ Vähennä uakommenttien määrää tai kokoa. %s failed %s epäonnistui - - -litemode is deprecated. - -litemode on poistettu käytöstä. - -maxmempool must be at least %d MB -maxmempool on oltava vähintään %d MB @@ -4345,10 +4566,30 @@ Vähennä uakommenttien määrää tai kokoa. Automatic backups disabled Automaattinen varmistus ei ole käytössä + + Cannot set -peerblockfilters without -blockfilterindex. + Ei voida asettaa -peerblockfilters ilman -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + %s:n konfigurointiasetus käytössä vain %s verkossa [%s] osiossa. + + + Could not find asmap file %s + Ei löytynyt asmap tiedostoa %s + + + Could not parse asmap file %s + Ei voitu jäsentää asmap tiedostoa %s + ERROR! Failed to create automatic backup VIRHE! Automaattinen varmistus epäonnistui + + Error loading %s: Private keys can only be disabled during creation + Virhe ladatessa %s: Yksityisavaimet voivat olla ainoastaan pois käytöstä luomisen aikana + Error upgrading evo database Virhe evo tietokannan päivityksessä @@ -4357,6 +4598,10 @@ Vähennä uakommenttien määrää tai kokoa. Error: A fatal internal error occurred, see debug.log for details Virhe: Vakava sisäinen virhe, katso debug.log lisätietoja + + Error: Disk space is low for %s + Virhe: Levytila on alhainen %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Virhe: socket lisäys epollfd:ään epäonnistui (epoll_ctl palautti virheen %s) @@ -4365,18 +4610,6 @@ Vähennä uakommenttien määrää tai kokoa. Exceeded max tries. Maksimi yritykset ylitetty. - - Failed to clear fulfilled requests cache at - Täytettyjen pyyntöjen välimuistin tyhjennys epäonnistui - - - Failed to clear governance cache at - Hallinnon välimuistin tyhjennys epäonnistui - - - Failed to clear masternode cache at - Masternode välimuistin tyhjennys epäonnistui - Failed to commit EvoDB EvoDB liitäntä epäonnistui @@ -4393,14 +4626,14 @@ Vähennä uakommenttien määrää tai kokoa. Failed to delete backup, error: %s Varmistuksen poisto epäonnistui, virhe: %s - - Failed to load sporks cache from - Spork välimuistin lataaminen epäonnistui - Failed to rescan the wallet during initialization Lompakon uudelleen skannaaminen epäonnistui alustuksen aikana + + Invalid P2P permission: '%s' + Virheellinen P2P oikeus: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Virheellinen määrä -fallbackfee=<amount>: '%s' @@ -4409,14 +4642,6 @@ Vähennä uakommenttien määrää tai kokoa. Invalid masternodeblsprivkey. Please see documentation. Virheellinen masternodeblsprivkey. Katso lisätietoja dokumentaatiosta. - - It has been replaced by -disablegovernance. - Se on korvattu -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - Korvaava -disablegovernance on pakotettu sen sijaan. - Loading block index... Ladataan lohkoindeksiä... @@ -4469,6 +4694,10 @@ Vähennä uakommenttien määrää tai kokoa. Prune cannot be configured with a negative value. Karsinta ei voi olla asetettu negatiiviseksi arvoksi. + + Prune mode is incompatible with -blockfilterindex. + Karsintatila on epäyhteensopiva -blockfilterindex kanssa. + Prune mode is incompatible with -disablegovernance=false. Karsintatila on epäyhteensopiva -disablegovernance=false kanssa. @@ -4481,6 +4710,10 @@ Vähennä uakommenttien määrää tai kokoa. Pruning blockstore... Karsitaan lohkoja... + + Section [%s] is not recognized. + Osio [%s] ei ole tunnistettavissa. + Specified -walletdir "%s" does not exist Määriteltyä -walletdir "%s" ei ole olemassa @@ -4497,6 +4730,12 @@ Vähennä uakommenttien määrää tai kokoa. Synchronizing blockchain... Synkronoidaan lohkoketju... + + The specified config file %s does not exist + + Asetustiedostoa %s ei ole olemassa + + The wallet will avoid paying less than the minimum relay fee. Lompakko välttää maksamasta vähemän kuin vähimmäisvälitysmaksun. @@ -4537,17 +4776,21 @@ Vähennä uakommenttien määrää tai kokoa. Unable to bind to %s on this computer. %s is probably already running. Kytkeytyminen kohteeseen %s ei onnistu tällä tietokoneella. %s on luultavasti jo käynnissä. + + Unable to create the PID file '%s': %s + Ei voitu luoda PID tiedostoa '%s': %s + Unable to generate initial keys Aloitusavaimia ei voitu luoda - Upgrading UTXO database - Päivitetään UTXO tietokantaa + Unknown -blockfilterindex value %s. + Tuntematon -blockfilterindex arvo %s. - Wallet %s resides outside wallet directory %s - Lompakko %s sijaitsee lompakkohakemiston ulkopuolella %s + Upgrading UTXO database + Päivitetään UTXO tietokantaa Wallet needed to be rewritten: restart %s to complete @@ -4573,10 +4816,6 @@ Vähennä uakommenttien määrää tai kokoa. You need to rebuild the database using -reindex to change -spentindex Sinun tulee uudelleen rakentaa tietokanta käyttäen -reindex vaihtaen -spentindex - - You need to rebuild the database using -reindex to change -txindex - Sinun tulee uudelleen rakentaa tietokanta käyttäen -reindex vaihtaen -txindex - no mixing available. sekoitus ei käytettävissä. @@ -4585,10 +4824,6 @@ Vähennä uakommenttien määrää tai kokoa. see debug.log for details. katso debug.log lisätietoja. - - Dash Core - Dash Core - The %s developers %s kehittäjät @@ -4642,25 +4877,29 @@ Vähennä uakommenttien määrää tai kokoa. Ei voitu toistaa lohkoja. Sinun tulee uudelleen rakentaa tietokanta käyttäen -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Varoitus: Lompakkotiedosto on vioittunut, tiedot pelastettu. Alkuperäinen %s on tallennettu nimellä %s tänne %s, jos saldosi tai siirtohistoria on virheellinen, sinun tulisi palauttaa lompakkotiedosto varmuuskopiosta. + Warning: Private keys detected in wallet {%s} with disabled private keys + Varoitus: Lompakossa {%s} havaittiin yksityisavaimet , jotka on poistettu käytöstä %d of last 100 blocks have unexpected version %d viimeisintä lohkoa 100:sta sisältää odottamattoman version - - %s corrupt, salvage failed - %s korruptoitunut, korjaaminen epäonnistui - %s is not a valid backup folder! %s ei ole pätevä varmistus hakemisto! + + %s is only allowed with a single wallet file + %s on sallittu vain yhden lompakkotiedoston kanssa + %s is set very high! %s on asetettu todella korkeaksi! + + %s request incomplete: + %s pyyntö kesken: + -devnet can only be specified once -devnet voidaan määrittää vain kerran @@ -4673,6 +4912,10 @@ Vähennä uakommenttien määrää tai kokoa. -rpcport must be specified when -devnet and -server are specified -rpcport täytyy määritellä kun -devnet ja -server on määritelty + + A fatal internal error occurred, see debug.log for details + Vakava sisäinen virhe, katso debug.log lisätietoja + Cannot resolve -%s address: '%s' -%s -osoitteen '%s' selvittäminen epäonnistui @@ -4689,6 +4932,10 @@ Vähennä uakommenttien määrää tai kokoa. Copyright (C) Tekijänoikeus (C) + + Disk space is too low! + Levytila on alhainen! + Error loading %s Virhe ladattaessa %s @@ -4717,10 +4964,38 @@ Vähennä uakommenttien määrää tai kokoa. Error: failed to add socket to kqueuefd (kevent returned error %s) Virhe: socket lisäys kqueuefd:ään epäonnistui (kevent palautti virheen %s) + + Failed to clear fulfilled requests cache at %s + Täytettyjen pyyntöjen välimuistin tyhjennys epäonnistui %s + + + Failed to clear governance cache at %s + Hallinnon välimuistin tyhjennys epäonnistui %s + + + Failed to clear masternode cache at %s + Masternode välimuistin tyhjennys epäonnistui %s + Failed to find mixing queue to join Ei löytynyt sekoitusjonoa johon liittyä + + Failed to load fulfilled requests cache from %s + Täytettyjen pyyntöjen välimuistin lataaminen epäonnistui %s + + + Failed to load governance cache from %s + Hallinnon välimuistin lataaminen epäonnistui %s + + + Failed to load masternode cache from %s + Masternode välimuistin lataaminen epäonnistui %s + + + Failed to load sporks cache from %s + Spork välimuistin lataaminen epäonnistui %s + Failed to start a new mixing queue Uuden sekoitusjonon käynnistys ei onnistunut @@ -4789,6 +5064,14 @@ Vähennä uakommenttien määrää tai kokoa. Last queue was created too recently. Viimeisin jono on luotu liian äskettäin. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s vioittunut. Yritä käyttää lompakkotyökalua dash-wallet pelastaaksesi tai palauttaaksesi varmuuskopion. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Vaihtoraha-osoitetta ei voi luoda. Ei avaimia sisäisessä avainvarannossa, eikä avaimia voi luoda. + Last successful action was too recent. Viimeinen onnistunut tapahtuma oli liian äskettäin. @@ -4829,10 +5112,6 @@ Vähennä uakommenttien määrää tai kokoa. Transaction not valid. Siirtotapahtuma ei ole voimassa. - - Transaction too large for fee policy - Siirtotapahtuma on liian iso suhteessa siirtomaksujen käytäntöön. - Unable to bind to %s on this computer (bind returned error %s) Ei voida yhdistää %s tässä tietokoneessa (yhdistäminen palautti virheen %s) @@ -4861,6 +5140,10 @@ Vähennä uakommenttien määrää tai kokoa. Unsupported logging category %s=%s. Ei tuettu lokikategoria %s=%s. + + Upgrading txindex database + Päivitetään txindex tietokantaa + Verifying blocks... Tarkistetaan lohkoja... @@ -4873,14 +5156,6 @@ Vähennä uakommenttien määrää tai kokoa. Wallet is locked. Lompakko on lukittu. - - Warning - Varoitus - - - Warning: %s is deprecated, please use %s instead - Varoitus: %s on vanhentunut, käytä %s sen sijaan - Warning: can't use %s and %s together, will prefer %s Varoitus: ei voida käyttää %s ja %s yhdessä, suositaan %s diff --git a/src/qt/locale/dash_fr.ts b/src/qt/locale/dash_fr.ts index 38cafb4777..cb82ba13a0 100644 --- a/src/qt/locale/dash_fr.ts +++ b/src/qt/locale/dash_fr.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Voici vos adresses Dash pour l'envoi de paiements. Vérifiez toujours le montant et l'adresse de réception avant d'envoyer de l'argent. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Voici vos adresses Dash pour la réception de paiements. Il est recommandé d'utiliser une nouvelle adresse de réception pour chaque transaction. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Voici vos adresses Dash pour recevoir des paiements. Utilisez le bouton "Créer une nouvelle adresse de réception" dans l'onglet Recevoir pour créer de nouvelles adresses. &Copy Address @@ -191,12 +191,8 @@ Répéter la phrase de passe - Show password - Afficher le mot de passe - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Saisir la nouvelle phrase de passe pour le portefeuille.<br/>Veuillez utiliser une phrase de passe de <b>dix caractères aléatoires ou plus</b>, ou de <b>huit mots ou plus</b>. + Show passphrase + Voir la phrase de passe Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Changer le mot de passe - - Enter the old passphrase and new passphrase to the wallet. - Saisissez l'ancienne phrase de passe et la nouvelle phrase de passe du portefeuille. - Confirm wallet encryption Confirmer le chiffrement du portefeuille @@ -246,6 +238,30 @@ Wallet encrypted Portefeuille chiffré + + 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>. + Saisissez la nouvelle phrase de passe pour le portefeuille.<br/>Veuillez utiliser une phrase de passe de <b>dix caractères aléatoires au minimum</b>, ou <b>huit mots au minimum</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Saisissez la vieille phrase de passe et la nouvelle phrase de passe pour le portefeuille. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Souvenez-vous que chiffrer votre portefeuille ne peut pas protéger entièrement vos fonds d'être volés par un logiciel malveillant qui infecterait votre ordinateur. + + + Wallet to be encrypted + Portefeuille à chiffrer + + + Your wallet is about to be encrypted. + Votre portefeuille sera bientôt chiffré. + + + Your wallet is now encrypted. + Votre portefeuille est désormais chiffré. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. IMPORTANT : il convient que toutes les sauvegardes que vous avez faites précédemment de votre portefeuille soient remplacées par le fichier chiffré nouvellement créé. En effet, ces sauvegardes précédentes (non chiffrées) contiennent la même graine HD et ont un plein accès à tous vos fonds, tout comme le nouveau portefeuille chiffré. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Une erreur fatale est survenue. Dash ne peut plus continuer de façon sûre et va s'arrêter. - - Dash Core - Dash Core - - - Wallet - Portefeuille - - - Node - Nœud - &Overview &Vue d'ensemble @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Demande de paiements (génère des QR-codes et des URIs Dash) + + &Sending addresses + Envoyer des adresses + + + &Receiving addresses + &Recevoir des adresses + + + Open Wallet + Ouvrir le portefeuille + + + Open a wallet + Ouvrir un portefeuille + + + Close Wallet... + Fermer le portefeuille… + + + Close wallet + Fermer le portefeuille + + + No wallets available + Aucun portefeuille disponible + + + &Window + Fenêtre + + + Minimize + Minimiser + + + Zoom + Zoom + + + Main Window + Fenêtre principale + &Transactions &Transactions @@ -371,10 +419,6 @@ Quit application Quitter l’application - - Show information about Dash Core - Affichez des informations à propos de Dash Core - About &Qt À propos de &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Afficher automatiquement les sauvegardes de portefeuille créées - - &Sending addresses... - Adresses d'&envoi... - Show the list of used sending addresses and labels Afficher la liste d'adresses d'envoi et d'étiquettes utilisées - - &Receiving addresses... - Adresses de &réception... - Show the list of used receiving addresses and labels Afficher la liste d'adresses de réception et d'étiquettes utilisées @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Afficher le message d’aide de %1 pour obtenir la liste des options de ligne de commande Dash possibles. + + default wallet + portefeuille par défaut + %1 client Client %1 @@ -565,6 +605,18 @@ &File &Fichier + + Show information about %1 + Afficher les informations sur %1 + + + Create Wallet... + Créer un portefeuille… + + + Create a new wallet + Créer un nouveau portefeuille + %1 &information %1 &Informations @@ -577,10 +629,6 @@ &Settings &Réglages - - &Tools - &Outils - &Help &Aide @@ -589,6 +637,14 @@ Tabs toolbar Barre d'outils des onglets + + &Governance + &Gouvernance + + + View Governance Proposals + Voir les propositions de gouvernance + %n active connection(s) to Dash network %n connexion active au réseau Dash %n connexions actives au réseau Dash @@ -653,10 +709,18 @@ Error Erreur + + Error: %1 + Erreur : %1 + Warning Avertissement + + Warning: %1 + Avertissement : %1 + Information Information @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Le portefeuille est <b>chiffré</b> et actuellement <b>verrouillé</b> + + Proxy is <b>enabled</b>: %1 + Le proxy est <b>activé</b> : %1 + + + Original message: + Message d'origine : + CoinControlDialog @@ -935,6 +1007,60 @@ n/a + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Création du portefeuille <b>%1</b>... + + + Create wallet failed + Échec de la création du portefeuille + + + Create wallet warning + Avertissement sur la création du portefeuille + + + + CreateWalletDialog + + Create Wallet + Créer un portefeuille + + + Wallet Name + Nom du portefeuille + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Chiffrer le portefeuille. Le portefeuille sera chiffré avec une phrase de passe de votre choix. + + + Encrypt Wallet + Chiffrer le portefeuille + + + 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. + Désactiver les clés privées pour ce portefeuille. Les portefeuilles avec des clés privées désactivées n'auront pas de clés privées et ne peuvent avoir une graine HD ou des clés privées importées. C'est idéal pour les portefeuilles en consultation seule. + + + Disable Private Keys + Désactiver les clés privées + + + 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. + Créer un portefeuille vierge. Les portefeuilles vierges n'ont pas, au début, de clés privées ou de scripts. Les clés privées et les adresses peuvent être importées, ou une graine HD peut être définie, ultérieurement. + + + Make Blank Wallet + Créer un portefeuille vierge + + + Create + Créer + + EditAddressDialog @@ -974,8 +1100,12 @@ L'adresse d'entrée « %1 » n'est pas une adresse Dash valide - The entered address "%1" is already in the address book. - L’adresse fournie « %1 » est déjà présente dans le carnet d'adresses. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + L'adresse "%1" existe déjà en tant qu'adresse de réception avec le label "%2", elle ne peut donc pas être ajoutée comme adresse d'envoi. + + + The entered address "%1" is already in the address book with label "%2". + L'adresse indiquée "%1" est déjà dans le registre d'adresses avec le label "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ Impossible de créer un répertoire de données ici. + + GovernanceList + + Form + Formulaire + + + Filter List: + Liste de filtres : + + + Filter propsal list + Liste de proposition de filtres + + + Proposal Count: + Nombre de propositions : + + + Filter by Title + Filtrer par titre + + + Proposal Info: %1 + Information sur proposition : %1 + + HelpMessageDialog version version - - (%1-bit) - (%1-bit) - About %1 À propos de %1 @@ -1113,10 +1266,6 @@ Status État - - 0 - 0 - Filter List: Filtrer la liste : @@ -1277,8 +1426,8 @@ Masquer - Unknown. Syncing Headers (%1)... - Inconnu. Synchronisation des en-têtes (%1)... + Unknown. Syncing Headers (%1, %2%)... + Inconnu. Synchronisation d'en-têtes (%1, %2%)... @@ -1304,6 +1453,25 @@ Choisir le fichier de demande de paiement à ouvrir + + OpenWalletActivity + + Open wallet failed + Échec de l'ouverture de portefeuille + + + Open wallet warning + Avertissement sur l'ouverture de portefeuille + + + default wallet + portefeuille par défaut + + + Opening Wallet <b>%1</b>... + Ouverture du portefeuille <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Taille du cache de la base de &données - - MB - Mo - Number of script &verification threads Nombre de files de &vérification de script @@ -1338,6 +1502,22 @@ &Appearance &Apparence + + Prune &block storage to + Élaguer le stockage &block à + + + GB + Go + + + Reverting this setting requires re-downloading the entire blockchain. + Inverser ce réglage impose de télécharger à nouveau la blockchain entière. + + + MiB + Mio + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Ajouter un onglet montrant tous vos masternodes dans le premier sous-onglet<br/>et tous les masternodes du réseau dans le second. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Afficher l'onglet Masternodes + + Show additional tab listing governance proposals. + Afficher l'onglet supplémentaire des propositions de gouvernance + + + Show Governance Tab + Afficher l'onglet de gouvernance + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Si vous désactivez la dépense d'argent non confirmé, le montant d'une transaction<br/>ne peut pas être utilisé tant que cette transaction n'a pas reçu au moins une confirmation.<br/>Ceci a aussi un impact sur le calcul de votre solde. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Ouvrir automatiquement le port du client Dash Core sur le routeur. Cela ne fonctionne que si votre routeur supporte UPnP et est activé. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Ouvrir automatiquement le port du client Bitcoin sur le routeur. Cela ne fonctionne que lorsque votre routeur est compatible NAT-PMP et qu'il est activé. Le port externe peut être aléatoire. + + + Map port using NA&T-PMP + Port map utilisant NA&T-PMP + Accept connections from outside. Accepter des connexions depuis l'extérieur. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Utiliser un serveur mandataire SOCKS&5 distinct pour atteindre les pairs par des services cachés Tor : + + Options set in this dialog are overridden by the command line or in the configuration file: + Les options choisies dans ce dialogue sont remplacées par la ligne de commande ou dans le fichier de configuration : + Hide the icon from the system tray. Masquer l'icône de la barre d'état système. @@ -1474,6 +1674,10 @@ &Network &Réseau + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Activer l'élagage réduit significativement l'espace-disque utilisé pour stocker les transactions. Tous les blocs restent entièrement validés. Annuler ce réglage entraîne le re-téléchargement de la blockchain entière. + Map port using &UPnP Mapper le port avec l'&UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Nombre de décimales - - Active command-line options that override above options: - Options actives de ligne de commande qui annulent les options ci-dessus : - Reset all client options to default. Réinitialiser toutes les options du client aux valeurs par défaut. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 L'URL de récupération de la demande de paiement est invalide : %1 + + Cannot process payment request because BIP70 support was not compiled in. + Impossible de gérer la requête de paiement car le support BIP70 n'a pas été compilé. + Invalid payment address %1 Adresse de paiement %1 invalide @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Reçu + + Proposal + + Passing +%1 + En traitement +%1 + + + Needs additional %1 votes + Besoin de votes %1 supplémentaires + + + + ProposalModel + + Yes + Oui + + + No + Non + + + Hash + Hash + + + Title + Titre + + + Start + Début + + + End + Fin + + + Amount + Montant + + + Active + Actif + + + Status + État + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Afficher l'écran de démarrage (défaut : %u) + + Error: Specified data directory "%1" does not exist. + Erreur : le répertoire de données indiqué "%1" n'existe pas. + + + Error: Cannot parse configuration file: %1. + Erreur : impossible d'analyser le fichier de configuration : %1. + + + Error: %1 + Erreur : %1 + + + Error: Failed to load application fonts. + Erreur : échoué à charger les polices d'application. + + + Error: Specified font-family invalid. Valid values: %1. + Erreur : la famille de polices spécifiée est invalide. Valeurs valides : %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Erreur : la valeur de graisse des caractères normaux est invalide. Écart valide de %1 à %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Erreur : la valeur de graisse des caractères gras est invalide. Écart valide de %1 à %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Erreur : la taille de caractères indiquée est invalide. Écart valide de %1 à %2. + + + Error: Invalid -custom-css-dir path. + Erreur : chemin -custom-css-dir invalide. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Erreur : %1 fichier(s) CSS manquant dans le chemin -custom-css-dir. + %1 didn't yet exit safely... %1 ne s’est pas encore arrêté en toute sécurité... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ inconnu - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Erreur : le répertoire de données indiqué « %1 » n’existe pas. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Erreur : impossible d’analyser le fichier de configuration : %1. N’utiliser que la syntaxe clef=valeur. - - - Error: %1 - Erreur : %1 - - - Error: Failed to load application fonts. - Erreur : échec du chargement des polices d'application. - - - Error: Specified font-family invalid. Valid values: %1. - Erreur : la police typographique spécifiée n'est pas valide. Valeurs valides : %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Erreur : le style normal spécifié n'est pas valide. Intervalle valide : %1 à %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Erreur : le style gras spécifié n'est pas valide. Intervalle valide : %1 à %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Erreur : la taille typographique spécifiée n'est pas valide. Intervalle valide : %1 à %2. - - - Error: Invalid -custom-css-dir path. - Erreur : le chemin -custom-css-dir n'est pas valide. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Erreur : %1 fichier(s) CSS manquant(s) dans le chemin -custom-css-dir. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Copier l'image + + Resulting URI too long, try to reduce the text for label / message. + L'URI résultant est trop long, essayez de réduire le texte du label ou du message. + + + Error encoding URI into QR Code. + Erreur d'encodage de l'URI en code QR. + + + QR code support not available. + Le support du code QR n'est pas disponible. + Save QR Code Sauvegarder le QR-code @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Journal de débogage - - Current number of blocks - Nombre actuel de blocs - Client version Version du client - - Using BerkeleyDB version - Version de BerkeleyDB - Block chain Chaîne de blocs @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Rebalayer les fichiers de la chaîne de blocs (2) + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Les boutons ci-dessous vont redémarrer le portefeuille avec des options de ligne de commande pour réparer le portefeuille, régler les problèmes avec des fichiers corrompus de blockchain ou des transactions manquantes ou obsolètes. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1 : Rebalaye la chaîne de blocs pour les transactions de portefeuille manquantes, à compter du moment de création du portefeuille. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Rép. de données + + To specify a non-default location of the data directory use the '%1' option. + Pour indiquer une localisation non-défaut du répertoire de données, utilisez l'option '%1'. + + + Blocksdir + Répertoire de blocs + + + To specify a non-default location of the blocks directory use the '%1' option. + Pour indiquer une localisation non-défaut du répertoire de blocs, utilisez l'option '%1'. + + + Current block height + Hauteur du bloc actuel + Last block hash Empreinte du dernier bloc + + Latest ChainLocked block hash + Hash du plus récent bloc ChainLocked + + + Latest ChainLocked block height + Hauteur du plus récent bloc ChainLocked + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Ouvrir le fichier journal de débogage de %1 à partir du répertoire de données actuel. Cela peut prendre quelques secondes pour les fichiers journaux de grande taille. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Réparation de portefeuille - - Salvage wallet - Récupération de portefeuille - Recover transactions 1 Récupérer les transactions 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Mise à jour du format du portefeuille - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Les boutons ci-dessous redémarreront le portefeuille avec des paramètres de ligne de commande afin de réparer le portefeuille, corriger des problèmes de fichiers corrompus de chaîne de blocs ou de transactions manquantes ou obsolètes. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet : Tente de récupérer les clefs privées d'un fichier "wallet.dat" corrompu. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1 : Récupère les transactions depuis la chaîne de blocs (en gardant les métadonnées, par ex. le nom du compte). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Montant : - &Request payment - &Demander un paiement + &Create new receiving address + &Créer une nouvelle adresse de réception Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Copier l'&URI + + Copy address + Copier l'adresse + Copy label Copier l’étiquette @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Portefeuille - - Resulting URI too long, try to reduce the text for label / message. - L'URI résultante est trop longue. Essayez de réduire le texte d'étiquette ou de message. - - - Error encoding URI into QR Code. - Erreur d'encodage de l'URI en QR-code. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Choisissez... - - collapse fee-settings - replier les paramètres de frais - Confirmation time target: Estimation du délai de confirmation : @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Note : données insuffisantes pour estimer les frais. Utilisation des frais prédéfinis à la place. + + Hide transaction fee settings + Masquer les réglages de frais de transaction + Hide Cacher @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Êtes-vous sûr de vouloir envoyer ? - - are added as transaction fee - ajoutés en tant que frais de transaction - - - Total Amount = <b>%1</b><br />= %2 - Montant total = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 sur %2 entrées affichées)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds tous fonds disponibles + + Transaction fee + Frais de transaction + (%1 transactions have higher fees usually due to no change output being allowed) (les transactions %1 ont d'habitude des frais plus élevés, parce qu'elles n'acceptent pas de monnaie rendue) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Attention : utiliser %1 avec %2 entrées ou plus peut affaiblir votre confidentialité et n'est pas recommandé + + Click to learn more + Cliquez pour en savoir plus + + + Total Amount + Montant total + + + or + ou + Confirm send coins Confirmer l’envoi des fonds @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! La création de la transaction a échoué ! - - The transaction was rejected with the following reason: %1 - La transaction a été rejetée pour la raison suivante : %1 - A fee higher than %1 is considered an absurdly high fee. Des frais plus grands que %1 sont considérés comme ridiculement élevées. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Ceci est un paiement normal. - Pay &To: &Payer à : @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: &Montant : + + The amount to send in the selected unit + Le montant à envoyer dans l'unité sélectionnée + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Les frais vont être déduits du montant envoyé. Le destinataire recevra moins de dashs que ce que vous avez indiqué dans la case montant. S'il y a plusieurs destinataires, les frais seront partagés équitablement. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Oui + Send + Envoyer @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with L'adresse Dash avec laquelle le message a été signé + + The signed message to verify + Le message signé à vérifier + + + The signature given when the message was signed + La signature donnée quand le message a été signé + Verify the message to ensure it was signed with the specified Dash address Vérifier le message pour s'assurer qu'il a été signé avec l'adresse Dash spécifiée @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Taille totale de la transaction + + (Certificate was not verified) + (Le certificat n'a pas été vérifié) + Merchant Marchand @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Copier les détails complets de la transaction - Edit label - Modifier l’étiquette + Edit address label + Modifier le label d'adresse Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Unité utilisée pour l'affichage des montants. Cliquez pour choisir une autre unité. + + WalletController + + Close wallet + Fermer le portefeuille + + + Are you sure you wish to close the wallet <i>%1</i>? + Voulez-vous vraiment fermer le portefeuille <i>%1</i> ? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Fermer trop longtemps le portefeuille peut entraîner la nécessité de resynchroniser la chaîne entière si l'élagage est activé. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Envoyer des fonds + + default wallet + portefeuille par défaut + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Erreur : l'écoute des connexions entrantes a échoué (erreur retournée : %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Échec de l'estimation des frais. Les frais de secours sont désactivés. Laissez passer quelques blocs ou activez -fallbackfee. + + + 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 + Cette erreur pourrait survenir si le portefeuille n'était pas proprement fermé et avait été dernièrement chargé depuis une version plus récente de Berkeley DB. Si c'est le cas, veuillez utiliser le logiciel qui a été le plus récent à charger ce portefeuille + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Ceci est une pré-version de test - Veuillez l'utiliser à vos risques et périls - Ne pas l'utiliser pour miner ou pour des applications marchandes @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Erreur à la lecture de la base de données, arrêt en cours. - - Error - Erreur - - - Error: Disk space is low! - Erreur : l'espace disque restant est faible ! - Failed to listen on any port. Use -listen=0 if you want this. Échec de l'écoute sur un port quelconque. Utilisez -listen=0 si vous voulez ceci. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. L'entrée dépasse la taille maximale. - - Failed to load fulfilled requests cache from - Échec du chargement du cache des requêtes exécutées depuis - - - Failed to load governance cache from - Échec du chargement du cache de gouvernance depuis - - - Failed to load masternode cache from - Échec du chargement du cache des masternodes depuis - Found enough users, signing ( waiting %s ) Nombre suffisant d'utilisateurs trouvé, signature ( attente %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Bloc de genèse incorrect ou introuvable. Mauvais répertoire de données pour le réseau ? - - Information - Informations - Input is not valid. L'entrée est invalide. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Réponse inconnue. - - Unsupported argument -benchmark ignored, use -debug=bench. - Le paramètre non supporté -benchmark a été ignoré, utiliser -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Le paramètre non supporté -debugnet a été ignoré, utiliser -debug=net. - - - Unsupported argument -tor found, use -onion. - Paramètre non supporté -tor trouvé, utiliser -onion. - User Agent comment (%s) contains unsafe characters. Le commentaire User Agent (%s) contient des caractères dangereux. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s est inactif. - - %s request incomplete: %s - Requête %s incomplète : %s - Can't mix while sync in progress. Impossible de mélanger pendant la synchronisation. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! Le fichier %s contient toutes les clés privées de ce portefeuille. Ne le partagez avec personne ! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - L'option -masternode est obsolète et ignorée. Indiquer -masternodeblsprivkey suffit à démarrer ce nœud en tant que masternode. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. La création de la sauvegarde a échoué, le fichier existe déjà ! Cela peut arriver si vous avez redémarré le portefeuille il y a moins de 60 secondes. Vous pouvez continuer si cela ne vous pose pas de problème. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. La taille totale de la chaîne de version réseau (%i) dépasse la taille maximum (%i). Réduisez le nombre ou la taille des uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Paramètre obsolète -socks utilisé. Il n'est plus possible d'indiquer la version SOCKS, seuls les proxy SOCKS5 sont supportés. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Paramètre obsolète -whitelistalwaysrelay ignoré, utilisez -whitelistrelay et/ou -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. ATTENTION ! Impossible de réalimenter la série de clefs. Veuillez déverrouiller votre portefeuille pour cela. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Le portefeuille est verrouillé, impossible de réalimenter la série de clefs ! La sauvegarde automatique et le mélange sont désactivés, veuillez déverrouiller votre portefeuille pour la réalimenter. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Attention : un bloc de version inconnue est en train d'être miné ! Il est possible que des règles inconnues soient en vigueur. - You need to rebuild the database using -reindex to change -timestampindex Vous devez reconstruire la base de données avec l'option -reindex afin de modifier -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Vous devez reconstruire la base de données en utilisant -reindex pour retourner en mode non-élagué. Ceci aura pour effet de télécharger à nouveau la chaîne de blocs complète. - -litemode is deprecated. - -litemode est obsolète. + %s failed + %s échoué -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Sauvegardes automatiques désactivées + + Cannot set -peerblockfilters without -blockfilterindex. + Impossible de configurer -peerblockfilters sans -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + Le réglage de configuration de %s n'est appliqué sur le réseau %s que dans la section [%s]. + + + Could not find asmap file %s + Impossible de trouver le fichier asmap %s + + + Could not parse asmap file %s + Impossible d'analyser le fichier asmap %s + ERROR! Failed to create automatic backup ERREUR ! Impossible de créer la sauvegarde automatique + + Error loading %s: Private keys can only be disabled during creation + Erreur en chargeant %s : les clés privées ne peuvent être désactivées que pendant la création + Error upgrading evo database Erreur en mettant à jour la base de données evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Erreur : Une erreur interne fatale est survenue, voir debug.log pour les détails + + Error: Disk space is low for %s + Erreur : l'espace-disque est trop bas pour %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Erreur : impossible d'ajouter le socket à epollfd (epoll_ctl a renvoyé l'erreur %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Le nombre maximal d'essais est dépassé. - - Failed to clear fulfilled requests cache at - Échec de l'effacement du cache des requêtes exécutées à - - - Failed to clear governance cache at - Échec de l'effacement du cache de gouvernance à - - - Failed to clear masternode cache at - Échec de l'effacement du cache masternode à - Failed to commit EvoDB Impossible d'atteindre EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s La suppression de la sauvegarde a échoué, erreur : %s ! - - Failed to load sporks cache from - Échec du chargement du cache des sporks depuis - Failed to rescan the wallet during initialization Échec de la réinspection du portefeuille pendant le démarrage + + Invalid P2P permission: '%s' + Autorisation P2P invalide : '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Montant invalide pour -fallbackfee=<montant> : « %s » @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. masternodeblsprivkey invalide. Veuillez vous référer à la documentation. - - It has been replaced by -disablegovernance. - Il a été remplacé par -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - L'argument de remplacement -disablegovernance a été imposé à la place. - Loading block index... Chargement de l’index des blocs... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. L'élagage ne peut être configuré avec une valeur négative. + + Prune mode is incompatible with -blockfilterindex. + Le mode d'élagage est incompatible avec -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. Le mode Élaguer est incompatible avec -disablegovernance=false. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Élagage du stockage de blocs... + + Section [%s] is not recognized. + La section [%s] n'est pas reconnue. + Specified -walletdir "%s" does not exist Le -walletdir spécifié "%s" n'existe pas @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Synchronisation de la blockchain… + + The specified config file %s does not exist + + Le fichier de configuration indiqué %s n'existe pas + + The wallet will avoid paying less than the minimum relay fee. Le porte-monnaie évitera de payer moins que les frais minimaux de relais. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Impossible de se lier à %s sur cet ordinateur. %s fonctionne probablement déjà. + + Unable to create the PID file '%s': %s + Impossible de créer le fichier PID '%s' : %s + Unable to generate initial keys Impossible de générer les clés initiales - Upgrading UTXO database - Mise à niveau de la base de données UTXO + Unknown -blockfilterindex value %s. + Valeur inconnue de -blockfilterindex %s. - Wallet %s resides outside wallet directory %s - Le portefeuille %s réside en dehors du répertoire de portefeuille %s + Upgrading UTXO database + Mise à niveau de la base de données UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Vous devez reconstruire la base de données avec l'option -reindex afin de modifier -spentindex - - You need to rebuild the database using -reindex to change -txindex - Vous devez reconstruire la base de données avec l'option -reindex afin de modifier -txindex - no mixing available. pas de mélange disponible. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. voir le fichier debug.log pour les détails. - - Dash Core - Dash Core - The %s developers Les développeurs de %s @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Impossible de repasser les blocs. Vous devez reconstruire la base de données en utilisant -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Avertissement : le fichier du porte-monnaie est corrompu, les données ont été récupérées ! Le fichier %s original a été enregistré en tant que %s dans %s ; si votre solde ou vos transactions sont incorrects, vous devriez restaurer une sauvegarde. + Warning: Private keys detected in wallet {%s} with disabled private keys + Avertissement : clés privées détectées dans le portefeuille {%s} avec des clés privées désactivées %d of last 100 blocks have unexpected version %d des 100 derniers blocs sont d'une version inattendue - - %s corrupt, salvage failed - %s corrompu, la récupération a échoué - %s is not a valid backup folder! %s n'est pas un répertoire de sauvegarde valide ! + + %s is only allowed with a single wallet file + %s n'est autorisé qu'avec un seul fichier de portefeuille + %s is set very high! La valeur %s est très élevée ! + + %s request incomplete: + %s requête incomplète : + -devnet can only be specified once -devnet ne peut être spécifié qu'une seule fois @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport doit être spécifié si -devnet et -server le sont déjà + + A fatal internal error occurred, see debug.log for details + Une erreur interne fatale s'est produite. Voir debug.log pour les détails + Cannot resolve -%s address: '%s' Impossible de résoudre l’adresse -%s : « %s » @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (c) + + Disk space is too low! + L'espace-disque est trop faible ! + Error loading %s Erreur de chargement de %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Erreur : impossible d'ajouter le socket à kqueuefd (kevent a renvoyé l'erreur %s) + + Failed to clear fulfilled requests cache at %s + Échec de l'effacement du cache des requêtes exécutées à %s + + + Failed to clear governance cache at %s + Échec de l'effacement du cache de gouvernance à %s + + + Failed to clear masternode cache at %s + Échec de l'effacement du cache masternode à %s + Failed to find mixing queue to join Impossible de trouver une file de mélange à rejoindre + + Failed to load fulfilled requests cache from %s + Échec du chargement du cache des requêtes exécutées depuis %s + + + Failed to load governance cache from %s + Échec du chargement du cache de gouvernance depuis %s + + + Failed to load masternode cache from %s + Échec du chargement du cache des masternodes depuis %s + + + Failed to load sporks cache from %s + Échec du chargement du cache des sporks depuis %s + Failed to start a new mixing queue Impossible de démarrer une nouvelle file de mélange @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. La dernière file d'attente a été créée trop récemment. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s corrompu. Essayez d'utiliser l'outil de portefeuille dash-wallet pour réparer, ou restaurer une sauvegarde. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Impossible de générer une clé de changement d'adresse. Pas de clés dans la série interne de clés, et impossible de générer des clés. + Last successful action was too recent. La dernière action réussie est trop récente. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transaction invalide. - - Transaction too large for fee policy - La transaction est trop volumineuse pour les règles de frais en vigueur - Unable to bind to %s on this computer (bind returned error %s) Impossible de se lier à %s sur cet ordinateur (erreur bind retournée %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Catégorie de journalisation non supportée %s=%s. + + Upgrading txindex database + Mise à jour de la base de données txindex + Verifying blocks... Vérification des blocs en cours... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Le portefeuille est verrouillé. - - Warning - Avertissement - - - Warning: %s is deprecated, please use %s instead - Attention : %s est obsolète, veuillez utiliser %s à la place - Warning: can't use %s and %s together, will prefer %s Attention : impossible d'utiliser ensemble %s et %s, préférence accordée à %s diff --git a/src/qt/locale/dash_it.ts b/src/qt/locale/dash_it.ts index 2548c41ae4..e8adfb1b63 100644 --- a/src/qt/locale/dash_it.ts +++ b/src/qt/locale/dash_it.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Questi sono i tuoi indirizzi Dash per inviare i pagamenti. Controlla sempre l'ammontare e l'indirizzo di destinazione prima di inviare i dash. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Questi sono i tuoi indirizzi di Dash per ricevere i pagamenti. Si raccomanda di usare un nuovo indirizzo di ricezione per ogni operazione. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Questi sono i tuoi indirizzi Dash per ricevere i pagamenti. Utilizza il pulsante "Crea nuovo indirizzo di ricezione" nella scheda di ricezione per creare nuovi indirizzi. &Copy Address @@ -191,12 +191,8 @@ Ripeti la nuova passphrase - Show password - Mostra password - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Inserisci la nuova passphrase per il portafoglio.<br/>Si prega di usare una passphrase di <b>dieci o più caratteri casuali</b>, o <b>otto o più parole</b>. + Show passphrase + Mostra passphrase Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Cambia la passphrase - - Enter the old passphrase and new passphrase to the wallet. - Inserire la vecchia passphrase e la nuova passphrase nel portafoglio - Confirm wallet encryption Conferma la cifratura del portafoglio @@ -246,6 +238,30 @@ Wallet encrypted Portafoglio cifrato + + 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>. + Immettere la nuova passphrase per il portafoglio.<br/>Si prega di utilizzare una passphrase di<b>dieci o più caratteri casuali</b>,oppure<b>otto o più parole</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Immettere la vecchia passphrase e la nuova passphrase per il portafoglio. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Ricorda che la crittografia del tuo portafoglio non può proteggere completamente i tuoi fondi dal furto di malware che infetta il tuo computer. + + + Wallet to be encrypted + Portafoglio da crittografare + + + Your wallet is about to be encrypted. + Il tuo portafoglio sta per essere crittografato. + + + Your wallet is now encrypted. + Il tuo portafoglio è ora crittografato. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. IMPORTANTE: tutti i backup precedenti che hai fatto del tuo file del portafoglio devono essere sostituiti con il file del portafoglio appena generato. I backup precedenti del file del portafoglio non crittografato contengono lo stesso seed dell'HD e hanno ancora pieno accesso a tutti i tuoi fondi, proprio come il nuovo portafoglio crittografato. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Si è verificato un errore irreversibile. Dash Core non può più continuare in sicurezza e terminerà le operazioni. - - Dash Core - Dash Core - - - Wallet - Portafoglio - - - Node - Nodo - &Overview &Sintesi @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Richieste di pagamenti (genera codici QR e dash: URLs) + + &Sending addresses + &Indirizzi di invio + + + &Receiving addresses + &Indirizzi di ricezione + + + Open Wallet + Portafoglio aperto + + + Open a wallet + Apri un portafoglio + + + Close Wallet... + Chiudi Portafoglio... + + + Close wallet + Chiudi il portafoglio + + + No wallets available + Nessun portafoglio disponibile + + + &Window + &Finestra + + + Minimize + Minimizzare + + + Zoom + Ingrandisci + + + Main Window + Finestra principale + &Transactions &Transazioni @@ -371,10 +419,6 @@ Quit application Chiudi applicazione - - Show information about Dash Core - Mostra le informazioni su Dash Core - About &Qt Informazioni su &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Mostra le copie del portafoglio create automaticamente - - &Sending addresses... - &Indirizzi d'invio... - Show the list of used sending addresses and labels Mostra la lista degli indirizzi di invio utilizzati - - &Receiving addresses... - Indirizzi di &ricezione... - Show the list of used receiving addresses and labels Mostra la lista degli indirizzi di ricezione utilizzati @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Mostra il messaggio di aiuto di %1 per ottenere una lista di opzioni di comando per Dash + + default wallet + portafoglio predefinito + %1 client %1 client @@ -565,6 +605,18 @@ &File &File + + Show information about %1 + Mostra informazioni %1 + + + Create Wallet... + Crea portafoglio... + + + Create a new wallet + Crea un nuovo portafoglio + %1 &information %1 &Informazioni @@ -577,10 +629,6 @@ &Settings &Impostazioni - - &Tools - &Strumenti - &Help &Aiuto @@ -589,6 +637,14 @@ Tabs toolbar Barra degli strumenti "Tabs" + + &Governance + &Governance + + + View Governance Proposals + Visualizza le Proposte di Governance + %n active connection(s) to Dash network %n connessione attiva alla rete Dash%n connessioni attive alla rete Dash @@ -653,10 +709,18 @@ Error Errore + + Error: %1 + Errore: %1 + Warning Attenzione + + Warning: %1 + Avvertimento: %1 + Information Informazioni @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Il portafoglio è <b>cifrato</b> ed attualmente <b>bloccato</b> + + Proxy is <b>enabled</b>: %1 + Il Proxy è <b>abilitato</b>:%1 + + + Original message: + Messaggio originale: + CoinControlDialog @@ -935,6 +1007,60 @@ n/a + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Creazione del portafoglio<b>%1</b>... + + + Create wallet failed + Creazione portafoglio non riuscita + + + Create wallet warning + Crea avviso portafoglio + + + + CreateWalletDialog + + Create Wallet + Crea portafoglio + + + Wallet Name + Nome Portafoglio + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Cripta il portafoglio. Il portafoglio verrà crittografato con una passphrase a tua scelta. + + + Encrypt Wallet + Crittografa il portafoglio + + + 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. + Disabilita le chiavi private per questo portafoglio. I portafogli con chiavi private disabilitate non avranno chiavi private e non possono avere un seme HD o chiavi private importate. Questo è l'ideale per i portafogli watch-only. + + + Disable Private Keys + Disabilita le Chiavi Private + + + 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. + Crea un portafoglio vuoto. I portafogli vuoti inizialmente non hanno chiavi o script privati. È possibile importare chiavi private e indirizzi oppure impostare un seme HD in un secondo momento. + + + Make Blank Wallet + Crea un Portafoglio Vuoto + + + Create + Creare + + EditAddressDialog @@ -974,8 +1100,12 @@ L'indirizzo inserito "%1" non é un indirizzo Dash valido - The entered address "%1" is already in the address book. - L'indirizzo inserito "%1" è già in rubrica. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + L'indirizzo "%1" esiste già come indirizzo di ricezione con etichetta "%2" e quindi non può essere aggiunto come indirizzo di invio. + + + The entered address "%1" is already in the address book with label "%2". + L'indirizzo inserito "%1" è già nella rubrica con l'etichetta "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ Qui non è possibile creare una cartella dati. + + GovernanceList + + Form + Modulo + + + Filter List: + Elenco filtri: + + + Filter propsal list + Filtra l'elenco delle proposte + + + Proposal Count: + Conteggio delle proposte: + + + Filter by Title + Filtra per Titolo + + + Proposal Info: %1 + Informazioni sulla proposta: %1 + + HelpMessageDialog version versione - - (%1-bit) - (%1-bit) - About %1 Informazioni %1 @@ -1113,10 +1266,6 @@ Status Stato - - 0 - 0 - Filter List: Lista dei Filtri: @@ -1277,8 +1426,8 @@ Nascondi - Unknown. Syncing Headers (%1)... - Sconosciuto. Sincronizzazione Headers (%1)... + Unknown. Syncing Headers (%1, %2%)... + Sconosciuto. Sincronizzazione intestazioni (%1, %2%)... @@ -1304,6 +1453,25 @@ Seleziona il file di richiesta di pagamento da aprire + + OpenWalletActivity + + Open wallet failed + Apertura Portafoglio non riuscita + + + Open wallet warning + Avviso Portafoglio Aperto + + + default wallet + portafoglio predefinito + + + Opening Wallet <b>%1</b>... + Apertura Portafoglio <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Dimensione della cache del &database. - - MB - MB - Number of script &verification threads Numero di thread di &verifica degli script @@ -1338,6 +1502,22 @@ &Appearance &Aspetto + + Prune &block storage to + Elimina &blocca lo spazio di archiviazione su + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Il ripristino di questa impostazione richiede il nuovo download dell'intera blockchain. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Mostra la tabella aggiuntiva che elenca tutti i Masternode nella prima sotto-tabella <br/>e tutti i Masternode sulla rete nella seconda sotto-tabella. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Mostra la Tabella dei Masternode + + Show additional tab listing governance proposals. + Mostra la scheda aggiuntiva che elenca le proposte di governance. + + + Show Governance Tab + Mostra la scheda Governance + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Se si disabilita la spesa di una modifica non confermata, la modifica di una transazione <br/>non può essere utilizzata fino a quando quella transazione non ha almeno una conferma. <br/>Ciò influisce anche sul modo in cui viene calcolato il saldo. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Apri automaticamente la porta utilizzata dal client Dash Core nel router. Funziona solo se il router supporta UPnP ed è attivato. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Apri automaticamente la porta del client Bitcoin sul router. Funziona solo quando il router supporta NAT-PMP ed è abilitato. La porta esterna potrebbe essere casuale. + + + Map port using NA&T-PMP + Mappa Porta utilizzando NA&T-PMP + Accept connections from outside. Accetta connessioni dall'esterno. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Usa SOCKS separati e 5 proxy per raggiungere i peer tramite i servizi nascosti di Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + Le opzioni impostate in questa finestra di dialogo sono sovrascritte dalla riga di comando o nel file di configurazione: + Hide the icon from the system tray. Nascondi l'icona dalla barra delle applicazioni. @@ -1474,6 +1674,10 @@ &Network Rete + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + L'abilitazione dell'eliminazione riduce significativamente lo spazio su disco necessario per archiviare le transazioni. Tutti i blocchi sono ancora completamente convalidati. Il ripristino di questa impostazione richiede il nuovo download dell'intera blockchain. + Map port using &UPnP Mappa le porte tramite &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Cifre decimali - - Active command-line options that override above options: - Opzioni command-line attive che sostituiscono i settaggi sopra elencati: - Reset all client options to default. Reimposta tutte le opzioni del client allo stato predefinito. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 URL di recupero della Richiesta di pagamento non valido: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Impossibile elaborare la richiesta di pagamento perché il supporto BIP70 non è stato compilato. + Invalid payment address %1 Indirizzo di pagamento non valido: %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Ricevuto + + Proposal + + Passing +%1 + Passando +%1 + + + Needs additional %1 votes + Needs additional %1 votes + + + + ProposalModel + + Yes + Si + + + No + No + + + Hash + Hash + + + Title + Titolo + + + Start + Inizio + + + End + Fine + + + Amount + Importo + + + Active + Attiva + + + Status + Stato + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Mostra schermata iniziale all'avvio (default: %u) + + Error: Specified data directory "%1" does not exist. + Errore: la Cartella dati specificata "%1" non esiste. + + + Error: Cannot parse configuration file: %1. + Errore: impossibile analizzare il file di configurazione: %1. + + + Error: %1 + Errore: %1 + + + Error: Failed to load application fonts. + Errore:Impossibile caricare i caratteri dell'applicazione + + + Error: Specified font-family invalid. Valid values: %1. + Errore: La famiglia di caratteri specificata non è valida. Valori validi: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Errore: il font-weight-normal specificato non è valido. Intervallo valido da %1 a %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Errore: il valore del carattere specificato in grassetto non è valido. Intervallo valido da %1 a %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Errore: scala dei caratteri specificata non valida. Intervallo valido da %1 a %2. + + + Error: Invalid -custom-css-dir path. + Errore: percorso -custom-css-dir non valido. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Errore: %1 file(s) CSS mancanti nel percorso -custom-css-dir. + %1 didn't yet exit safely... %1 non è ancora stato chiuso in modo sicuro @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ sconosciuto - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Errore: La cartella dati "%1" specificata non esiste. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Errore: impossibile interpretare il file di configurazione: %1. Usare esclusivamente la sintassi chiave=valore. - - - Error: %1 - Errore: %1 - - - Error: Failed to load application fonts. - Errore: impossibile caricare i caratteri dell'applicazione. - - - Error: Specified font-family invalid. Valid values: %1. - Errore: famiglia di caratteri specificata non valida. Valori validi: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Errore: carattere normale di peso specificato non valido. Intervallo valido da %1 a %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Errore: caratteri specificati in grassetto non validi. Intervallo valido da %1 a %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Errore: scala del carattere specificata non valida. Intervallo valido da %1 a %2. - - - Error: Invalid -custom-css-dir path. - Errore: percorso -custom-css-dir non valido. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Errore: %1 file CSS mancante nel percorso -custom-css-dir. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Copia Immagine + + Resulting URI too long, try to reduce the text for label / message. + Risultato URI troppo lungo, provare a ridurre il testo per etichetta/messaggio. + + + Error encoding URI into QR Code. + Errore di codifica dell'URI nel codice QR. + + + QR code support not available. + Supporto codice QR non disponibile. + Save QR Code Salva codice QR @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file File log del Debug - - Current number of blocks - Numero attuale di blocchi - Client version Versione client - - Using BerkeleyDB version - Usando la versione BerkeleyDB - Block chain Block chain @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Ripeti l'analisi dei file della blockchain 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + I pulsanti seguenti riavvieranno il portafoglio con le opzioni della riga di comando per riparare il portafoglio, e risolvere i problemi con file blockchain corrotti o transazioni mancanti/obsolete. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan= 1: Riesamina la catena di blocchi per le transazioni del portafoglio mancanti a partire dal momento della creazione del portafoglio. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datadir + + To specify a non-default location of the data directory use the '%1' option. + Per specificare un percorso non predefinito della directory dei dati, utilizzare l'opzione '%1'. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Per specificare una posizione non predefinita della directory dei blocchi, utilizzare l'opzione '%1'. + + + Current block height + Altezza attuale del blocco + Last block hash Ultimo blocco hash + + Latest ChainLocked block hash + Ultimo hash di blocco ChainLocked + + + Latest ChainLocked block height + Ultima altezza del blocco ChainLocked + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Apri il file log del debug di %1 dalla cartella dati attuale. Può richiedere alcuni secondi per file di log di grandi dimensioni. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Riparare Portafoglio - - Salvage wallet - Recuperare il portafoglio - Recover transactions 1 Ristabilire le transazioni 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Aggiorna il formato del portafoglio - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - I bottoni sottostanti reiniziaranno il portafoglio con le opzioni di linea di comando per riparare il portafoglio e sistemare problemi con i file della blockchain corrotti o con transazioni perse o inadeguate - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -recuperareportafoglio: Tenta di recuperare le chiavi private da un wallet.dat corrotto. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Recupera transazioni dalla blockchain (mantiene i meta-data, es. il propietario del conto) @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Importo: - &Request payment - &Richiedi pagamento + &Create new receiving address + &Crea nuovo indirizzo di ricezione Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Copia URI + + Copy address + Copia Indirizzo + Copy label Copia l'etichetta @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Portafoglio - - Resulting URI too long, try to reduce the text for label / message. - L'URI risultante è troppo lungo, prova a ridurre il testo nell'etichetta / messaggio. - - - Error encoding URI into QR Code. - Errore nella codifica dell'URI nel codice QR - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Scegli... - - collapse fee-settings - Abbassare la finestra delle opzioni delle commissioni - Confirmation time target: Obiettivo del tempo di conferma: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Nota: dati insufficienti per la stima della commissione, utilizzando altrimenti la commissione di fallback. + + Hide transaction fee settings + Nascondi le impostazioni delle commissioni di transazione + Hide Nascondi @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Sei sicuro di voler inviare? - - are added as transaction fee - sono aggiunti come pagamento per la transazione - - - Total Amount = <b>%1</b><br />= %2 - Importo totale =<b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 of %2 entries displayed)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds eventuali fondi disponibili + + Transaction fee + Commissione di transazione + (%1 transactions have higher fees usually due to no change output being allowed) (Le transazioni %1 di solito hanno commissioni più elevate a causa della mancanza di output di modifica) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Avviso: l'utilizzo di %1 con %2 o più input può danneggiare la tua privacy e non è raccomandato + + Click to learn more + Clicca per saperne di più + + + Total Amount + Importo Totale + + + or + oppure + Confirm send coins Conferma l'invio di dash @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Creazione transazione fallita! - - The transaction was rejected with the following reason: %1 - La transazione è stata respinta per il seguente motivo: %1 - A fee higher than %1 is considered an absurdly high fee. Una commissione maggiore di %1 è considerata irragionevolmente elevata. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Questo è un normale pagamento. - Pay &To: Paga &a: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: I&mporto: + + The amount to send in the selected unit + L'importo da inviare nell'unità selezionata + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. La commissione verrà detratta dall'importo inviato. Il destinatario riceverà un importo inferiore di Dash rispetto a quello inserito nel campo dell'importo. Se sono selezionati più destinatari, la commissione verrà divisa in parti uguali. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Si + Send + Manda @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with L'indirizzo Dash con cui era firmato il messaggio + + The signed message to verify + Messaggio firmato da verificare + + + The signature given when the message was signed + La firma fornita quando il messaggio è stato firmato + Verify the message to ensure it was signed with the specified Dash address Verifica il messaggio per assicurarti sia stato firmato con l'indirizzo Dash specificato @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Dimensione totale della transazione + + (Certificate was not verified) + (Il Certificato non è stato verificato) + Merchant Negoziante @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Copia i dettagli dell'intera transazione - Edit label - Modifica l'etichetta + Edit address label + Modifica etichetta indirizzo Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Unitá con cui mostrare gli importi. Clicca per selezionare un'altra unitá. + + WalletController + + Close wallet + Chiudi il portafoglio + + + Are you sure you wish to close the wallet <i>%1</i>? + Sei sicuro di voler chiudere il portafoglio<i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + La chiusura del portafoglio per periodi prolungati può comportare la risincronizzazione dell'intera catena se l'eliminazione è abilitata. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Invia Monete + + default wallet + portafoglio predefinito + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Errore: Ascolto per le connessioni in entrata non riuscito (ascoltare errore restituito %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Stima della tariffa non riuscita. La commissione di riserva è disabilitata. Attendi qualche blocco o abilita -fallbackfee. + + + 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 + Questo errore potrebbe verificarsi se questo portafoglio non è stato arrestato in modo corretto ed è stato caricato l'ultima volta utilizzando una build con una versione più recente di Berkeley DB. In tal caso, utilizzare l'ultimo software che ha caricato questo portafoglio + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Questa versione è una compilazione pre-rilascio - usala a tuo rischio - non utilizzarla per il mining o per applicazioni commerciali @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Errore di lettura del database, spegnimento - - Error - Errore - - - Error: Disk space is low! - Errore: la spazio libero sul disco è insufficiente! - Failed to listen on any port. Use -listen=0 if you want this. Nessuna porta disponibile per l'ascolto. Usa -listen=0 se vuoi procedere comunque. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. L'ingresso supera la dimensione massima. - - Failed to load fulfilled requests cache from - Impossibile caricare la cache delle richieste soddisfatte da - - - Failed to load governance cache from - Caricamento della cache di governance non riuscito - - - Failed to load masternode cache from - Impossibile caricare la cache del masternode da - Found enough users, signing ( waiting %s ) Trovati utenti sufficienti, firma (in attesa di %s) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Blocco genesis non corretto o non trovato. Cartella dati errata? - - Information - Informazioni - Input is not valid. L'input non è valido. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Risposta sconosciuta. - - Unsupported argument -benchmark ignored, use -debug=bench. - Ignorata opzione -benchmark non supportata, utilizzare -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Argomento -debugnet ignorato in quanto non supportato, usare -debug=net. - - - Unsupported argument -tor found, use -onion. - Rilevato argomento -tor non supportato, utilizzare -onion. - User Agent comment (%s) contains unsafe characters. Il commento del User Agent (%s) contiene caratteri non sicuri. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s è inattivo. - - %s request incomplete: %s - Richiesta di %s incompleta: %s - Can't mix while sync in progress. Impossibile fare il mixing quando la sincronizzazione è in corso. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s il file contiene tutte le chiavi private di questo portafoglio. Non condividerlo con nessuno! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -L'opzione masternode è deprecata e ignorata, specificare -masternodeblsprivkey è sufficiente per avviare questo nodo come masternode. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Impossibile creare il backup, il file esiste già! Questo può accadere quando riavvii il portafoglio in meno di 60 secondi. Se per te va bene puoi continuare. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. La lunghezza totale della stringa di network version (%i) eccede la lunghezza massima (%i). Ridurre il numero o la dimensione di uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Argomento -socks non supportato. Non è più possibile impostare la versione SOCKS, solamente i proxy SOCKS5 sono supportati. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Argomento non supportato -whitelistalwaysrelay è stato ignorato, utilizzare -whitelistrelay e/o -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. ATTENZIONE! Impossibile riempire il keypool, per favore sblocca il tuo portafoglio per farlo .. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Il Portafoglio è bloccato, non può ricostituire il keypool! I backup e il mixaggio automatici sono disabilitati, sblocca il tuo portafoglio per ricostituire il keypool. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Attenzione: si stanno minando versioni sconocsiute di blocchi! E' possibile che siano attive regole sconosciute - You need to rebuild the database using -reindex to change -timestampindex È necessario ricostruire il database usando -reindex per cambiare -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Per ritornare alla modalità unpruned sarà necessario ricostruire il database utilizzando l'opzione -reindex. L'intera blockchain sarà riscaricata. - -litemode is deprecated. - -litemode è deprecato. + %s failed + %s fallito -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Backup automatici disabilitati + + Cannot set -peerblockfilters without -blockfilterindex. + Impossibile impostare -peerblockfilters senza -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + L'impostazione di configurazione per %s è stata applicata solo sulla rete %s nella sezione [%s]. + + + Could not find asmap file %s + Impossibile trovare il file asmap %s + + + Could not parse asmap file %s + Impossibile analizzare il file asmap %s + ERROR! Failed to create automatic backup ERRORE! Impossibile creare il backup automatico + + Error loading %s: Private keys can only be disabled during creation + Errore durante il caricamento di %s: le chiavi private possono essere disabilitate solo durante la creazione + Error upgrading evo database Errore durante l'aggiornamento del database evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Errore: si è presentato un errore interno fatale, consulta il file debug.log per maggiori dettagli + + Error: Disk space is low for %s + Errore: lo spazio su disco è insufficiente per %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Errore: impossibile aggiungere il socket a epollfd (epoll_ctl ha restituito l'errore %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Numero massimo di tentativi superato. - - Failed to clear fulfilled requests cache at - Impossibile cancellare la cache delle richieste soddisfatte a - - - Failed to clear governance cache at - Impossibile svuotare la cache della governance in - - - Failed to clear masternode cache at - Impossibile cancellare la cache del masternode in - Failed to commit EvoDB Impossibile eseguire il commit di EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Impossibile eliminare il backup, errore: %s - - Failed to load sporks cache from - Impossibile caricare la cache degli sporks da - Failed to rescan the wallet during initialization Impossibile eseguire nuovamente la scansione del portafoglio durante l'inizializzazione + + Invalid P2P permission: '%s' + Autorizzazione P2P non valida: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Importo non valido per -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Invalid masternodeblsprivkey. Per favore vedi documentazione. - - It has been replaced by -disablegovernance. - È stato sostituito da -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - La sua sostituzione -disablegovernance è stata invece forzata. - Loading block index... Caricamento dell'indice del blocco... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. La modalità prune non può essere configurata con un valore negativo. + + Prune mode is incompatible with -blockfilterindex. + La modalità Prune non è compatibile con -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. La modalità di sfoltimento non è compatibile con -disablegovernance = false. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Pruning del blockstore... + + Section [%s] is not recognized. + La sezione [%s] non è riconosciuta. + Specified -walletdir "%s" does not exist -Walletdir "%s" specificato non esiste @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Sincronizzazione blockchain... + + The specified config file %s does not exist + + Il file di configurazione specificato %s non esiste + + The wallet will avoid paying less than the minimum relay fee. Il portafoglio eviterà di pagare meno della tariffa minima di trasmissione. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Impossibile collegarsi a %s su questo computer. Probabilmente %s è già in esecuzione. + + Unable to create the PID file '%s': %s + Impossibile creare il file PID '%s': %s + Unable to generate initial keys Impossibile generare le chiavi iniziali - Upgrading UTXO database - Aggiornamento del database UTXO + Unknown -blockfilterindex value %s. + Sconosciuto - valore blockfilterindex %s. - Wallet %s resides outside wallet directory %s - Il portafoglio %s risiede fuori dalla directory del portafoglio %s + Upgrading UTXO database + Aggiornamento del database UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex È necessario ricostruire il database usando -reindex per cambiare -spentindex - - You need to rebuild the database using -reindex to change -txindex - È necessario ricostruire il database usando -reindex per cambiare -txindex - no mixing available. nessun mixing disponibile. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. vedere debug.log per i dettagli. - - Dash Core - Dash Core - The %s developers Sviluppatori di %s @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Impossibile riprodurre i blocchi. Dovrai ricostruire il database usando -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Attenzione: file del Portafoglio corrotto, dati recuperati! %s originale salvato come %s in %s; se il saldo o le transazioni non sono corrette effettua un ripristino da un backup. + Warning: Private keys detected in wallet {%s} with disabled private keys + Avviso: chiavi private rilevate nel portafoglio {%s} con chiavi private disabilitate %d of last 100 blocks have unexpected version %d degli ultimi 100 blocchi ha una versione inattesa - - %s corrupt, salvage failed - %s corrotto, recupero fallito - %s is not a valid backup folder! %s non è una cartella di backup valida! + + %s is only allowed with a single wallet file + %s è consentito solo con un singolo file di portafoglio + %s is set very high! %s ha un'impostazione molto alta! + + %s request incomplete: + %s richiesta incompleta: + -devnet can only be specified once -devnet può essere specificato solo una volta @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport deve essere specificato quando -devnet e -server sono specificati + + A fatal internal error occurred, see debug.log for details + Si è verificato un errore interno irreversibile, vedere debug.log per i dettagli + Cannot resolve -%s address: '%s' Impossobile risolvere l'indirizzo -%s: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + Lo spazio su disco è insufficiente! + Error loading %s Errore caricamento %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Errore: impossibile aggiungere il socket a kqueuefd (kevent ha restituito l'errore %s) + + Failed to clear fulfilled requests cache at %s + Impossibile svuotare la cache delle richieste soddisfatte alle %s + + + Failed to clear governance cache at %s + Impossibile svuotare la cache di governance alle %s + + + Failed to clear masternode cache at %s + Impossibile svuotare la cache del masternode alle %s + Failed to find mixing queue to join Impossibile trovare la coda di mixaggio a cui unirsi + + Failed to load fulfilled requests cache from %s + Impossibile caricare la cache delle richieste soddisfatte da %s + + + Failed to load governance cache from %s + Impossibile caricare la cache di governance da %s + + + Failed to load masternode cache from %s + Impossibile caricare la cache del masternode da %s + + + Failed to load sporks cache from %s + Impossibile caricare la cache di Spork da %s + Failed to start a new mixing queue Impossibile avviare una nuova coda di mixaggio @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. L'ultima coda è stata creata troppo di recente. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s danneggiato. Prova a utilizzare lo strumento portafoglio dash-wallet per salvare o ripristinare un backup. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Impossibile generare una chiave di modifica dell'indirizzo. Nessuna chiave nel pool di chiavi interno e non è possibile generare alcuna chiave. + Last successful action was too recent. Ultima azione successo era troppo recente. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transazione non valida - - Transaction too large for fee policy - Transazione troppo grande in base alla policy sulle commissioni - Unable to bind to %s on this computer (bind returned error %s) Incapace di legare al %s su questo computer (bind return error %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Categoria di registrazione non supportata %s=%s. + + Upgrading txindex database + Aggiornamento del database txindex + Verifying blocks... Verifica blocchi... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Portafoglio bloccato - - Warning - Attenzione - - - Warning: %s is deprecated, please use %s instead - Avviso: %s è deprecato, utilizza invece %s - Warning: can't use %s and %s together, will prefer %s Attenzione: non puoi usare %s e %s insieme, preferibile %s diff --git a/src/qt/locale/dash_ja.ts b/src/qt/locale/dash_ja.ts index 534115592e..1458175f73 100644 --- a/src/qt/locale/dash_ja.ts +++ b/src/qt/locale/dash_ja.ts @@ -1,6 +1,10 @@ - + AddressBookPage + + Enter address or label to search + アドレスかラベルを入力して検索 + Right-click to edit address or label 右クリックでアドレスまたはラベルを編集 @@ -74,8 +78,8 @@ これらは送金するためのあなたの Dash アドレスです。送金する前に常に金額と受取アドレスを確認してください。 - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - これらは送金を受取用のあなたのDashアドレスです。トランザクションごとに新しい受け取り用アドレスの作成を推奨します。 + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + これらは、支払いを受け取るためのお客様のDashアドレスです。受取タブにある「新しい受取アドレスを作成」のボタンを使用し、新しいアドレスを作成します。 &Copy Address @@ -131,7 +135,43 @@ AppearanceWidget - + + Lighter + 細くする + + + Bolder + 太くする + + + Font Weight Normal: + 文字の太さ(通常): + + + Smaller + 小さくする + + + Bigger + 大きくする + + + Font Scale: + 文字の大きさ: + + + Font Family: + フォントファミリー: + + + Theme: + テーマ: + + + Font Weight Bold: + 文字の太さ(太字): + + AskPassphraseDialog @@ -151,8 +191,8 @@ 新しいパスフレーズを再入力 - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - ウォレット用の新しいパスフレーズを入力してください。<br/><b>10文字以上のランダムな文字</b>か、または<b>8単語以上</b>で構成されたパスフレーズを使用してください。 + Show passphrase + パスフレーズを表示 Encrypt wallet @@ -182,10 +222,6 @@ Change passphrase パスフレーズの変更 - - Enter the old passphrase and new passphrase to the wallet. - ウォレットの古いパスフレーズと新しいパスフレーズを入力してください。 - Confirm wallet encryption ウォレットの暗号化を確認 @@ -202,6 +238,30 @@ Wallet encrypted ウォレットは暗号化されました + + 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>. + ウォレットの新しいパスフレーズを入力します。<br/>パスフレーズには<b>10文字以上のランダムな文字</b>、または<b>8文字以上の単語</b>を使用してください。 + + + Enter the old passphrase and new passphrase for the wallet. + ウォレットの前のパスフレーズと新しいパスフレーズを入力します。 + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + ウォレットを暗号化しても、コンピュータに感染したマルウェアから資金を完全に保護することはできませんので、ご注意ください。 + + + Wallet to be encrypted + 暗号化するウォレット + + + Your wallet is about to be encrypted. + お客様のウォレットが暗号化されます。 + + + Your wallet is now encrypted. + お客様のウォレットは暗号化されました。 + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. 重要: 過去のウォレットファイルのバックアップは、暗号化された新しいウォレットファイルに取り替える必要があります。暗号化されていないウォレットファイルの過去のバックアップは同じHDウォレットのシードを含むので、新しい暗号化ウォレットと同様にすべての資産にアクセスできます。 @@ -256,25 +316,17 @@ BitcoinAmountField - + + Amount in %1 + %1にある金額 + + BitcoinGUI A fatal error occurred. Dash Core can no longer continue safely and will quit. 重大なエラーが発生しました。 Dash Coreは安全に続行できなくなり終了します。 - - Dash Core - Dash Core - - - Wallet - ウォレット - - - Node - ノード - &Overview 概要(&O) @@ -299,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) 送金を要求 (QRコードとdash:URIを生成) + + &Sending addresses + アドレスを送信 (&S) + + + &Receiving addresses + アドレスを受信 (&R) + + + Open Wallet + ウォレットを開く + + + Open a wallet + ウォレットを開く + + + Close Wallet... + ウォレットを閉じる... + + + Close wallet + ウォレットを閉じる + + + No wallets available + 利用可能なウォレットはありません + + + &Window + ウインドウ (&W) + + + Minimize + 最小化する + + + Zoom + ズーム + + + Main Window + メインウィンドウ + &Transactions トランザクション(&T) @@ -323,10 +419,6 @@ Quit application アプリケーションを終了 - - Show information about Dash Core - Dash Coreについての情報を表示 - About &Qt Qtについて(&Q) @@ -343,6 +435,10 @@ &About %1 %1 について (&A) + + Send %1 funds to a Dash address + Dashアドレスに%1の資金を送金します + Modify configuration options for %1 %1 の設定を変更 @@ -463,18 +559,10 @@ Show automatically created wallet backups 自動で生成されたウォレットのバックアップを表示 - - &Sending addresses... - 送金先アドレス… (&S) - Show the list of used sending addresses and labels 過去に使用した送金先アドレスとラベルの一覧を表示 - - &Receiving addresses... - 受取用アドレス… (&R) - Show the list of used receiving addresses and labels 過去に使用した受取先アドレスとラベルの一覧を表示 @@ -495,21 +583,50 @@ Show the %1 help message to get a list with possible Dash command-line options 有効なDashのコマンドラインオプションのリストを見るために %1 のヘルプメッセージを表示 + + default wallet + デフォルトのウォレット + %1 client %1 クライアント + + Wallet: %1 + + ウォレット:%1 + + + Wallet is <b>unencrypted</b> + ウォレットは<b>暗号化されていません</b> + &File ファイル(&F) - &Settings - 設定(&S) + Show information about %1 + %1の情報を表示する - &Tools - ツール(&T) + Create Wallet... + ウォレットを作成する... + + + Create a new wallet + 新しいウォレットを作成する + + + %1 &information + %1と情報 + + + Show the %1 basic information + %1の基本情報を表示する + + + &Settings + 設定(&S) &Help @@ -519,6 +636,14 @@ Tabs toolbar タブツールバー + + &Governance + ガバナンス(&G) + + + View Governance Proposals + ガバナンス提案を見る + %n active connection(s) to Dash network %n アクティブコネクション @@ -583,14 +708,46 @@ Error エラー + + Error: %1 + エラー:%1 + Warning 警告 + + Warning: %1 + 警告:%1 + Information 情報 + + Received and sent multiple transactions + 送受信した複数のトランザクション + + + Sent multiple transactions + 送信した複数のトランザクション + + + Received multiple transactions + 受信した複数のトランザクション + + + Sent Amount: %1 + + 送金金額:%1 + + + + Received Amount: %1 + + 受取金額:%1 + + Date: %1 @@ -645,6 +802,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> ウォレットは<b>暗号化</b>され、現在 <b>ロック</b>されています。 + + Proxy is <b>enabled</b>: %1 + プロキシが<b>有効</b>:%1 + + + Original message: + 元のメッセージ: + CoinControlDialog @@ -712,6 +877,10 @@ Received with address アドレスに対する入金一覧 + + Mixing Rounds + ミキシングのラウンド + Date 日付 @@ -796,6 +965,30 @@ Can vary +/- %1 duff(s) per input. インプットごとに +/- %1 duff(s) が変更可能 + + Some coins were unselected because they were spent. + 使用済みのため、非選択のコインもありました。 + + + Some coins were unselected because they do not have enough mixing rounds. + 一部のコインは、ミキシングラウンドが不十分なため、非選択としました。 + + + Show all coins + 全てのコインを表示する + + + Hide %1 coins + %1のコインを非表示にする + + + Show all %1 coins + %1全額のコインを表示する + + + Show spendable coins only + 使用可能なコインのみを表示する + (no label) (ラベル無し) @@ -813,6 +1006,60 @@ n/a + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + ウォレット<b>%1</b>を作成... + + + Create wallet failed + ウォレットの作成に失敗しました + + + Create wallet warning + ウォレット作成の警告 + + + + CreateWalletDialog + + Create Wallet + ウォレットを作成する + + + Wallet Name + ウォレット名 + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + ウォレットを暗号化します。ウォレットは、お客様が選んだパスフレーズで暗号化されます。 + + + Encrypt Wallet + ウォレットを暗号化する + + + 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. + このウォレットのプライベートキーを無効にします。プライベートキーを無効にしたウォレットは、プライベートキーを持たず、HDシードやインポートされたプライベートキーを持つことができなくなります。これは時計専用のウォレットに最適です。 + + + Disable Private Keys + プライベートキーを無効化する + + + 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. + ブランクウォレットを作成します。ブランクウォレットは、初期状態ではプライベートキーやスクリプトを持ちません。プライベートキーやアドレスは、後からインポートしたり、HDシードを設定したりすることができます。 + + + Make Blank Wallet + ブランクウォレットを作成する + + + Create + 作成 + + EditAddressDialog @@ -852,8 +1099,12 @@ 入力されたアドレス "%1" は有効なDashアドレスではありません。 - The entered address "%1" is already in the address book. - 入力されたアドレス "%1" は既にアドレス帳にあります。 + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + アドレス「%1」はラベル「%2」の受信アドレスとして既に存在するため、送信アドレスとして追加することはできません。 + + + The entered address "%1" is already in the address book with label "%2". + 入力されたアドレス「%1」は、ラベル「%2」のアドレス帳に既に登録されています。 Could not unlock wallet. @@ -887,16 +1138,39 @@ ここにデータディレクトリを作成することはできません。 + + GovernanceList + + Form + フォーム + + + Filter List: + フィルターリスト: + + + Filter propsal list + フィルター提案リスト + + + Proposal Count: + 提案回数: + + + Filter by Title + タイトルで絞り込む + + + Proposal Info: %1 + 提案情報:%1 + + HelpMessageDialog version バージョン - - (%1-bit) - (%1-ビット) - About %1 %1 について @@ -905,7 +1179,15 @@ Command-line options コマンドラインオプション - + + %1 information + %1の情報 + + + <h3>%1 Basics</h3> %1 gives you true financial privacy by obscuring the origins of your funds. All the Dash in your wallet is comprised of different "inputs" which you can think of as separate, discrete coins.<br> %1 uses an innovative process to mix your inputs with the inputs of two or more other people, without having your coins ever leave your wallet. You retain control of your money at all times.<hr> <b>The %1 process works like this:</b><ol type="1"> <li>%1 begins by breaking your transaction inputs down into standard denominations. These denominations are 0.001 DASH, 0.01 DASH, 0.1 DASH, 1 DASH and 10 DASH -- sort of like the paper money you use every day.</li> <li>Your wallet then sends requests to specially configured software nodes on the network, called "masternodes." These masternodes are informed then that you are interested in mixing a certain denomination. No identifiable information is sent to the masternodes, so they never know "who" you are.</li> <li>When two or more other people send similar messages, indicating that they wish to mix the same denomination, a mixing session begins. The masternode mixes up the inputs and instructs all three users' wallets to pay the now-transformed input back to themselves. Your wallet pays that denomination directly to itself, but in a different address (called a change address).</li> <li>In order to fully obscure your funds, your wallet must repeat this process a number of times with each denomination. Each time the process is completed, it's called a "round." Each round of %1 makes it exponentially more difficult to determine where your funds originated.</li> <li>This mixing process happens in the background without any intervention on your part. When you wish to make a transaction, your funds will already be mixed. No additional waiting is required.</li> </ol> <hr><b>IMPORTANT:</b> Your wallet only contains 1000 of these "change addresses." Every time a mixing event happens, up to 9 of your addresses are used up. This means those 1000 addresses last for about 100 mixing events. When 900 of them are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled.<br> Consequently, users who have backups disabled will also have %1 disabled. <hr>For more information, see the <a style="%2" href="%3">%1 documentation</a>. + <h3>%1の基本内容</h3> %1は、お客様の資金の出所を隠すことで、本当の意味での金融プライバシーを提供します。お客様のウォレットにあるすべてのDashは、異なる「入力」で構成されており、別個の独立したコインと考えることができます。<br>%1は、革新的なプロセスによって、お客様のインプットと他の2人以上のインプットをミキシングしますが、お客様のウォレットからコインが出ることはありません。お客様はいつでも自分のお金を管理できます。<hr> <b>%1のプロセスは次のように機能します。</b><ol type="1"> <li>%1は最初に取引の入力を標準的な金額に分解します。0.001 DASH、0.01 DASH、0.1 DASH、1 DASH、10 DASHなど、あなたが毎日使っている紙幣と同じような金額になります。</li> <li>お客様のウォレットは、ネットワーク上にある「マスターノード」と呼ばれる特別に設定されたソフトウェアノードにリクエストを送ります。このとき、これらのマスタノードには、お客様が特定の金額を混合することに関心があると伝えられます。個人を特定できるような情報はマスタノードに送られないため、お客様が「誰」であるか知られることはありません。</li> <li>他の2人以上の人物が同じようなメッセージを送り、同じ金額のミキシングを希望すると、ミキシングセッションが開始されます。マスターノードは入力をミキシングし、3人のユーザー全員のウォレットに、その時点で変換された入力を3人全員に支払うように指示します。お客様のウォレットは、その金額をウォレット自体に直接支払いますが、別のアドレス(変更アドレスと呼ぶ)になります。</li> <li>お客様の資金を完全に隠すために、お客様のウォレットではこのプロセスを各金額で何度も繰り返される必要があります。このプロセスが完了する度に、「ラウンド」と呼ばれます。%1の各ラウンドは、お客様の資金が発生した場所を判断するのを指数関数的に難しくします。</li> <li>このミキシングプロセスはバックグラウンドで行われ、お客様側の介入は一切ありません。お客様が取引をしたいときは、お客様の資金はすでにミキシングされています。さらに待つ必要はありません。</li> </ol> <hr><b>重要事項:</b> お客様のウォレットには、この「変更アドレス」が1000個しか入っていません。ミキシング作業が発生する度に、お客様のアドレスのうち最大9個が使用されます。したがって、この1000個のアドレスは、約100回までのミキシング作業に使えるということです。そのうち900個を使い切ると、お客様はご自身のウォレットにさらにアドレスを作成する必要があります。ただし、これは自動バックアップを有効にしている場合に限ります。<br>そのため、バックアップを無効にしているユーザーは、%1も無効になります。<hr>詳細は、<a style="%2" href="%3">%1のドキュメント</a>を参照してください。 + + Intro @@ -984,10 +1266,6 @@ Status ステータス - - 0 - 0 - Filter List: フィルターリスト: @@ -1008,6 +1286,10 @@ My masternodes only 自分のマスターノードのみ + + Service + サービス + PoSe Score PoSeスコア @@ -1024,21 +1306,41 @@ Next Payment 次の支払い + + Payout Address + 支払いアドレス + Operator Reward オペレーター報酬 + + Collateral Address + 担保アドレス + + + Owner Address + 所有者アドレス + + + Voting Address + 投票アドレス + Copy ProTx Hash ProTxハッシュをコピー Copy Collateral Outpoint - Collateral Outpointをコピー + 担保のアウトポイントをコピー + + + Updating... + 更新中... ENABLED - 使用可能 + 有効 POSE_BANNED @@ -1050,23 +1352,31 @@ to %1 - to %1 + %1に to UNKNOWN - to UNKNOWN + 不明者に but not claimed - but not claimed + しかし、請求されていません NONE - 無し + なし + + + Filter by any property (e.g. address or protx hash) + プロパティでのフィルタリング(例:アドレスやProTxハッシュなど) + + + Please wait... + お待ちください... Additional information for DIP3 Masternode %1 - DIP3 Masternode %1の追加情報 + DIP3のマスターノード%1の追加情報 @@ -1116,8 +1426,8 @@ 非表示 - Unknown. Syncing Headers (%1)... - 不明。ヘッダーを同期中 (%1)... + Unknown. Syncing Headers (%1, %2%)... + 不明。ヘッダー(%1、%2%)を同期中... @@ -1143,6 +1453,25 @@ 開きたい送金リクエストファイルを選択してください + + OpenWalletActivity + + Open wallet failed + ウォレットを開くのに失敗しました + + + Open wallet warning + ウォレット開示の警告 + + + default wallet + デフォルトのウォレット + + + Opening Wallet <b>%1</b>... + <b>%1</b>のウォレットを開封中... + + OptionsDialog @@ -1157,10 +1486,6 @@ Size of &database cache データベースキャッシュのサイズ (&D) - - MB - MB - Number of script &verification threads スクリプト検証用スレッド数 (&V) @@ -1173,6 +1498,26 @@ W&allet ウォレット (&A) + + &Appearance + アピアランス(&A) + + + Prune &block storage to + へのプルーンとブロックストレージ + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + この設定を元に戻すには、ブロックチェーン全体を再ダウンロードする必要があります。 + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. あなたのすべてのマスターノードをリストしている追加のタブを最初のサブタブに表示し<br/>すべてのマスターノードを次のサブタブに表示 @@ -1181,26 +1526,114 @@ Show Masternodes Tab マスターノードタブを表示する + + Show additional tab listing governance proposals. + ガバナンス提案の一覧を追加タブで表示します。 + + + Show Governance Tab + ガバナンスタブを表示する + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. もし未確認のチェンジを使用することを無効にする場合<br/>トランザクションから生じたチェンジはそのトランザクションが少なくとも一回コンファメーションがないと使用できません。<br/>これはまたあなたのウォレットの残高の計算にも影響を与えます。 + + Show mixing interface on Overview screen and reveal an additional screen which allows to spend fully mixed coins only.<br/>A new tab with more settings will also appear in this dialog, please make sure to check them before mixing your coins. + 概要画面にミキシングインターフェースを表示し、完全にミキシングされたコインのみを使用できる追加画面を表示します。<br/>このダイアログには、他の設定ができる新しいタブも表示されますので、コインをミキシングする前に必ず確認してください。 + + + Show additional information and buttons on overview screen. + 概要画面に追加情報とボタンを表示します。 + + + Enable advanced interface + 高度なインターフェイスを有効にする + + + Show system popups for mixing transactions<br/>just like for all other transaction types. + 他の全ての取引タイプと同様に、<br/>ミキシング取引にもシステムポップアップを表示します。 + + + Show popups for mixing transactions + ミキシング取引のポップアップを表示する + + + Show warning dialog when the wallet has very low number of keys left. + ウォレットのキーの残量が非常に少なくなった場合に、警告ダイアログを表示するようにします。 + + + Warn if the wallet is running out of keys + ウォレットのキーが不足している場合に警告を表示する + + + Whether to use experimental mode with multiple mixing sessions per block.<br/>Note: You must use this feature carefully.<br/>Make sure you always have recent wallet (auto)backup in a safe place! + ブロックごとに複数のミキシングセッションを行う実験モードを使用する場合。<br/>注意事項:この機能は慎重に使用する必要があります。<br/>常に安全な場所に最新のウォレットの(自動)バックアップをとっておくようにしてください。 + + + Enable &multi-session + マルチセッションを有効にする + + + Mixing rounds + ミキシングラウンド + + + This amount acts as a threshold to turn off mixing once it's reached. + この量に達すると、ミキシングがオフになる閾値として機能します。 + + + Target balance + 対象残高 + Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. 自動的にルーターのDash Core クライアントポートを開放します。これはルーターがUPnP機能をサポートしておりUPnP機能が有効な場合にのみ機能します。 + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + ルーターでBitcoinクライアントポートを自動的に開きます。これは、ルーターがNAT-PMPをサポートし、それが有効になっている場合にのみ機能します。外部ポートはランダムになる可能性があります。 + + + Map port using NA&T-PMP + NA&T-PMPを使用したマップポート + + + Accept connections from outside. + 外部からの接続を許可する。 + + + Allow incomin&g connections + 受信接続を許可する + Connect to the Dash network through a SOCKS5 proxy. - SOCKS5プロキシ経由でDashネットワークに接続 + SOCKS5プロキシ経由でDashネットワークに接続します。 &Connect through SOCKS5 proxy (default proxy): - SOCKS5プロキシ経由で接続 (デフォルトプロキシ): (&C) + SOCKS5プロキシ(デフォルトプロキシ)経由で接続: (&C) Shows if the supplied default SOCKS5 proxy is used to reach peers via this network type. 指定されたデフォルトのSOCKS5プロキシを使用して、このネットワークタイプ経由でピアに到達するかどうかを表示。 + + Use separate SOCKS&5 proxy to reach peers via Tor hidden services: + Torの非表示サービスを経由してピアに到達するために、別のSOCKS&5プロキシを使用します。 + + + Options set in this dialog are overridden by the command line or in the configuration file: + このダイアログで設定されたオプションは、コマンドラインまたは設定ファイルによって上書きされます。 + + + Hide the icon from the system tray. + システムトレイからアイコンを非表示にします。 + + + &Hide tray icon + トレイアイコンを非表示にする(&H) + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu. ウィンドウを閉じる際にアプリケーションを終了するのではなく最小化します。このオプションが有効の場合、メニューから終了を選択した場合にのみアプリケーションは閉じられます。 @@ -1209,6 +1642,10 @@ Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items.<br/>%s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. メニューアイテムとしてトランザクションタブに表示されるサードパーティのURL (例 ブロックエクスプローラー) :<br/>%s はトランザクションハッシュに置き換えられます。複数のURLは"|"によって区切られます。 + + &Third party transaction URLs + サードパーティのトランザクションURL(&T) + Whether to show coin control features or not. コインコントロール機能の表示/非表示 @@ -1229,10 +1666,18 @@ &Spend unconfirmed change 未検証のチェンジを使用 (&S) + + This setting determines the amount of individual masternodes that an input will be mixed through.<br/>More rounds of mixing gives a higher degree of privacy, but also costs more in fees. + この設定は、入力がミキシングされる個々のマスターノードの量を指定します。<br/>ミキシングのラウンド数を増やすと、より高度なプライバシーが得られますが、その分料金も高くなります。 + &Network ネットワーク (&N) + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + プルーニングを有効にすると、取引を保存するのに必要なディスク容量が大幅に削減されます。すべてのブロックは完全に検証されたままです。この設定を元に戻すには、ブロックチェーン全体を再ダウンロードする必要があります。 + Map port using &UPnP UPnPを使ってポートを割り当て (&U) @@ -1315,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits 10進数 - - Active command-line options that override above options: - 上のオプションを置き換えることのできる有効なコマンドラインオプションの一覧: - Reset all client options to default. すべてのオプションを初期値に戻します。 @@ -1335,6 +1776,10 @@ https://www.transifex.com/projects/p/dash/ &Cancel キャンセル (&C) + + Enable %1 features + %1の機能を有効にする + default デフォルト設定 @@ -1482,10 +1927,22 @@ https://www.transifex.com/projects/p/dash/ No inputs detected インプットが検知できません + + %1 Balance + %1の残額 + %n Rounds %n ラウンド + + Found enough compatible inputs to mix %1 + %1をミキシングするのに十分な互換性のある入力が見つかりました。 + + + Not enough compatible inputs to mix <span style='%1'>%2</span>,<br>will mix <span style='%1'>%3</span> instead + <span style='%1'>%2</span>をミキシングするのに十分な互換性のある入力がないため、<br>代わりに<span style='%1'>%3</span>をミキシングします。 + Overall progress すべての進捗 @@ -1494,6 +1951,10 @@ https://www.transifex.com/projects/p/dash/ Denominated ミキシング準備完了 + + Partially mixed + ミキシング一部完了 + Mixed ミキシング完了 @@ -1506,6 +1967,26 @@ https://www.transifex.com/projects/p/dash/ keys left: %1 残されたキー: %1 + + Start %1 + %1を開始する + + + If you don't want to see internal %1 fees/transactions select "Most Common" as Type on the "Transactions" tab. + 内部にある%1の料金や取引を表示しない場合は、「取引」タブでタイプとして「最も一般的なもの」を選択します。 + + + %1 requires at least %2 to use. + %1を使用するには、最低%2が必要です。 + + + Wallet is locked and user declined to unlock. Disabling %1. + ウォレットがロックされ、ユーザーがロック解除を拒否しました。%1を無効にしています。 + + + Stop %1 + %1を停止する + Disabled 無効 @@ -1514,6 +1995,10 @@ https://www.transifex.com/projects/p/dash/ Very low number of keys left since last automatic backup! 前回の自動バックアップから残されたキーの数がほとんどありません! + + We are about to create a new automatic backup for you, however <span style='%1'> you should always make sure you have backups saved in some safe place</span>! + 今から新しい自動バックアップを作成しますが、<span style='%1'>常に安全な場所にバックアップが保存されていることを確認してください</span>。 + Note: You can turn this message off in options. 注記: このメッセージはオプションで非表示にできます。 @@ -1557,10 +2042,18 @@ https://www.transifex.com/projects/p/dash/ URI handling URI のハンドリング + + 'dash://' is not a valid URI. Use 'dash:' instead. + 「dash://」は有効なURIではありません。代わりに「dash:」を使ってください。 + Payment request fetch URL is invalid: %1 支払いリクエストの取得先URLが無効です: %1 + + Cannot process payment request because BIP70 support was not compiled in. + BIP70のサポートがコンパイルされていないため、支払いリクエストを処理できません。 + Invalid payment address %1 支払いのアドレス %1 は無効です @@ -1607,7 +2100,7 @@ https://www.transifex.com/projects/p/dash/ Refund from %1 - %1 からのリファンド + %1 からの返金 Payment request %1 is too large (%2 bytes, allowed %3 bytes). @@ -1652,9 +2145,147 @@ https://www.transifex.com/projects/p/dash/ Ping Ping - + + Sent + 送金しました + + + Received + 受け取りました + + + + Proposal + + Passing +%1 + +%1のパッシング + + + Needs additional %1 votes + %1の追加投票が必要です + + + + ProposalModel + + Yes + はい + + + No + いいえ + + + Hash + ハッシュ + + + Title + タイトル + + + Start + 起動 + + + End + 終了 + + + Amount + 金額 + + + Active + アクティブ + + + Status + ステータス + + QObject + + Choose data directory on startup (default: %u) + 起動時にデータディレクトリを選択する(デフォルト:%u) + + + Set the font family. Possible values: %1. (default: %2) + フォントファミリを設定する。設定可能な値:%1。(デフォルト:%2) + + + Set a scale factor which gets applied to the base font size. Possible range %1 (smallest fonts) to %2 (largest fonts). (default: %3) + 基本の文字サイズに適用されるスケールファクターを設定します。設定可能な範囲は、%1(最小の文字)〜%2(最大の文字)です。(デフォルト:%3) + + + Set the font weight for bold texts. Possible range %1 to %2 (default: %3) + 太字の文字の太さを設定します。設定可能範囲:%1〜%2(デフォルト:%3) + + + Set the font weight for normal texts. Possible range %1 to %2 (default: %3) + 通常の文字に対する文字の太さを設定します。設定可能範囲:%1〜%2(デフォルト:%3) + + + Set language, for example "de_DE" (default: system locale) + 言語を設定します。例:「de_DE」(デフォルト:システムロケール) + + + Start minimized + 最小化を開始する + + + Reset all settings changed in the GUI + GUIで変更した設定をすべてリセットする + + + Set SSL root certificates for payment request (default: -system-) + 支払いリクエストのSSLルート証明書を設定する(デフォルト:-system-) + + + Show splash screen on startup (default: %u) + 起動時にスプラッシュ・スクリーンを表示(デフォルト:%u) + + + Error: Specified data directory "%1" does not exist. + エラー:指定されたデータ・ディレクトリ「%1」は存在しません。 + + + Error: Cannot parse configuration file: %1. + エラー:%1の構成ファイルを解析できません。 + + + Error: %1 + エラー:%1 + + + Error: Failed to load application fonts. + エラー:アプリケーションフォントの読み込みに失敗しました。 + + + Error: Specified font-family invalid. Valid values: %1. + エラー:指定されたフォントファミリが無効です。有効値:%1。 + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + エラー:指定された文字の太さ(通常)は無効です。有効範囲は、%1~%2です。 + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + エラー:指定された文字の太さ(太字)は無効です。有効範囲は、%1~%2です。 + + + Error: Specified font-scale invalid. Valid range %1 to %2. + エラー:指定された文字の大きさは無効です。有効範囲は、%1~%2です。 + + + Error: Invalid -custom-css-dir path. + エラー:無効な-custom-css-dirパスです。 + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + エラー:%1のCSSファイルが-custom-css-dirパスにありません。 + %1 didn't yet exit safely... %1 はまだ安全に終了していません @@ -1667,6 +2298,18 @@ https://www.transifex.com/projects/p/dash/ Enter a Dash address (e.g. %1) Dashアドレスを入力してください (例 %1) + + Appearance Setup + アピアランスのセットアップ + + + Please choose your preferred settings for the appearance of %1 + %1の表示に関して、お好みの設定をお選びください。 + + + This can also be adjusted later in the "Appearance" tab of the preferences. + これは、初期設定の「表示」タブで後で調整することも可能です。 + %1 d %1日 @@ -1723,26 +2366,27 @@ https://www.transifex.com/projects/p/dash/ %1 and %2 %1 と %2 + + %1 B + %1 B + + + %1 KB + %1 KB + + + %1 MB + %1 MB + + + %1 GB + %1 GB + unknown - 未確認 + 不明 - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - エラー: 指定のデータディレクトリ "%1" は存在しません - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - エラー: 設定ファイル: %1をパースできません。key=value という記法のみを利用してください。 - - - Error: %1 - エラー: %1 - - QRDialog @@ -1791,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image 画像をコピー(&C) + + Resulting URI too long, try to reduce the text for label / message. + 結果のURIが長すぎるため、ラベル/メッセージのテキストを減らしてみてください。 + + + Error encoding URI into QR Code. + URIをQRコードにエンコードする際にエラーが発生しました。 + + + QR code support not available. + QRコードには対応していません。 + Save QR Code QR コードの保存 @@ -1846,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file デバッグ用ログファイル - - Current number of blocks - 現在のブロック数 - Client version クライアントのバージョン - - Using BerkeleyDB version - 使用中のBerkleyDBバージョン - Block chain ブロックチェーン @@ -1902,6 +2550,10 @@ https://www.transifex.com/projects/p/dash/ &Peers ピア (&P) + + Wallet: + ウォレット: + Banned peers Banされたピア @@ -1934,6 +2586,26 @@ https://www.transifex.com/projects/p/dash/ Synced Blocks 同期済みブロック + + Rescan blockchain files 1 + ブロックチェーンファイル1の再スキャンをする + + + Rescan blockchain files 2 + ブロックチェーンファイル2の再スキャンをする + + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + 下記のボタンは、ウォレットを修復し、破損したブロックチェーンファイルや欠落または削除された取引の問題を修正するためのコマンドラインオプションを使用してウォレットを再起動します。 + + + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. + -rescan=1:ウォレット作成時から始まるウォレット取引の欠落のために、ブロックチェーンを再スキャンします。 + + + -rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block. + -rescan=2:ジェネシスブロックから始まるウォレット取引の欠落のために、ブロックチェーンを再スキャンします。 + Wallet Path ウォレットパス @@ -1946,6 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir データディレクトリ + + To specify a non-default location of the data directory use the '%1' option. + データディレクトリのデフォルトでない場所を指定するには、「%1」のオプションを使用します。 + + + Blocksdir + ブロックディレクトリ + + + To specify a non-default location of the blocks directory use the '%1' option. + ブロックディレクトリのデフォルトでない場所を指定するには、「%1」のオプションを使用します。 + + + Current block height + 現在のブロックの高さ + + + Last block hash + 直近のブロックハッシュ + + + Latest ChainLocked block hash + 最新のチェーンロックされたブロックハッシュ + + + Latest ChainLocked block height + 最新のチェーンロックされたブロックの高さ + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. 現在のデータディレクトリから %1 デバッグ用ログファイルを開きます。ログファイルが巨大な場合数秒かかることがあります。 @@ -1954,6 +2654,10 @@ https://www.transifex.com/projects/p/dash/ InstantSend locks インスタントセンドロック + + (none) + (なし) + Decrease font size 文字サイズを縮小 @@ -1966,6 +2670,14 @@ https://www.transifex.com/projects/p/dash/ &Reset &リセット + + Node Type + ノードの種類 + + + PoSe Score + PoSeスコア + Services サービス @@ -2010,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair ウォレット修復(&W) - - Salvage wallet - ウォレットの救出 - Recover transactions 1 トランザクション1のリカバー @@ -2026,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format ウォレットフォーマットのアップグレード - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - このボタンは、過去の不明なトランザクションや問題のあるブロックチェーンファイルによるバグを修復するためコマンドラインオプションを使用してウォレットをリスタートします。 - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: 問題のある wallet.dat からプライベートキーをリカバーします - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: ブロックチェーンからトランザクションをリカバーします(メタデータは保持します 例 アカウントオーナー) @@ -2094,6 +2794,14 @@ https://www.transifex.com/projects/p/dash/ Use up and down arrows to navigate history, and %1 to clear screen. 上下の矢印を使用して履歴をナビゲートし、 %1 を使用して画面をクリアします。 + + Type %1 for an overview of available commands. + 利用可能なコマンドの概要については、%1と入力してください。 + + + For more information on using this console type %1. + このコンソールの使用に関する詳細は、%1と入力してください。 + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. 警告:詐欺師は常にアクティブであり、ユーザーにここへのコマンドを入力させ、ウォレットの中身を盗みます。 コマンドの影響を完全に理解せずにこのコンソールを使用しないでください。 @@ -2114,6 +2822,14 @@ https://www.transifex.com/projects/p/dash/ Total: %1 (Enabled: %2) 合計: %1 (有効: %2) + + Executing command without any wallet + ウォレットなしでコマンドを実行する + + + Executing command using "%1" wallet + 「%1」のウォレットを使用してコマンドを実行する + (node id: %1) (ノードID: %1) @@ -2142,9 +2858,21 @@ https://www.transifex.com/projects/p/dash/ No いいえ + + Regular + 通常 + + + Masternode + マスターノード + + + Verified Masternode + 認証済のマスターノード + Unknown - 未知 + 不明 @@ -2182,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ 総額 (&A) - &Request payment - 支払いをリクエストする (&R) + &Create new receiving address + 新しい受取アドレスを作成(&C) Clear all fields of the form. @@ -2213,10 +2941,22 @@ https://www.transifex.com/projects/p/dash/ Remove 削除 + + Enter a label to associate with the new receiving address + 新しい受信アドレスと関連付けるラベルを入力します。 + + + Enter a message to attach to the payment request + 支払いリクエストに添付するメッセージを入力します + Copy URI URI をコピー + + Copy address + アドレスをコピー + Copy label ラベルをコピーする @@ -2277,12 +3017,8 @@ https://www.transifex.com/projects/p/dash/ メッセージ - Resulting URI too long, try to reduce the text for label / message. - URI が長過ぎます。ラベルやメッセージのテキストを短くしてください。 - - - Error encoding URI into QR Code. - QRコード用のURIエンコードエラー + Wallet + ウォレット @@ -2382,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... 選択… - - collapse fee-settings - 手数料設定を非表示 - Confirmation time target: 検証時間ターゲット: @@ -2410,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. 注:フォールバックフィーを代わりに使用しているので、手数料の見積もりに十分なデータがありません。 + + Hide transaction fee settings + 取引手数料設定の非表示 + Hide 非表示 @@ -2490,6 +3226,10 @@ https://www.transifex.com/projects/p/dash/ %1 (%2 blocks) %1 (%2 ブロック) + + from wallet %1 + %1のウォレットから + using 使用中 @@ -2502,22 +3242,62 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? 送ってよろしいですか? - - are added as transaction fee - :トランザクション手数料として追加されます - - - Total Amount = <b>%1</b><br />= %2 - トータルの金額 = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 /%2 項目を表示)</b> + + S&end mixed funds + ミックスファンドを送金する + + + Confirm the %1 send action + %1の送金処理を確認 + + + %1 funds only + %1の資金のみ + any available funds 利用可能なファンド + + Transaction fee + 取引手数料 + + + (%1 transactions have higher fees usually due to no change output being allowed) + (%1の取引は、通常変更出力が許可されていないため、手数料が高くなります) + + + Transaction size: %1 + 取引額:%1 + + + Fee rate: %1 + 料金レート:%1 + + + This transaction will consume %n input(s) + この取引は、%n個の入力を消費します。 + + + Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended + 警告:%1を%2以上の入力で使用すると、プライバシーが侵害される可能性があり、推奨できません。 + + + Click to learn more + クリックしてさらに詳しく + + + Total Amount + 総額 + + + or + または + Confirm send coins 送金確認 @@ -2546,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! トラザクションの作成に失敗しました! - - The transaction was rejected with the following reason: %1 - トランザクションは以下の理由によりリジェクトされました: %1 - A fee higher than %1 is considered an absurdly high fee. %1 よりも高い手数料の場合手数料が異常に高すぎると判断されます。 @@ -2589,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - これは通常の支払いです。 - Pay &To: 送り先: (&T) @@ -2633,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: 金額: (&M) + + The amount to send in the selected unit + 選択した単位で送金する金額 + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 手数料は総額から差し引かれます。受取人は入力した金額より少ないDashを受け取ります。複数の受取人を選択した場合、手数料は等しく分割されます。 @@ -2641,6 +3417,10 @@ https://www.transifex.com/projects/p/dash/ S&ubtract fee from amount 総額から手数料を差し引いて送金(&U) + + Use available balance + 利用可能な残高を使用する + Message: メッセージ: @@ -2673,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - はい + Send + 送金 @@ -2762,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with メッセージの署名に使用されたDashアドレス + + The signed message to verify + 検証する署名付きメッセージ + + + The signature given when the message was signed + メッセージの署名時に付与された署名 + Verify the message to ensure it was signed with the specified Dash address 指定されたDashアドレスで署名されたことを確認するためメッセージを検証 @@ -2774,10 +3562,22 @@ https://www.transifex.com/projects/p/dash/ Reset all verify message fields 入力項目の内容をすべて消去 + + Enter a message to be signed + 署名するメッセージを入力する + Click "Sign Message" to generate signature 署名を作成するには"メッセージの署名"をクリックしてください + + Enter a message to be verified + 検証するメッセージを入力する + + + Enter a signature for the message to be verified + 検証するメッセージに署名を入力する + The entered address is invalid. 無効なアドレスが入力されました。 @@ -2838,9 +3638,21 @@ https://www.transifex.com/projects/p/dash/ TrafficGraphWidget KB/s - KB/s + KB/秒 - + + Total + 合計 + + + Received + 受取済 + + + Sent + 送金済 + + TransactionDesc @@ -2857,7 +3669,7 @@ https://www.transifex.com/projects/p/dash/ 0/unconfirmed, %1 - 0/未検証, %1 + 0/未確認、%1 in memory pool @@ -2873,11 +3685,19 @@ https://www.transifex.com/projects/p/dash/ %1/unconfirmed - %1/未検証 + %1/未確認 %1 confirmations - %1 確認 + %1の確認 + + + locked via ChainLocks + チェーンロックでロック中 + + + verified via InstantSend + InstantSendで検証済み Status @@ -2971,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size トランザクションの全体サイズ + + (Certificate was not verified) + (証明書は未確認です) + Merchant マーチャント @@ -2985,11 +3809,11 @@ https://www.transifex.com/projects/p/dash/ Transaction - トランザクション + 取引 Inputs - インプット + 入力 Amount @@ -3008,7 +3832,7 @@ https://www.transifex.com/projects/p/dash/ TransactionDescDialog This pane shows a detailed description of the transaction - ここではトランザクションの詳細を表示しています + ここでは取引の詳細を表示しています Details for %1 @@ -3065,6 +3889,14 @@ https://www.transifex.com/projects/p/dash/ Generated but not accepted 生成されましたが承認されませんでした + + verified via InstantSend + InstantSendで検証済み + + + locked via ChainLocks + チェーンロックでロック中 + Received with 受信元 @@ -3073,6 +3905,10 @@ https://www.transifex.com/projects/p/dash/ Received from 送信元 + + Received via %1 + %1から受取済 + Sent to 送金先 @@ -3083,7 +3919,27 @@ https://www.transifex.com/projects/p/dash/ Mined - 発掘済 + マイニング済 + + + %1 Mixing + %1 ミキシング + + + %1 Collateral Payment + %1 担保の支払い + + + %1 Make Collateral Inputs + %1 担保の情報を入力する + + + %1 Create Denominations + %1 デノミネーションを作成する + + + %1 Send + %1 送金する watch-only @@ -3164,6 +4020,26 @@ https://www.transifex.com/projects/p/dash/ Sent to 送金先 + + %1 Send + %1 送金する + + + %1 Make Collateral Inputs + %1 担保の情報を入力する + + + %1 Create Denominations + %1 デノミネーションを作成する + + + %1 Mixing + %1 ミキシング + + + %1 Collateral Payment + %1 担保の支払い + To yourself 自分自身へ @@ -3176,6 +4052,10 @@ https://www.transifex.com/projects/p/dash/ Other その他 + + Enter address, transaction id, or label to search + アドレス、取引ID、ラベルを入力して検索する + Min amount 最小の額 @@ -3209,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ トランザクションの詳細すべてをコピー - Edit label - ラベルの編集 + Edit address label + アドレスのラベルを編集 Show transaction details @@ -3292,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ 金額を表示する際の単位。クリックすることで他の単位を選択します。 + + WalletController + + Close wallet + ウォレットを閉じる + + + Are you sure you wish to close the wallet <i>%1</i>? + <i>%1</i>のウォレットを本当に閉じますか。 + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + ウォレットを長時間閉じると、プルーニングが有効な場合、チェーン全体を再同期しなければならないことがあります。 + + WalletFrame @@ -3305,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins 送金 + + default wallet + デフォルトのウォレット + WalletView @@ -3344,13 +4243,25 @@ https://www.transifex.com/projects/p/dash/ The wallet data was successfully saved to %1. ウォレットデータは正常に%1に保存されました - + + Cancel + キャンセル + + dash-core Error: Listening for incoming connections failed (listen returned error %s) エラー: 受信中の接続をリッスンするのに失敗しました (エラー %s ) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + 料金の見積もりに失敗しました。フォールバックフィーは無効です。数ブロック待つか、-fallbackfeeを有効にしてください。 + + + 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 + このエラーは、このウォレットが正常にシャットダウンされず、Berkeley DBの新しいバージョンを含むビルドを使用して直前にロードされた場合に発生する可能性があります。その場合は、このウォレットを直前にロードしたソフトウェアを使用してください。 + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications これはリリース前のテストビルドです - 各自の責任で利用すること - 採掘や商取引に使用しないでください @@ -3411,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. データベースの読み込みエラー。シャットダウンします。 - - Error - エラー - - - Error: Disk space is low! - エラー: ディスク容量不足! - Failed to listen on any port. Use -listen=0 if you want this. ポートのリッスンに失敗しました。必要であれば -listen=0 を使用してください。 @@ -3427,14 +4330,26 @@ https://www.transifex.com/projects/p/dash/ -maxtxfee is set very high! Fees this large could be paid on a single transaction. -maxtxfee が非常に高く設定されています!ひとつのトランザクションでこの量の手数料が支払われてしまうことがあります。 + + Cannot provide specific connections and have addrman find outgoing connections at the same. + 特定の接続を提供し、同時にアドルマンに発信接続を探させることができません。 + Found unconfirmed denominated outputs, will wait till they confirm to continue. 未確認の分割されたアウトプットを検出しました。継続を確認するまで待機します。 + + Invalid -socketevents ('%s') specified. Only these modes are supported: %s + 無効な-socketevents(「%s」)が指定されました。これらのモード(%s)のみサポートされています。 + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) -maxtxfee=<amount> の数量の指定が無効です: '%s' (トランザクションが詰まってしまうのを防ぐため、少なくとも %s の最小中継手数料を指定しなければいけません) + + Transaction index can't be disabled with governance validation enabled. Either start with -disablegovernance command line switch or enable transaction index. + ガバナンス検証を有効にした状態で、取引インデックスを無効化することはできません。-disablegovernanceのコマンドラインスイッチで開始するか、取引インデックスを有効にしてください。 + Can't mix: no compatible inputs found! ミキシング不可: 互換性のあるインプットが見つかりません @@ -3443,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. エントリーが最大サイズを超えました。 - - Failed to load fulfilled requests cache from - リクエストキャッシュの読み込み失敗: - - - Failed to load governance cache from - ガバナンスキャッシュの読み込み失敗: - - - Failed to load masternode cache from - マスターノードキャッシュの読み込み失敗: - Found enough users, signing ( waiting %s ) 充分なユーザーを発見しました、サインしています ( 待機中 %s ) @@ -3479,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? 不正なブロックが発見されたか、またはジェネシスブロックが発見されませんでした。ネットワークの datadir が間違っていませんか? - - Information - インフォメーション - Input is not valid. インプットが無効です @@ -3539,6 +4438,10 @@ https://www.transifex.com/projects/p/dash/ No compatible Masternode found. 互換性のあるマスターノードが検出されません + + Not enough funds to mix. + ミキシングの資金が足りません + Not in the Masternode list. マスターノードリストにありません @@ -3559,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. 不明なレスポンス - - Unsupported argument -benchmark ignored, use -debug=bench. - サポートされていない引数 -benchmark は無視されました。-debug=bench を使用してください。 - - - Unsupported argument -debugnet ignored, use -debug=net. - サポートされていない引数 -debugnet は無視されました。-debug=net を使用してください。 - - - Unsupported argument -tor found, use -onion. - サポートされていない引数 -tor が見つかりました。-onion を使用してください。 - User Agent comment (%s) contains unsafe characters. ユーザーエージェントのコメント (%s) には安全でない文字が含まれています。 @@ -3587,6 +4478,14 @@ https://www.transifex.com/projects/p/dash/ Can't find random Masternode. ランダムなマスターノードを発見できません + + %s can't be lower than %s + %sは%sより低くできません。 + + + %s is idle. + %sはアイドル状態です。 + Can't mix while sync in progress. 同期中はミキシングできません @@ -3607,6 +4506,10 @@ https://www.transifex.com/projects/p/dash/ Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. バックアップ作成失敗、ファイルは既に存在します!これはウォレットを60秒以内にリスタートしたときに発生することがあります。これで問題なければ先に進むことができます。 + + Make sure to encrypt your wallet and delete all non-encrypted backups after you have verified that the wallet works! + ウォレットが動作することを確認したら、必ずウォレットを暗号化し、暗号化されていないバックアップをすべて削除してください! + Prune configured below the minimum of %d MiB. Please use a higher number. 剪定が最小値の %d MiB以下に設定されています。もっと大きな値を使用してください。 @@ -3631,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. ネットワークバージョン文字 (%i) の長さが最大の長さ (%i) を超えています。UAコメントの数や長さを削減してください。 - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - サポートされていない引数 -socks が見つかりました。SOCKSバージョンの設定はできないようになりました。SOCKS5プロキシのみがサポートされています。 - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - サポートされていない引数 -whitelistalwaysrelay は無視されました。-whitelistrelay または -whitelistforcerelay を利用してください - WARNING! Failed to replenish keypool, please unlock your wallet to do so. 警告! キープールの補充に失敗しました、ウォレットをアンロックしてキープールを補充してください @@ -3648,13 +4543,17 @@ https://www.transifex.com/projects/p/dash/ ウォレットがロックされているのでキープールを補充できません!自動バックアップとミキシングが無効なので、ウォレットをアンロックしてキープールを補充してください。 - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - 警告: 未知のバージョンのブロックが採掘されました。未知のルールが導入された可能性があります。 + You need to rebuild the database using -reindex to change -timestampindex + -timestampindexを変更するには、-reindexを使用してデータベースを再構築する必要があります。 You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain 非剪定モードに戻るためには-reindexオプションを使用してデータベースを再構築する必要があります。これによりブロックチェーン全体の再ダウンロードが行われます。 + + %s failed + %sは失敗しました + -maxmempool must be at least %d MB -maxmempoolは最低でも %d MB必要です @@ -3663,14 +4562,54 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled 自動バックアップ無効 + + Cannot set -peerblockfilters without -blockfilterindex. + -peerblockfiltersを-blockfilterindexなしで設定することはできません。 + + + Config setting for %s only applied on %s network when in [%s] section. + %sの構成設定は、[%s]セクションにある場合、%sネットワークにのみ適用されます。 + + + Could not find asmap file %s + %sのasmapファイルが見つかりませんでした + + + Could not parse asmap file %s + %sのasmapファイルを解析できませんでした + ERROR! Failed to create automatic backup エラー! 自動バックアップ作成失敗 + + Error loading %s: Private keys can only be disabled during creation + %sの読み込みエラー:プライベートキーは作成時にのみ無効化できます。 + + + Error upgrading evo database + Evoデータベースのアップグレードエラー + Error: A fatal internal error occurred, see debug.log for details エラー:致命的な内部エラーが発生しました。詳細はdebug.logを参照してください + + Error: Disk space is low for %s + エラー:%sのディスク容量が不足しています + + + Error: failed to add socket to epollfd (epoll_ctl returned error %s) + エラー:epollfdへのソケットの追加に失敗しました(epoll_ctlは、%sのエラーを返しました) + + + Exceeded max tries. + 最大試行回数を超えました。 + + + Failed to commit EvoDB + EvoDBのコミットに失敗しました + Failed to create backup %s! バックアップ作成 %s失敗! @@ -3684,8 +4623,12 @@ https://www.transifex.com/projects/p/dash/ バックアップ削除失敗、エラー: %s - Failed to load sporks cache from - スポークキャッシュの読み込み失敗: + Failed to rescan the wallet during initialization + 初期化中にウォレットの再スキャンに失敗しました + + + Invalid P2P permission: '%s' + 無効なP2P許可:「%s」 Invalid amount for -fallbackfee=<amount>: '%s' @@ -3747,6 +4690,14 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. 剪定値は負の値に設定できません。 + + Prune mode is incompatible with -blockfilterindex. + プルーンモードは、-blockfilterindexと互換性がありません。 + + + Prune mode is incompatible with -disablegovernance=false. + プルーンモードは、-disablegovernance=falseと互換性がありません。 + Prune mode is incompatible with -txindex. 剪定モードは-txindexと互換性がありません。 @@ -3755,14 +4706,39 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... ブロックストアを剪定しています… + + Section [%s] is not recognized. + [%s]のセクションは認識されません。 + + + Specified -walletdir "%s" does not exist + 指定された-walletdirの「%s」は存在しません + + + Specified -walletdir "%s" is a relative path + 指定された-walletdirの「%s」は相対パスです + + + Specified -walletdir "%s" is not a directory + 指定された-walletdirの「%s」はディレクトリではありません + Synchronizing blockchain... ブロックチェーンの同期中… + + The specified config file %s does not exist + + 指定された構成ファイルの%sは存在しません + The wallet will avoid paying less than the minimum relay fee. ウォレットは最小中継手数料を下回る額の支払を拒否します。 + + This is expected because you are running a pruned node. + これは、プルーニングされたノードを実行しているため、予想されます。 + This is the minimum transaction fee you pay on every transaction. これはすべてのトランザクションに対して最低限支払うべき手数料です。 @@ -3795,6 +4771,18 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. このコンピュータの %s にバインドすることができません。おそらく %s は既に実行されています。 + + Unable to create the PID file '%s': %s + PIDファイルの「%s」を作成できません:%s + + + Unable to generate initial keys + 初期キーが生成できません + + + Unknown -blockfilterindex value %s. + %sは、不明な-blockfilterindexの値です。 + Upgrading UTXO database UTXOデータベースを更新しています @@ -3816,8 +4804,12 @@ https://www.transifex.com/projects/p/dash/ ウォレットを有効にした状態でマスターノードを起動することはできません。 - You need to rebuild the database using -reindex to change -txindex - -txindexを変更するために -reindexを使用してデータベースを再構築する必要があります。 + You need to rebuild the database using -reindex to change -addressindex + -addressindexを変更するために、-reindexを使用してデータベースを再構築する必要があります + + + You need to rebuild the database using -reindex to change -spentindex + -spentindexを変更するために、-reindexを使用してデータベースを再構築する必要があります no mixing available. @@ -3827,14 +4819,14 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. 詳細はdebug.logを参照してください。 - - Dash Core - Dashコア - The %s developers %s の開発者 + + %s uses exact denominated amounts to send funds, you might simply need to mix some more coins. + %sは正確に換算した金額を送金するため、単純にいくらかのコインをミキシングする必要があるかもしれません。 + Cannot obtain a lock on data directory %s. %s is probably already running. データディレクトリ %s のロックを取得することができません。おそらく %s は実行中です。 @@ -3880,25 +4872,29 @@ https://www.transifex.com/projects/p/dash/ ブロックを再生できません。 -reindex-chainstateを使用してデータベースを再構築する必要があります。 - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - 警告: ウォレットファイルが破損していましたのでデータを復旧しました!元の %s は %s として %s に保存されました; 残高やトランザクションが正しくない場合にはバックアップから復元してください。 + Warning: Private keys detected in wallet {%s} with disabled private keys + 警告:プライベートキーが、無効化されたものと一緒にウォレット{%s}で検出されました %d of last 100 blocks have unexpected version 最新の100ブロックの %d で予期しないバージョンがあります。 - - %s corrupt, salvage failed - %s が壊れています。復旧にも失敗しました - %s is not a valid backup folder! %s は無効なバックアップフォルダーです! + + %s is only allowed with a single wallet file + %sは、単一のウォレットファイルでのみ許可されます + %s is set very high! %s の設定値は高すぎます! + + %s request incomplete: + %sのリクエストが未完了です。 + -devnet can only be specified once -devnet は一度だけ指定できます @@ -3911,10 +4907,18 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport は、 -devnet と -server が指定されたとき指定しなければなりません。 + + A fatal internal error occurred, see debug.log for details + 致命的な内部エラーが発生しました。詳細は、debug.logを参照してください。 + Cannot resolve -%s address: '%s' -%s アドレス '%s' を解決できません + + Cannot write to data directory '%s'; check permissions. + 「%s」のデータディレクトリに書き込めません。権限を確認してください。 + Change index out of range チェンジインデックスが範囲外です @@ -3923,6 +4927,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + ディスク容量が少なすぎます。 + Error loading %s %s 読み込みエラー @@ -3947,14 +4955,50 @@ https://www.transifex.com/projects/p/dash/ Error upgrading chainstate database チェーンステートデータベースのアップグレードエラー + + Error: failed to add socket to kqueuefd (kevent returned error %s) + エラー:kqueuefdへのソケットの追加に失敗しました (keventが、%sのエラーを返しました) + + + Failed to clear fulfilled requests cache at %s + %sで、完了したリクエストのキャッシュの削除に失敗しました + + + Failed to clear governance cache at %s + %sで、ガバナンスのキャッシュの削除に失敗しました + + + Failed to clear masternode cache at %s + %sで、マスタノードのキャッシュの削除に失敗しました + Failed to find mixing queue to join ミキシングキューの検出に失敗 + + Failed to load fulfilled requests cache from %s + %sから完了したリクエストのキャッシュをロードするのに失敗しました + + + Failed to load governance cache from %s + %sからガバナンスのキャッシュをロードするのに失敗しました + + + Failed to load masternode cache from %s + %sからマスターノードのキャッシュをロードするのに失敗しました + + + Failed to load sporks cache from %s + %sからスポークのキャッシュをロードするのに失敗しました + Failed to start a new mixing queue 新しいミキシングキューの開始に失敗 + + Incorrect -rescan mode, falling back to default value + 再スキャンモードが正しくないため、デフォルト値に戻ります + Initialization sanity check failed. %s is shutting down. 初期化時の健全性チェックに失敗しました。%s を終了します。 @@ -4007,6 +5051,26 @@ https://www.transifex.com/projects/p/dash/ Signing transaction failed トランザクションの署名に失敗 + + Specified blocks directory "%s" does not exist. + 指定されたブロックディレクトリの「%s」は存在しません。 + + + Last queue was created too recently. + 直近のキューがかなり最近に作成されました。 + + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %sが破損しています。ウォレットツールのdash-walletを使用してサルベージするか、バックアップを復元してみてください。 + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + change-addressキーを生成できません。内部キープールにキーがなく、キーを生成できません。 + + + Last successful action was too recent. + 直近の成功したアクションが最新過ぎでした。 + Starting network threads... ネットワークのスレッドを起動しています... @@ -4043,14 +5107,18 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. トランザクションが無効です - - Transaction too large for fee policy - 手数料ポリシーに対してトランザクションが大きすぎます - Unable to bind to %s on this computer (bind returned error %s) このコンピュータの %s にバインドすることができません (バインドが返したエラーは %s) + + Unable to locate enough mixed funds for this transaction. + この取引に十分なミキシング資金を確保できません。 + + + Unable to locate enough non-denominated funds for this transaction. + この取引に十分な外貨建ての資金を確保できません。 + Unable to sign spork message, wrong key? スポークメッセージに署名できません、キーが間違ってませんか? @@ -4067,6 +5135,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. サポートされていないロギングカテゴリ %s=%s. + + Upgrading txindex database + txindexデータベースのアップグレード + Verifying blocks... ブロックの検証中… @@ -4080,8 +5152,20 @@ https://www.transifex.com/projects/p/dash/ ウォレットはロックされています。 - Warning - 警告 + Warning: can't use %s and %s together, will prefer %s + 警告:%sと%sを一緒に使うことはできません。%sを優先します。 + + + Warning: incorrect parameter %s, path must exist! Using default path. + 警告:パラメータの%sが正しくありません。パスは必須となります。デフォルトのパスを使用しています。 + + + You are starting with governance validation disabled. + お客様はガバナンスの検証を無効にした状態で開始しています。 + + + You can not disable governance validation on a masternode. + マスターノードでガバナンスの検証を無効化することはできません。 Your entries added successfully. diff --git a/src/qt/locale/dash_ko.ts b/src/qt/locale/dash_ko.ts index 05df054854..40cb0830bf 100644 --- a/src/qt/locale/dash_ko.ts +++ b/src/qt/locale/dash_ko.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ 송금을 위한 대시 주소입니다. 코인을 보내기 전에 항상 금액과 받는 주소를 확인하세요. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - 대시를 송금 받기 위한 주소입니다. 매 거래시 새로운 주소를 사용할 것을 권장합니다. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + 이것은 지불을 받는 데 사용되는 당신의 대시 주소입니다. 새로운 주소를 생성하기 위해서는 수신 탭의 '새로운 받기 주소 생성하기' 버튼을 클릭하세요. &Copy Address @@ -191,12 +191,8 @@ 새로운 암호문 확인 - Show password - 비밀번호 보이기 - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - 지갑에 새로운 암호문을 입력하세요.<br/>다음의 요건을 충족하는 암호문을 지정하세요.<b>열 개 이상의 무작위 글자</b>, 혹은 <b>여덟 개 이상의 무작위 단어 </b>. + Show passphrase + 암호 보이기 Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase 암호문 변경 - - Enter the old passphrase and new passphrase to the wallet. - 지갑의 기존 암호문과 새로운 암호문을 입력하세요. - Confirm wallet encryption 지갑 암호화 승인 @@ -246,6 +238,30 @@ Wallet encrypted 지갑 암호화 완료 + + 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>. + 지갑에 새로운 암호문을 입력하세요.<br/>다음의 요건을 충족하는 암호문을 지정하세요.<b>열 개 이상의 무작위 글자</b>, 혹은 <b>여덟 개 이상의 무작위 단어 </b>. + + + Enter the old passphrase and new passphrase for the wallet. + 지갑의 기존 암호문과 새로운 암호문을 입력하세요. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + 사용자 지갑 암호화를 진행한다고 하더라도 컴퓨터에 영향을 끼치는 맬웨어로부터 자금을 완전히 보호하지 못한다는 점을 기억하세요. + + + Wallet to be encrypted + 암호화할 지갑 + + + Your wallet is about to be encrypted. + 당신의 지갑이 암호화됩니다. + + + Your wallet is now encrypted. + 당신의 지갑이 암호화되었습니다. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. 중요: 당신의 지갑 파일에서 생성된 이전 백업은 새로 생성된 암호화 지갑 파일로 교체되어야 합니다.암호화되지 않은 이전 지갑 파일의 백업은 동일한 HD 시드를 가지며, 새로운 암호화 지갑과 마찬가지로 당신의 자금에 완전한 접근성을 제공합니다. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. 치명적인 오류가 발생하였습니다. 더 이상 대시 코어가 안전하지 않을 가능성이 있으며 대시 코어는 곧 종료될 예정입니다. - - Dash Core - 대시 코어 - - - Wallet - 지갑 - - - Node - 노드 - &Overview 개요(&O) @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) 지불 요청하기 (QR코드와 대시 URI가 생성됩니다.) + + &Sending addresses + 보내기 주소(&S) + + + &Receiving addresses + 받기 주소(&R) + + + Open Wallet + 지갑 열기 + + + Open a wallet + 지갑을 엽니다 + + + Close Wallet... + 지갑을 닫습니다... + + + Close wallet + 지갑 닫기 + + + No wallets available + 이용할 수 있는 지갑이 없습니다 + + + &Window + 창(&W) + + + Minimize + 최소화 + + + Zoom + + + + Main Window + 메인 창 + &Transactions 거래(&T) @@ -371,10 +419,6 @@ Quit application 어플리케이션 종료 - - Show information about Dash Core - 대시 코어에 관한 정보를 표시합니다. - About &Qt &Qt 에 관하여 @@ -515,18 +559,10 @@ Show automatically created wallet backups 자동으로 생성된 지갑 백업을 보여줍니다. - - &Sending addresses... - 보내기 주소...(&S) - Show the list of used sending addresses and labels 사용한 보내기 주소와 라벨을 보여줍니다. - - &Receiving addresses... - 받기 주소...(&R) - Show the list of used receiving addresses and labels 사용한 받기 주소와 라벨을 표시합니다. @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options 사용 가능한 대시 명령줄 옵션 목록을 가져오기 위해 %1 도움말 메시지를 표시합니다. + + default wallet + 기본 지갑 + %1 client %1 클라이언트 @@ -565,6 +605,18 @@ &File 파일(&F) + + Show information about %1 + %1에 관한 정보를 표시합니다 + + + Create Wallet... + 지갑을 생성합니다... + + + Create a new wallet + 새로운 지갑 생성하기 + %1 &information %1 정보 @@ -577,10 +629,6 @@ &Settings 설정(&S) - - &Tools - 도구(&T) - &Help 도움말(&H) @@ -589,6 +637,14 @@ Tabs toolbar 도구 모음 탭 + + &Governance + 거버넌스(&G) + + + View Governance Proposals + 거버넌스 제안서 보기 + %n active connection(s) to Dash network 대시 네트워크의 활성 연결 수는 %n 입니다. @@ -653,10 +709,18 @@ Error 에러 + + Error: %1 + 에러: %1 + Warning 경고 + + Warning: %1 + 경고: %1 + Information 정보 @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> 지갑이 <b>암호화</b> 되었고 현재 <b>잠겨져</b> 있습니다 + + Proxy is <b>enabled</b>: %1 + 프록시 <b>사용 가능</b>: %1 + + + Original message: + 원본 메시지: + CoinControlDialog @@ -935,6 +1007,60 @@ 없음 + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + 지갑 <b>%1</b> 생성중... + + + Create wallet failed + 지갑 생성에 실패하였습니다 + + + Create wallet warning + 지갑 생성 경고 + + + + CreateWalletDialog + + Create Wallet + 지갑 생성하기 + + + Wallet Name + 지갑 이름 + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + 지갑을 암호화합니다. 이 지갑은 귀하가 선택한 암호를 통해 암호화됩니다. + + + Encrypt Wallet + 지갑 암호화 + + + 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. + 이 지갑에 대한 개인 키를 해제합니다. 개인 키가 해제된 지갑은 더이상 개인 키를 갖지 않게 되며 HD 시드나 불러온 개인 키를 가질 수 없습니다. 해당 기능은 읽기 전용 지갑에 적합합니다. + + + Disable Private Keys + 개인 키 해제 + + + 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. + 빈 지갑을 만듭니다. 빈 지갑 시작 시에는 개인 키나 스크립트가 없습니다. 나중에 개인 키와 주소를 불러오거나 HD 시드를 설정할 수 있습니다. + + + Make Blank Wallet + 빈 지갑 만들기 + + + Create + 생성하기 + + EditAddressDialog @@ -974,8 +1100,12 @@ 입력한 주소 "%1" 는 올바른 대시 주소가 아닙니다. - The entered address "%1" is already in the address book. - 입력된 주소 "%1" 는 이미 주소록에 있습니다. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + 주소 "%1"은 라벨 "%2"와 함께 이미 받기 주소로 설정되어 있어 보내기 주소로 추가할 수 없습니다. + + + The entered address "%1" is already in the address book with label "%2". + 입력된 주소 "%1" 는 라벨 "%2"와 함께 이미 주소록에 있습니다. Could not unlock wallet. @@ -1009,16 +1139,39 @@ 이곳에 데이터 디렉토리를 생성할 수 없습니다. + + GovernanceList + + Form + 유형 + + + Filter List: + 필터 목록: + + + Filter propsal list + 제안서 목록 필터 + + + Proposal Count: + 제안서 수: + + + Filter by Title + 제목으로 필터 + + + Proposal Info: %1 + 제안서 정보: %1 + + HelpMessageDialog version 버전 - - (%1-bit) - (%1-비트) - About %1 %1에 관하여 @@ -1113,10 +1266,6 @@ Status 상태 - - 0 - 0 - Filter List: 필터 목록: @@ -1277,8 +1426,8 @@ 숨기기 - Unknown. Syncing Headers (%1)... - 알 수 없음. 헤더 동기화중 (%1)... + Unknown. Syncing Headers (%1, %2%)... + 알 수 없음. 헤더 동기화중 (%1, %2%)... @@ -1304,6 +1453,25 @@ 열려는 지불 요청 파일을 선택하세요. + + OpenWalletActivity + + Open wallet failed + 지갑 열기에 실패하였습니다 + + + Open wallet warning + 지갑 열기 경고 + + + default wallet + 기본 지갑 + + + Opening Wallet <b>%1</b>... + 지갑 <b>%1</b> 여는 중... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache 데이터베이스 캐시 크기(&d) - - MB - MB - Number of script &verification threads 스크립트 인증 스레드의 개수(&v) @@ -1338,6 +1502,22 @@ &Appearance 외관(&A) + + Prune &block storage to + 블록 스토리지 정렬(&b) + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + 이 설정을 되돌리면 전체 블록체인을 다시 다운받아야 합니다. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. 추가적인 탭 목록을 보여줍니다. 당신의 모든 마스터노드는 첫 번째 서브 탭에 표시되고,<br/> 네트워크상의 전체 마스터노드는 두 번째 서브 탭에 표시됩니다. @@ -1346,6 +1526,14 @@ Show Masternodes Tab 마스터노드 탭을 보여줍니다. + + Show additional tab listing governance proposals. + 추가 탭 열어 거버넌스 제안서 리스트 보기 + + + Show Governance Tab + 거버넌스 탭 보기 + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. 확인되지 않은 잔액 사용을 중지하는 경우, 거래로부터 발생하는 잔액은 <br/>최소 한 번의 거래 확인이 발생할 때 까지 사용할 수 없습니다.<br/>이는 또한 당신의 잔고가 계산되는 방식에 영향을 미칠 수 있습니다. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. 라우터에서 대시 코어 클라이언트를 자동으로 엽니다. 이 기능은 당신의 라우터가 UPnP를 지원하고 해당 기능이 작동하는 경우에만 가능합니다. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + 라우터에서 비트코인 클라이언트를 자동으로 엽니다. 이 기능은 당신의 라우터가 NAT-PMP를 지원하고 해당 기능이 작동하는 경우에만 가능합니다. 외부 포트는 랜덤일 수 있습니다. + + + Map port using NA&T-PMP + NAT-PMP를 사용하는 맵 포트(&T) + Accept connections from outside. 외부로부터의 연결을 허용합니다. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Tor 숨김 서비스로 피어에 접속하기 위해 별도의 SOCKS&5 프록시 사용: + + Options set in this dialog are overridden by the command line or in the configuration file: + 이 대화의 옵션 세트는 명령줄에 의해, 혹은 설정 파일에서 중단됩니다: + Hide the icon from the system tray. 시스템 트레이에서 아이콘을 숨깁니다. @@ -1474,6 +1674,10 @@ &Network 네트워크(&N) + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + 정리를 활성화하면 거래를 저장하는 데 필요한 디스크 공간이 크게 줄어듭니다. 모든 블록은 계속해서 완전히 검증됩니다. 이 설정을 되돌리기 위해서는 전체 블록체인을 다시 다운로드 해야 합니다. + Map port using &UPnP UPnP를 사용하는 맵 포트(&U) @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits 십진수 - - Active command-line options that override above options: - 위 옵션에 우선하여 명령줄 옵션을 활성화합니다. - Reset all client options to default. 모든 클라이언트 옵션을 기본값으로 재설정 @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 지불 요청을 위해 불러온 URL이 유효하지 않습니다: %1 + + Cannot process payment request because BIP70 support was not compiled in. + BIP70 포트가 컴파일되지 않아 지불 요청을 처리할 수 없습니다. + Invalid payment address %1 유효하지 않은 지불 주소 %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ 받음 + + Proposal + + Passing +%1 + 패싱 +%1 + + + Needs additional %1 votes + %1 투표수가 추가로 필요합니다 + + + + ProposalModel + + Yes + + + + No + 아니오 + + + Hash + 해시 + + + Title + 제목 + + + Start + 시작 + + + End + + + + Amount + 거래액 + + + Active + 활성 + + + Status + 상태 + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) 실행시 시작 화면 보기 (기본값: %u) + + Error: Specified data directory "%1" does not exist. + 에러: 지정된 데이터 디렉토리 "%1" 이 존재하지 않습니다. + + + Error: Cannot parse configuration file: %1. + 에러: 설정 파일을 파싱할 수 없습니다: %1. + + + Error: %1 + 에러: %1 + + + Error: Failed to load application fonts. + 오류: 어플리케이션 글꼴을 불러오는 데 실패하였습니다. + + + Error: Specified font-family invalid. Valid values: %1. + 오류: 지정된 글꼴 집합이 유효하지 않습니다. 유효한 값: %1 + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + 오류: 지정된 글꼴-두께-일반이 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + 오류: 지정된 글꼴-두께-굵게가 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + 오류: 지정된 글꼴 크기가 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. + + + Error: Invalid -custom-css-dir path. + 오류: 유효하지 않은 -custom-css-dir 경로입니다. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + 오류: %1 CSS 파일이 -custom-css-dir 경로에서 누락되었습니다. + %1 didn't yet exit safely... %1가 아직 안전하게 종료되지 않았습니다... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ 알 수 없음 - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - 에러: 지정한 데이터 디렉토리 "%1"은/는 존재하지 않습니다. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - 에러: 설정 파일 :%1 을/를 분석 할 수 없습니다. key=value syntax 만 사용 가능합니다. - - - Error: %1 - 에러: %1 - - - Error: Failed to load application fonts. - 오류: 어플리케이션 글꼴을 불러오는 데 실패하였습니다. - - - Error: Specified font-family invalid. Valid values: %1. - 오류: 지정된 글꼴 집합이 유효하지 않습니다. 유효한 값: %1 - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - 오류: 지정된 글꼴-두께-일반이 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - 오류: 지정된 글꼴-두께-굵게가 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - 오류: 지정된 글꼴 크기가 유효하지 않습니다. 유효 범위는 %1에서 %2 사이입니다. - - - Error: Invalid -custom-css-dir path. - 오류: 유효하지 않은 -custom-css-dir 경로입니다. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - 오류: %1 CSS 파일이 -custom-css-dir 경로에서 누락되었습니다. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image 이미지 복사(&C) + + Resulting URI too long, try to reduce the text for label / message. + URI 결과가 너무 깁니다. 라벨/메시지의 글을 줄이세요. + + + Error encoding URI into QR Code. + URI를 QR 코드로 인코딩하는 중 오류가 발생했습니다. + + + QR code support not available. + QR 코드를 지원할 수 없습니다. + Save QR Code QR 코드 저장 @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file 로그 파일 디버그 - - Current number of blocks - 현재 블록 수 - Client version 클라이언트 버전 - - Using BerkeleyDB version - 사용 중인 BerkeleyDB 버전 - Block chain 블록 체인 @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 블록체인 파일 2 재스캔 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + 하단의 버튼은 지갑을 복구하고, 손상된 블록체인 파일 및 누락/오래된 거래로 인한 문제를 해결하기 위하여 명령줄 옵션을 통해 지갑을 재시작합니다. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: 지갑 생성시부터 누락된 지갑 거래를 위해 블록체인을 다시 스캔합니다. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir 데이터 폴더 + + To specify a non-default location of the data directory use the '%1' option. + 데이터 디렉토리의 지정되지 않은 로케이션을 특정하기 위해서는 '%1' 옵션을 사용하세요. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + 블록 디렉토리의 지정되지 않은 로케이션을 특정하기 위해서는 '%1' 옵션을 사용하세요. + + + Current block height + 현재의 블록 높이 + Last block hash 최종 블록 해시 + + Latest ChainLocked block hash + 최신 체인락스 블록 해시 + + + Latest ChainLocked block height + 최신 체인락스 블록 높이 + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. 현재 데이터 디렉토리에서 %1 디버그 로그 파일을 엽니다. 용량이 큰 로그 파일들은 여는 데 수 초가 걸릴 수 있습니다. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair 지갑 복구(&W) - - Salvage wallet - 지갑 복원 - Recover transactions 1 거래 1 복구 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format 지갑 포맷 업그레이드 - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - 하단의 버튼은 지갑을 복구하고, 손상된 블록체인 파일 및 누락/오래된 거래로 인한 문제를 해결하기 위하여 명령줄 옵션을 통해 지갑을 재시작합니다. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: 손상된 wallet.dat에서 개인 키 복원을 시도합니다. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: 블록체인에서 거래를 복원합니다 (메타 데이터는 유지, 예: 계정 소유자). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ 거래액:(&A) - &Request payment - 지불 요청(&R) + &Create new receiving address + 새로운 받기 주소 생성(&C) Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI URI 복사 + + Copy address + 주소 복사 + Copy label 라벨 복사 @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet 지갑 - - Resulting URI too long, try to reduce the text for label / message. - URI 결과가 너무 깁니다. 라벨/메세지의 글을 줄이세요. - - - Error encoding URI into QR Code. - URI를 QR 코드로 인코딩하는 중 오류가 발생했습니다. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... 선택... - - collapse fee-settings - 수수료 설정 접기 - Confirmation time target: 승인 시간 목표: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. 주의: 수수료 추정에 필요한 데이터가 부족하여 대체 수수료를 이용합니다. + + Hide transaction fee settings + 거래 수수료 설정 숨기기 + Hide 숨기기 @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? 정말로 보내시겠습니까? - - are added as transaction fee - 이/가 수수료로 추가되었습니다. - - - Total Amount = <b>%1</b><br />= %2 - 총 금액 = <b>%1</b><br /> = %2 - <b>(%1 of %2 entries displayed)</b> <b>(%2 중 %1 입력값 표시됨)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds 이용이 가능한 모든 자금 + + Transaction fee + 거래 수수료 + (%1 transactions have higher fees usually due to no change output being allowed) (%1 거래는 잔돈 아웃풋이 허용되지 않아 보다 높은 수수료가 책정됩니다) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended 경고: %1를 %2 혹은 그 이상의 인풋으로 이용하게 되면 당신의 프라이버시가 침해될 수 있어 권장하지 않습니다. + + Click to learn more + 클릭하여 더 알아보기 + + + Total Amount + 총 금액 + + + or + 혹은 + Confirm send coins 코인 전송 확인 @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! 거래 생성에 실패하였습니다! - - The transaction was rejected with the following reason: %1 - 거래가 다음과 같은 이유로 거절 되었습니다: %1 - A fee higher than %1 is considered an absurdly high fee. %1 보다 높은 수수료는 너무 높은 수수료 입니다. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - 이것은 정상적인 지불입니다. - Pay &To: 송금할 대상(&T): @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: 금액:(&m) + + The amount to send in the selected unit + 선택한 단위로 표시한 송금 금액 + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 수수료는 보내는 금액에서 차감됩니다. 수령인은 당신이 수량란에 입력한 것 보다 적은 금액을 받게 됩니다. 만일 다중의 수령인이 선택되었다면 수수료는 수령인간에 동일하게 분할됩니다. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - + Send + 보내기 @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with 메시지에 서명된 대시 주소 + + The signed message to verify + 검증할 서명 메시지 + + + The signature given when the message was signed + 메시지가 서명된 때 특정된 서명 + Verify the message to ensure it was signed with the specified Dash address 특정 대시 주소에 서명된 것인지 확인하기 위하여 메시지를 검증합니다. @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size 총 거래 크기 + + (Certificate was not verified) + (인증서가 검증되지 않음) + Merchant 사업체 @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ 거래 세부 내역 복사 - Edit label - 라벨 수정 + Edit address label + 주소 라벨 편집 Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ 거래액을 표시하는 단위. 클릭하면 다른 단위를 선택할 수 있습니다. + + WalletController + + Close wallet + 지갑 닫기 + + + Are you sure you wish to close the wallet <i>%1</i>? + 지갑 <i>%1</i>을 정말 닫으시겠습니까? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + 지갑을 닫는 데 너무 오랜 시간이 걸리는 경우 정리가 활성화될 때 전체 체인을 다시 동기화해야 할 수 있습니다. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins 코인 보내기 + + default wallet + 기본 지갑 + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) 오류: 들어오는 연결을 수신하는 데 실패했습니다 (수신 반환 오류 %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + 수수료 측정에 실패했습니다. Fallbackfee가 비활성화 되었습니다. 수 블록을 기다리거나 Fallbackfee를 활성화하세요. + + + 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 + 이 오류는 이 지갑이 완전히 종료되지 않은 채 마지막으로 로딩하면서 최신 버전의 Berkeley DB로 빌드를 사용한 경우 발생할 수 있습니다. 이와 같은 경우 이 지갑을 마지막으로 로딩한 소프트웨어를 사용하십시오. + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications 출시 전의 테스트 빌드 입니다 - 스스로의 책임하에 사용하십시오 - 채굴이나 상업적 프로그램으로 사용하지 마십시오 @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. 데이터베이스를 불러오는 데 오류가 발생하였습니다. 곧 종료됩니다. - - Error - 에러 - - - Error: Disk space is low! - 에러: 디스크 공간이 부족합니다! - Failed to listen on any port. Use -listen=0 if you want this. 포트를 감지하는 데 실패하였습니다. 이를 진행하시려면 -listen=0 을 사용하세요. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. 입력값이 최대치를 초과하였습니다. - - Failed to load fulfilled requests cache from - 다음으로부터 수행된 요청 캐시를 불러오는 데 실패하였습니다. - - - Failed to load governance cache from - 다음으로부터 거버넌스 캐시를 불러오는 데 실패하였습니다. - - - Failed to load masternode cache from - 다음으로부터 마스터노드 캐시를 불러오는 데 실패하였습니다. - Found enough users, signing ( waiting %s ) 충분한 사용자를 감지하였습니다. 신호를 보내는 중입니다. ( %s 기다리기 ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? 올바르지 않거나 생성된 블록을 찾을 수 없습니다. 네트워크 데이터 디렉토리가 잘못된 것일 수 있습니다. - - Information - 정보 - Input is not valid. 유효하지 않은 입력입니다. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. 알 수 없는 반응. - - Unsupported argument -benchmark ignored, use -debug=bench. - 지원하지 않는 인수 -benchmark 은 무시됩니다, -debug=bench 형태로 사용하세요. - - - Unsupported argument -debugnet ignored, use -debug=net. - 지원하지 않는 인수 -debugnet 은 무시됩니다, -debug=net 형태로 사용하세요. - - - Unsupported argument -tor found, use -onion. - 지원하지 않는 인수 -tor를 찾았습니다. -onion를 사용해주세요. - User Agent comment (%s) contains unsafe characters. 사용자 정의 코멘트 (%s)에 안전하지 못한 글자가 포함되어 있습니다. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s를 사용되지 않고 있습니다. - - %s request incomplete: %s - %s 요청이 완료되지 않았습니다: %s - Can't mix while sync in progress. 동기화가 진행되는 동안 믹싱할 수 없습니다. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s 파일에는이 지갑의 모든 프라이빗키가 들어 있습니다. 절대 공유하지 마십시오! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode 옵션은 중요도가 하락하여 무시되고 -masternodeblsprivkey는 마스터노드로서 이 노드를 시작하기에 충분합니다. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. 백업 생성에 실패하였습니다. 파일이 이미 존재합니다! 이는 당신이 60초 내에 지갑을 재시작 하는 경우 발생할 수 있습니다. 이러한 내용을 확인하시고 진행해 주세요. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. 네트워크 버전의 총 문자 길이(%i)가 최대 길이(%i)를 초과합니다. UA코멘트의 갯수나 길이를 줄이십시오. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - 지원하지 않는 인수 -socks를 찾았습니다. 설정된 SOCKS의 버전은 더이상 사용할 수 없으며, SOCK5 프록시만을 지원합니다. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - 지원하지 않는 인수 -whitelistalwaysrelay 는 무시됩니다, -whitelistrelay 나 -whitelistforcerelay 를 사용해 주세요. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. 경고! 키풀을 보충하는 데 실패하였습니다. 키풀 보충을 위해서는 지갑을 잠금 해제 하세요. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. 지갑이 잠금 상태 입니다. 키풀을 보충할 수 없습니다! 자동 백업과 믹싱이 비활성화 됩니다. 키풀 보충을 위해서는 지갑을 잠금 해제 하세요. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - 경고: 알려지지 않은 버전의 블록이 채굴되었습니다! 알려지지 않은 규칙이 적용되었을 가능성이 있습니다. - You need to rebuild the database using -reindex to change -timestampindex -timestampindex를 변경하기 위해서는 -reindex 체인 상태를 사용하여 데이터를 재구성해야 합니다. @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ 축소 모드를 해제하고 데이터베이스를 재구성 하기 위해 -reindex를 사용해야 합니다. 이 명령은 모든 블록체인을 다시 다운로드 할 것 입니다. - -litemode is deprecated. - -litemode는 앞으로 사라지게 됩니다. + %s failed + %s 실패함 -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled 자동 백업 해제 + + Cannot set -peerblockfilters without -blockfilterindex. + -blockfilterindex 없이 -peerblockfilters를 설정할 수 없습니다. + + + Config setting for %s only applied on %s network when in [%s] section. + %s에 대한 구성 설정은 [%s] 분야의 %s 네트워크에만 적용됩니다. + + + Could not find asmap file %s + asmap 파일 %s 를 찾을 수 없습니다 + + + Could not parse asmap file %s + asmap 파일 %s 를 파싱할 수 없습니다 + ERROR! Failed to create automatic backup 오류! 자동 백업 생성에 실패하였습니다. + + Error loading %s: Private keys can only be disabled during creation + %s 로딩 오류: 개인 키는 생성 중에만 해제될 수 있습니다 + Error upgrading evo database 에볼루션 데이터베이스 업그레이드 중 오류가 발생했습니다 @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details 에러: 치명적인 내부 오류가 발생했습니다, 자세한 내용은 debug.log 를 확인해주세요. + + Error: Disk space is low for %s + 에러: %s를 위한 디스크 공간이 부족합니다 + Error: failed to add socket to epollfd (epoll_ctl returned error %s) 오류: epollfd에 소켓을 추가하는 데 실패하였습니다 (epoll_ctl 반환 오류 %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. 최대 시도 횟수를 초과하였습니다. - - Failed to clear fulfilled requests cache at - 다음의 수행된 요청 캐시를 비우는 데 실패하였습니다 - - - Failed to clear governance cache at - 다음의 거버넌스 캐시를 비우는 데 실패하였습니다 - - - Failed to clear masternode cache at - 다음의 마스터노드 캐시를 비우는 데 실패하였습니다 - Failed to commit EvoDB EvoDB를 수행하는 데 실패하였습니다 @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s 백업 삭제에 실패하였습니다. 에러: %s - - Failed to load sporks cache from - 스포크 캐시 로딩 실패 - Failed to rescan the wallet during initialization 초기치 설정 중 지갑을 재 스캔하는 데 실패하였습니다 + + Invalid P2P permission: '%s' + 유효하지 않은 P2P 허용: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' 유효하지 않은 금액 -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. 유효하지 않은 masternodeblsprivkey 입니다. 문서를 확인하세요. - - It has been replaced by -disablegovernance. - -disablegovernance가 대체하였습니다. - - - Its replacement -disablegovernance has been forced instead. - 대체한 -disablegovernance가 대신 강제되었습니다. - Loading block index... 블록 인덱스를 불러오는 중... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. 블록 축소는 음수로 설정할 수 없습니다. + + Prune mode is incompatible with -blockfilterindex. + 블록 축소 모드는 -blockfilterindex와 호환되지 않습니다. + Prune mode is incompatible with -disablegovernance=false. 블록 축소 모드는 -disablegovernance=false와 호환되지 않습니다. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... 블록 데이터를 축소 중입니다.. + + Section [%s] is not recognized. + 섹션 [%s]이 인식되지 않습니다. + Specified -walletdir "%s" does not exist 지정된 -walletdir "%s" 은/는 존재하지 않습니다 @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... 블록체인 동기화 중... + + The specified config file %s does not exist + + 선택된 설정 파일 %s가 존재하지 않습니다 + + The wallet will avoid paying less than the minimum relay fee. 이 지갑은 최소 중계 수수료보다 적은 수수료를 지불하지 않을 것입니다. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. 이 컴퓨터의 %s에 바인딩 할 수 없습니다. %s이 이미 실행 중인 것으로 보입니다. + + Unable to create the PID file '%s': %s + PID 파일 '%s'를 생성할 수 없습니다: %s + Unable to generate initial keys 초기 키를 생성할 수 없습니다. - Upgrading UTXO database - UTXO 데이터베이스 업그레이드 + Unknown -blockfilterindex value %s. + 알 수 없는 -blockfilterindex 값 %s. - Wallet %s resides outside wallet directory %s - 지갑 %s 이 지갑 디렉토리 %s 외부에 위치합니다. + Upgrading UTXO database + UTXO 데이터베이스 업그레이드 Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex -spentindex를 변경하기 위해서는 -reindex 체인 상태를 사용하여 데이터를 재구성해야 합니다. - - You need to rebuild the database using -reindex to change -txindex - -txindex를 변경하기 위해서는 -reindex 체인 상태를 사용하여 데이터를 재구성해야 합니다. - no mixing available. 믹싱을 할 수 없습니다. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. 세부 사항을 확인하시려면 debug.log를 참조하세요. - - Dash Core - 대시 코어 - The %s developers %s 개발자 @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ 블록을 재실행 할 수 없습니다. -reindex-chainstate를 이용해 데이터베이스를 재구성해야 합니다. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - 경고: 지갑 파일이 손상, 데이터가 복구되었습니다! 기존의 %s 파일은 %s에 %s라는 이름으로 저장됩니다. 잔액과 거래 내역이 정확하지 않다면 백업 파일로 복원해야 합니다. + Warning: Private keys detected in wallet {%s} with disabled private keys + 경고: 비활성화된 개인 키가 있는 지갑 {%s}에서 개인 키가 감지되었습니다. %d of last 100 blocks have unexpected version 지난 100 블록 중 %d가 예상치 못한 버전을 지니고 있습니다 - - %s corrupt, salvage failed - %s 손상, 복구에 실패하였습니다. - %s is not a valid backup folder! %s는 올바른 백업 폴더가 아닙니다! + + %s is only allowed with a single wallet file + %s는 단일 지갑 파일에서만 허용됩니다. + %s is set very high! %s가 매우 높게 설정되었습니다! + + %s request incomplete: + %s 요청 완료되지 않음: + -devnet can only be specified once -devnet은 한 번만 지정할 수 있습니다. @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -devnet과 -server가 지정될 때에는 -rpcport도 지정되어야 합니다. + + A fatal internal error occurred, see debug.log for details + 치명적인 내부 오류가 발생했습니다. 자세한 내용은 debug.log 에서 확인하십시오. + Cannot resolve -%s address: '%s' %s주소: '%s'를 확인할 수 없습니다. @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + 디스크 공간이 부족합니다! + Error loading %s %s 불러오기 오류 @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) 오류: kqeuefd에 소켓을 추가하는 데 실패하였습니다 (kevent 반환 오류 %s) + + Failed to clear fulfilled requests cache at %s + %s의 수행된 요청 캐시를 비우는 데 실패하였습니다 + + + Failed to clear governance cache at %s + %s의 거버넌스 캐시를 비우는 데 실패하였습니다 + + + Failed to clear masternode cache at %s + %s의 마스터노드 캐시를 비우는 데 실패하였습니다 + Failed to find mixing queue to join 참여할 수 있는 믹싱 대기열을 찾는 데 실패하였습니다. + + Failed to load fulfilled requests cache from %s + %s로부터 수행된 요청 캐시를 불러오는 데 실패하였습니다. + + + Failed to load governance cache from %s + %s로부터 거버넌스 캐시를 불러오는 데 실패하였습니다. + + + Failed to load masternode cache from %s + %s로부터 마스터노드 캐시를 불러오는 데 실패하였습니다. + + + Failed to load sporks cache from %s + %s로부터 스포크 캐시를 불러오는 데 실패하였습니다. + Failed to start a new mixing queue 새로운 믹싱 대기열을 시작하는 데 실패하였습니다. @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. 지난 큐가 너무 최근 생성되었습니다. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s이(가) 손상되었습니다. 지갑 도구 dash-wallet을 사용하여 백업을 복구하거나 복원하십시오. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + change-address 키를 생성할 수 없습니다. 내부 키풀에 키가 없어 더이상 생성할 수 없습니다. + Last successful action was too recent. 지난 성공적 액션이 너무 최신입니다. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. 거래가 유효하지 않습니다. - - Transaction too large for fee policy - 수수료 정책에 비해 거래 액수가 너무 큽니다 - Unable to bind to %s on this computer (bind returned error %s) 이 컴퓨터의 %s에 바인딩할 수 없습니다 (바인딩 과정에 %s 오류 발생) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. 지원되지 않는 로깅 카테고리 %s=%s. + + Upgrading txindex database + txindex 데이터베이스 업그레이드 + Verifying blocks... 블록 검증 중... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. 지갑이 잠금 상태입니다. - - Warning - 경고 - - - Warning: %s is deprecated, please use %s instead - 경고: %s는 더 이상 사용되지 않습니다. %s를 이용하십시오. - Warning: can't use %s and %s together, will prefer %s 경고: %s와 %s를 함께 사용할 수 ㅇ벗습니다. %s를 우선 사용합니다. diff --git a/src/qt/locale/dash_nl.ts b/src/qt/locale/dash_nl.ts index c83d5dae9b..6aae0a0f40 100644 --- a/src/qt/locale/dash_nl.ts +++ b/src/qt/locale/dash_nl.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Dit zijn uw Dash adressen om betalingen mee uit te voeren. Controleer altijd het bedrag en ontvangstadres voordat u uw Dash verzendt. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dit zijn uw Dash adressen om betalingen me te ontvangen. Het wordt aangeraden om voor elke transactie een niew ontvangstadres te gebruiken. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Dit zijn je Dash adressen voor het ontvangen van betalingen. Gebruik de knop 'Nieuw ontvangstadres maken' in het tabblad Ontvangen om nieuwe adressen aan te maken. &Copy Address @@ -191,12 +191,8 @@ Herhaal nieuwe wachtwoordzin - Show password - Toon wachtwoord - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Voer het nieuwe wachtwoord voor uw portemonnee in. <br/>Gelieve een wachtwoord te gebruiken van <b>tien of meer willekeurige karakters</b> of <b>acht of meer woorden</b>. + Show passphrase + Toon wachtwoordzin Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Wijzig wachtwoordzin - - Enter the old passphrase and new passphrase to the wallet. - Voer het oude en het nieuwe wachtwoord in voor uw portemonnee. - Confirm wallet encryption Bevestig de versleuteling van uw portemonnee @@ -246,9 +238,33 @@ Wallet encrypted Portemonnee is versleuteld + + 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>. + Voer het nieuwe wachtwoord in voor de portemonnee. <br/>Gelieve een wachtwoord te gebruiken van <b>tien of meer willekeurige karakters</b> , of <b>acht of meer woorden</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Voer het oude en het nieuwe wachtwoord in voor de portemonnee. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Onthoud dat het versleutelen van uw portemonnee je geld niet volledig kan beschermen tegen diefstal in geval van malware op je computer. + + + Wallet to be encrypted + Portemonnee die moet worden versleuteld + + + Your wallet is about to be encrypted. + Je portemonnee staat op het punt versleuteld te worden. + + + Your wallet is now encrypted. + Je portemonnee is nu versleuteld. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. - BELANGRIJK: Alle eerder gemaakte back-up van uw portemonneebestand dienen vervangen te worden door het nieuw gegenereerde, versleutelde portemonneebestand. Eerdere back-ups van de niet versleutelde portemonnee bevatten dezelfde HD seed en zullen nog steeds volledig toegang hebben tot uw geld net als de nieuwe, versleutelde portemonnee. + BELANGRIJK: Alle eerder gemaakte back-up van uw portemonneebestand dienen vervangen te worden door het nieuw gegenereerde, versleutelde portemonneebestand. Eerdere back-ups van de niet versleutelde portemonnee bevatten dezelfde HD-seed en zullen nog steeds volledig toegang hebben tot uw geld net als de nieuwe, versleutelde portemonnee. 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. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Er heeft zich een fatale fout voorgedaan. Dash Core kan niet veilig worden voortgezet en zal worden afgesloten. - - Dash Core - Dash Core - - - Wallet - Portemonnee - - - Node - Node - &Overview &Overzicht @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Vraag betaling aan (genereert QR-codes en Dash: URI's) + + &Sending addresses + &Verzendadressen + + + &Receiving addresses + &Ontvangstadressen + + + Open Wallet + portemonnee openen + + + Open a wallet + Open een portemonnee + + + Close Wallet... + Portemonnee sluiten... + + + Close wallet + Portemonnee sluiten + + + No wallets available + Geen portemonnees beschikbaar + + + &Window + &Scherm + + + Minimize + Minimaliseer + + + Zoom + Zoom + + + Main Window + Hoofd venster + &Transactions &Transacties @@ -371,10 +419,6 @@ Quit application Sluit applicatie - - Show information about Dash Core - Toon informatie over Dash Core - About &Qt Over &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Toon automatisch aangemaakte backups van uw portemonnee - - &Sending addresses... - &Verzendadressen - Show the list of used sending addresses and labels Toon de lijst met gebruikte verzendadressen en labels - - &Receiving addresses... - &Ontvangstadressen - Show the list of used receiving addresses and labels Toon de lijst met gebruikte ontvangstadressen en labels @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Toon het %1 hulpbericht om een lijst te krijgen met mogelijke Dash commandoregelopties + + default wallet + standaardportemonnee + %1 client %1 client @@ -565,6 +605,18 @@ &File &Bestand + + Show information about %1 + Toon informatie over %1 + + + Create Wallet... + Portemonnee aanmaken... + + + Create a new wallet + Maak een nieuwe portemonnee aan + %1 &information %1 &Informatie @@ -577,10 +629,6 @@ &Settings &Instellingen - - &Tools - &Hulpmiddelen - &Help &Help @@ -589,13 +637,21 @@ Tabs toolbar Tab-werkbalk + + &Governance + &Governance + + + View Governance Proposals + Governance voorstellen bekijken + %n active connection(s) to Dash network %n actieve verbinding met het Dash netwerk%n actieve verbindingen met het Dash netwerk Network activity disabled - Netwerk activiteit uitgeschakeld + Netwerkactiviteit is uitgeschakeld Syncing Headers (%1%)... @@ -653,10 +709,18 @@ Error Fout + + Error: %1 + Fout: %1 + Warning Waarschuwing + + Warning: %1 + Waarschuwing: %1 + Information Informatie @@ -725,7 +789,7 @@ HD key generation is <b>enabled</b> - HD sleutel generatie is <b>ingeschakeld</b> + HD-sleutelgeneratie is <b>ingeschakeld</b> Wallet is <b>encrypted</b> and currently <b>unlocked</b> @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Portemonnee is <b>versleuteld</b> en momenteel <b>vergrendeld</b> + + Proxy is <b>enabled</b>: %1 + Proxy is <b>ingeschakeld</b>: %1 + + + Original message: + Originele bericht: + CoinControlDialog @@ -935,6 +1007,60 @@ N.v.t. + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Portemonnee <b>%1</b> wordt aangemaakt... + + + Create wallet failed + Portemonnee aanmaken mislukt + + + Create wallet warning + Waarschuwing portemonnee aanmaken + + + + CreateWalletDialog + + Create Wallet + Portemonnee aanmaken + + + Wallet Name + Portemonnee naam + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Versleutel de portemonnee. De portemonnee wordt versleuteld met een wachtwoordzin naar keuze. + + + Encrypt Wallet + Portemonnee versleutelen + + + 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. + Schakel privésleutels voor deze portemonnee uit. Portemonnees met uitgeschakelde privésleutels hebben geen privésleutels en kunnen geen HD-seed of geïmporteerde privésleutels hebben. Dit is ideaal voor watch-only portemonnees. + + + Disable Private Keys + Privésleutels uitschakelen + + + 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. + Maak een lege portemonnee. Lege portemonnees hebben in eerste instantie geen privésleutels of scripts. Deze kunnen op een later tijdstip worden geïmporteerd of er kan een HD-seed worden ingesteld. + + + Make Blank Wallet + Maak lege portemonnee + + + Create + Aanmaken + + EditAddressDialog @@ -974,8 +1100,12 @@ Het ingevoerde adres "%1" is geen geldig Dash adres. - The entered address "%1" is already in the address book. - Het opgegeven adres "%1" bestaat al in uw adresboek. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Adres "%1" met label "%2" bestaat al als ontvangstadres en kan niet als verzendadres worden toegevoegd. + + + The entered address "%1" is already in the address book with label "%2". + Het opgegeven adres "%1" met label "%2" bestaat al in het adresboek. Could not unlock wallet. @@ -1009,16 +1139,39 @@ Kan hier geen gegevensmap aanmaken. + + GovernanceList + + Form + Formulier + + + Filter List: + Filter Lijst: + + + Filter propsal list + Filter proposal lijst + + + Proposal Count: + Proposal aantal: + + + Filter by Title + Filter op titel + + + Proposal Info: %1 + Proposal Info: %1 + + HelpMessageDialog version Versie - - (%1-bit) - (%1-bit) - About %1 Over %1 @@ -1113,10 +1266,6 @@ Status Status - - 0 - 0 - Filter List: Filter Lijst: @@ -1227,7 +1376,7 @@ Additional information for DIP3 Masternode %1 - Extra informatie voor DIP3 Masternode %1 + Extra informatie voor DIP3-masternode %1 @@ -1277,8 +1426,8 @@ Verbergen - Unknown. Syncing Headers (%1)... - Onbekend. Kopteksten synchroniseren (%1%)... + Unknown. Syncing Headers (%1, %2%)... + Onbekend. Kopteksten synchroniseren (%1, %2%)... @@ -1304,6 +1453,25 @@ Selecteer betalingsverzoekbestand om te openen + + OpenWalletActivity + + Open wallet failed + Portemonnee openen mislukt + + + Open wallet warning + Waarschuwing portemonnee aanmaken + + + default wallet + standaard portemonnee + + + Opening Wallet <b>%1</b>... + Portemonnee <b>%1</b> wordt geopend... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Grootte van de &database cache - - MB - MB - Number of script &verification threads Aantal threads voor &scriptverificatie @@ -1338,6 +1502,22 @@ &Appearance &Uiterlijk + + Prune &block storage to + Prune &blokopslag naar + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Deze instelling terugdraaien vereist het opnieuw downloaden van de complete blokketen. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Toon extra tabblad waarin je al jouw masternodes toont in de eerste sub-tab<br/> en alle masternodes op het netwerk in het tweede sub-tabblad. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Toon Masternodes tab + + Show additional tab listing governance proposals. + Toon extra tabblad met governance proposals. + + + Show Governance Tab + Toon Governance tab + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Indien het uitgeven van onbevestigd wisselgeld uitgeschakeld wordt dan kan het wisselgeld van een transactie<br/>niet worden gebruikt totdat de transactie ten minste een bevestiging heeft.<br/>Dit heeft ook invloed op de manier waarop uw saldo wordt berekend. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Open automatisch de Dash client poort op de router. Dit werkt alleen als uw router UPnP ondersteunt en dit is ingeschakeld. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Open automatisch de Bitcoin clientpoort op de router. Dit werkt alleen als de router NAT-PMP ondersteunt en is ingeschakeld. De externe poort kan willekeurig zijn. + + + Map port using NA&T-PMP + Map de poort door middel van NA&T-PMP + Accept connections from outside. Accepteer verbindingen van buitenaf. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Gebruik afzonderlijke SOCKS&5 proxy om peers te bereiken via verborgen Tor services: + + Options set in this dialog are overridden by the command line or in the configuration file: + Opties die in dit dialoogvenster worden ingesteld, worden overschreven door de opdrachtregel(CLI) of in het configuratiebestand: + Hide the icon from the system tray. Verberg het pictogram in het systeemvak. @@ -1460,7 +1660,7 @@ Enable coin &control features - Coin &Control activeren + Coin &Control inschakelen &Spend unconfirmed change @@ -1474,6 +1674,10 @@ &Network &Netwerk + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Door terugsnoeien in te schakelen, wordt de schijfruimte die nodig is om transacties op te slaan aanzienlijk verminderd. Alle blocks zijn nog volledig gevalideerd. Om deze instelling terug te zetten, moet de hele blockchain opnieuw worden gedownload. + Map port using &UPnP Portmapping via &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Decimalen - - Active command-line options that override above options: - Actieve commandoregelopties die bovenstaande opties overschrijven: - Reset all client options to default. Reset alle clientopties naar de standaardinstellingen. @@ -1722,7 +1922,7 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen. Automatic backups are disabled, no mixing available! - Automatische backups uitgeschakeld, Mixfunctie is niet beschikbaar! + Automatische backups zijn uitgeschakeld, Mixfunctie is niet beschikbaar! No inputs detected @@ -1814,7 +2014,7 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen. Mixing is disabled, please close your wallet and fix the issue! - Mixen is uiteschakeld, gelieve de portemonnee af te sluiten en het probleem op te lossen! + Mixen is uitgeschakeld, gelieve de portemonnee af te sluiten en het probleem op te lossen! Enabled @@ -1851,6 +2051,10 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Payment request fetch URL is invalid: %1 URL om betalingsverzoek te verkrijgen is ongeldig: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Kan betalingsverzoek niet verwerken omdat BIP70 ondersteuning niet is gecompileerd. + Invalid payment address %1 Ongeldig betalingsadres %1 @@ -1951,6 +2155,56 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Ontvangen + + Proposal + + Passing +%1 + Slaagt +%1 + + + Needs additional %1 votes + Heeft extra %1 stemmen nodig + + + + ProposalModel + + Yes + Ja + + + No + Nee + + + Hash + Hash + + + Title + Titel + + + Start + Start + + + End + Einde + + + Amount + Bedrag + + + Active + Actief + + + Status + Status + + QObject @@ -1993,6 +2247,46 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Show splash screen on startup (default: %u) Toon splash-scherm bij opstarten (standaard: %u) + + Error: Specified data directory "%1" does not exist. + Fout: Opgegeven gegevensmap "%1" bestaat niet. + + + Error: Cannot parse configuration file: %1. + Fout: Kan configuratiebestand niet verwerken: %1. + + + Error: %1 + Fout: %1 + + + Error: Failed to load application fonts. + Fout: kan lettertypen niet laden. + + + Error: Specified font-family invalid. Valid values: %1. + Fout: opgegeven lettertypefamilie ongeldig. Geldige waarden: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Fout: opgegeven lettertypegewicht normaal ongeldig. Geldig bereik %1 tot %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Fout: opgegeven lettertypegewicht vet is ongeldig. Geldig bereik %1 tot %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Fout: opgegeven lettertype grootte is ongeldig. Geldig bereik %1 tot %2. + + + Error: Invalid -custom-css-dir path. + Fout: ongeldig pad van -custom-css-dir. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Fout: %1 CSS-bestand(en) ontbreken in het pad -custom-css-dir. + %1 didn't yet exit safely... %1 sloot nog niet veilig af... @@ -2094,49 +2388,6 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.onbekend - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Fout: Opgegeven gegevensmap "%1" bestaat niet. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Fout: Kan configuratiebestand niet verwerken: %1. Gebruik enkel de key=value syntax. - - - Error: %1 - Fout: %1 - - - Error: Failed to load application fonts. - Fout: kan lettertypen niet laden. - - - Error: Specified font-family invalid. Valid values: %1. - Fout: opgegeven lettertypefamilie ongeldig. Geldige waarden: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Fout: opgegeven lettertype-normaal ongeldig. Geldig bereik %1 tot %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Fout: opgegeven lettertype vet is ongeldig. Geldig bereik %1 tot %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Fout: opgegeven lettertype grootte is ongeldig. Geldig bereik %1 tot %2. - - - Error: Invalid -custom-css-dir path. - Fout: ongeldig pad van -custom-css-dir. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Fout: %1 CSS-bestand(en) ontbreken in het pad -custom-css-dir. - - QRDialog @@ -2185,6 +2436,18 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.&Copy Image &Afbeelding kopiëren + + Resulting URI too long, try to reduce the text for label / message. + Resulterende URI te lang, probeer de tekst korter te maken voor het label/bericht. + + + Error encoding URI into QR Code. + Fout tijdens encoderen URI in QR-code + + + QR code support not available. + Ondersteuning voor QR-codes niet beschikbaar. + Save QR Code Sla QR-code op @@ -2240,18 +2503,10 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Debug log file Debug-logbestand - - Current number of blocks - Huidig aantal blocks - Client version Clientversie - - Using BerkeleyDB version - Gebruikt BerkeleyDB versie - Block chain Blokketen @@ -2340,6 +2595,10 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Rescan blockchain files 2 Herscan blokketenbestanden 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + De knoppen onderaan zal de portemonnee herstarten met commandoregelopties voor portemonneeherstel, voor reparatie van corrupte blockchain bestanden, of om ontbrekende transacties te herstellen. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Scan de blockchain opnieuw op ontbrekende transacties vanaf het moment dat de portefeuille is aangemaakt. @@ -2360,10 +2619,34 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Datadir Gegevensmap + + To specify a non-default location of the data directory use the '%1' option. + Om een niet-standaardlocatie van de gegevensmap op te geven, gebruik de optie '%1'. + + + Blocksdir + Blocks map + + + To specify a non-default location of the blocks directory use the '%1' option. + Om een niet-standaardlocatie van de blocks map op te geven, gebruik de optie '%1'. + + + Current block height + Huidige block hoogte + Last block hash Laatste block hash + + Latest ChainLocked block hash + Nieuwste ChainLocked block hash + + + Latest ChainLocked block height + Nieuwste ChainLocked block hoogte + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Open het %1 debug-logbestand van de huidige gegevensmap. Dit kan een aantal seconden duren voor grote logbestanden. @@ -2440,10 +2723,6 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.&Wallet Repair &Portemonnee Herstel - - Salvage wallet - Herstel portemonnee - Recover transactions 1 Herstel transacties 1 @@ -2456,14 +2735,6 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen.Upgrade wallet format Upgrade portemonnee - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - De knoppen onderaan zal de portemonnee herstarten met commandoregelopties om de portemonnee te herstellen of om problemen met corrupte blokketenbestanden of ontbrekende transacties te herstellen. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -herstel portemonnee: Poging om geheime sleutels terug te halen uit het beschadigde portemonnee bestand (wallet.dat.) - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Herstel transacties van de blocks (behoud metadata; bv. accounteigenaar) @@ -2546,7 +2817,7 @@ Om te mixen moeten andere gebruikers exact dezelfde denominaties inbrengen. Network activity disabled - Netwerkactiviteit uitgeschakeld + Netwerkactiviteit is uitgeschakeld Total: %1 (Enabled: %2) @@ -2641,8 +2912,8 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer &Bedrag - &Request payment - &Betalingsverzoek + &Create new receiving address + &Maak nieuw ontvangadres aan Clear all fields of the form. @@ -2684,6 +2955,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Copy URI Kopieer URI + + Copy address + Kopiëer adres + Copy label Kopieer label @@ -2747,14 +3022,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Wallet Portemonnee - - Resulting URI too long, try to reduce the text for label / message. - Resulterende URI te lang, probeer de tekst korter te maken voor het label/bericht. - - - Error encoding URI into QR Code. - Fout tijdens encoderen URI in QR-code - RecentRequestsTableModel @@ -2807,7 +3074,7 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Insufficient funds! - Onvoldoende fonds! + Onvoldoende geld! Quantity: @@ -2853,10 +3120,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Choose... Kies... - - collapse fee-settings - Klap de vergoedinginstellingen dicht - Confirmation time target: Bevestigingstijddoel: @@ -2881,6 +3144,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Note: Not enough data for fee estimation, using the fallback fee instead. Opmerking: niet genoeg gegevens voor het schatten van de transactievergoeding, in plaats daarvan wordt de terugval vergoeding gebruikte. + + Hide transaction fee settings + Instellingen transactiekosten verbergen + Hide Verbergen @@ -2977,14 +3244,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Are you sure you want to send? Weet u zeker dat u wilt verzenden? - - are added as transaction fee - worden toegevoegd als transactiekosten - - - Total Amount = <b>%1</b><br />= %2 - Totaal bedrag = <b>%1</b><br />=%2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 van de %2 items weergegeven)</b> @@ -3003,7 +3262,11 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer any available funds - Beschikbare fondsen + Beschikbarar geld + + + Transaction fee + Transactiekosten (%1 transactions have higher fees usually due to no change output being allowed) @@ -3025,6 +3288,18 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Waarschuwing: het gebruik van %1 met %2 of meer ingangen kan uw privacy schaden en wordt niet aanbevolen + + Click to learn more + Klik om meer te leren + + + Total Amount + Totaalbedrag + + + or + of + Confirm send coins Bevestig versturen munten @@ -3053,10 +3328,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Transaction creation failed! Transactiecreatie mislukt - - The transaction was rejected with the following reason: %1 - De transactie werd afgewezen om de volgende reden: %1 - A fee higher than %1 is considered an absurdly high fee. Een vergoeding van meer dan %1 wordt beschouwd als een absurd hoge vergoeding. @@ -3096,10 +3367,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer SendCoinsEntry - - This is a normal payment. - Dit is een normale betaling. - Pay &To: Betaal &Aan: @@ -3140,6 +3407,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer A&mount: Bedra&g: + + The amount to send in the selected unit + Het te verzenden bedrag in de geselecteerde eenheid + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. De vergoeding zal worden afgetrokken van het bedrag dat wordt verzonden. De ontvanger zal een lagere hoeveelheid Dash ontvangt dan u in het veld bedrag invoert. Als meerdere ontvangers zijn geselecteerd, wordt de vergoeding gelijk verdeeld. @@ -3184,8 +3455,8 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer SendConfirmationDialog - Yes - Ja + Send + Versturen @@ -3273,6 +3544,14 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer The Dash address the message was signed with Het Dashadres waarmee het bericht ondertekend is + + The signed message to verify + Het ondertekende bericht om te verifiëren + + + The signature given when the message was signed + De handtekening die is gegeven toen het bericht werd ondertekend + Verify the message to ensure it was signed with the specified Dash address Verifieer het bericht om zeker te zijn dat het getekend werd met het opgegeven Dash adres @@ -3514,6 +3793,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Transaction total size Transactie totale grootte + + (Certificate was not verified) + (Certificaat is niet geverifieerd) + Merchant Handelaar @@ -3808,8 +4091,8 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Kopieer volledige transactiedetials - Edit label - Bewerk label + Edit address label + Bewerk adres label Show transaction details @@ -3891,6 +4174,21 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Eenheid om bedragen uit te drukken. Klik om een andere eenheid te selecteren. + + WalletController + + Close wallet + Portemonnee sluiten + + + Are you sure you wish to close the wallet <i>%1</i>? + Weet je zeker dat je portemonnee <i>%1</i> wilt sluiten? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Als u de portemonnee te afgesloten laat met terugsnoeien ingeschakeld, kan dit ertoe leiden dat de hele blockchain opnieuw moet worden gesynchroniseerd. + + WalletFrame @@ -3904,6 +4202,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Send Coins Verstuur munten + + default wallet + standaard portemonnee + WalletView @@ -3954,6 +4256,14 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Error: Listening for incoming connections failed (listen returned error %s) Fout: luisteren naar binnenkomende verbindingen mislukt (luisteren gaf foutmelding %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Vergoedingskosten raming mislukt. Fallbackfee is uitgeschakeld. Wacht een paar blocks of schakel -fallbackfee in. + + + 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 + Deze fout kan optreden als deze portemonnee niet correct is afgesloten of voor het laatst is geladen met een nieuwere buildversie van Berkeley DB. Als dit het geval is, gebruik dan de software waarmee deze portemonnee voor het laatst is geladen + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Dit is een pre-release testversie - gebruik op eigen risico! Gebruik deze niet voor het delven van munten of handelsdoeleinden @@ -4014,14 +4324,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Error reading from database, shutting down. Fout bij het lezen van de database, programma wordt beëindigd. - - Error - Fout - - - Error: Disk space is low! - Fout: Schijfruimte is laag! - Failed to listen on any port. Use -listen=0 if you want this. Het is mislukt om naar gelijk welke poort te luisteren. Gebruik -listen=0 als je dit wil @@ -4058,18 +4360,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Entry exceeds maximum size. Invoer overschrijdt de maximale grootte. - - Failed to load fulfilled requests cache from - Fout bij het inladen van de fulfilled requests cache uit - - - Failed to load governance cache from - Fout bij het inladen van de governance cache uit - - - Failed to load masternode cache from - Fout bij het inladen van de masternode cache uit - Found enough users, signing ( waiting %s ) Voldoende gebruikers gevonden, aan het ondertekenen ( wacht %s ) @@ -4094,10 +4384,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Incorrect or no genesis block found. Wrong datadir for network? Incorrect of geen genesisblok gevonden. Verkeerde gegevensmap voor het netwerk? - - Information - Informatie - Input is not valid. Inover is ongeldig @@ -4156,7 +4442,7 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Not enough funds to mix. - Onvoldoende fondsen om te mixen. + Onvoldoende geld om te mixen. Not in the Masternode list. @@ -4178,18 +4464,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Unknown response. Onbekend reactie. - - Unsupported argument -benchmark ignored, use -debug=bench. - Niet-ondersteund argument -benchmark genegeerd, gebruik -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Niet-ondersteund argument -debugnet genegeerd, gebruik -debug=net - - - Unsupported argument -tor found, use -onion. - Niet-ondersteund argument -tor gevonden, gebruik -onion. - User Agent comment (%s) contains unsafe characters. User Agentcommentaar (%s) bevat onveilige karakters. @@ -4214,10 +4488,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer %s is idle. %s is in rust. - - %s request incomplete: %s - %s aanvraag niet volledig: %s - Can't mix while sync in progress. Kan niet mixen tijdens het synchroniseren. @@ -4234,10 +4504,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer %s file contains all private keys from this wallet. Do not share it with anyone! %s bestand bevat alle persoonlijke sleutel van deze portemonnee. Deel deze met niemand! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode optie is verouderd en genegeerd, het specificeren van -masternodeblsprivkey is voldoende om deze node als een masternode te starten. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Backup maken is mislukt, het bestand bestaat al! Dit kan gebeuren als u de wallet herstart binnen 60 seconden. U kunt verder gaan als u hier ok mee bent. @@ -4270,14 +4536,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Totale lengte van netwerkversiestring (%i) overschrijdt maximale lengte (%i). Verminder het aantal of grootte van uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Niet-ondersteund argument -socks gevonden. Instellen van SOCKS-versie is niet meer mogelijk, alleen SOCKS5-proxies worden ondersteund. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Niet ondersteund argument -whitelistalwaysrelay genegeerd, gebruik -whitelistrelay en/of -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. WAARSCHUWING! Het bijvullen van de keypool is mislukt, ontgrendel alstublieft uw wallet om dit te doen. @@ -4286,10 +4544,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Wallet is vergrendeld, niet instaat om keypool aan te vullen! Automatische backups en mixen zijn uitgeschakeld, ontgrendel alstublieft uw wallet om de keypool aan te vullen. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Waarschuwing: Onbekende blok versies worden gemined! Er zijn mogelijk onbekende regels in werking getreden - You need to rebuild the database using -reindex to change -timestampindex U moet de database opnieuw opbouwen met behulp van -reindex om -timestampindex te wijzigen @@ -4299,8 +4553,8 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer U moet de database herbouwen met -reindex om terug te gaan naar de niet-prune modus. Dit zal de gehele blockchain opnieuw downloaden. - -litemode is deprecated. - -litemode is vervallen. + %s failed + %s is mislukt -maxmempool must be at least %d MB @@ -4310,10 +4564,30 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Automatic backups disabled Automatische backups uitgeschakeld + + Cannot set -peerblockfilters without -blockfilterindex. + Kan -peerblockfilters niet instellen zonder -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + Configuratie instelling voor %s alleen toegepast op %s netwerk in [%s] sectie. + + + Could not find asmap file %s + Kon asmap bestand %s niet vinden + + + Could not parse asmap file %s + Kon asmap bestand %s niet verwerken + ERROR! Failed to create automatic backup FOUT! Het maken van een automatische backup is mislukt + + Error loading %s: Private keys can only be disabled during creation + Fout bij laden %s: privésleutels kunnen alleen worden uitgeschakeld tijdens aanmaken + Error upgrading evo database Fout bij het upgraden van de evo database @@ -4322,6 +4596,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Error: A fatal internal error occurred, see debug.log for details Fout: er is een fout opgetreden, zie debug.log voor details + + Error: Disk space is low for %s + Fout: Schijfruimte is laag voor %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Fout: kan geen socket toevoegen aan epollfd (epoll_ctl geeft fout %s) @@ -4330,18 +4608,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Exceeded max tries. Maximum aantal pogingen overschreden. - - Failed to clear fulfilled requests cache at - Fout bij het wissen van de fulfilled requests cache uit - - - Failed to clear governance cache at - Fout bij het wissen van de governance cache uit - - - Failed to clear masternode cache at - Fout bij het wissen van de masternode cache uit - Failed to commit EvoDB EvoDB kan niet worden vastgelegd @@ -4358,14 +4624,14 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Failed to delete backup, error: %s Verwijderen van de back-up is mislukt, foutmelding: %s - - Failed to load sporks cache from - Fout bij het inladen van de sporks cache uit - Failed to rescan the wallet during initialization Het herscannen van de portemonnee is mislukt tijdens het initialiseren + + Invalid P2P permission: '%s' + Ongeldige P2P machtiging: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Ongeldig bedrag voor -fallbackfee=<bedrag>: '%s' @@ -4374,14 +4640,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Invalid masternodeblsprivkey. Please see documentation. Ongeldige masternodeblsprivkey. Zie documentatie. - - It has been replaced by -disablegovernance. - Het is vervangen door -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - In plaats daarvan is -disablegovernance als vervanging afgedwongen. - Loading block index... Laden blokindex... @@ -4434,6 +4692,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Prune cannot be configured with a negative value. Prune kan niet worden geconfigureerd met een negatieve waarde. + + Prune mode is incompatible with -blockfilterindex. + Terugsnoeimodus is niet compatibel met -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. Prune modus is niet compatibel met -disablegovernance=false. @@ -4446,6 +4708,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Pruning blockstore... Terugsnoeien blockstore... + + Section [%s] is not recognized. + Sectie [%s] wordt niet herkend. + Specified -walletdir "%s" does not exist Opgegeven -walletdir "%s" bestaat niet @@ -4462,6 +4728,12 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Synchronizing blockchain... Blokketen aan het synchronizeren... + + The specified config file %s does not exist + + Het opgegeven configuratiebestand %s bestaat niet + + The wallet will avoid paying less than the minimum relay fee. De portemonnee vermijdt minder te betalen dan de minimale doorgeef vergoeding. @@ -4502,17 +4774,21 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Unable to bind to %s on this computer. %s is probably already running. Niet in staat om %s te verbinden op deze computer. %s draait waarschijnlijk al. + + Unable to create the PID file '%s': %s + Kan het PID bestand '%s' niet maken: %s + Unable to generate initial keys Kan eerste sleutels niet genereren - Upgrading UTXO database - Upgraden UTXO-database + Unknown -blockfilterindex value %s. + Onbekende -blockfilterindex waarde %s. - Wallet %s resides outside wallet directory %s - Portemonnee %s bevindt zich buiten de portemonnee map %s + Upgrading UTXO database + Upgraden UTXO-database Wallet needed to be rewritten: restart %s to complete @@ -4538,10 +4814,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer You need to rebuild the database using -reindex to change -spentindex U moet de database opnieuw opbouwen met behulp van -reindex om -spentindex te wijzigen - - You need to rebuild the database using -reindex to change -txindex - U moet de database opnieuw opbouwen met behulp van -reindex om -txindex te wijzigen - no mixing available. Mixen is niet beschikbaar. @@ -4550,10 +4822,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer see debug.log for details. zie debug.log voor meer informatie. - - Dash Core - Dash Core - The %s developers De %s ontwikkelaars @@ -4607,25 +4875,29 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Kan blokken niet nalopen. U moet de database opnieuw opbouwen met behulp van -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Waarschuwing: portemonnee bestand is corrupt, data is veiliggesteld! Originele %s is opgeslagen als %s in %s; als uw balans of transacties incorrect zijn dient u een backup terug te zetten. + Warning: Private keys detected in wallet {%s} with disabled private keys + Waarschuwing: privésleutels gedetecteerd in portemonnee {%s} terwijl privésleutels zijn uitgeschakeld %d of last 100 blocks have unexpected version %d van de laatste 100 blokken hebben een onverwachte versie - - %s corrupt, salvage failed - %s corrupt, veiligstellen mislukt - %s is not a valid backup folder! %s is geen geldige back-up map! + + %s is only allowed with a single wallet file + %s is alleen toegestaan met een enkel portefeuillebestand + %s is set very high! %s is zeer hoog ingesteld! + + %s request incomplete: + %s aanvraag niet volledig: + -devnet can only be specified once -devnet kan maar één keer worden opgegeven @@ -4638,6 +4910,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer -rpcport must be specified when -devnet and -server are specified -rpcport moet worden opgegeven wanneer -devnet en -server worden gebruikt + + A fatal internal error occurred, see debug.log for details + Er is een fatale interne fout opgetreden, zie debug.log voor details + Cannot resolve -%s address: '%s' Kan -%s adres niet herleiden: '%s' @@ -4654,6 +4930,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Copyright (C) Copyright (C) + + Disk space is too low! + Schijfruimte is te laag! + Error loading %s Fout bij het laden van %s @@ -4682,10 +4962,38 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Error: failed to add socket to kqueuefd (kevent returned error %s) Fout: kan socket niet toevoegen aan kqueuefd (kevent geeft fout %s) + + Failed to clear fulfilled requests cache at %s + Fout bij het wissen van de fulfilled requests cache %s + + + Failed to clear governance cache at %s + Fout bij het wissen van de governance cache %s + + + Failed to clear masternode cache at %s + Fout bij het wissen van de masternode cache %s + Failed to find mixing queue to join Het is niet gelukt om een mixwachtrij te vinden om bij aan te sluiten + + Failed to load fulfilled requests cache from %s + Fout bij het inladen van de fulfilled requests cache uit %s + + + Failed to load governance cache from %s + Fout bij het inladen van de governance cache uit %s + + + Failed to load masternode cache from %s + Fout bij het inladen van de masternode cache uit %s + + + Failed to load sporks cache from %s + Fout bij het inladen van de sporks cache uit %s + Failed to start a new mixing queue Het is niet gelukt om een nieuwe mixwachtrij te starten @@ -4754,6 +5062,14 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Last queue was created too recently. Vorige wachtrij is te recent gecreëerd. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s corrupt. Probeer de portemonnee tool te gebruiken om een back-up te redden of te herstellen. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Kan geen wisselgeld adressleutel genereren. Geen sleutels in de interne keypool en kan geen sleutels genereren. + Last successful action was too recent. Vorige succesvolle actie is te recent. @@ -4794,10 +5110,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Transaction not valid. Transactie is niet geldig. - - Transaction too large for fee policy - De transactie is te groot voor het transactiekostenbeleid - Unable to bind to %s on this computer (bind returned error %s) Niet in staat om aan %s te binden op deze computer (bind gaf error %s) @@ -4826,6 +5138,10 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Unsupported logging category %s=%s. Niet-ondersteunde logboekcategorie %s=%s. + + Upgrading txindex database + Upgraden txindex database + Verifying blocks... blocks aan het controleren... @@ -4838,14 +5154,6 @@ Nota: Het bericht zal niet verzonden worden met de betaling over het Dash netwer Wallet is locked. Portemonnee zit op slot. - - Warning - Waarschuwing - - - Warning: %s is deprecated, please use %s instead - Waarschuwing: %s is verouderd, gebruik in plaats daarvan %s - Warning: can't use %s and %s together, will prefer %s Waarschuwing: kan %s en %s niet samen gebruiken, voorkeur voor %s diff --git a/src/qt/locale/dash_pl.ts b/src/qt/locale/dash_pl.ts index 5b35eaac20..4649cda2d3 100644 --- a/src/qt/locale/dash_pl.ts +++ b/src/qt/locale/dash_pl.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ To są twoje adresy Dash, na które wysyłasz płatności. Zanim wyślesz środki, zawsze upewnij się, że kwota i adres są prawidłowe. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - To są twoje adresy do otrzymywania płatności. Zaleca się tworzyć nowy adres dla każdej transakcji. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + To są Twoje adresy Dash do otrzymywania płatności. Użyj przycisku „Stwórz nowy adres odbioru” w zakładce odbioru, aby wygenerować nowe adresy. &Copy Address @@ -191,13 +191,9 @@ Powtórz nowe hasło - Show password + Show passphrase Pokaż hasło - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Wprowadź nowe hasło dla twojego portfela.<br/>Proszę używać hasła o długości co najmniej <b>dziesięciu losowych znaków</b> lub <b>co najmniej 8 słów</b>. - Encrypt wallet Zaszyfruj portfel @@ -226,10 +222,6 @@ Change passphrase Zmień hasło - - Enter the old passphrase and new passphrase to the wallet. - Wpisz stare i nowe hasło dla portfela. - Confirm wallet encryption Potwierdź zaszyfrowanie portfela @@ -246,6 +238,30 @@ Wallet encrypted Portfel zaszyfrowany + + 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>. + Wprowadź nowe hasło dla twojego portfela.<br/>Proszę używać hasła o długości co najmniej <b>dziesięciu losowych znaków</b> lub <b>co najmniej 8 słów</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Wpisz stare i nowe hasło dla portfela. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Pamiętaj, że szyfrowanie portfela nie może w pełni zabezpieczyć Twoich środków przed kradzieżą jeśli twój komputer jest lub zostanie zainfekowany złośliwym oprogramowaniem . + + + Wallet to be encrypted + Portfel który zostanie zaszyfrowany + + + Your wallet is about to be encrypted. + Twój portfel zostanie zaszyfrowany. + + + Your wallet is now encrypted. + Twój portfel jest teraz zaszyfrowany. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. WAŻNE: Wszystkie wykonane wcześniej kopie pliku portfela powinny być zamienione na nowe, zaszyfrowany plik portfela. Poprzednie kopie zapasowe niezaszyfrowanego porfela dalej mają dostęp do frazy HD oraz twoich funduszy tak samo jak nowy, zaszyfrowany portfel. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Wystąpił błąd krytyczny. Dash Core nie może bezpiecznie kontynuować i zostanie zamknięty. - - Dash Core - Dash Core - - - Wallet - Portfel - - - Node - Węzeł - &Overview P&odsumowanie @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Poproś o płatności (generuje kod QR oraz dash: link) + + &Sending addresses + &Adresy wysyłające + + + &Receiving addresses + &Adresy odbiorcze + + + Open Wallet + Otwórz Portfel + + + Open a wallet + Otwórz portfel + + + Close Wallet... + Zamknij Portfel... + + + Close wallet + Zamknij portfel + + + No wallets available + Brak dostępnych portfeli + + + &Window + &Okno + + + Minimize + Zminimalizuj + + + Zoom + Powiększenie + + + Main Window + Główne Okno + &Transactions &Transakcje @@ -371,10 +419,6 @@ Quit application Zamknij program - - Show information about Dash Core - Pokaż informacje o Dash Core - About &Qt O &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Pokaż automatycznie utworzone kopie zapasowe portfela. - - &Sending addresses... - Adres wysyłania - Show the list of used sending addresses and labels Pokaż listę użytych adresów wysyłających i etykiety - - &Receiving addresses... - Adres odbiorczy - Show the list of used receiving addresses and labels Pokaż listę użytych adresów odbiorczych i etykiety @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Pokaż pomoc %1 aby zobaczyć listę wszystkich opcji lnii poleceń. + + default wallet + domyślny portfel + %1 client %1 klient @@ -565,6 +605,18 @@ &File &Plik + + Show information about %1 + Pokaż informacje o %1 + + + Create Wallet... + Stwórz Portfel... + + + Create a new wallet + Stwórz nowy portfel + %1 &information %1 &Informacje @@ -577,10 +629,6 @@ &Settings P&referencje - - &Tools - &Narzędzia - &Help Pomo&c @@ -589,6 +637,14 @@ Tabs toolbar Pasek zakładek + + &Governance + &Zarządzanie + + + View Governance Proposals + Zobacz wnioski dla nad którymi masternody mogą głosować + %n active connection(s) to Dash network %n aktywne połączenie z siecią Dash%n aktywne połączenia z siecią Dash%n aktywnych połączeń z siecią Dash%n aktywne połączenia z siecią Dash @@ -653,10 +709,18 @@ Error Błąd + + Error: %1 + Błąd: %1 + Warning Ostrzeżenie + + Warning: %1 + Ostrzeżenie: %1 + Information Informacja @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Portfel jest <b>zaszyfrowany</b> i obecnie <b>zablokowany</b> + + Proxy is <b>enabled</b>: %1 + Proxy jest <b>włączone</b>: %1 + + + Original message: + Oryginalna wiadomość: + CoinControlDialog @@ -935,6 +1007,60 @@ nie dotyczy + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Tworzenie Portfela <b>%1</b>... + + + Create wallet failed + Nie udało się utworzyć portfela + + + Create wallet warning + Stwórz ostrzeżenie dotyczące portfela + + + + CreateWalletDialog + + Create Wallet + Stwórz Portfel + + + Wallet Name + Nazwa Portfela + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Zaszyfruj portfel. Portfel zostanie zaszyfrowany wybranym przez ciebie hasłem. + + + Encrypt Wallet + Zaszyfruj Portfel + + + 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. + Wyłącz klucze prywatne dla tego portfela. Portfele z wyłączonymi kluczami prywatnymi nie będą miały kluczy prywatnych i nie mogą zostać odtworzone z listy słów ani zaimportowanych kluczy prywatnych. Jest to idealne rozwiązanie dla portfeli które się tylko obserwuje. + + + Disable Private Keys + Wyłącz Klucze Prywatne + + + 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. + Stwórz pusty portfel. Puste portfele początkowo nie mają kluczy prywatnych ani skryptów. Klucze prywatne i adresy mogą zostać zaimportowane lub odtworzone z listy słów w późniejszym czasie. + + + Make Blank Wallet + Stwórz Pusty Portfel + + + Create + Stwórz + + EditAddressDialog @@ -974,8 +1100,12 @@ Wprowadzony adres "%1" nie jest właściwym adresem Dash. - The entered address "%1" is already in the address book. - Wprowadzony adres "%1" już istnieje w książce adresowej. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Adres "%1" już istnieje jako adres odbiorczy pod nazwą "%2", dlatego nie można go dodać jako adres nadawczy. + + + The entered address "%1" is already in the address book with label "%2". + Adres "%1" już istnieje jako adres odbiorczy pod nazwą "%2" Could not unlock wallet. @@ -1009,16 +1139,39 @@ Nie można było tutaj utworzyć folderu. + + GovernanceList + + Form + Formularz + + + Filter List: + Filtruj listę: + + + Filter propsal list + Filtruj listę wniosków + + + Proposal Count: + Liczba Wniosków: + + + Filter by Title + Filtruj Według Tytułu + + + Proposal Info: %1 + Informacje dotyczące wniosku: %1 + + HelpMessageDialog version wersja - - (%1-bit) - (%1-bit) - About %1 Informacje o %1 @@ -1113,10 +1266,6 @@ Status Status - - 0 - 0 - Filter List: Filtruj listę: @@ -1277,8 +1426,8 @@ Ukryj - Unknown. Syncing Headers (%1)... - Nieznane. Synchronizacja nagłówków (%1)... + Unknown. Syncing Headers (%1, %2%)... + Nieznany. Synchronizowanie Nagłówków (%1, %2%)... @@ -1304,6 +1453,25 @@ Wybierz plik żądania zapłaty do otwarcia + + OpenWalletActivity + + Open wallet failed + Nie udało się otworzyć portfela + + + Open wallet warning + Ostrzeżenie dotyczące otwarcia portfela + + + default wallet + domyślny portfel + + + Opening Wallet <b>%1</b>... + Otwieranie Portfela <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Rozmiar &pamięci podręcznej bazy danych. - - MB - MB - Number of script &verification threads Liczba wątków &weryfikacji skryptu @@ -1338,6 +1502,22 @@ &Appearance &Wygląd + + Prune &block storage to + Ogranicz miejsce dla &bloków do + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Zmiana tego ustawienia wymaga ponownego pobrania całego łańcucha bloków. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Pokaż dodatkową zakładkę z listą Twoich wszystkich masternodów w pierwszej podzakładce <br/> oraz listą wszystkich masternodów sieci w drugiej podzakładce . @@ -1346,6 +1526,14 @@ Show Masternodes Tab Pokaż Zakładkę Mastenodów + + Show additional tab listing governance proposals. + Pokaż dodatkową kartę z listą wniosków dla zarządzu. + + + Show Governance Tab + Pokaż Kartę Zarządu + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Jeśli wyłączysz możliwość wydawania niepotwierdzonej reszty, to reszta z transakcji<br/> nie może zostać użyta dopóki nie ma przynajmniej jednego potwierdzona.<br/> To również wpływa na to, jak wyliczane jest twoje saldo. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Automatycznie otwórz port klienta Dash Core na ruterze. Opcja działa jedynie, jeżeli router obsługuje UPnP i funkcja UPnP jest włączona. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Automatycznie otwórz port klienta Bitcoina na routerze. Działa to tylko wtedy, gdy router obsługuje NAT-PMP i jest włączony. Port zewnętrzny może być losowy. + + + Map port using NA&T-PMP + Mapuj port za pomocą NA&T-PMP + Accept connections from outside. Akceptuj połączenia z zewnątrz. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Użyj osobnego proxy SOCKS&5 aby połączyć się z peerami przez ukryte usługi sieci Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + Opcje ustawione w tym oknie są zastępowane przez wiersz poleceń lub w pliku konfiguracyjnym: + Hide the icon from the system tray. Ukryj ikonę na pasku zadań. @@ -1474,6 +1674,10 @@ &Network &Sieć + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Włączenie przycinania znacznie zmniejsza ilość wymaganego miejsca do przechowywania transakcji. Wszystkie bloki są nadal w pełni potwierdzone. Zmienienie tego ustawienia wymaga ponownego pobrania całego łańcucha bloków. + Map port using &UPnP Mapuj port używając &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Cyfry po przecinku - - Active command-line options that override above options: - Aktywne opcje linii komend, które nadpisują powyższe opcje: - Reset all client options to default. Przywróć wszystkie domyślne ustawienia klienta. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 Żądanie płatności podowduje że URL jest niewłaściwy: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Nie można przetworzyć żądania płatności, ponieważ obsługa BIP70 nie została wkompilowana. + Invalid payment address %1 Nieprawidłowy adres płatności %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Otrzymany + + Proposal + + Passing +%1 + Zaakceptowany +%1 + + + Needs additional %1 votes + Potrzebuje %1 dodatkowych głosów + + + + ProposalModel + + Yes + Tak + + + No + Nie + + + Hash + Hash + + + Title + Tytuł + + + Start + Start + + + End + Koniec + + + Amount + Ilość + + + Active + Aktywne + + + Status + Status + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Przy uruchamianiu pokaż ekran powitalny (domyślnie: %u) + + Error: Specified data directory "%1" does not exist. + Błąd: Określony katalog danych "%1" nie istnieje. + + + Error: Cannot parse configuration file: %1. + Błąd: nie można przeanalizować pliku konfiguracyjnego: %1. + + + Error: %1 + Błąd: %1 + + + Error: Failed to load application fonts. + Błąd: Nie powiodło się ładowanie czcionek aplikacji. + + + Error: Specified font-family invalid. Valid values: %1. + Błąd: Wybrana rodzina czcionki jest nieważna. Właściwe wartości wynoszą: %1 + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Błąd: Wybrana waga normalnej czcionki jest nieważna. Właściwy przedział wynosi od: %1 do %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Błąd: Wybrana waga pogrubionej czcionki jest nieważna. Właściwy przedział wynosi od: %1 do %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Błąd: Wybrana skala czcionki jest nieważna. Właściwy przedział wynosi od %1 do %2 + + + Error: Invalid -custom-css-dir path. + Błąd: Niewłaściwa ścieżka -custom-css-dir. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Błąd: nie można znaleźć %1 plik(ów) CSS na ścieżce -custom-css-dir. + %1 didn't yet exit safely... %1 jeszcze się bezpiecznie nie zamknął... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ nieznany - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Błąd: Określony folder danych "%1" nie istnieje. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Błąd: Nie można przetworzyć pliku konfiguracyjnego: %1. Używaj tylko składni klucz=wartość. - - - Error: %1 - Błąd: %1 - - - Error: Failed to load application fonts. - Błąd: Nie powiodło się ładowanie czcionek aplikacji. - - - Error: Specified font-family invalid. Valid values: %1. - Błąd: Wybrana rodzina czcionki jest nieważna. Właściwe wartości wynoszą: %1 - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Błąd: Wybrana waga normalnej czcionki jest nieważna. Właściwy przedział wynosi od: %1 do %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Błąd: Wybrana waga pogrubionej czcionki jest nieważna. Właściwy przedział wynosi od: %1 do %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Błąd: Wybrana skala czcionki jest nieważna. Właściwy przedział wynosi od %1 do %2 - - - Error: Invalid -custom-css-dir path. - Błąd: Niewłaściwa ścieżka -custom-css-dir. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Błąd: nie można znaleźć %1 plik(ów) CSS na ścieżce -custom-css-dir. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Kopiuj obraz + + Resulting URI too long, try to reduce the text for label / message. + Wynikowy URI jest zbyt długi, spróbuj zmniejszyć tekst nazwy / wiadomości + + + Error encoding URI into QR Code. + Błąd kodowania URI w Kodzie QR. + + + QR code support not available. + Obsługa kodów QR jest niedostępna. + Save QR Code Zapisz Kod QR @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Plik logowania debugowania - - Current number of blocks - Aktualna liczba bloków - Client version Wersja klienta - - Using BerkeleyDB version - Używana wersja BerkeleyDB - Block chain Ciąg bloków @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Przeskanuj pliki lańcucha 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Przyciski poniżej zrestartują portfel z opcjami linii komend służącymi do naprawy portfela, rozwiązywania problemów z plikami łańcucha bloków oraz zgubionych lub przestarzałych transakcji . + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan = 1: Ponownie przeskanuj łańcuch bloków pod kątem brakujących transakcji portfela, począwszy od czasu utworzenia portfela. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datadir + + To specify a non-default location of the data directory use the '%1' option. + Aby określić inną niż domyślną lokalizację katalogu danych, użyj opcji "%1". + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Aby określić inną niż domyślną lokalizację katalogu bloków, użyj opcji "%1". + + + Current block height + Obecna wysokość bloku + Last block hash Hash ostatniego bloku + + Latest ChainLocked block hash + Najnowszy hash bloku zabezpieczonego przez ChainLock + + + Latest ChainLocked block height + Najnowsza wysokość bloku zabezpieczonego przez ChainLock + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Otwórz plik dziennika debugowania %1 z obecnego katalogu z danymi. Może to potrwać kilka sekund przy większych plikach. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Naprawa portfela - - Salvage wallet - Ratuj portfel - Recover transactions 1 Odzyskaj transakcję 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Uaktualnij format portfela - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Przycisk poniżej zrestartuje portfel z opcjami linii komend służącymi do naprawy portfela, rozwiązywania problemów z plikami łańcucha bloków oraz zgubionych lub nieważnych transakcji . - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Próbuje przywrócić prywatne klucze z uszkodzonego portfela. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Odzyskaj transakcje z łańcucha bloków (nie zmieniaj meta-danych, np. właściciela konta). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Kwota: - &Request payment - &Żądaj płatności + &Create new receiving address + &Stwórz nowy adres odbiorczy Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Kopiuj URI + + Copy address + Kopiuj adres + Copy label Kopiuj etykietę @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Portfel - - Resulting URI too long, try to reduce the text for label / message. - Wynikowy URI jest zbyt długi, spróbuj zmniejszyć tekst etykiety / wiadomości - - - Error encoding URI into QR Code. - Błąd kodowania URI w Kodzie QR. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Wybierz... - - collapse fee-settings - zamknij ustawienia opłat - Confirmation time target: Docelowy czas potwierdzenia: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Uwaga: Za mało danych do oszacowania opłaty, używam opłaty zastępczej. + + Hide transaction fee settings + Ukryj ustawienia opłat transakcyjnych + Hide Ukryj @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Czy na pewno chcesz wysłać? - - are added as transaction fee - dodane są jako opłata za transakcję - - - Total Amount = <b>%1</b><br />= %2 - Całkowita ilość = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 z %2 wyświetlonych wpisów)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds jakiekolwiek dostępne środki + + Transaction fee + Opłata za transakcję: + (%1 transactions have higher fees usually due to no change output being allowed) (Transakcje %1 mają większe opłaty ponieważ reszta nie jest zwracana do odbiorcy) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Uwaga: Używanie %1 z %2 lub więcej nominałami może stanowić zagrożenie dla twojej anonimowości i nie jest zalecane. + + Click to learn more + Kliknij, aby dowiedzieć się więcej + + + Total Amount + Całkowita Kwota + + + or + lub + Confirm send coins Potwierdź wysyłanie monet @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Utworzenie transakcji nie powiodło się! - - The transaction was rejected with the following reason: %1 - Transakcja została odrzucona z następującym powodem: %1 - A fee higher than %1 is considered an absurdly high fee. Opłata wyższa niż %1 jest absurdalnie wysoka. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - To jest standardowa płatność - Pay &To: Zapłać &dla: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Su&ma: + + The amount to send in the selected unit + Kwota do wysłania w wybranej jednostce + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Opłata zostanie odliczona od wysyłanej kwoty. Odbiorca otrzyma mniej, niż wprowadziłeś w polu kwoty. W razie wielu odbiorców, opłata zostanie równo podzielona. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Tak + Send + Wyślij @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with Adres Dash, którym wiadomość została podpisana + + The signed message to verify + Podpisana wiadomość do weryfikacji + + + The signature given when the message was signed + Podpis złożony podczas podpisywania wiadomości + Verify the message to ensure it was signed with the specified Dash address Zweryfikuj wiadomość, aby upewnić się, że została zapisana przez konkretny adres Dash @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Całkowity rozmiar transakcji + + (Certificate was not verified) + (Certyfikat nie został zweryfikowany) + Merchant Kupiec @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Skopiuj wszystkie szczegóły transakcji. - Edit label - Zmień etykietę + Edit address label + Zmień nazwę adresu Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Jednostki w których wyrażane są kwoty. Kliknij aby wybrać inną jednostkę. + + WalletController + + Close wallet + Zamknij portfel + + + Are you sure you wish to close the wallet <i>%1</i>? + Jesteś pewien, że chcesz zamknąć portfel <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Zbyt długie zamykanie portfela może spowodować konieczność ponownej synchronizacji całego łańcucha, jeśli włączone jest przycinanie. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Wyślij płatność + + default wallet + domyślny portfel + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Błąd: Nie powiodło się nasłuchiwanie połączeń przychodzących (nasłuch zwrócił błąd %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Oszacowanie opłaty nie powiodło się. Opłata domyślna jest wyłączona. Poczekaj kilka bloków lub włącz -fallbackfee. + + + 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 + Ten błąd mógł wystąpić, jeśli portfel nie został poprawnie zamknięty i został ostatnio załadowany przy użyciu kompilacji z nowszą wersją Berkeley DB. Jeśli tak, użyj oprogramowania, które ostatnio załadowało ten portfel + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Ta wersja nie jest jeszcze gotowa na oficjalne wydanie - używaj jej na własne ryzyko - nie używaj tej wersji do kopania monet lub do świadczenia usług komercyjnych. @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Błąd odczytu bazy danych, następuje zamknięcie. - - Error - Błąd - - - Error: Disk space is low! - Błąd: Przestrzeń dyskowa jest niska! - Failed to listen on any port. Use -listen=0 if you want this. Nie powiódł się nasłuch żadnego z portów. Użyj -listen=0 jeśli chcesz. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Przekracza maksymalny rozmiar. - - Failed to load fulfilled requests cache from - Nieudane ładowanie bufora zrealizowanych żądań z - - - Failed to load governance cache from - Nieudane ładowanie bufora governance z - - - Failed to load masternode cache from - Nieudane ładowanie bufora masternodów z - Found enough users, signing ( waiting %s ) Znaleziono wystarczającą ilość użytkowników, trwa podoposywanie ( poczekaj %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Znaleziono nieprawidłowy blok lub brak bloku początkowego. Nieprawidłowy katalog danych dla sieci - - Information - Informacja - Input is not valid. Transakcja wejściowa jest niewłaściwa. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Nieznana odpowiedź. - - Unsupported argument -benchmark ignored, use -debug=bench. - Nieobsługiwany argument - benchmark został zignorowany, użyj -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Znaleziono nieobsługiwany argument -debugnet zignorowano, użyj -debug=net. - - - Unsupported argument -tor found, use -onion. - Znaleziono nieobsługiwany argument -tor, użyj -onion. - User Agent comment (%s) contains unsafe characters. Komentarz agenta użytkownika (%s) zawiera znaki które nie są bezpieczne. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s jest w stanie spoczynku. - - %s request incomplete: %s - Żądanie %s niezakończone: %s - Can't mix while sync in progress. Nie możesz miksować w trakcie synchronizacji. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s plik zawiera wszystkie klucze prywatne przechowywane w tym portfelu. Nie dawaj nikomu dostępu do tego pliku. - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode funkcja ta jest przestarzała i ignorowana, -masterndebisprivkey wystarczy do uruchomienia tego węzłą jako masternode. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Tworzenie kopii zapasowej nieudane, plik już istnieje! Taka sytuacja może wystąpić, jeżeli minęło mniej niż 60 od ostatniego zamknięcia portfela. Jeżeli Ci to nie przeszkadza, możesz kontynuować. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Całkowita długość sieciowej wersji struny (%i) przekracza maksymalną długość (%i). Zredukuj liczbę lub rozmiar uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Błąd: niewspierany argument, znaleziono -socks. Ustawienie wersji SOCKS nie jest już możliwa, wspierane są tylko bramki proxy SOCKS5. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - niewspierany argument -whitelistalwaysrelay jest ignorowany, używaj -whitelistrelay oraz/lub -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. OSTRZEŻENIE! Nie udało się uzupełnić puli kluczy. W tym celu musisz odblokować portfel. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Portfel jest zamknięty , nie można uzupełnić pul* kluczy! Automatyczne tworzenie kopi zapasowych oraz miksowanie są wyłączone. Otwórz porfel aby uzupełnić pul* kluczy. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Uwaga: Wykopywane są bloki o nieznanej wersji! Możliwe, że zostały aktywowane inne zasady na których opiera się sieć. - You need to rebuild the database using -reindex to change -timestampindex Musisz odnowić bazę danych używając -reindex aby zmienić -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Aby wrócić do trybu bez bez obcinki, musisz odtworzyć bazę danych za pomocą komendy -reindex. Cały blockchain zostanie ponownie ściągnięty. - -litemode is deprecated. - -litemode jest przestarzały. + %s failed + %s nie powiodło się -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Automatyczne tworzenie kopi zapasowych jest wyłączone + + Cannot set -peerblockfilters without -blockfilterindex. + Nie można ustawić -peerblockfilters bez -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + Ustawienie konfiguracji dla %s jest tylko stosowane w sieci %s w sekcji [%s]. + + + Could not find asmap file %s + Nie można znaleźć pliku asmap %s + + + Could not parse asmap file %s + Nie można przeanalizować pliku asmap %s + ERROR! Failed to create automatic backup BŁĄD! Automatyczne tworzenie kopii zapasowej nie powiodło się + + Error loading %s: Private keys can only be disabled during creation + Błąd podczas ładowania %s: Klucze prywatne można wyłączyć tylko podczas tworzenia nowego portfela + Error upgrading evo database Wystąpił błąd podczas ulepszania bazy danych evo. @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Błąd: Wystąpił wewnętrzny błąd krytyczny, szczegóły znajdziesz w pliku debug.log + + Error: Disk space is low for %s + Błąd: Nie ma wystarczająco miejsca na dysku dla %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Błąd: Nie powiodło się dodanie socket do epollfd (epll_ctl zwróciło błąd %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Przekroczona została maksymalna liczba prób - - Failed to clear fulfilled requests cache at - Nie udało się usunąć listy wypełnionych żądań z pamięci podręcznej - - - Failed to clear governance cache at - Nie udało się usunąć danych zarządzania z pamięci podręcznej - - - Failed to clear masternode cache at - Nie udało się usunąć danych masternodów z pamięci podręcznej - Failed to commit EvoDB Nie udało się dodać EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Skasowanie kopii zapasowej nie powiodło się, błąd: %s - - Failed to load sporks cache from - Nie powiodło się ładowanie bufora sporków z - Failed to rescan the wallet during initialization Skanowanie portfela podczas uruchomienia portfela nie powiodło się + + Invalid P2P permission: '%s' + Nieprawidłowe uprawnienie P2P: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Błędna ilość -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Niewłaściwy masternodeblsprivkey. Sprawdź dokumentacje. - - It has been replaced by -disablegovernance. - Zostało zastąpione przez -dsablegovernance. - - - Its replacement -disablegovernance has been forced instead. - W zamian zostało wymuszone zastępstwo za -disablegovernance - Loading block index... Wczytuję indeks bloków @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Obcinanie nie może zostać skonfigurowane z ujemnymi wartościami. + + Prune mode is incompatible with -blockfilterindex. + Tryb przycinania jest nikompatybilny z -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. Tryb obcinania jest niekompatybilny z -disablegovernance=false. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Kasuję stare bloki ... + + Section [%s] is not recognized. + Sekcja [%s] nie została rozpoznana. + Specified -walletdir "%s" does not exist Wyznaczona komenda -walletdir "%s" nie istnieje @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Synchronizuje blockchain... + + The specified config file %s does not exist + + Określony plik konfiguracyjny %s nie istnieje + + The wallet will avoid paying less than the minimum relay fee. Portfel będzie unikał płacenia mniejszej niż przekazana opłaty. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Nie można przywiązać do %s na tym komputerze. %s prawdopodobnie jest już uruchomiony. + + Unable to create the PID file '%s': %s + Nie można stworzyć pliku PID '%s': %s + Unable to generate initial keys Niemożliwe wygenerowanie pierwszych kluczy - Upgrading UTXO database - Aktualizowanie bazy danych UTXO + Unknown -blockfilterindex value %s. + Nieznana wartość -blockfilterindex %s. - Wallet %s resides outside wallet directory %s - Portfel %s znajduje się poza katalogiem portfela %s + Upgrading UTXO database + Aktualizowanie bazy danych UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Musisz odnowić bazę danych używając -reindex aby zmienić -spentindex - - You need to rebuild the database using -reindex to change -txindex - Musisz odnowić bazę danych używając -reindex aby zmienić -txindex - no mixing available. Mieszanie niedostępne. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. Otwórz debug.log jeśli chcesz poznać detale. - - Dash Core - Dash Core - The %s developers Deweloperzy %s @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Nie można odtworzyć bloków. Będziesz musiał odbudować bazę danych przy użyciu -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Ostrzeżenie: Odzyskano dane z uszkodzonego pliku portfela! Oryginalny %s został zapisany jako %s w %s; jeśli twoje saldo lub transakcje są niepoprawne, należy odtworzyć kopię zapasową. + Warning: Private keys detected in wallet {%s} with disabled private keys + Ostrzeżenie: wykryto klucze prywatne w portfelu {%s} który ma klucze prywatne wyłączone %d of last 100 blocks have unexpected version %d z ostatnich 100 bloków ma nieoczekiwaną wersję - - %s corrupt, salvage failed - %s uszkodzony, odtworzenie się nie powiodło - %s is not a valid backup folder! %s nie jest ważnym folderem kopi zapasowych! + + %s is only allowed with a single wallet file + %s jest dozwolone tylko z jednym plikiem portfela + %s is set very high! %s jest ustawione bardzo wysoko! + + %s request incomplete: + Żądanie %s niezakończone: + -devnet can only be specified once -devnet może zostać ustawiony tylko jeden raz @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified kiedy -devnet oraz -server są ustawione -rpcport też musi być ustawiony + + A fatal internal error occurred, see debug.log for details + Błąd: Wystąpił wewnętrzny błąd krytyczny, szczegóły znajdziesz w pliku debug.log + Cannot resolve -%s address: '%s' Nie można rozpoznać -%s adresu: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Prawo autorskie (C) + + Disk space is too low! + Za mało miejsca na dysku! + Error loading %s Błąd ładowania %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Błąd: Nie powiodło się dodanie socket do kqueuefd (kevent zwróciło błąd %s) + + Failed to clear fulfilled requests cache at %s + Nieudane ładowanie bufora zrealizowanych żądań z %s + + + Failed to clear governance cache at %s + Nie udało się usunąć danych zarządzania z pamięci podręcznej w %s + + + Failed to clear masternode cache at %s + Nie udało się wyczyścić pamięci podręcznej masternoda w %s + Failed to find mixing queue to join Znalezienie kolejki do mieszania monet zakończyło się niepowodzeniem + + Failed to load fulfilled requests cache from %s + Nieudane ładowanie bufora zrealizowanych żądań z %s + + + Failed to load governance cache from %s + Nieudane ładowanie pamięci podręcznej zarządzania z %s + + + Failed to load masternode cache from %s + Nie udało się załadować pamięci podręcznej masternoda z %s + + + Failed to load sporks cache from %s + Nie powiodło się ładowanie sporków z pamięci podręcznej z %s + Failed to start a new mixing queue Próba stworzenia kolejki do mieszania monet zakończyła się niepowodzeniem @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. Ostatnia kolejka została utworzona zbyt niedawno. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s uszkodzony. Spróbuj użyć narzędzia dash-wallet aby odzyskać lub odbudować portfel z kopi zapasowej. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Nie można wygenerować klucza zmiany adresu. Nie można stowrzyć nowych kluczy ponieważ wewnętrzn a pula kluczy jest pusta. + Last successful action was too recent. Za mało czasu upłynęło od ostatniej udanej transakcji. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transakcja niewłaściwa. - - Transaction too large for fee policy - Transakcja nie mieści się w ramach wyznaczających wielkość opłaty za transakcję - Unable to bind to %s on this computer (bind returned error %s) Nie udało się powiązać do %s na tym komputerze (powiązanie zwróciło błąd %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Nieobsługiwana kategoria rejestrowania %s=%s. + + Upgrading txindex database + Aktualizowanie bazy danych txindex + Verifying blocks... Weryfikacja bloków... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Portfel jest zamknięty. - - Warning - Ostrzeżenie - - - Warning: %s is deprecated, please use %s instead - Ostrzeżenie: %s jest przestarzałe, użyj zamiast niego %s - Warning: can't use %s and %s together, will prefer %s Ostrzeżenie: nie można używać razem %s i %s, wolą %s diff --git a/src/qt/locale/dash_pt.ts b/src/qt/locale/dash_pt.ts index f68aa27e68..774058a281 100644 --- a/src/qt/locale/dash_pt.ts +++ b/src/qt/locale/dash_pt.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Esses são os seus endereços para enviar pagamentos. Sempre cheque a quantia e o endereço de recebimento antes de enviar moedas, - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estes são os seus endereços para receber pagamentos. É recomendado usar um novo para cada transação. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Estes são seus endereços Dash para receber pagamentos. Use o botão 'Criar novo endereço de recebimento' na aba de recebimento para criar novos endereços. &Copy Address @@ -191,12 +191,8 @@ Repita a nova frase de segurança - Show password - Mostrar senha - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Insira a nova senha para a carteira.<br/>Favor usar uma senha com <b>dez ou mais caracteres aleatórios</b>, ou <b>oito ou mais palavras</b>. + Show passphrase + Mostrar frase de segurança Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Alterar frase de segurança - - Enter the old passphrase and new passphrase to the wallet. - Insira a senha antiga e a nova para a carteira. - Confirm wallet encryption Confirmar criptografia da carteira @@ -246,6 +238,30 @@ Wallet encrypted Carteira criptografada + + 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>. + Insira uma nova frase de segurança para a carteira.<br/>Por favor, use uma frase de segurança com dez ou mais caracteres aleatórios</b>, ou com <b> oito ou mais palavras</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Insira a frase de segurança antiga e a nova para a carteira. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Lembre-se de que criptografar sua carteira pode não proteger totalmente seus Dash de serem roubados por malwares que infectem seu computador. + + + Wallet to be encrypted + Carteira a ser criptografada + + + Your wallet is about to be encrypted. + Sua carteira está prestes a ser criptografada. + + + Your wallet is now encrypted. + Sua carteira agora está criptografada. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. IMPORTANTE: Todos os backups anteriores feitos do seu arquivo de carteira devem ser substituídos pelo arquivo de carteira criptografado recém-gerado. Os backups anteriores do arquivo de carteira não criptografada contêm a mesma semente HD e ainda têm acesso total a todos os seus fundos, assim como a nova carteira criptografada. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Ocorreu um erro fatal. A Dash não pode mais continuar de forma segura, e irá fechar - - Dash Core - Dash Core - - - Wallet - Carteira - - - Node - - &Overview &Visão geral @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Solicitações de pagamentos (gera códigos QR e Dash: URIs) + + &Sending addresses + &Endereços de envio + + + &Receiving addresses + &Endereços de recebimento + + + Open Wallet + Abrir Carteira + + + Open a wallet + Abrir uma carteira + + + Close Wallet... + Fechar Carteira... + + + Close wallet + Fechar carteira + + + No wallets available + Não há carteiras disponíveis + + + &Window + &Janela + + + Minimize + Minimizar + + + Zoom + Zoom + + + Main Window + Janela Principal + &Transactions &Transações @@ -371,10 +419,6 @@ Quit application Sair da aplicação - - Show information about Dash Core - Exibe informações sobre Dash Core - About &Qt Sobre &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Mostrar backups da carteira criados automaticamente - - &Sending addresses... - Endereço&s de envio... - Show the list of used sending addresses and labels Mostrar a lista de endereços de envio e rótulos usados - - &Receiving addresses... - Endereços de &recebimento... - Show the list of used receiving addresses and labels Mostrar a lista de endereços de recebimento usados ​​e rótulos @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Mostrar a mensagem de ajuda do %1 para obter uma lista com possíveis opções de linha de comando Dash + + default wallet + carteira padrão + %1 client %1 cliente @@ -565,6 +605,18 @@ &File &Arquivo + + Show information about %1 + Mostrar informação sobre %1 + + + Create Wallet... + Criar Carteira... + + + Create a new wallet + Criar uma nova carteira + %1 &information %1 &Informação @@ -577,10 +629,6 @@ &Settings &Configurações - - &Tools - &Ferramentas - &Help &Ajuda @@ -589,6 +637,14 @@ Tabs toolbar Barra de ferramentas + + &Governance + &Governança + + + View Governance Proposals + Ver Propostas de Governança + %n active connection(s) to Dash network %n conexões ativas com a rede Dash%n conexões ativas com a rede Dash @@ -653,10 +709,18 @@ Error Erro + + Error: %1 + Erro: %1 + Warning Atenção + + Warning: %1 + Aviso: %1 + Information Informação @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Carteira está <b>criptografada</b> e atualmente <b>bloqueada</b> + + Proxy is <b>enabled</b>: %1 + O proxy está <b>habilitado</b>: %1 + + + Original message: + Mensagem original: + CoinControlDialog @@ -935,6 +1007,60 @@ n/d + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Criando Carteira <b>%1</b>... + + + Create wallet failed + Falha ao criar carteira + + + Create wallet warning + Aviso de criação de carteira + + + + CreateWalletDialog + + Create Wallet + Criar carteira + + + Wallet Name + Nome da Carteira + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Criptografar a carteira. A carteira será criptografada com uma frase de segurança de sua escolha. + + + Encrypt Wallet + Criptografar Carteira + + + 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. + Desativar as chaves privadas para esta carteira. Carteiras com chaves privadas desabilitadas não terão chaves privadas e não podem ter uma "HD seed" ou chaves privadas importadas. Isso é ideal para carteiras apenas para relógios. + + + Disable Private Keys + Desabilitar Chaves Privadas + + + 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. + Faça uma carteira em branco. Carteiras em branco inicialmente não possuem chaves privadas ou scripts. Chaves privadas e endereços podem ser importados, ou uma "HD seed" pode ser definida posteriormente. + + + Make Blank Wallet + Fazer Carteira em Branco + + + Create + Criar + + EditAddressDialog @@ -974,8 +1100,12 @@ O endereço digitado "%1" não é um endereço válido. - The entered address "%1" is already in the address book. - O endereço digitado "%1" já se encontra no catálogo de endereços. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + O endereço "%1" já existe como endereço de recebimento com o rótulo "%2" e, portanto, não pode ser adicionado como endereço de envio. + + + The entered address "%1" is already in the address book with label "%2". + O endereço inserido "%1" já está no catálogo de endereços com o rótulo "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ Não é possível criar um diretório de dados aqui + + GovernanceList + + Form + Formulário + + + Filter List: + Filtrar Lista: + + + Filter propsal list + Filtrar lista de propostas + + + Proposal Count: + Contagem de Propostas: + + + Filter by Title + Filtrar por Título + + + Proposal Info: %1 + Informações da proposta: %1 + + HelpMessageDialog version versão - - (%1-bit) - (%1-bit) - About %1 Sobre %1 @@ -1060,7 +1213,7 @@ If you have chosen to limit block chain storage (pruning), the historical data must still be downloaded and processed, but will be deleted afterward to keep your disk usage low. - Se escolheu limitar o armazenamento da cadeia de blocos (poda), a data histórica ainda tem de ser descarregada e processada, mas irá ser apagada no final para manter uma utilização baixa do espaço de disco. + Se escolheu limitar o armazenamento da cadeia de blocos (modo pruning), a data histórica ainda tem de ser descarregada e processada, mas irá ser apagada no final para manter uma utilização baixa do espaço de disco. Use the default data directory @@ -1113,10 +1266,6 @@ Status Status - - 0 - 0 - Filter List: Filtrar Lista: @@ -1277,8 +1426,8 @@ Esconder - Unknown. Syncing Headers (%1)... - Desconhecido. Sincronizando cabeçalhos (%1)... + Unknown. Syncing Headers (%1, %2%)... + Desconhecido. Sincronizando cabeçalhos (%1, %2%)... @@ -1304,6 +1453,25 @@ Selecione o arquivo de cobrança para ser aberto + + OpenWalletActivity + + Open wallet failed + Falha ao abrir carteira + + + Open wallet warning + Aviso de carteira aberta + + + default wallet + carteira padrão + + + Opening Wallet <b>%1</b>... + Abrindo Carteira<b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Tamanho do banco de &dados do cache - - MB - MB - Number of script &verification threads Número de threads do script de &verificação @@ -1338,6 +1502,22 @@ &Appearance &Aparência + + Prune &block storage to + Podar e bloquear o armazenamento para + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Reverter essa configuração requer realizar o download novamente de todo o blockchain. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Mostre uma guia adicional listando todos os seus masternodes na primeira subposição <br/> e todos os masternodes na rede na segunda sub-guia. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Mostrar a aba Masternodes + + Show additional tab listing governance proposals. + Mostrar guia adicional com listagem das propostas de governança. + + + Show Governance Tab + Mostrar Guia de Governança + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Se você desabilitar o gasto de um troco não confirmado, o troco da transação<br/>não poderá ser utilizado até a transação ter pelo menos uma confirmação.<br/>Isso também afeta seu saldo computado. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Abre automaticamente a porta para o cliente Dash Core no roteador. Essa função apenas funciona se o seu roteador oferece suporte a UPnP e a opção estiver habilitada. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Abra automaticamente a porta do cliente Bitcoin no roteador. Isso só funciona quando seu roteador suporta NAT-PMP e está habilitado. A porta externa pode ser aleatória. + + + Map port using NA&T-PMP + Mapear porta usando NA&T-PMP + Accept connections from outside. Aceitar conexões externas. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Use um SOCKS&5 proxy para conectar com nodes através do Tor + + Options set in this dialog are overridden by the command line or in the configuration file: + As opções definidas nesta caixa de diálogo são substituídas pela linha de comando ou no arquivo de configuração: + Hide the icon from the system tray. Ocultar o ícone da bandeja do sistema. @@ -1474,6 +1674,10 @@ &Network Rede + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + A ativação do modo pruning reduz significativamente o espaço em disco necessário para armazenar transações. Todos os blocos ainda estão totalmente validados. Reverter essa configuração requer o download novamente de todo o blockchain. + Map port using &UPnP Mapear porta usando &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Dígitos decimais - - Active command-line options that override above options: - Ativa as opções de linha de comando que sobrescreve as opções acima: - Reset all client options to default. Redefinir todas as opções do cliente para opções padrão. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 URL de cobrança é inválida: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Não é possível processar a solicitação de pagamento porque o suporte BIP70 não foi compilado. + Invalid payment address %1 Endereço de pagamento inválido %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Recebido + + Proposal + + Passing +%1 + Passando +%1 + + + Needs additional %1 votes + Precisa de %1 votos adicionais + + + + ProposalModel + + Yes + Sim + + + No + Não + + + Hash + Hash + + + Title + Título + + + Start + Início + + + End + Fim + + + Amount + Quantidade + + + Active + Ativo + + + Status + Status + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Exibir tela de abertura na inicialização (padrão: %u) + + Error: Specified data directory "%1" does not exist. + Erro: o diretório de dados especificado "%1" não existe. + + + Error: Cannot parse configuration file: %1. + Erro: Não é possível analisar o arquivo de configuração: %1. + + + Error: %1 + Erro: %1 + + + Error: Failed to load application fonts. + Erro: Falha ao carregar as fontes do aplicativo. + + + Error: Specified font-family invalid. Valid values: %1. + Erro: Família de fontes especificada é inválida. Valores válidos: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Erro: Peso da fonte especificado é inválido. Intervalo válido %1 to %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Erro: Peso especificado da fonte negrito é inválido. Intervalo válido %1 a %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Erro: Escala especificada da fonte é inválida. Intervalo válido %1 a %2. + + + Error: Invalid -custom-css-dir path. + Erro: Caminho -custom-css-dir inválido. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Erro: %1 arquivo(s) CSS ausente(s) no caminho -custom-css-dir. + %1 didn't yet exit safely... %1 ainda não terminou com segurança... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ desconhecido - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Erro: Diretório de dados especificado "%1" não existe. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Erro: Não foi possível interpretar arquivo de configuração: %1. Utilize apenas a sintaxe chave=valor. - - - Error: %1 - Erro: %1 - - - Error: Failed to load application fonts. - Erro: Falha ao carregar as fontes do aplicativo. - - - Error: Specified font-family invalid. Valid values: %1. - Erro: Família de fontes especificada inválida. Valores válidos: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Erro: Peso normal da fonte especificado inválido. Intervalo válido de %1 a %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Erro: Peso negrito da fonte especificado inválido. Intervalo válido de %1 a %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Erro: Escala da fonte especificada inválida. Intervalo válido de %1 a %2. - - - Error: Invalid -custom-css-dir path. - Erro: Caminho -custom-css-dir inválido. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Erro: %1 arquivo(s) CSS ausente(s) no caminho -custom-css-dir. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Copiar imagem + + Resulting URI too long, try to reduce the text for label / message. + URI resultante é muito longo, tente reduzir o texto do rótulo / mensagem. + + + Error encoding URI into QR Code. + Erro ao codificar URI no QR Code. + + + QR code support not available. + Suporte a QR code não disponível. + Save QR Code Salvar código QR @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Arquivo de log de Depuração - - Current number of blocks - Quantidade atual de blocos - Client version Versão do cliente - - Using BerkeleyDB version - Usando BerkeleyDB versão - Block chain Corrente de blocos @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Reescanear o blockchain 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Os botões abaixo reiniciarão a carteira com opções de linha de comando para reparar a carteira, corrigir problemas com arquivos blockchain corrompidos ou transações ausentes/obsoletas. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Verificar novamente o block chain para encontrar transações inexistentes na carteira, iniciando desde a criação da carteira. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datadir + + To specify a non-default location of the data directory use the '%1' option. + Para especificar um local fora do padrão do diretório de dados, use a opção '%1'. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Para especificar um local fora do padrão do diretório de blocos, use a opção '%1'. + + + Current block height + Altura do bloco atual + Last block hash Último bloco hash + + Latest ChainLocked block hash + Hash do bloco ChainLocked mais recente + + + Latest ChainLocked block height + Altura do bloco ChainLocked mais recente + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Abrir o arquivo de log de depuração do %1 localizado no diretório atual de dados. Isso pode levar alguns segundos para arquivos de log grandes. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Reparar carteira - - Salvage wallet - Salvar wallet - Recover transactions 1 Recuperar transações 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Atualizar formato da carteira - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Os botões abaixo reiniciarão a carteira com opções de linha de comando para reparar a carteira, corrigir problemas com arquivos blockhain corrompidos ou transações ausentes/obsoletas. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: tenta recuperar chaves privadas de um wallet.dat corrompido. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes = 1: Recupere as transações do blockchain (mantenha metadados, por exemplo, proprietário da conta). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ Qu&antia: - &Request payment - &Requisitar Pagamento + &Create new receiving address + &Criar novo endereço de recebimento Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Copiar URI + + Copy address + Copiar endereço + Copy label Copiar rótulo @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Carteira - - Resulting URI too long, try to reduce the text for label / message. - URI resultante muito longa. Tente reduzir o texto do rótulo ou da mensagem. - - - Error encoding URI into QR Code. - Erro ao codigicar o URI em código QR - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Escolha... - - collapse fee-settings - Ocultar painel - Confirmation time target: Tempo alvo de confirmação: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Nota: Não há dados suficientes para estimativa da taxa, usando a taxa de fallback como alternativa. + + Hide transaction fee settings + Ocultar configurações da taxa de transação + Hide Esconder @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Você tem certeza que deseja enviar? - - are added as transaction fee - são adicionadas como taxas de transação - - - Total Amount = <b>%1</b><br />= %2 - Quantidade Total = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 de %2 entradas exibidas)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds quaisquer fundos disponíveis + + Transaction fee + Taxa de transação + (%1 transactions have higher fees usually due to no change output being allowed) (transações %1 têm taxas mais altas geralmente devido ao fato de que saídas de trocos não são permitidas) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Aviso: Usar %1 com %2 ou mais inputs pode prejudicar sua privacidade e não é recomendado + + Click to learn more + Clique para saber mais + + + Total Amount + Quantidade Total + + + or + ou + Confirm send coins Confirme o envio de moedas @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Criação de transação falha - - The transaction was rejected with the following reason: %1 - A transação foi rejeitada com a seguinte razão: %1 - A fee higher than %1 is considered an absurdly high fee. Uma taxa maior que %1 é considerada uma taxa absurdamente alta. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Este é um pagamento normal. - Pay &To: Pagar &Para: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Q&uantidade: + + The amount to send in the selected unit + Valor a ser enviado na unidade selecionada + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. A taxa será deduzida do valor enviado. O destinatário receberá uma quantidade menor de Dash do que você insere no campo de valor. Se vários destinatários forem selecionados, a taxa será dividida igualmente. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Sim + Send + Enviar @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with O endereço Dash que foi usado para assinar a mensagem + + The signed message to verify + Mensagem assinada para verificação + + + The signature given when the message was signed + Assinatura dada quando a mensagem foi assinada + Verify the message to ensure it was signed with the specified Dash address Verifique a mensagem para se assegurar de que foi assinada pelo endereço Dash específicado @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Tamanho transacional total + + (Certificate was not verified) + (O certificado não foi verificado) + Merchant Mercador @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Copiar dados completos da transação - Edit label - Editar rótulo + Edit address label + Editar etiqueta de endereço Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Unidade para mostrar. Clique para selecionar outra unidade. + + WalletController + + Close wallet + Fechar carteira + + + Are you sure you wish to close the wallet <i>%1</i>? + Tem certeza de que deseja fechar a carteira <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Fechar a carteira por muito tempo pode resultar em ter que sincronizar novamente toda a cadeia se o modo pruning estiver habilitado. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Enviar moedas + + default wallet + carteira padrão + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Erro: Aceitar conexões de entrada falhou (retornou erro %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Falha na estimativa de taxa. A taxa de retorno está desabilitada. Aguarde alguns blocos ou habilite -fallbackfee. + + + 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 + Este erro pode ocorrer se esta carteira não foi encerrada corretamente e foi carregada pela última vez usando uma compilação com uma versão mais recente do Berkeley DB. Em caso afirmativo, por favor, use o software que carregou esta carteira pela última vez + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Este é um build de teste pré-lançamento - use por sua conta e risco - não use para mineração ou comércio. @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Erro ao ler o banco de dados. Finalizando. - - Error - Erro - - - Error: Disk space is low! - Erro: Pouco espaço em disco! - Failed to listen on any port. Use -listen=0 if you want this. Falha ao escutar em qualquer porta. Use -listen=0 se você quiser isso. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Entrada excede o tamanho máximo. - - Failed to load fulfilled requests cache from - Falha ao carregar o cache de solicitações preenchidas de - - - Failed to load governance cache from - Falha ao carregar o cache de governança de - - - Failed to load masternode cache from - Falha ao carregar o cache masternode de - Found enough users, signing ( waiting %s ) Encontrou usuários suficientes, assinando ( esperando %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Bloco gênese incorreto ou não encontrado. Datadir errado para a rede? - - Information - Informação - Input is not valid. A entrada não é válida. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Resposta desconhecida. - - Unsupported argument -benchmark ignored, use -debug=bench. - Argument -benchmark não suportado e ignorado, use -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Argument -debugnet não suportado e ignorado, use -debug=net. - - - Unsupported argument -tor found, use -onion. - O argumento -tor não é suportado, use -onion. - User Agent comment (%s) contains unsafe characters. Comentário User Agent (%s) contém caracteres inseguros. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s está inactivo. - - %s request incomplete: %s - %s solicitação incompleta: %s - Can't mix while sync in progress. Não é possível misturar enquanto a sincronização está em progresso. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s arquivo contém todas as chaves privadas desta carteira. Não compartilhe com ninguém! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - a opção -masternode está deprecada e ignorada, especificar -masternodeblsprivkey é suficiente para iniciar um nó como masternode. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Falha em criar o backup, o arquivo já existe! Isso pode ter acontecido se você resetou sua carteira em menos de 60 segundos. Você pode continuar se está ok com isso. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. O tamanho total da string de versão da rede (%i) excede o tamanho máximo (%i). Reduza o numero ou tamanho de uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Argumento inválido -socks encontrado. Definir a versão do SOCKS não é mais possível, somente proxys SOCK5 são suportados. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Argumento não suportado -whitelistalwaysrelay foi ignorado, utilize -whitelistrelay e/ou -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. ATENÇÃO! Falha ao repor o keypool, desbloqueie sua carteira para fazer isso. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Carteira travada, impossível reabastecer o keypool. Backups e misturas automáticas estão desabilitadas, por favor, destrave sua carteira para reabastecer o keypool. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Alerta: Versões de blocos desconhecidas mineradas! É possível que regras desconhecidas estejam ativas - You need to rebuild the database using -reindex to change -timestampindex Você precisa reconstruir o banco de dados usando -reindex para alterar -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Você precisa reconstruir o banco de dados usando -reindex para sair do modo prune. Isso irá rebaixar todo o blockchain. - -litemode is deprecated. - -litemode não é mais suportado. + %s failed + %s falhou -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Backup automáticos desabilitados. + + Cannot set -peerblockfilters without -blockfilterindex. + Não é possível definir -peerblockfilters sem -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + A configuração para %s só é aplicada na rede %s quando está na seção [%s]. + + + Could not find asmap file %s + Não foi possível encontrar arquivo asmap %s + + + Could not parse asmap file %s + Não foi possível analisar arquivo asmap %s + ERROR! Failed to create automatic backup ERRO! Falha ao criar o backup automático + + Error loading %s: Private keys can only be disabled during creation + Erro ao carregar %s: As chaves privadas só podem ser desativadas durante a criação + Error upgrading evo database Erro de upgrade na base de dados evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Erro: Um erro interno fatal ocorreu, veja debug.log para detalhes + + Error: Disk space is low for %s + Erro: Espaço em disco está pequeno para %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Erro: falha ao adicionar socket ao epollfd (epoll_ctl retornou erro %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Tentativas máximas excedidas. - - Failed to clear fulfilled requests cache at - Falha ao limpar cache de requisições completas em - - - Failed to clear governance cache at - Falha ao limpar o cache de governança em - - - Failed to clear masternode cache at - Falha ao limpar cache de masternode em - Failed to commit EvoDB Falha ao enviar dados para EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Falha ao apagar backup, erro: %s - - Failed to load sporks cache from - Falha ao carregar o cache de sporks de - Failed to rescan the wallet during initialization Falha ao verificar novamente a carteira durante a inicialização + + Invalid P2P permission: '%s' + Permissão P2P inválida: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Valor inválido para -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Masternodeblsprivkey invalido. Por favor, veja a documentação. - - It has been replaced by -disablegovernance. - Foi substituído por -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - Sua substituição -disablegovernance foi forçada em seu lugar. - Loading block index... Carregando índice de blocos... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. O modo prune não pode ser configurado com um valor negativo. + + Prune mode is incompatible with -blockfilterindex. + O modo prune é incompatível com -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. O modo prune é incompatível com -disablegovernance=false. @@ -4442,7 +4704,11 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... - Prunando os blocos existentes... + Podando (pruning) os blocos existentes... + + + Section [%s] is not recognized. + A seção [%s] não é reconhecida. Specified -walletdir "%s" does not exist @@ -4466,7 +4732,7 @@ https://www.transifex.com/projects/p/dash/ This is expected because you are running a pruned node. - Isso é esperado porque você está executando um nó comprimido. + Isso é esperado porque você está executando um nó podado. This is the minimum transaction fee you pay on every transaction. @@ -4500,17 +4766,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Impossível vincular a %s neste computador. O %s provavelmente já está rodando. + + Unable to create the PID file '%s': %s + Não foi possível criar o arquivo PID '%s': %s + Unable to generate initial keys Incapaz de gerar chaves iniciais - Upgrading UTXO database - Atualizando banco de dados UTXO + Unknown -blockfilterindex value %s. + Valor desconhecido -blockfilterindex %s. - Wallet %s resides outside wallet directory %s - A carteira %s encontra-se fora do diretório da carteira %s + Upgrading UTXO database + Atualizando banco de dados UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4806,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Você precisa reconstruir o banco de dados usando -reindex para alterar -spentindex - - You need to rebuild the database using -reindex to change -txindex - Você precisa reconstruir o banco de dados usando -reindex para alterar -txindex - no mixing available. mixing não disponível. @@ -4548,10 +4814,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. Consulte debug.log para obter detalhes. - - Dash Core - Dash Core - The %s developers Desenvolvedores do %s @@ -4605,25 +4867,29 @@ https://www.transifex.com/projects/p/dash/ Não foi possível reproduzir os blocos. Você precisará reconstruir o banco de dados usando -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Atenção: Arquivo da carteira corrompido, dados recuperados! Original %s salvo como %s em %s; se seu saldo ou transações estiverem incorretos, você deve restaurar o backup. + Warning: Private keys detected in wallet {%s} with disabled private keys + Aviso: Chaves privadas detectadas na carteira {%s} com chaves privadas desativadas %d of last 100 blocks have unexpected version %d dos últimos 100 blocos têm versão inesperada - - %s corrupt, salvage failed - %s corrompido, recuperação falhou - %s is not a valid backup folder! %s não é uma pasta de backup válida! + + %s is only allowed with a single wallet file + %s só é permitido com um único arquivo de carteira + %s is set very high! %s está muito alto! + + %s request incomplete: + %s solicitação incompleta: + -devnet can only be specified once -devnet só pode ser especificado uma vez @@ -4636,6 +4902,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport deve ser especificado quando -devnet e -server são especificados + + A fatal internal error occurred, see debug.log for details + Ocorreu um erro interno fatal, veja o debug.log para mais detalhes + Cannot resolve -%s address: '%s' Não foi possível encontrar o endereço de -%s: '%s' @@ -4652,6 +4922,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright + + Disk space is too low! + O espaço em disco está muito pequeno! + Error loading %s Erro ao carregar %s @@ -4680,10 +4954,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Erro: falha ao adicionar socket ao kqueuefd (kevent retornou erro %s) + + Failed to clear fulfilled requests cache at %s + Falha ao limpar o cache de solicitações atendidas em %s + + + Failed to clear governance cache at %s + Falha ao limpar o cache de governança em %s + + + Failed to clear masternode cache at %s + Falha ao limpar o cache do masternode em %s + Failed to find mixing queue to join Não foi possível encontrar a fila de mistura para participar + + Failed to load fulfilled requests cache from %s + Falha ao carregar o cache de solicitações atendidas de %s + + + Failed to load governance cache from %s + Falha ao carregar o cache de governança de %s + + + Failed to load masternode cache from %s + Falha ao carregar o cache do masternode de %s + + + Failed to load sporks cache from %s + Falha ao carregar o cache do sporks de %s + Failed to start a new mixing queue Falha ao iniciar uma nova fila de mistura @@ -4752,6 +5054,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. A última fila foi criada muito recentemente. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s corrompido. Tente usar a ferramenta da carteira dash-wallet para salvar ou restaurar um backup. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Não é possível gerar uma chave de alteração de endereço. Não há nenhuma chave no conjunto de chaves interno e não se pode gerar nenhuma chave. + Last successful action was too recent. A última acção é muito recente. @@ -4792,10 +5102,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transação inválida. - - Transaction too large for fee policy - Transação muito grande para a política de tarifas - Unable to bind to %s on this computer (bind returned error %s) Impossível abrir %s neste computador (bind retornou o erro %s) @@ -4824,6 +5130,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Categoria de log não suportada %s=%s. + + Upgrading txindex database + Atualizando o banco de dados txindex + Verifying blocks... Verificando blocos... @@ -4836,14 +5146,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Carteira está bloqueada. - - Warning - Atenção - - - Warning: %s is deprecated, please use %s instead - Aviso: %s está obsoleto, use %s em seu lugar - Warning: can't use %s and %s together, will prefer %s Aviso: não é possível usar %s e %s juntos, prefira %s diff --git a/src/qt/locale/dash_ru.ts b/src/qt/locale/dash_ru.ts index 37de3c49f5..4d04c53276 100644 --- a/src/qt/locale/dash_ru.ts +++ b/src/qt/locale/dash_ru.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Это ваши адреса Dash для отправки платежей. Всегда проверяйте количество и адрес получателя перед отправкой перевода. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Это ваши адреса Dash для приёма платежей. Рекомендуется использовать новый адрес получения для каждой транзакции. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Это ваши адреса Dash для получения платежей. Используйте кнопку 'Создать новый адрес для получения' на закладке получения для создания новых адресов. &Copy Address @@ -191,13 +191,9 @@ Повторите новый пароль - Show password + Show passphrase Показать пароль - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Введите новый пароль кошелька.<br/>Используйте пароль, состоящий из <b>десяти или более случайных символов</b> или <b>восьми или более слов</b>. - Encrypt wallet Зашифровать кошелёк @@ -226,10 +222,6 @@ Change passphrase Сменить пароль - - Enter the old passphrase and new passphrase to the wallet. - Введите старый пароль и новый пароль для кошелька. - Confirm wallet encryption Подтвердите шифрование кошелька @@ -247,8 +239,28 @@ Кошелёк зашифрован - Your wallet is now encrypted. Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. - Ваш кошелек теперь зашифрован. Помните, что шифрование вашего кошелька не может полностью защитить ваши средства от кражи с помощью инфицирования вашего компьютера вредоносным ПО. + 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>. + Введите новый пароль кошелька.<br/>Используйте пароль, состоящий из <b>десяти или более случайных символов</b> или <b>восьми или более слов</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Введите старый пароль и новый пароль для кошелька. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Помните, что шифрование вашего кошелька не может полностью защитить ваши средства от кражи с помощью инфицирования вашего компьютера вредоносным ПО. + + + Wallet to be encrypted + Кошелёк, который будет зашифрован + + + Your wallet is about to be encrypted. + Сейчас Ваш кошелёк будет зашифрован. + + + Your wallet is now encrypted. + Ваш кошелёк зашифрован. IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. @@ -315,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Произошла критическая ошибка. Дальнейшая безопасная работа Dash Core невозможна, программа будет закрыта. - - Dash Core - Dash Core - - - Wallet - Кошелёк - - - Node - Узел - &Overview &Обзор @@ -351,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Запросить платежи (создать QR-коды и dash: URI) + + &Sending addresses + Адреса &отправки + + + &Receiving addresses + Адреса &получения + + + Open Wallet + Открыть кошелёк + + + Open a wallet + Открыть кошелёк + + + Close Wallet... + Закрыть кошелёк... + + + Close wallet + Закрыть кошелёк + + + No wallets available + Нет доступных кошельков + + + &Window + &Окно + + + Minimize + Свернуть + + + Zoom + Увеличить + + + Main Window + Главное окно + &Transactions &Транзакции @@ -375,10 +419,6 @@ Quit application Закрыть приложение - - Show information about Dash Core - Показать информацию о Dash Core - About &Qt О &Qt @@ -519,18 +559,10 @@ Show automatically created wallet backups Показать автоматически созданные резервные копии кошелька - - &Sending addresses... - Адреса &отправки... - Show the list of used sending addresses and labels Показать список использованных адресов отправки и их меток - - &Receiving addresses... - Адреса &получения... - Show the list of used receiving addresses and labels Показать список использованных адресов получения и их меток @@ -573,6 +605,18 @@ &File &Файл + + Show information about %1 + Показать информацию о %1 + + + Create Wallet... + Создать кошелёк... + + + Create a new wallet + Создать новый кошелёк + %1 &information &Информация о %1 @@ -585,10 +629,6 @@ &Settings &Настройки - - &Tools - &Инструменты - &Help &Помощь @@ -597,6 +637,14 @@ Tabs toolbar Панель вкладок + + &Governance + &Управление + + + View Governance Proposals + Посмотреть предложения по Управлению + %n active connection(s) to Dash network %n активное соединение с сетью Dash%n активных соединения с сетью Dash%n активных соединений с сетью Dash%n активных соединений с сетью Dash @@ -661,10 +709,18 @@ Error Ошибка + + Error: %1 + Ошибка: %1 + Warning Внимание + + Warning: %1 + Внимание: %1 + Information Информация @@ -747,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Кошелёк <b>зашифрован</b> и в настоящее время <b>заблокирован</b> + + Proxy is <b>enabled</b>: %1 + Прокси <b>включен</b>: %1 + + + Original message: + Изначальное сообщение: + CoinControlDialog @@ -943,6 +1007,60 @@ н/д + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Создается кошелёк<b>%1</b>... + + + Create wallet failed + Не удалось создать кошелёк + + + Create wallet warning + Предупреждение при создании кошелька + + + + CreateWalletDialog + + Create Wallet + Создать кошелёк + + + Wallet Name + Имя кошелька + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Зашифровать кошелёк. Кошелёк будет зашифрован паролем, который Вы укажете. + + + Encrypt Wallet + Зашифровать кошелёк + + + 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. + Запретить закрытые ключи для этого кошелька. Кошельки с запретом закрытых ключей не содержат изначальных закрытых ключей, а также не могут импортировать HD сиды и другие закрытые ключи. Это идеальный вариант для кошельков с доступом только для просмотра. + + + Disable Private Keys + Запретить закрытые ключи + + + 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. + Создать пустой кошелёк. Пустые кошельки изначально не хранят закрытых ключей или скриптов. Можно импортировать закрытые ключи и адреса либо установить HD сид позже. + + + Make Blank Wallet + Создать пустой кошелёк + + + Create + Создать + + EditAddressDialog @@ -982,8 +1100,12 @@ Введённый адрес "%1" не является правильным адресом Dash. - The entered address "%1" is already in the address book. - Введённый адрес "%1" уже находится в адресной книге. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Адрес "%1" уже присутствует в списке адресов получения под меткой "%2" и поэтому он не может быть добавлен в список адресов отправки. + + + The entered address "%1" is already in the address book with label "%2". + Введённый адрес "%1" уже находится в адресной книге под меткой "%2". Could not unlock wallet. @@ -1017,16 +1139,39 @@ Не удаётся создать здесь каталог данных. + + GovernanceList + + Form + Форма + + + Filter List: + Фильтровать список: + + + Filter propsal list + Фильтровать список предложений + + + Proposal Count: + Количество предложений: + + + Filter by Title + Сортировать по названию + + + Proposal Info: %1 + Информация о предложении: %1 + + HelpMessageDialog version версия - - (%1-bit) - (%1-бит) - About %1 О %1 @@ -1121,10 +1266,6 @@ Status Статус - - 0 - 0 - Filter List: Фильтровать список: @@ -1187,7 +1328,7 @@ Copy ProTx Hash - Скопировать хэш ProTx + Скопировать хеш ProTx Copy Collateral Outpoint @@ -1227,7 +1368,7 @@ Filter by any property (e.g. address or protx hash) - Фильтровать по любому значению (например, по адресу или по регистрационной транзакции) + Фильтровать по любому значению (например, по адресу или по хешу регистрационной транзакции) Please wait... @@ -1285,8 +1426,8 @@ Скрыть - Unknown. Syncing Headers (%1)... - Неизвестно. Синхронизация заголовков (%1)... + Unknown. Syncing Headers (%1, %2%)... + Неизвестно. Синхронизация заголовков (%1, %2%)... @@ -1312,6 +1453,25 @@ Выберите файл запроса платежа + + OpenWalletActivity + + Open wallet failed + Не удалось открыть кошелёк + + + Open wallet warning + Предупреждение при открытии кошелька + + + default wallet + кошелек по умолчанию + + + Opening Wallet <b>%1</b>... + Открывается кошелёк<b>%1</b>... + + OptionsDialog @@ -1326,10 +1486,6 @@ Size of &database cache Размер кэша &БД - - MB - МБ - Number of script &verification threads Число потоков проверки &сценария @@ -1346,10 +1502,6 @@ &Appearance &Внешний вид - - 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. - Отключает некоторые продвинутые функции, но блоки все еще будут проверяться. Отмена этой настройки потребует скачивания всех блоков заново. Реальное использование диска может быть несколько выше. - Prune &block storage to Ограничить &хранение блоков до @@ -1362,6 +1514,10 @@ Reverting this setting requires re-downloading the entire blockchain. Отмена этой настройки потребует скачивания всех блоков заново. + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Показывать дополнительную вкладку со списком своих мастернод<br/>в одной таблице и списком всех мастернод в другой. @@ -1370,6 +1526,14 @@ Show Masternodes Tab Показывать вкладку с мастернодами + + Show additional tab listing governance proposals. + Показать дополнительную вкладку с предложениями по управлению. + + + Show Governance Tab + Показать вкладку управления + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. При отключении траты неподтверждённой сдачи, сдача от транзакции<br/>не может быть использована до тех пор, пока у этой транзакции не будет хотя бы одно подтверждение.<br/>Это также влияет на то, как рассчитывается Ваш баланс. @@ -1426,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Автоматически открыть порт для Dash Core на роутере. Работает только в том случае, если Ваш роутер поддерживает UPnP и данная функция включена. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Автоматически открыть порт для Dash Core на роутере. Работает только в том случае, если Ваш роутер поддерживает NAT-PMP и данная функция включена. Внешний порт может быть любым. + + + Map port using NA&T-PMP + Пробросить порт через NA&T-PMP + Accept connections from outside. Принимать подключения извне. @@ -1450,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Использовать отдельный SOCKS&5 прокси для подключения через Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + Настройки, указанные в этом диалоге, перекрываются командной строкой либо файлом настроек: + Hide the icon from the system tray. Скрыть иконку в системном лотке. @@ -1464,7 +1640,7 @@ Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items.<br/>%s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. - Сторонние URL (например, block explorer), которые отображаются на вкладке транзакций как пункты контекстного меню.<br/>%s в URL заменяется хэшем транзакции. URL отделяются друг от друга вертикальной чертой |. + Сторонние URL (например, block explorer), которые отображаются на вкладке транзакций как пункты контекстного меню.<br/>%s в URL заменяется хешем транзакции. URL отделяются друг от друга вертикальной чертой |. &Third party transaction URLs @@ -1498,6 +1674,10 @@ &Network &Сеть + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Включение удаления блоков существенно снижает требования к месту на диске для хранения транзакций. При этом все блоки все равно полностью проверяются. Отключение этой настройки потребует скачивания все цепочки блоков заново. + Map port using &UPnP Пробросить порт через &UPnP @@ -1580,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Знаков после запятой - - Active command-line options that override above options: - Активные параметры командной строки, которые перекрывают вышеуказанные настройки: - Reset all client options to default. Сбросить все настройки клиента на значения по умолчанию. @@ -1874,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 Неверный URL запроса платежа: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Невозможно обработать запрос платежа так как поддержка BIP70 была отключена. + Invalid payment address %1 Неверный адрес платежа %1 @@ -1974,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Получено + + Proposal + + Passing +%1 + Проходит +%1 + + + Needs additional %1 votes + Нужно еще %1 голосов + + + + ProposalModel + + Yes + Да + + + No + Нет + + + Hash + Хеш + + + Title + Название + + + Start + Начало + + + End + Конец + + + Amount + Сумма + + + Active + Активно + + + Status + Статус + + QObject @@ -2016,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Показывать заставку при запуске (по умолчанию: %u) + + Error: Specified data directory "%1" does not exist. + Ошибка: Указанная папка данных "%1" не существует. + + + Error: Cannot parse configuration file: %1. + Ошибка: не могу прочитать файл настроек: %1. + + + Error: %1 + Ошибка: %1 + + + Error: Failed to load application fonts. + Ошибка: не удалось загрузить шрифты приложения. + + + Error: Specified font-family invalid. Valid values: %1. + Ошибка: некорректное значение font-family. Допустимые значения: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Ошибка: некорректное значение font-weight-normal. Допустимы значения только от %1 до %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Ошибка: некорректное значение font-weight-bold. Допустимы значения только от %1 до %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Ошибка: некорректное значение font-scale. Допустимы значения только от %1 до %2. + + + Error: Invalid -custom-css-dir path. + Ошибка: некорректный путь -custom-css-dir. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Ошибка: не удалось обнаружить %1 CSS файл(ов) в папке -custom-css-dir. + %1 didn't yet exit safely... %1 еще не завершил работу... @@ -2117,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ неизвестно - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Ошибка: Указанная папка данных "%1" не существует. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Ошибка: не могу прочитать файл настроек: %1. Используйте для настроек только строки ключ=значение. - - - Error: %1 - Ошибка: %1 - - - Error: Failed to load application fonts. - Ошибка: не удалось загрузить шрифты приложения. - - - Error: Specified font-family invalid. Valid values: %1. - Ошибка: некорректное значение font-family. Допустимые значения: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Ошибка: некорректное значение font-weight-normal. Допустимы значения только от %1 до %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Ошибка: некорректное значение font-weight-bold. Допустимы значения только от %1 до %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Ошибка: некорректное значение font-scale. Допустимы значения только от %1 до %2. - - - Error: Invalid -custom-css-dir path. - Ошибка: некорректный путь -custom-css-dir. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Ошибка: не удалось обнаружить %1 CSS файл(ов) в папке -custom-css-dir. - - QRDialog @@ -2208,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Копировать изображение + + Resulting URI too long, try to reduce the text for label / message. + Получившийся URI слишком длинный, попробуйте сократить текст метки / сообщения. + + + Error encoding URI into QR Code. + Ошибка кодирования URI в QR-код. + + + QR code support not available. + QR-коды не поддерживаются. + Save QR Code Сохранить QR-код @@ -2263,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Отладочный лог-файл - - Current number of blocks - Текущее количество блоков - Client version Версия клиента - - Using BerkeleyDB version - Используется версия BerkeleyDB - Block chain Цепочка блоков @@ -2363,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Пересканировать цепочку блоков 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + С помощью этих кнопок Вы можете перезапустить кошелек с добавлением специальных команд для починки кошелька, исправления проблем с испорченными файлами блокчейна или пропавшими/конфликтующими транзакциями. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Перепроверить цепочку блоков на предмет отсутствующих в кошельке транзакций, начиная со времени создания кошелька. @@ -2383,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Папка с данными + + To specify a non-default location of the data directory use the '%1' option. + Чтобы указать нестандартное расположение папки с данными, используйте опцию '%1'. + + + Blocksdir + Папка с блоками + + + To specify a non-default location of the blocks directory use the '%1' option. + Чтобы указать нестандартное расположение папки с блоками, используйте опцию '%1'. + + + Current block height + Текущее количество блоков + Last block hash Хеш последнего блока + + Latest ChainLocked block hash + Хеш последнего блока с ChainLock + + + Latest ChainLocked block height + Номер последнего блока с ChainLock + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Открыть отладочный лог-файл %1 из текущего каталога данных. Для больших лог-файлов эта операция может занять несколько секунд. @@ -2463,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair Ремонт &кошелька - - Salvage wallet - Спасение кошелька - Recover transactions 1 Восстановление транзакций 1 @@ -2479,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Обновить формат кошелька - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - С помощью этих кнопок Вы можете перезапустить кошелек с добавлением специальных команд для починки кошелька, исправления проблем с испорченными файлами блокчейна или пропавшими/конфликтующими транзакциями. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Попытаться восстановить закрытые ключи из повреждённого wallet.dat. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Восстановить транзакции из цепочки блоков (сохранить мета-данные, например, о владельцах аккаунтов). @@ -2539,10 +2786,6 @@ https://www.transifex.com/projects/p/dash/ &Unban &Разблокировать - - default wallet - кошелек по умолчанию - Welcome to the %1 RPC console. Добро пожаловать в RPC-консоль %1. @@ -2667,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Сумма: - &Request payment - &Запросить платёж + &Create new receiving address + &Создать новый адрес для получения Clear all fields of the form. @@ -2710,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Копировать URI + + Copy address + Копировать адрес + Copy label Копировать метку @@ -2773,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Кошелек - - Resulting URI too long, try to reduce the text for label / message. - Получившийся URI слишком длинный, попробуйте сократить текст метки / сообщения. - - - Error encoding URI into QR Code. - Ошибка кодирования URI в QR-код. - RecentRequestsTableModel @@ -2879,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Выбрать... - - collapse fee-settings - свернуть настройки комиссии - Confirmation time target: Желаемое время подтверждения: @@ -2907,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Внимание: недостаточно данных для определения комиссии, используется комиссия по умолчанию. + + Hide transaction fee settings + Скрыть настройки комиссии + Hide Скрыть @@ -2997,20 +3236,12 @@ https://www.transifex.com/projects/p/dash/ %1 to %2 - С %1 на %2 + %1 на %2 Are you sure you want to send? Вы уверены, что хотите отправить? - - are added as transaction fee - добавлено в качестве комиссии транзакции - - - Total Amount = <b>%1</b><br />= %2 - Общая сумма = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(показано записей: %1 из %2)</b> @@ -3031,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds любые доступные средства + + Transaction fee + Комиссия + (%1 transactions have higher fees usually due to no change output being allowed) (комиссии у транзакций %1 как правило выше, поскольку у них отсутствует сдача) @@ -3051,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Внимание: Использование транзакции %1 с %2 и более входами может повредить вашей приватности и потому не рекомендуется + + Click to learn more + Нажмите, чтобы узнать больше + + + Total Amount + Полная сумма + + + or + или + Confirm send coins Подтвердите отправку монет @@ -3079,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Не удалось создать транзакцию! - - The transaction was rejected with the following reason: %1 - Транзакция отклонена по следующей причине: %1 - A fee higher than %1 is considered an absurdly high fee. Комиссия выше чем %1 считается "безумно высокой". @@ -3122,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Это нормальный платёж. - Pay &To: Полу&чатель: @@ -3166,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Ко&личество: + + The amount to send in the selected unit + Сумма к отправке в выбранных единицах + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Комиссия будет вычтена из отправляемой суммы. Получателю придет меньше Dash, сем указано в поле "Сумма". Если указано несколько получателей, то комиссия будет разделена между ними поровну. @@ -3210,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Да + Send + Отправить @@ -3299,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with Адрес Dash, которым было подписано сообщение + + The signed message to verify + Проверяемое подписанное сообщение + + + The signature given when the message was signed + Подпись, полученная при подписании сообщения + Verify the message to ensure it was signed with the specified Dash address Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Dash @@ -3540,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Полный размер транзакции + + (Certificate was not verified) + (Сертификат не был проверен) + Merchant Продавец @@ -3834,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Скопировать все детали транзакции - Edit label - Изменить метку + Edit address label + Изменить метку адреса Show transaction details @@ -3917,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Размерность для показа сумм. Кликните для выбора другой размерности. + + WalletController + + Close wallet + Закрыть кошелёк + + + Are you sure you wish to close the wallet <i>%1</i>? + Вы уверены, что хотите закрыть кошелёк <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Закрытие кошелька на слишком долгое время может привести к необходимости скачивания всей цепочки с самого начала, если у вас включено удаление блоков. + + WalletFrame @@ -3930,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Отправка + + default wallet + кошелек по умолчанию + WalletView @@ -3980,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Ошибка: не удалось начать прослушивание входящих подключений (прослушивание вернуло ошибку %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Расчет комиссии невозможен. Комиссия по умолчанию не установлена. подождите пару блоков либо укажите -fallbackfee. + + + 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 + Эта ошибка может появляться, если кошелёк был закрыт некорректно либо был ранее открыт через приложение с более новой версией Berkeley DB. Если так, то, пожалуйста, используйте то же приложение, которым вы открывали кошелёк в прошлый раз + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Это пре-релизная тестовая сборка - используйте на свой страх и риск - не используйте для добычи или торговых приложений @@ -4040,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Ошибка чтения базы данных, завершение работы. - - Error - Ошибка - - - Error: Disk space is low! - Ошибка: мало места на диске! - Failed to listen on any port. Use -listen=0 if you want this. Не удалось начать прослушивание на порту. Используйте -listen=0, если вас это устраивает. @@ -4084,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Запись превышает максимально допустимый размер. - - Failed to load fulfilled requests cache from - Ошибка загрузки кэша выполненных запросов из - - - Failed to load governance cache from - Ошибка загрузки кэша управления из - - - Failed to load masternode cache from - Ошибка загрузки кэша мастернод из - Found enough users, signing ( waiting %s ) Найдено достаточное количество участников, подписываем ( ожидание %s ) @@ -4120,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Неверный или отсутствующий начальный блок. Неправильный каталог данных для сети? - - Information - Информация - Input is not valid. Вход некорректен. @@ -4204,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Неизвестный ответ. - - Unsupported argument -benchmark ignored, use -debug=bench. - Опция -benchmark проигнорирована, используйте -debug=bench вместо нее. - - - Unsupported argument -debugnet ignored, use -debug=net. - Опция -debugnet проигнорирована, используйте -debug=net вместо нее. - - - Unsupported argument -tor found, use -onion. - Обнаружен неподдерживаемый параметр -tor, используйте -onion вместо него. - User Agent comment (%s) contains unsafe characters. Комментарий User Agent (%s) содержит небезопасные символы. @@ -4240,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s в режиме ожидания. - - %s request incomplete: %s - Запрос %s не завершен: %s - Can't mix while sync in progress. Перемешивание до завершения синхронизации невозможно. @@ -4260,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s файл содержит в себе все закрытые ключи для этого кошелька. Никому его не показывайте! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - Опция -masternode устарела и будет проигнорирована, достаточно указать -masternodeblsprivkey, чтобы запустить этот узел в качестве мастерноды . - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Не удалось создать резервную копию, т.к. файл уже существует! Такое могло случится, если вы перезапустили кошелек менее чем через 60 секунд после предыдущего запуска. Вы можете продолжить, если это допустимо. @@ -4296,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Длина строки сетевой версии (%i) превышает максимально допустимую (%i). Уменьшите количество или размер строк uacomment. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Обнаружен неподдерживаемый аргумент -socks. Выбор версии SOCKS больше невозможен, поддерживаются только прокси версии SOCKS5. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Неподдерживаемый аргумент -whitelistalwaysrelay проигнорирован, используйте -whitelistrelay и/или -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. ВНИМАНИЕ! Ну удалось обновить пул ключей, пожалуйста, разблокируйте кошелек. @@ -4312,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Кошелек заблокирован, невозможно пополнить пул ключей! Автоматические резервные копии и перемешивание отключены. Пожалуйста, разблокируйте кошелек для пополнения пула ключей. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Внимание: создаются блоки неизвестной версии! Возможно активированы неизвестные правила - You need to rebuild the database using -reindex to change -timestampindex Вам необходимо пересобрать базы данных с помощью -reindex, чтобы изменить -timestampindex @@ -4328,10 +4554,6 @@ https://www.transifex.com/projects/p/dash/ %s failed %s завершилось неудачно - - -litemode is deprecated. - Опция -litemode устарела. - -maxmempool must be at least %d MB -maxmempool должно быть минимум %d MB @@ -4340,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Автоматические бэкапы отключены + + Cannot set -peerblockfilters without -blockfilterindex. + Нельзя указывать -peerblockfilters без -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + Настройка %s применена только для сети %s поскольку она находится в секции [%s]. + + + Could not find asmap file %s + Не удалось найти файл asmap %s + + + Could not parse asmap file %s + Не удалось прочитать файл asmap %s + ERROR! Failed to create automatic backup ОШИБКА! Не удалось создать автоматический бэкап + + Error loading %s: Private keys can only be disabled during creation + Ошибка загрузки %s: Закрытые ключи могут быть отключены только при создании кошелька + Error upgrading evo database Ошибка обновления базы данных evo @@ -4352,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Ошибка: Произошла критическая ошибка, подробности смотрите в файле debug.log + + Error: Disk space is low for %s + Ошибка: мало места на диске для %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Ошибка: не удалось добавить сокет в epollfd (epoll_ctl вернул ошибку %s) @@ -4360,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Превышено максимальное количество попыток. - - Failed to clear fulfilled requests cache at - Ошибка очистки кэша выполненных запросов в - - - Failed to clear governance cache at - Ошибка очистки кэша управления в - - - Failed to clear masternode cache at - Ошибка очистки кэша мастернод в - Failed to commit EvoDB Ошибка записи EvoDB @@ -4388,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Не удалось удалить резервную копию, ошибка: %s - - Failed to load sporks cache from - Ошибка загрузки кэша спорков из - Failed to rescan the wallet during initialization Ошибка сканирования кошелька во время инициализации + + Invalid P2P permission: '%s' + Некорректные разрешения P2P : '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Неверная сумма в параметре -fallbackfee=<amount>: '%s' @@ -4404,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Некорректный masternodeblsprivkey. Пожалуйста, ознакомьтесь с документацией. - - It has been replaced by -disablegovernance. - Опция заменена на -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - Взамен активирована опция -disablegovernance. - Loading block index... Загрузка индекса блоков... @@ -4464,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Удаление блоков не может использовать отрицательное значение. + + Prune mode is incompatible with -blockfilterindex. + Режим удаления блоков несовместим с -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. Режим удаления блоков не совместим с -disablegovernance=false. @@ -4476,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Удаление старых блоков... + + Section [%s] is not recognized. + Секция [%s] не распознана. + Specified -walletdir "%s" does not exist Указанный -walletdir "%s" не существует @@ -4492,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Синхронизация блокчейна... + + The specified config file %s does not exist + + Указанный файл настроек %s не существует + + The wallet will avoid paying less than the minimum relay fee. Кошелек не будет платить комиссию меньше, чем необходимо для передачи. @@ -4532,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Не удалось привязаться к %s на этом компьютере. Возможно, %s уже запущен. + + Unable to create the PID file '%s': %s + Невозможно создать PID-файл '%s': %s + Unable to generate initial keys Не удалось сгенерировать начальные ключи - Upgrading UTXO database - Обновление базы UTXO + Unknown -blockfilterindex value %s. + Неизвестное значение -blockfilterindex %s. - Wallet %s resides outside wallet directory %s - Кошелёк %s располагается вне каталога с кошельками %s + Upgrading UTXO database + Обновление базы UTXO Wallet needed to be rewritten: restart %s to complete @@ -4568,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Вам необходимо пересобрать базы данных с помощью -reindex, чтобы изменить -spentindex - - You need to rebuild the database using -reindex to change -txindex - Вам необходимо пересобрать базы данных с помощью -reindex, чтобы изменить -txindex - no mixing available. перемешивание недоступно. @@ -4580,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. смотрите debug.log для получения подробной информации. - - Dash Core - Dash Core - The %s developers Разработчики %s @@ -4637,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Невозможно повторить блоки. Необходимо перестроить базы даных с помощью -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Внимание: кошелек повреждён, данные спасены! Оригинальный %s сохранён как %s в %s. Если Ваш баланс или транзакции некорректны, Вы должны восстановить файл из резервной копии. + Warning: Private keys detected in wallet {%s} with disabled private keys + Внимание: Закрытые ключи обнаружены в кошельке {%s} с отключенными закрытыми ключами %d of last 100 blocks have unexpected version %d из последних 100 блоков имеют неожиданную версию - - %s corrupt, salvage failed - %s повреждён, спасение данных не удалось - %s is not a valid backup folder! %s не является корректной директорией для резервной копии! + + %s is only allowed with a single wallet file + %s доступно только для единичного файла кошелька + %s is set very high! Для %s установлено слишком высокое значение! + + %s request incomplete: + Запрос %s не завершен: + -devnet can only be specified once -devnet может быть указано только один раз @@ -4668,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified Необходимо указать -rpcport, если указаны -devnet и -server + + A fatal internal error occurred, see debug.log for details + Произошла критическая ошибка, подробности смотрите в файле debug.log + Cannot resolve -%s address: '%s' Не удаётся разрешить адрес в параметре -%s: '%s' @@ -4684,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + Слишком мало места на диске! + Error loading %s Ошибка при загрузке %s @@ -4712,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Ошибка: не удалось добавить сокет в kqueuefd (kevent вернул ошибку %s) + + Failed to clear fulfilled requests cache at %s + Ошибка очистки кэша выполненных запросов в %s + + + Failed to clear governance cache at %s + Ошибка очистки кэша управления в %s + + + Failed to clear masternode cache at %s + Ошибка очистки кэша мастернод в %s + Failed to find mixing queue to join Не удалось найти очередь перемешивания + + Failed to load fulfilled requests cache from %s + Ошибка загрузки кэша выполненных запросов из %s + + + Failed to load governance cache from %s + Ошибка загрузки кэша управления из %s + + + Failed to load masternode cache from %s + Ошибка загрузки кэша мастернод из %s + + + Failed to load sporks cache from %s + Ошибка загрузки кэша спорков из %s + Failed to start a new mixing queue Не удалось создать очередь перемешивания @@ -4784,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. Последняя очередь была создана слишком недавно. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s поврежден. Попробуете воспользоваться утилитой dash-wallet для восстановления. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Не удалось сгенерировать ключ для адреса сдачи. Нет ключей во внутреннем хранилище и не получилось сгенерировать новых. + Last successful action was too recent. Последнее успешное действие было слишком недавно. @@ -4824,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Транзакция некорректна. - - Transaction too large for fee policy - Транзакция слишком большая для установленных ограничений комиссии - Unable to bind to %s on this computer (bind returned error %s) Невозможно привязаться к %s на этом компьютере (привязка вернула ошибку %s) @@ -4856,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Неподдерживаемая категория отладочной информации %s=%s. + + Upgrading txindex database + Обновление базы txindex + Verifying blocks... Проверка блоков... @@ -4868,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Кошелёк заблокирован. - - Warning - Внимание - - - Warning: %s is deprecated, please use %s instead - Внимание: %s устарело, используйте %s взамен - Warning: can't use %s and %s together, will prefer %s Внимание: одновременное использование %s и %s невозможно, будет использовано только %s diff --git a/src/qt/locale/dash_sk.ts b/src/qt/locale/dash_sk.ts index 5b1d34da77..5a3334f201 100644 --- a/src/qt/locale/dash_sk.ts +++ b/src/qt/locale/dash_sk.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Toto sú vaše Dash adresy pre posielanie platieb. Pred poslaním mincí vždy overte sumu a doručovaciu adresu. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Toto sú vaše Dash adresy pre posielanie platieb. Pre každú transakciu sa doporučuje použiť novú doručovaciu adresu. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Toto sú vaše Dash adresy na prijímanie platieb. Na vytvorenie nových adries použite tlačidlo „Vytvoriť novú prijímaciu adresu“ na karte prijímania. &Copy Address @@ -191,12 +191,8 @@ Zopakujte nové heslo - Show password - Ukázať heslo - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Zadajte nové heslo k peňaženke.<br/>Prosím použite heslo s dĺžkou aspon <b>10 alebo viac náhodných znakov</b>, alebo <b>8 alebo viac slov</b>. + Show passphrase + Zobraziť prístupovú frázu Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Zmena hesla - - Enter the old passphrase and new passphrase to the wallet. - Zadajte staré heslo a nové heslo k peňaženke. - Confirm wallet encryption Potvrďte zašifrovanie peňaženky @@ -246,6 +238,30 @@ Wallet encrypted Peňaženka zašifrovaná + + 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>. + Zadajte novú prístupovú frázu pre peňaženku.<br/>Použite prístupovú frázu pozostávajúcu <b>z desiatich alebo viacerých náhodných znakov</b> alebo <b>ôsmich alebo viacerých slov</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Zadajte starú a novú prístupovú frázu pre peňaženku. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Pamätajte, že šifrovanie vašej peňaženky nemôže plne ochrániť vaše prostriedky pred krádežou škodlivým softvérom, ktorý infikuje váš počítač. + + + Wallet to be encrypted + Peňaženka ktorá má byť zašifrovaná + + + Your wallet is about to be encrypted. + Vaša peňaženka bude čoskoro zašifrovaná. + + + Your wallet is now encrypted. + Vaša peňaženka je teraz zašifrovaná. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. DÔLEŽITÉ: Všetky doterajšie záložné kópie peňaženky ktoré ste zhotovili by mali byť nahradené novým zašifrovaným súborom s peňaženkou. Predchádzajúce zálohy súboru nezašifrovanej peňaženky obsahujú rovnakú HD frázu a stále majú plný prístup k všetkým vašim finančným prostriedkom rovnako ako nová zašifrovaná peňaženka. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Došlo k závažnej chybe. Dash Core už nemôže bezpečne pokračovať a bude ukončený. - - Dash Core - Dash Core - - - Wallet - Peňaženka - - - Node - Uzol - &Overview &Prehľad @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Vyžiadať platby (vygeneruje QR kódy a Dash: URI) + + &Sending addresses + &Odosielacie adresy + + + &Receiving addresses + &Prijímacie adresy + + + Open Wallet + Otvoriť Peňaženku + + + Open a wallet + Otvoriť peňaženku + + + Close Wallet... + Zatvoriť Peňaženku... + + + Close wallet + Zatvoriť peňaženku... + + + No wallets available + Nie je k dispozícii žiadna peňaženka + + + &Window + &Okno + + + Minimize + Minimalizovať + + + Zoom + Priblížiť + + + Main Window + Hlavné okno + &Transactions &Transakcie @@ -371,10 +419,6 @@ Quit application Ukončiť program - - Show information about Dash Core - Zobraziť informácie o Dash Core - About &Qt O &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Zobraziť automaticky vytvorené zálohy peňaženky - - &Sending addresses... - &Posielajúce adresy... - Show the list of used sending addresses and labels Zobraziť zoznam použitých adries odosielateľa a ich popisy - - &Receiving addresses... - P&rijímajúce adresy... - Show the list of used receiving addresses and labels Zobraziť zoznam použitých prijímacích adries a ich popisov @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Ukázať %1 zoznam možných nastavení Dash pomocou príkazového riadku + + default wallet + predvolená peňaženka + %1 client %1 klient @@ -565,6 +605,18 @@ &File &Súbor + + Show information about %1 + Zobraziť informácie o %1 + + + Create Wallet... + Vytvoriť peňaženku... + + + Create a new wallet + Vytvoriť novú peňaženku + %1 &information %1 &Informácie @@ -577,10 +629,6 @@ &Settings &Nastavenia - - &Tools - &Nástroje - &Help &Pomoc @@ -589,6 +637,14 @@ Tabs toolbar Lišta záložiek + + &Governance + &Dozor + + + View Governance Proposals + Zobraziť návrhy dozoru + %n active connection(s) to Dash network %n aktívne spojenie so sieťou Dash%n aktívne spojenia so sieťou Dash%n aktívnych spojení so sieťou Dash%n aktívnych spojení so sieťou Dash @@ -653,10 +709,18 @@ Error Chyba + + Error: %1 + Chyba: %1 + Warning Upozornenie + + Warning: %1 + Upozornenie: %1 + Information Informácie @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Peňaženka je <b>zašifrovaná</b> a momentálne <b>zamknutá</b> + + Proxy is <b>enabled</b>: %1 + Server proxy je <b>povolený:</b> %1 + + + Original message: + Pôvodná správa: + CoinControlDialog @@ -935,6 +1007,60 @@ nie je k dispozícii + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Vytvára sa peňaženka <b>%1</b>... + + + Create wallet failed + Vytvorenie peňaženky zlyhalo + + + Create wallet warning + Vytvorenie peňaženky s upozornením + + + + CreateWalletDialog + + Create Wallet + Vytvoriť peňaženku + + + Wallet Name + Názov peňaženky + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Zašifruje peňaženku. Peňaženka bude zašifrovaná pomocou prístupovej frázy podľa vášho výberu. + + + Encrypt Wallet + Zašifrovať peňaženku + + + 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. + Zakázať súkromné kľúče pre túto peňaženku. Peňaženky so zakázanými súkromnými kľúčmi nebudú mať žiadne súkromné kľúče a nemôžu mať HD pôvod ani importované súkromné kľúče. Toto je ideálne pre peňaženky, ktoré len sledujete. + + + Disable Private Keys + Zakázať súkromné kľúče + + + 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. + Vytvorí prázdnu peňaženku. Prázdne peňaženky pôvodne nemajú súkromné kľúče ani skripty. Súkromné kľúče a adresy je možné importovať, HD zdroj je možný nastaviť neskôr. + + + Make Blank Wallet + Vytvoriť prázdnu peňaženku + + + Create + Vytvoriť + + EditAddressDialog @@ -974,8 +1100,12 @@ Zadaná adresa "%1" nie je platná Dash adresa. - The entered address "%1" is already in the address book. - Vložená adresa "%1" sa už nachádza v adresári. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Adresa "%1" už existuje ako prijímacia adresa s menovkou "%2", a preto nemôže byť pridaná ako odosielacia adresa. + + + The entered address "%1" is already in the address book with label "%2". + Zadaná adresa "%1" je už v adresári s menovkou "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ Tu nemôžem vytvoriť dátový adresár. + + GovernanceList + + Form + Od + + + Filter List: + Filtrovať zoznam: + + + Filter propsal list + Filtrovať zoznam návrhov + + + Proposal Count: + Počet návrhov: + + + Filter by Title + Filtrovať podľa názvu + + + Proposal Info: %1 + Informácie o návrhu: %1 + + HelpMessageDialog version verzia - - (%1-bit) - (%1-bit) - About %1 O %1 @@ -1113,10 +1266,6 @@ Status Stav - - 0 - 0 - Filter List: Zoznam filtrov: @@ -1277,8 +1426,8 @@ Skryť - Unknown. Syncing Headers (%1)... - Neznámy. Synchronizujú sa hlavičky (%1)... + Unknown. Syncing Headers (%1, %2%)... + Neznáme. Synchronizujú sa hlavičky (%1, %2%)... @@ -1304,6 +1453,25 @@ Vyberte ktorý súbor s výzvou k platbe otvoriť + + OpenWalletActivity + + Open wallet failed + Otvorenie peňaženky zlyhalo + + + Open wallet warning + Upozornenie pri otvorení peňaženky + + + default wallet + predvolená peňaženka + + + Opening Wallet <b>%1</b>... + Otvára sa peňaženka <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache &Veľkosť vyrovnávacej pamäti databázy - - MB - MB - Number of script &verification threads Počet &vlákien overujúcich skript @@ -1338,6 +1502,22 @@ &Appearance &Vzhľad + + Prune &block storage to + Orezať blok úložiska na + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Vrátenie tohto nastavenia si vyžaduje opätovné stiahnutie celého blockchainu. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Zobraziť dodatočnú záložku, ktorá vypíše všetky vaše masternódy v prvej pod-zložke<br/>- a všetky masternódy v druhej pod-zložke. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Ukázať záložku masternódov + + Show additional tab listing governance proposals. + Zobraziť ďalšiu kartu so zoznamom návrhov. + + + Show Governance Tab + Zobraziť kartu dozoru + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Ak vypnete míňanie nepotvrdeného výdavku tak výdavok z transakcie <br>bude možné použiť až keď daná transakcia bude mať aspoň jedno potvrdenie.<br/> Toto má vplyv aj na výpočet vášho zostatku. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Automaticky otvoriť na smerovači port pre Dash Core klient. Toto funguje iba ak váš smerovač podporuje UPnP a je povolené + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Automaticky otvorte bitcoinový klientsky port na smerovači. Funguje to len vtedy, keď váš smerovač podporuje NAT-PMP a je povolený. Externý port môže byť náhodný. + + + Map port using NA&T-PMP + Mapovať port pomocou NA&T-PMP + Accept connections from outside. Prijímať spojenia zvonka. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Použiť samostatný SOCKS&5 proxy server na dosiahnutie počítačov cez skryté služby Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + Možnosti nastavené v tomto dialógovom okne sú prepísané príkazovým riadkom alebo v konfiguračnom súbore: + Hide the icon from the system tray. Skryť ikonu zo systémovej lišty. @@ -1474,6 +1674,10 @@ &Network &Sieť + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Povolenie orezávania výrazne znižuje miesto na disku potrebné na ukladanie transakcií. Všetky bloky sú stále plne overené. Vrátenie tohto nastavenia si vyžaduje opätovné stiahnutie celého blockchainu. + Map port using &UPnP Mapovať port pomocou &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Decimálne čísla - - Active command-line options that override above options: - Aktívne možnosti príkazového riadku, ktoré prepíšu možnosti vyššie: - Reset all client options to default. Vynulovať všetky voľby klienta na predvolené. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 URL pre stiahnutie výzvy na zaplatenie je neplatné: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Nie je možné spracovať žiadosť o platbu, pretože podpora BIP70 nebola skompilovaná. + Invalid payment address %1 Neplatná adresa platby %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Prijaté + + Proposal + + Passing +%1 + Prechádza +%1 + + + Needs additional %1 votes + Vyžaduje dodatočných %1 hlasov + + + + ProposalModel + + Yes + Áno + + + No + Nie + + + Hash + Hash + + + Title + Názov + + + Start + Štart + + + End + Koniec + + + Amount + Suma + + + Active + Aktívne + + + Status + Stav + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Zobraziť uvítaciu obrazovku pri spustení (predvolené: %u) + + Error: Specified data directory "%1" does not exist. + Chyba: Zadaný dátový adresár "%1" neexistuje. + + + Error: Cannot parse configuration file: %1. + Chyba: Nie je možné načítať konfiguračný súbor: %1. + + + Error: %1 + Chyba: %1 + + + Error: Failed to load application fonts. + Chyba: Nepodarilo sa načítať písma aplikácie. + + + Error: Specified font-family invalid. Valid values: %1. + Chyba: Zadaná rodina fontov je neplatná. Platné hodnoty: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Chyba: Zadaná hodnota normálnej váhy fontu je neplatná. Platný rozsah %1 až %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Chyba: Zadaná hodnota tučnej váhy fontu je neplatná. Platný rozsah %1 až %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Chyba: Zadaná hodnota škálovania fontu je neplatná. Platný rozsah %1 až %2. + + + Error: Invalid -custom-css-dir path. + Chyba: Neplatná cesta -custom-css-dir. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Chyba: %1 CSS súbor(ov) chýba v ceste -custom-css-dir. + %1 didn't yet exit safely... %1 nebol ešte bezpečne ukončený... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ neznámy - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Chyba: Zadaný adresár pre dáta „%1“ neexistuje. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Chyba: Nedá sa spracovať konfiguračný súbor: %1. Používajte iba syntax kľúč=hodnota. - - - Error: %1 - Chyba: %1 - - - Error: Failed to load application fonts. - Chyba: Nepodarilo sa načítať písma aplikácie. - - - Error: Specified font-family invalid. Valid values: %1. - Chyba: Zadaná rodina fontov je neplatná. Platné hodnoty: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Chyba: Zadaná hodnota normálnej váhy fontu je neplatná. Platný rozsah %1 až %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Chyba: Zadaná hodnota tučnej váhy fontu je neplatná. Platný rozsah %1 až %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Chyba: Zadaná hodnota škálovania fontu je neplatná. Platný rozsah %1 až %2. - - - Error: Invalid -custom-css-dir path. - Chyba: Neplatná cesta -custom-css-dir. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Chyba: %1 CSS súbor(ov) chýba v ceste -custom-css-dir. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &Kopírovať obrázok + + Resulting URI too long, try to reduce the text for label / message. + Výsledné URI je príliš dlhé, skrátite text pre popis / správu. + + + Error encoding URI into QR Code. + Chyba v zakódovaní URI do QR kódu + + + QR code support not available. + Podpora QR kódov nie je k dispozícii. + Save QR Code Uložiť QR kód @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Súbor záznamu ladenia - - Current number of blocks - Aktuálny počet blokov - Client version Verzia klienta - - Using BerkeleyDB version - Používa BerkeleyDB verziu - Block chain Reťazec blokov @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Znova prehľadať blockchain 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Nižšie uvedené tlačidlá reštartujú peňaženku s možnosťami príkazového riadka na opravu peňaženky, riešenie problémov s poškodenými súbormi blockchainu alebo chýbajúcimi/zastaranými transakciami. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Znova prehľadať reťazec blokov pre nájdenie chýbajúcich transakcií peňaženky od času jej vytvorenia. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Priečinok s dátami + + To specify a non-default location of the data directory use the '%1' option. + Ak chcete zadať iné ako predvolené umiestnenie adresára údajov, použite voľbu '%1'. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Ak chcete zadať iné ako predvolené umiestnenie adresára blokov, použite voľbu '%1'. + + + Current block height + Aktuálna výška bloku + Last block hash Hash posledný bloku + + Latest ChainLocked block hash + Najnovší blokový hash ChainLocked + + + Latest ChainLocked block height + Najnovšia výška bloku ChainLocked + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Otvoriť %1 ladiaci výpis z aktuálnej zložky. Pri veľkých súboroch to môže chvíľu trvať. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Oprava peňaženky - - Salvage wallet - Záchranná peňaženka - Recover transactions 1 Znova prehľadať transakcie 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Inovovať formát peňaženky - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Tlačidlá nižšie reštartujú peňaženku s príkazmi na opravu peňaženky, opravia chyby s poškodenými súbormi reťazca blokov, alebo chýbajúce či zastarané transakcie. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Pokus obnoviť súkromné kľúče z poškodeného wallet.dat. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Obnoviť transakcie z blockchainu (zachovať metaúdaje, napr. vlastníka účtu). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Suma: - &Request payment - &Vyžiadať platbu + &Create new receiving address + &Vytvoriť novú prijímaciu adresu Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Kopírovať URI + + Copy address + Kopírovať adresu + Copy label Kopírovať popis @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Peňaženka - - Resulting URI too long, try to reduce the text for label / message. - Výsledné URI je príliš dlhé, skrátite text pre popis / správu. - - - Error encoding URI into QR Code. - Chyba v zakódovaní URI do QR kódu - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Vybrať... - - collapse fee-settings - skryť nastavenia poplatkov - Confirmation time target: Cieľový čas potvrdenia: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Poznámka: Nedostatok údajov na odhad poplatku, použije sa preddefinovaná hodnota. + + Hide transaction fee settings + Skryť nastavenia transakčných poplatkov + Hide Skryť @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Určite chcete odoslať transakciu? - - are added as transaction fee - pridané ako transakčný poplatok - - - Total Amount = <b>%1</b><br />= %2 - Celková suma = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 z %2 zobrazených položiek)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds akékoľvek dostupné zdroje + + Transaction fee + Poplatok za transakciu + (%1 transactions have higher fees usually due to no change output being allowed) (Transakcie typu %1 majú zvyčajne vyššie poplatky, pretože nie sú povolené žiadne zmeny výstupu) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Varovanie: Použitie %1 s %2 alebo viac vstupmi môže poškodiť vaše súkromie a neodporúča sa + + Click to learn more + Kliknutím sa dozviete viac + + + Total Amount + Celková suma + + + or + alebo + Confirm send coins Potvrdiť odoslanie mincí @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Vytvorenie transakcie zlyhalo! - - The transaction was rejected with the following reason: %1 - Transakcia bola odmietnutá z nasledujúceho dôvodu: %1 - A fee higher than %1 is considered an absurdly high fee. Poplatok vyšší ako %1 sa považuje za neprimerane vysoký. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Toto je normálna platba. - Pay &To: Zapla&tiť: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Su&ma: + + The amount to send in the selected unit + Suma na odoslanie vo vybranej jednotke + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Poplatok sa odpočíta od čiastky, ktorú odosielate. Príjemca dostane menej Dash ako zadáte. Ak je vybraných viacero príjemcov, poplatok je rozdelený rovnakým dielom. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Áno + Send + Poslať @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with Adresa Dash s ktorou bola podpísaná správa + + The signed message to verify + Podpísaná správa na overenie + + + The signature given when the message was signed + Podpis daný pri podpise správy + Verify the message to ensure it was signed with the specified Dash address Overiť správu pre uistenie, že bola podpísaná zadanou Dash adresou @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Celková veľkosť transakcie + + (Certificate was not verified) + (Certifikát nebol overený) + Merchant Kupec @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Kopírovať všetky podrobnosti o transakcii - Edit label - Editovať popis + Edit address label + Upraviť štítok s adresou Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Jednotka pre zobrazovanie súm. Kliknite pre zvolenie inej jednotky. + + WalletController + + Close wallet + Zatvoriť peňaženku... + + + Are you sure you wish to close the wallet <i>%1</i>? + Naozaj chcete zatvoriť peňaženku <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Príliš dlhé zatvorenie peňaženky môže viesť k nutnosti opätovnej synchronizácie celého reťazca, ak je povolené orezávanie. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Poslať Mince + + default wallet + predvolená peňaženka + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Chyba: Počúvanie prichádzajúcich spojení zlyhalo (vrátená chyba je %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Odhad poplatku zlyhal. Fallbackfee je zakázaný. Počkajte niekoľko blokov alebo povoľte -fallbackfee. + + + 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 + Táto chyba sa môže vyskytnúť, ak táto peňaženka nebola vypnutá čisto a bola naposledy načítaná pomocou zostavy s novšou verziou Berkeley DB. Ak áno, použite softvér, ktorý naposledy načítal túto peňaženku + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Toto je predbežná testovacia zostava - používate na vlastné riziko - nepoužívajte na ťaženie alebo obchodné aplikácie @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Chyba pri načítaní z databázy, ukončuje sa. - - Error - Chyba - - - Error: Disk space is low! - Chyba: Nedostatok miesta na disku! - Failed to listen on any port. Use -listen=0 if you want this. Nepodarilo sa počúvať na žiadnom porte. Použite -listen=0 ak to takto chcete. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Vstup prekračuje maximálnu veľkosť. - - Failed to load fulfilled requests cache from - Chyba pri načítaní vyrovnávajúcej pamäti splnených zadaní z - - - Failed to load governance cache from - Chyba pri načítaní vyrovnávajúcej pamäti správy z - - - Failed to load masternode cache from - Chyba pri načítaní vyrovnávajúcej pamäti masternode z - Found enough users, signing ( waiting %s ) Nájdený dostatok používateľov, pospisuje sa ( čakanie %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Nesprávny alebo žiadny genesis blok nájdený. Nesprávny dátový priečinok alebo sieť? - - Information - Informácie - Input is not valid. Vstup nie je platný. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Neznáma odpoveď. - - Unsupported argument -benchmark ignored, use -debug=bench. - Nepodporovaný argument -benchmark bol ignorovaný, použite -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - Nepodporovaný argument -debugnet bol ignorovaný, použite -debug=net. - - - Unsupported argument -tor found, use -onion. - Nepodporovaný argument -tor, použite -onion. - User Agent comment (%s) contains unsafe characters. Komentár u typu klienta (%s) obsahuje riskantné znaky. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s je nečinný. - - %s request incomplete: %s - %s požiadavok nedokončený: %s - Can't mix while sync in progress. Miešanie nefunguje počas synchronizácie. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! Súbor %s obsahuje všetky súkromné kľúče z tejto peňaženky. Nezdieľajte s nikým! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - Podpora -masternode príkazu bola ukončená a je ignorovaná, na spustenie tohto uzla ako masternódu stačí zadanie -masternodeblsprivkey. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Chyba pri vytváraní zálohy, lebo súbor už existuje! Toto môže nastať v prípade, ak ste reštartovali peňaženku za menej ako 60 sekúnd. Ak Vám to nevadí, môžete pokračovať. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Celková dĺžka verzie sieťového reťazca (%i) prekračuje maximálnu dĺžku (%i). Znížte počet a veľkosť parametra uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Nájdený nepodporovaný argument -socks. Nastavenie SOCKS verzie nie je už možné, podporované sú už iba proxy SOCKS5. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Nepodporovaný argument -whitelistalwaysrelay ignorovaný, použite -whitelistrelay a/alebo -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. UPOZORNENIE! Chyba pri doplňovaní zásobníku kľúčov. Pre doplnenie musíte odomknúť vašu peňaženku. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Peňaženka je zamknutá takže sa nedá doplniť zásobník kľúčov. Automatické zálohy a miešanie sú vypnuté. Pre doplnenie musíte odomknúť vašu peňaženku. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Upozornenie: Ťaží sa neznáma verzia blokov! Je možné, že sú v platnosti neznáme pravidlá - You need to rebuild the database using -reindex to change -timestampindex Potrebujete prebudovať databázu použitím -reindex zmeniť -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ K návratu k neorezanému režimu je treba prestavať databázu použitím -reindex. Tiež sa znova stiahne celý blockchain - -litemode is deprecated. - -litemode je už nepodporovaný. + %s failed + %s zlyhalo -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Automatické zálohy sú deaktivované + + Cannot set -peerblockfilters without -blockfilterindex. + Nie je možné nastaviť -peerblockfilters bez -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + Nastavenie konfigurácie pre %s sa použije iba v sieti %s v sekcii [%s]. + + + Could not find asmap file %s + Nepodarilo sa nájsť súbor asmap %s + + + Could not parse asmap file %s + Nepodarilo sa načítať súbor asmap %s + ERROR! Failed to create automatic backup CHYBA! Nepodarilo sa vytvoriť automatickú zálohu + + Error loading %s: Private keys can only be disabled during creation + Chyba pri načítavaní %s: Súkromné kľúče je možné deaktivovať iba počas vytvárania + Error upgrading evo database Chyba pri aktualizácii databázy evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Chyba: Vyskytla sa interná chyba, pre viac informácií zobrazte debug.log + + Error: Disk space is low for %s + Chyba: Miesta na disku pre %s je málo + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Chyba: Nepodaril sa pridať soket do epollfd (epoll_ctl vrátil chybu %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Prekročený maximálny počet pokusov. - - Failed to clear fulfilled requests cache at - Vymazanie vyrovnávacej pamäte splnených požiadaviek sa nepodarilo o - - - Failed to clear governance cache at - Vymazanie medzipamäte riadenia sa nepodarilo o - - - Failed to clear masternode cache at - Vymazanie vyrovnávacej pamäte masternode sa nepodarilo o - Failed to commit EvoDB Nepodarilo sa vykonať EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Nepodarilo sa vymazať zálohu, chyba: %s - - Failed to load sporks cache from - Chyba pri načítaní vyrovnávajúcej pamäti sporks z - Failed to rescan the wallet during initialization Počas inicializácie sa nepodarilo znova naskenovať peňaženku + + Invalid P2P permission: '%s' + Neplatné povolenie P2P: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Neplatná suma pre -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Neplatný masternodeblsprivkey. Pozrite si dokumentáciu. - - It has been replaced by -disablegovernance. - Bol nahradený -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - Namiesto toho bola vynútená jeho náhrada -disablegovernance. - Loading block index... Načítavanie zoznamu blokov... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Orezanie nemôže byť nastavené na zápornú hodnotu. + + Prune mode is incompatible with -blockfilterindex. + Režim orezávania nie je kompatibilný s -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. Orezávanie nie je kompatibilné s -disablegovernance=false. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Redukovanie blockstore... + + Section [%s] is not recognized. + Sekcia [%s] nie je rozpoznaná. + Specified -walletdir "%s" does not exist Zadaný -walletdir "%s" neexistuje @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Synchronizuje sa blockchain... + + The specified config file %s does not exist + + Zadaný konfiguračný súbor %s neexistuje + + The wallet will avoid paying less than the minimum relay fee. Peňaženka zabráni zaplateniu menšej sumy ako je minimálny poplatok. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Nedá sa pripojiť k %s na tomto počítači. %s už pravdepodobne beží. + + Unable to create the PID file '%s': %s + Nie je možné vytvoriť súbor PID '%s': %s + Unable to generate initial keys Nie je možné vygenerovať počiatočné kľúče - Upgrading UTXO database - Vylepšuje sa databáza neminutých výstupov (UTXO) + Unknown -blockfilterindex value %s. + Neznáma -blockfilterindex hodnota %s. - Wallet %s resides outside wallet directory %s - Peňaženka %s sa nachádza mimo adresára peňaženky %s + Upgrading UTXO database + Vylepšuje sa databáza neminutých výstupov (UTXO) Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Potrebujete prebudovať databázu použitím -reindex zmeniť -spentindex - - You need to rebuild the database using -reindex to change -txindex - Potrebujete prebudovať databázu použitím -reindex zmeniť -txindex - no mixing available. miešanie nedostupné. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. podrobnosti nájdete v debug.log. - - Dash Core - Dash Core - The %s developers Vývojári %s @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Bloky nie je možné prehrať. Potrebujete prebudovať databázu použitím -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Varovanie: Peňaženka poškodená, dáta boli zachránené! Originálna %s ako %s v %s; ak váš zostatok alebo transakcie sú nesprávne, mali by ste obnoviť zálohu. + Warning: Private keys detected in wallet {%s} with disabled private keys + Upozornenie: Boli zistené súkromné kľúče v peňaženke {%s} so zakázanými súkromnými kľúčmi %d of last 100 blocks have unexpected version %d z posledných 100 blokov má neočakávanú verziu - - %s corrupt, salvage failed - %s je poškodený, záchrana zlyhala - %s is not a valid backup folder! %s nie je platný priečinok pre zálohu! + + %s is only allowed with a single wallet file + %s je povolené iba s jedným súborom peňaženky + %s is set very high! Hodnota %s je nastavená veľmi vysoko! + + %s request incomplete: + %s žiadosť nie je dokončená: + -devnet can only be specified once -devnet môže byť zadaný iba raz @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport musí byť zadaný, keď sú špecifikované -devnet a -server + + A fatal internal error occurred, see debug.log for details + Vyskytla sa závažná interná chyba, podrobnosti nájdete v debug.log + Cannot resolve -%s address: '%s' Nedá preložiť -%s adresu: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Autorské práva (C) + + Disk space is too low! + Príliš málo miesta na disku! + Error loading %s Chyba načítania %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Chyba: Nepodaril sa pridať soket do kqueuefd (kevent vrátil chybu %s) + + Failed to clear fulfilled requests cache at %s + Nepodarilo sa vymazať vyrovnávaciu pamäť splnených požiadaviek o %s + + + Failed to clear governance cache at %s + Nepodarilo sa vymazať vyrovnávaciu pamäť dozoru o %s + + + Failed to clear masternode cache at %s + Vymazanie vyrovnávacej pamäte masternode sa nepodarilo o %s + Failed to find mixing queue to join Nepodarilo sa nájsť frontu miešania + + Failed to load fulfilled requests cache from %s + Chyba pri načítaní vyrovnávajúcej pamäti splnených zadaní z %s + + + Failed to load governance cache from %s + Chyba pri načítaní vyrovnávajúcej pamäti dozoru z %s + + + Failed to load masternode cache from %s + Chyba pri načítaní vyrovnávajúcej pamäti masternode z %s + + + Failed to load sporks cache from %s + Chyba pri načítaní vyrovnávajúcej pamäti sporks z %s + Failed to start a new mixing queue Nepodarilo sa spustiť novú frontu miešania @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. Posledný dotaz bol vytvorený príliš nedávno. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s poškodený. Skúste použiť nástroj peňaženky dash-wallet na záchranu alebo obnovenie zálohy. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Nedá sa vygenerovať kľúč na zmenu adresy. V internej oblasti kľúčov nie sú žiadne kľúče a nemožno generovať žiadne kľúče. + Last successful action was too recent. Posledná akcia bola pred chvíľou. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Neplatná transakcia. - - Transaction too large for fee policy - Transakcia je príliš veľká pre aktuálne podmienky poplatkov - Unable to bind to %s on this computer (bind returned error %s) Na tomto počítači sa nedá vytvoriť väzba %s (vytvorenie väzby vrátilo chybu %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Nepodporovaná záznamová kategória %s =%s. + + Upgrading txindex database + Aktualizácia databázy txindex + Verifying blocks... Overovanie blokov... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Peňaženka je zamknutá. - - Warning - Upozornenie - - - Warning: %s is deprecated, please use %s instead - Upozornenie: Podpora %s je ukončená, použite radšej %s - Warning: can't use %s and %s together, will prefer %s Upozornenie: Nemôžete používať %s a %s súčasne, bude sa preferovať %s diff --git a/src/qt/locale/dash_th.ts b/src/qt/locale/dash_th.ts index a3ab9c7420..96da03f20f 100644 --- a/src/qt/locale/dash_th.ts +++ b/src/qt/locale/dash_th.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ นี่คือที่อยู่ Dash ของคุณสำหรับการส่งการชำระเงิน โปรดตรวจสอบจำนวนเงินและที่อยู่ผู้รับก่อนที่จะส่งเหรียญ - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - นี่เป็นที่อยู่ Dash ของคุณสำหรับการรับการชำระเงิน แนะนำให้ใช้ที่อยู่รับใหม่สำหรับแต่ละธุรกรรม + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + นี่คือที่อยู่ Dash ของคุณสำหรับรับการชำระเงินใช้ปุ่ม 'สร้างที่อยู่รับใหม่' ในแท็บรับเพื่อสร้างที่อยู่ใหม่ &Copy Address @@ -191,12 +191,8 @@ กรุณากรอกรหัสผ่านใหม่อีกครั้งหนึ่ง - Show password - แสดงรหัสผ่าน - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - ใส่วลีรหัสผ่านใหม่ลงในกระเป๋าสตางค์ <br/> โปรดใช้วลีรหัสผ่านที่มี<b>อักขระสุ่ม 10 ตัวขึ้นไป</b>, หรือ<b>มากกว่าหรือมากกว่า 8 คำ</b> + Show passphrase + แสดงวลีรหัสผ่าน Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase เปลี่ยนรหัสผ่าน - - Enter the old passphrase and new passphrase to the wallet. - ใส่รหัสผ่านเก่าและรหัสวลีใหม่ไปยังกระเป๋าสตางค์ - Confirm wallet encryption ยืนยันการเข้ารหัสกระเป๋าสตางค์ @@ -246,6 +238,30 @@ Wallet encrypted กระเป๋าสตางค์ถูกเข้ารหัสเรียบร้อยแล้ว + + 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>. + ป้อนรหัสผ่านใหม่สำหรับกระเป๋าเงิน<br/>โปรดใช้วลีรหัสผ่านของ <b>อักขระสุ่มสิบตัวขึ้นไป</b>, หรือ <b>แปดคำหรือมากกว่า</b>. + + + Enter the old passphrase and new passphrase for the wallet. + ป้อนวลีรหัสผ่านเก่าและวลีรหัสผ่านใหม่สำหรับกระเป๋าเงิน + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + โปรดจำไว้ว่าการเข้ารหัสกระเป๋าเงินของคุณไม่สามารถปกป้องเงินทุนของคุณได้อย่างเต็มที่จากการถูกขโมยโดยมัลแวร์ที่ติดไวรัสคอมพิวเตอร์ของคุณ + + + Wallet to be encrypted + กระเป๋าเงินที่จะเข้ารหัส + + + Your wallet is about to be encrypted. + กระเป๋าเงินของคุณกำลังจะถูกเข้ารหัส + + + Your wallet is now encrypted. + กระเป๋าเงินของคุณถูกเข้ารหัสแล้ว + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. ข้อมูลสำคัญ: การสำรองข้อมูลใดๆก่อนหน้านี้ในไฟล์กระเป๋าสตางค์ควรจะถูกแทนที่โดยใช้ไฟล์กระเป๋าสตางค์ที่เข้ารหัสลับใหม่ที่สร้างขึ้น การสำรองข้อมูลก่อนหน้าของไฟล์กระเป๋าสตางค์ที่ไม่ได้เข้ารหัสด้วย HD Seed เดียวกันจะยังคงสามารถเข้าถึงกองทุนของคุณได้อย่างเต็มที่เช่นเดียวกับกระเป๋าสตางค์ใหม่ที่มีการเข้ารหัสลับใหม่ @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. เกิดข้อผิดพลาดร้ายแรงขึ้น Dash Core ไม่สามารถดำเนินการต่อได้อย่างปลอดภัยและจะออกจากระบบ - - Dash Core - Dash Core - - - Wallet - กระเป๋าสตางค์ - - - Node - ปุ่ม - &Overview &ภาพรวม @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) เรียกเก็บการชำระเงิน (สร้างคิว อาร์ โค้ด QR codes และแหล่งที่มาของ Dash: URIs) + + &Sending addresses + &ส่งที่อยู่ + + + &Receiving addresses + รับที่อยู่ + + + Open Wallet + เปิดกระเป๋าสตางค์ + + + Open a wallet + เปิดกระเป๋า + + + Close Wallet... + ปิดกระเป๋าสตางค์ ... + + + Close wallet + ปิดกระเป๋าเงิน + + + No wallets available + ไม่มีกระเป๋าเงิน + + + &Window + &หน้าต่าง + + + Minimize + ย่อเล็กสุด + + + Zoom + ขยาย + + + Main Window + หน้าต่างหลัก + &Transactions &การทำธุรกรรม @@ -371,10 +419,6 @@ Quit application ออกจากโปรแกรม - - Show information about Dash Core - แสดงข้อมูลเกี่ยวกับ Dash Core - About &Qt เกี่ยวกับ &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups แสดงการสำรองข้อมูลกระเป๋าสตางค์ที่สร้างขึ้นโดยอัตโนมัติ - - &Sending addresses... - &กำลังส่งข้อมูลที่อยู่... - Show the list of used sending addresses and labels แสดงรายการ ที่เก็บเงินที่จะส่ง bitcoin ออก และป้ายชื่อ ที่ใช้ไปแล้ว - - &Receiving addresses... - &ที่อยู่ผู้รับ - Show the list of used receiving addresses and labels แสดงรายการที่อยู่ผู้รับและป้ายชื่อที่ใช้ไปแล้ว @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options แสดง %1 ข้อความช่วยเหลือ เพื่อแสดงรายการ ตัวเลือกที่เป็นไปได้สำหรับ Dash command-line + + default wallet + กระเป๋าเงินเริ่มต้น + %1 client %1 ไคลเอนต์ @@ -565,6 +605,18 @@ &File &ไฟล์ + + Show information about %1 + แสดงข้อมูลเกี่ยวกับ %1 + + + Create Wallet... + สร้างกระเป๋าสตางค์ ... + + + Create a new wallet + สร้างกระเป๋าเงินใหม่ + %1 &information %1 &ข้อมูล @@ -577,10 +629,6 @@ &Settings &การตั้งค่า - - &Tools - &เครื่องมือ - &Help &ช่วยเหลือ @@ -589,6 +637,14 @@ Tabs toolbar แถบเครื่องมือ + + &Governance + และการกำกับดูแล + + + View Governance Proposals + ดูข้อเสนอการกำกับดูแล + %n active connection(s) to Dash network %n เชื่อมต่อใช้งานกับเครือข่าย Dash @@ -653,10 +709,18 @@ Error ข้อผิดพลาด + + Error: %1 + ข้อผิดพลาด: %1 + Warning คำเตือน + + Warning: %1 + คำเตือน: %1 + Information ข้อมูล @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> กระเป๋าเงินถูก <b>เข้ารหัส</b> และในปัจจุบัน <b>ล็อค </b> + + Proxy is <b>enabled</b>: %1 + เปิดใช้งาน <b>พร็อกซี</b>: %1 + + + Original message: + ข้อความต้นฉบับ: + CoinControlDialog @@ -935,6 +1007,60 @@ n/a + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + การสร้างกระเป๋าเงิน <b>%1</b>... + + + Create wallet failed + สร้างกระเป๋าเงินล้มเหลว + + + Create wallet warning + สร้างคำเตือนกระเป๋าเงิน + + + + CreateWalletDialog + + Create Wallet + สร้างกระเป๋าเงิน + + + Wallet Name + ชื่อกระเป๋าเงิน + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + เข้ารหัสกระเป๋าสตางค์กระเป๋าเงินจะถูกเข้ารหัสด้วยรหัสผ่านที่คุณเลือก + + + Encrypt Wallet + เข้ารหัสกระเป๋าสตางค์ + + + 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. + ปิดการใช้งานคีย์ส่วนตัวสำหรับกระเป๋าเงินนี้ กระเป๋าเงินที่ปิดการใช้งานคีย์ส่วนตัวและไม่มีคีย์ส่วนตัว HD seed หรือปุ่มส่วนตัวนำเข้าเหมาะสำหรับ จะเป็นเพียงกระเป๋าที่ไม่ได้ใช้งานเท่านั้น + + + Disable Private Keys + ปิดใช้งานคีย์ส่วนตัว + + + 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. + ทำกระเป๋าเงินว่างเปล่า กระเป๋าเงินที่ว่างเปล่าไม่ได้มีปุ่มส่วนตัวหรือสคริปต์สามารถนำเข้าคีย์และที่อยู่ส่วนตัวหรือสามารถตั้งค่า HD seed ได้ในภายหลัง + + + Make Blank Wallet + ทำกระเป๋าเงินว่างเปล่า + + + Create + สร้าง + + EditAddressDialog @@ -974,8 +1100,12 @@ ที่อยู่ที่ป้อน "%1" ไม่ใช่ที่อยู่ Dash ที่ถูกต้อง - The entered address "%1" is already in the address book. - ที่อยู่ที่ป้อน "%1" อยู่ในสมุดที่อยู่แล้ว + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + ที่อยู่ "%1" มีอยู่แล้วในฐานะที่อยู่ที่ได้รับพร้อมป้ายกำกับ "%2" และไม่สามารถเพิ่มเป็นที่อยู่ที่ส่งได้ + + + The entered address "%1" is already in the address book with label "%2". + ที่อยู่ที่ป้อน "%1" อยู่ในสมุดที่อยู่พร้อมฉลาก "%2" Could not unlock wallet. @@ -1009,16 +1139,39 @@ ไม่สามารถสร้างไดเร็กทอรี่ข้อมูลที่นี่ + + GovernanceList + + Form + จาก + + + Filter List: + รายการตัวกรอง: + + + Filter propsal list + รายชื่อข้อเสนอตัวกรอง + + + Proposal Count: + จำนวนข้อเสนอ: + + + Filter by Title + กรองตามชื่อ + + + Proposal Info: %1 + ข้อมูลข้อเสนอ: %1 + + HelpMessageDialog version เวอร์ชั่น - - (%1-bit) - (%1-บิท) - About %1 เกี่ยวกับ %1 @@ -1113,10 +1266,6 @@ Status สถานะ - - 0 - ศูนย์ - Filter List: ตัวกรองบัญชีรายชื่อ @@ -1277,8 +1426,8 @@ ซ่อน - Unknown. Syncing Headers (%1)... - ไม่ทราบ กำลังซิงค์ส่วนหัว (%1) ... + Unknown. Syncing Headers (%1, %2%)... + ไม่ทราบการซิงค์ส่วนหัว (%1, %2%)... @@ -1304,6 +1453,25 @@ เลือกไฟล์คำขอชำระเงินเพื่อเปิด + + OpenWalletActivity + + Open wallet failed + เปิดกระเป๋าเงินล้มเหลว + + + Open wallet warning + คำเตือนกระเป๋าสตางค์เปิด + + + default wallet + กระเป๋าเงินเริ่มต้น + + + Opening Wallet <b>%1</b>... + เปิดกระเป๋า <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache ขนาดของ &ฐานข้อมูล cache - - MB - MB - Number of script &verification threads จำนวนของสคริปท์ &หัวข้อการตรวจสอบ @@ -1338,6 +1502,22 @@ &Appearance &ลักษณะ + + Prune &block storage to + Prune & ที่เก็บข้อมูลบล็อก เพื่อ + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + การคืนค่าการตั้งค่านี้ต้องดาวน์โหลดบล็อกเชนทั้งหมดอีกครั้ง + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. แสดงแท็บเพิ่มเติมแสดง masternodes ทั้งหมดของคุณในแท็บย่อยแรก <br/>และ masternodes ทั้งหมดบนเครือข่ายในแท็บย่อยที่สอง @@ -1346,6 +1526,14 @@ Show Masternodes Tab แสดงแถบ Masternodes + + Show additional tab listing governance proposals. + แสดงข้อเสนอการกำกับดูแลเพิ่มเติม + + + Show Governance Tab + แสดงแท็บการกำกับดูแล + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. ถ้าหากคุณปิดการใช้จ่ายในการเปลี่ยนแปลงที่ไม่ได้รับการยืนยัน การเปลี่ยนแปลงจากธุรกรรม<br/>จะไม่สามารถใช้ได้จนกว่ารายการดังกล่าวจะมีการยืนยันอย่างน้อยหนึ่งรายการ<br/>นอกจากนี้ยังมีผลต่อการคำนวณยอดคงเหลือของคุณอีกด้วย @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. เปิด port ลูกค้าของ Dash Core บนเราเตอร์โดยอัตโนมัติ การทำงานนี้ใช้ได้เฉพาะเมื่อเราเตอร์ของคุณรองรับ UPnP และเปิดใช้งานแล้ว + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + ปิดพอร์ตไคลเอนต์ Bitcoin โดยอัตโนมัติบนเราเตอร์นี้ใช้งานได้เฉพาะเมื่อเราเตอร์ของคุณรองรับ NAT-PMP และเปิดใช้งานพอร์ตภายนอกอาจเป็นการสุ่ม + + + Map port using NA&T-PMP + พอร์ตแผนที่โดยใช้ NA&T-PMP + Accept connections from outside. ยอมรับการเชื่อมต่อจากภายนอก @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: ใช้พร็อกซี SOCKS&5 แยกเพื่อเข้าถึงเพื่อนร่วมทางผ่านบริการที่ซ่อนไว้ของ Tor: + + Options set in this dialog are overridden by the command line or in the configuration file: + ตัวเลือกที่ตั้งไว้ในกล่องโต้ตอบนี้จะถูกแทนที่โดยบรรทัดคำสั่งหรือในไฟล์กำหนดค่า: + Hide the icon from the system tray. ซ่อนไอคอนจาก System tray @@ -1474,6 +1674,10 @@ &Network &เน็ตเวิร์ก + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + การเปิดใช้งาน pruning อย่างมีนัยสำคัญช่วยลดพื้นที่ดิสก์ที่จำเป็นในการเก็บธุรกรรมบล็อกทั้งหมดยังคงผ่านการตรวจสอบอย่างสมบูรณ์การคืนค่าการตั้งค่านี้ต้องดาวน์โหลดบล็อกเชนทั้งหมดอีกครั้ง + Map port using &UPnP แผนที่ port โดยใช้ &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits ตัวเลขทศนิยม - - Active command-line options that override above options: - ตัวเลือก command-line แอกทีฟอยู่นี้ จะแทนที่ ตัวเลือกด้านบนนี้: - Reset all client options to default. รีเซต ไคลเอ็นออพชั่น กลับไปเป็นค่าเริ่มต้น @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 URL การเรียกร้องขอการชำระเงินไม่ถูกต้อง: %1 + + Cannot process payment request because BIP70 support was not compiled in. + ไม่สามารถดำเนินการตามคำขอการชำระเงินเนื่องจากการสนับสนุน BIP70 ไม่ได้รวบรวมไว้ + Invalid payment address %1 ที่อยู่การชำระเงินไม่ถูกต้อง %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ ได้รับ + + Proposal + + Passing +%1 + ผ่าน +%1 + + + Needs additional %1 votes + ต้องการ %1 โหวต + + + + ProposalModel + + Yes + ใช่ + + + No + ไม่ใช่ + + + Hash + Hash + + + Title + ชื่อ + + + Start + เริ่ม + + + End + จบ + + + Amount + จำนวน + + + Active + ทำงาน + + + Status + สถานะ + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) แสดง splash screen ตอนเริ่มต้น (ค่าเริ่มต้น: %u) + + Error: Specified data directory "%1" does not exist. + ข้อผิดพลาด: ไม่มีไดเรกทอรีข้อมูลที่ระบุ "%1" ไม่มีอยู่ + + + Error: Cannot parse configuration file: %1. + ข้อผิดพลาด: ไม่สามารถแยกวิเคราะห์ไฟล์กำหนดค่า: %1 + + + Error: %1 + ข้อผิดพลาด: %1 + + + Error: Failed to load application fonts. + ข้อผิดพลาด: ไม่สามารถโหลดฟอนต์แอปพลิเคชัน + + + Error: Specified font-family invalid. Valid values: %1. + ข้อผิดพลาด: ครอบครัวฟอนต์ที่ระบุไม่ถูกต้อง ค่าที่ถูกต้อง: %1 + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + ข้อผิดพลาด: ระบุว่าน้ำหนักตัวอักษร-ปกติไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + ข้อผิดพลาด: ตัวอักษรที่ระบุน้ำหนักตัวหนาไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 + + + Error: Specified font-scale invalid. Valid range %1 to %2. + ข้อผิดพลาด: ตัวอักษรที่ระบุไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 + + + Error: Invalid -custom-css-dir path. + ข้อผิดพลาด: เส้นทางไม่ถูกต้อง -custom-css-dir + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + ข้อผิดพลาด:%1 CSS file(s) หายไปในเส้นทาง -custom-css-dir + %1 didn't yet exit safely... %1 ยังไม่สามารถออกจากระบบได้อย่างปลอดภัย ... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ ไม่ทราบ - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - ข้อผิดพลาด: ไม่มีไดเรกทอรีข้อมูลพิเศษ "%1" ที่ระบุ - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - ข้อผิดพลาด: ไม่สามารถวิเคราะห์แยกไฟล์ได้: %1 ใช้คีย์เท่านั้น = value syntax - - - Error: %1 - ข้อผิดพลาด: %1 - - - Error: Failed to load application fonts. - ข้อผิดพลาด: ไม่สามารถโหลดแอพพลิเคชั่นแบบอักษร - - - Error: Specified font-family invalid. Valid values: %1. - ข้อผิดพลาด: ระบุรูปแบบตัวอักษรไม่ถูกต้อง ค่าที่ถูกต้อง: %1 - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - ข้อผิดพลาด: ระบุค่าตัวอักษรปกติไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - ข้อผิดพลาด: ระบุค่าตัวอักษรที่เป็นตัวหนาไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 - - - Error: Specified font-scale invalid. Valid range %1 to %2. - ข้อผิดพลาด: ระบุแบบอักษรขนาดตัวอักษรไม่ถูกต้อง ช่วงที่ถูกต้อง %1 ถึง %2 - - - Error: Invalid -custom-css-dir path. - ข้อผิดพลาด: Invalid -custom-css-dir path - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - ข้อผิดพลาด: %1 CSS file(s) missing in -custom-css-dir path - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &คัดลอกรูปภาพ + + Resulting URI too long, try to reduce the text for label / message. + ผลลัพธ์ URI ยาวเกินไปพยายามลดข้อความสำหรับฉลาก/ข้อความ + + + Error encoding URI into QR Code. + ข้อผิดพลาดการเข้ารหัส URI เป็นรหัส QR + + + QR code support not available. + การสนับสนุนรหัส QR ไม่พร้อมใช้งาน + Save QR Code บันทึกโค้ด QR @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file ไฟล์บันทึกข้อผิดพลาด - - Current number of blocks - จำนวนบล็อคปัจจุบัน - Client version ไคลเอนต์เวอร์ชั่น - - Using BerkeleyDB version - ใช้ BerkeleyDB เวอร์ชัน - Block chain Block chain @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 สแกน blockchain ไฟล์ 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + ปุ่มด้านล่างจะรีสตาร์ทกระเป๋าเงินด้วยตัวเลือกบรรทัดคำสั่งเพื่อซ่อมแซมกระเป๋าเงินแก้ไขปัญหาด้วยไฟล์บล็อกเชนที่เสียหายหรือการทำธุรกรรมที่ล้าสมัย + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: สแกนโซ่บล็อกอีกครั้งสำหรับการทำธุรกรรมกระเป๋าสตางค์ที่ขาดหายไปเริ่มต้นจากการสร้างกระเป๋าสตางค์ @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datadir + + To specify a non-default location of the data directory use the '%1' option. + ในการระบุตำแหน่งที่ไม่ใช่ค่าเริ่มต้นของไดเร็กทอรีข้อมูลใช้ตัวเลือก '%1' + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + ในการระบุตำแหน่งที่ไม่ใช่ค่าเริ่มต้นของไดเร็กทอรีบล็อกใช้ตัวเลือก '%1' + + + Current block height + ความสูงบล็อกปัจจุบัน + Last block hash hash บล็อกล่าสุด + + Latest ChainLocked block hash + แฮชบล็อก ChainLocked ล่าสุด + + + Latest ChainLocked block height + ความสูงของบล็อก ChainLocked ล่าสุด + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. เปิดแฟ้มบันทึกข้อผิดพลาด %1 จากไดเร็กทอรี่ข้อมูลปัจจุบัน อาจใช้เวลาสักครู่สำหรับไฟล์บันทึกขนาดใหญ่ @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &ซ่อมกระเป๋าสตางค์ - - Salvage wallet - กู้คืนกระเป๋าสตางค์ - Recover transactions 1 กู้คืนการทำธุรกรรม 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format อัพเกรดรูปแบบกระเป๋าสตางค์ - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - ปุ่มด้านล่างจะเริ่มต้นกระเป๋าสตางค์ด้วยตัวเลือก command-line เพื่อซ่อมแซมกระเป๋าสตางค์และแก้ไขปัญหาเกี่ยวกับไฟล์ blockhain ที่เสียหายหรือการทำธุรกรรมที่ขาดหายไป/ล้าสมัย - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: พยายามกู้คืนคีย์ส่วนตัวของ wallet.dat ที่เสียหาย - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: กู้คืนธุรกรรมจาก blockchain (เก็บ meta-data เช่น เจ้าของบัญชี) @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &จำนวน: - &Request payment - &การขอชำระเงิน + &Create new receiving address + &สร้างที่อยู่ใหม่ที่ได้รับ Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI คัดลอก URI + + Copy address + คัดลอกที่อยู่ + Copy label คัดลอกป้ายชื่อ @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet กระเป๋าสตางค์ - - Resulting URI too long, try to reduce the text for label / message. - ผลลัพธ์ URI ยาวเกินไปพยายามลดข้อความสำหรับป้ายกำกับ / ข้อความ - - - Error encoding URI into QR Code. - เกิดข้อผิดพลาดในการเข้ารหัส URI ไปยัง QR Code - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... เลือก... - - collapse fee-settings - ยุบค่าธรรมเนียมการตั้งค่า - Confirmation time target: การยืนยันเวลาเป้าหมาย @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. หมายเหตุ: ข้อมูลไม่เพียงพอสำหรับการประมาณการค่าบริการ โปรดใช้ค่าบริการ fallback แทน + + Hide transaction fee settings + ซ่อนการตั้งค่าค่าธรรมเนียมการทำธุรกรรม + Hide ซ่อน @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? คุณแน่ใจว่าคุณต้องการส่งใช่หรือไม่? - - are added as transaction fee - จะถูกเพิ่มเป็นค่าธรรมเนียมการทำธุรกรรม - - - Total Amount = <b>%1</b><br />= %2 - จำนวนเงินทั้งหมด = <b>%1</b> <br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 of %2 รายการที่แสดง)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds เงินทุนที่มีอยู่ + + Transaction fee + ค่าธรรมเนียมการทำธุรกรรม + (%1 transactions have higher fees usually due to no change output being allowed) (การทำธุรกรรมแบบปกปิดข้อมูล %1 มีค่าธรรมเนียมสูงขึ้นเนื่องมาจากไม่มีการให้ผลลัพธ์ที่เปลี่ยนแปลง) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended คำเตือน: การใช้ธุรกรรมแบบบปกปิดข้อมูล %1 ด้วยการนำเข้าข้อมูล %2 หรือมากกว่า สามารถสร้างความเสียหายต่อความเป็นส่วนตัวของคุณได้ ไม่แนะนำ + + Click to learn more + คลิกเพื่อเรียนรู้เพิ่มเติม + + + Total Amount + จำนวนเงินทั้งหมด + + + or + หรือ + Confirm send coins ยืนยันการส่งเหรียญ @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! การสร้างธุรกรรมล้มเหลว! - - The transaction was rejected with the following reason: %1 - การทำธุรกรรมถูกปฏิเสธด้วยเหตุผลดังต่อไปนี้: %1 - A fee higher than %1 is considered an absurdly high fee. ค่าธรรมเนียมสูงกว่า %1 ถือว่าเป็นค่าธรรมเนียมสูงอย่างไร้เหตุผล @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - นี่เป็นการชำระเงินปกติ - Pay &To: จ่าย &ไปยัง: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: จำนวน: + + The amount to send in the selected unit + จำนวนเงินในการส่งในหน่วยที่เลือก + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. ค่าธรรมเนียมจะถูกหักออกจากจำนวนเงินที่ส่ง ผู้รับจะได้รับ Dash น้อยกว่าที่คุณป้อนในฟิลด์ หากมีการเลือกผู้รับหลายรายค่าธรรมเนียมจะแบ่งเท่า ๆ กัน @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - ใช่ + Send + ส่ง @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with ข้อความที่อยู่ Dash ถูกเซ็นชื่อด้วย + + The signed message to verify + ข้อความที่ลงนามเพื่อยืนยัน + + + The signature given when the message was signed + ลายเซ็นที่กำหนดเมื่อมีการลงนามข้อความ + Verify the message to ensure it was signed with the specified Dash address ยืนยันข้อความเพื่อให้แน่ใจว่าข้อความถูกเซ็นชื่อด้วยที่อยู่ Dash ที่ระบุ @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size ขนาดธุรกรรมทั้งหมด + + (Certificate was not verified) + (ไม่ได้รับการยืนยันใบรับรอง) + Merchant ร้านค้า @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ คัดลอกรายละเอียดธุรกรรมทั้งหมด - Edit label - แก้ไขป้ายชื่อ + Edit address label + แก้ไขที่อยู่ฉลาก Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ หน่วยเพื่อแสดงจำนวนเงิน คลิกเพื่อเลือกหน่วยอื่น + + WalletController + + Close wallet + ปิดกระเป๋าเงิน + + + Are you sure you wish to close the wallet <i>%1</i>? + คุณแน่ใจหรือว่าต้องการปิดกระเป๋าเงิน <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + การปิดกระเป๋าเงินค้างไว้นานเกินไปอาจส่งผลให้มีการเข้าถึงเชนทั้งหมดหากเปิดใช้งาน pruning + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins ส่งเหรียญ + + default wallet + กระเป๋าเงินเริ่มต้น + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) ข้อผิดพลาด: ฟังการเชื่อมต่อขาเข้าล้มเหลว (ฟังข้อผิดพลาด %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + การประมาณค่าธรรมเนียมล้มเหลว Fallbackfee ถูกปิดการใช้งาน รอสองสามช่วงบล็อกหรือเปิดใช้งาน -fallbackfee + + + 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 + ข้อผิดพลาดนี้อาจเกิดขึ้นหากกระเป๋าเงินนี้ไม่ได้ปิดระบบอย่างหมดจดและถูกโหลดครั้งสุดท้ายโดยใช้การสร้างที่มีรุ่นใหม่กว่าของ Berkeley DB ถ้าเป็นเช่นนั้นโปรดใช้ซอฟต์แวร์ที่โหลดล่าสุดกระเป๋าเงินนี้ + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications นี่คือการสร้างการทดสอบก่อนวางจำหน่าย - ใช้ได้แต่ต้องรับผิดชอบความเสี่ยงด้วยตัวเอง- ไม่ใช้แอพลิเคชั่นสำหรับการทำขุดหรือร้านค้า @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. เกิดข้อผิดพลาดในการอ่านจากฐานข้อมูล, กำลังปิดเครื่อง - - Error - ข้อผิดพลาด - - - Error: Disk space is low! - ข้อผิดพลาด: พื้นที่ดิสก์ต่ำ! - Failed to listen on any port. Use -listen=0 if you want this. เกิดข้อผิดพลาดในการฟัง port ใด ๆ ใช้ -listen = 0 ถ้าต้องการ @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. รายการมีขนาดสูงเกินไป - - Failed to load fulfilled requests cache from - โหลดคำขอแคชล้มเหลว - - - Failed to load governance cache from - ไม่สามารถโหลดแคชกำกับดูแลจาก - - - Failed to load masternode cache from - ไม่สามารถโหลดแคช masternode ได้ - Found enough users, signing ( waiting %s ) พบผู้ใช้เพียงพอ, กำลังลงนาม... ( กำลังรอ %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? ไม่ถูกต้องหรือไม่พบต้นกำเนิดบล็อค Datadir สำหรับเครือข่ายผิดหรือไม่? - - Information - ข้อมูล - Input is not valid. ข้อมูลไม่ถูกต้อง @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. การตอบสนองที่ไม่รู้จัก - - Unsupported argument -benchmark ignored, use -debug=bench. - อาร์กิวเมนต์ที่ไม่ได้รับการสนับสนุน -benchmark ถูกละเว้นใช้ -debug = bench - - - Unsupported argument -debugnet ignored, use -debug=net. - อาร์กิวเมนต์ที่ไม่ได้รับการสนับสนุน -debugnet ถูกละเว้นใช้ -debug = net - - - Unsupported argument -tor found, use -onion. - อาร์กิวเมนต์ที่ไม่ได้รับการสนับสนุน พบ -tor , ใช้ -onion. - User Agent comment (%s) contains unsafe characters. ตัวแทนผู้ใช้แสดงความคิดเห็น (%s) มีอักขระที่ไม่ปลอดภัย @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s ไม่ได้ใช้งาน - - %s request incomplete: %s - คำขอ %s ไม่สมบูรณ์: %s - Can't mix while sync in progress. ไม่สามารถผสมระหว่างอยู่ในดำเนินการซิงค์ได้ @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! ไฟล์ %s มี private keys ทั้งหมดจากกระเป๋าสตางค์นี้ ห้ามเผยแพร่กับคนอื่น - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - masternode ที่ถูกคัดค้านและเพิกเฉย การระบุเจาะจงอย่างละเอียดของ masternodeblsprivkey เพียงพอที่จะเริ่มให้โหนดนี้เป็น masternode - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. ไม่สามารถสร้างไฟล์สำรองข้อมูลได้แล้ว! กรณีนี้อาจเกิดขึ้นหากคุณรีสตาร์ทกระเป๋าสตางค์ภายในเวลาไม่ถึง 60 วินาที คุณสามารถดำเนินการต่อได้หากคุณต้องการ @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. ความยาวทั้งหมดของสตริงเวอร์ชันเครือข่าย (%i) เกินความยาวสูงสุด (%i) ลดจำนวนหรือขนาดของ uacomments - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - พบอาร์กิวเมนต์ที่ไม่สนับสนุน -socks การตั้งค่าเวอร์ชัน BB ไม่สามารถทำได้อีกต่อไป สนับสนุนพร็อกซี SOCKS5 เท่านั้น - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - เพิกเฉยอาร์กิวเมนต์ที่ไม่สนับสนุน - whitelistalwaysrelay ใช้ -whitelistrelay และ/หรือ -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. คำเตือน! ไม่สามารถเติม keypool ได้ โปรดปลดล็อกกระเป๋าสตางค์ของคุณเพื่อทำเช่นนั้น @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. กระเป๋าสตางค์ถูกล็อคไม่สามารถเติม keypool! ปิดใช้งานการสำรองข้อมูลและการผสมข้อมูลอัตโนมัติ โปรดปลดล็อกเพื่อใส่พวง keypool - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - คำเตือน: ไม่สามารถหาเงิน PrivateSend ที่ระบุได้เพียงพอสำหรับธุรกรรมนี้ - You need to rebuild the database using -reindex to change -timestampindex คุณจำเป็นต้องสร้างฐานข้อมูลโดยใช้ -reindex เพื่อเปลี่ยน -timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ คุณจำเป็นต้องสร้างฐานข้อมูลโดยใช้ -reindex ที่จะกลับไปที่โหมด unpruned และนี่จะดาวน์โหลด blockchain ที่เหลือใหม่ทั้งหมด - -litemode is deprecated. - -litemode ถูกคัดค้าน + %s failed + %s ล้มเหลว -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled ปิดการสำรองข้อมูลอัตโนมัติแล้ว + + Cannot set -peerblockfilters without -blockfilterindex. + ไม่สามารถตั้งค่า -peerblockfilters โดยไม่มี -blockfilterindex + + + Config setting for %s only applied on %s network when in [%s] section. + การตั้งค่าการกำหนดค่าสำหรับ %s เท่านั้นที่ใช้กับเครือข่าย %s เมื่ออยู่ในส่วน [%s] + + + Could not find asmap file %s + ไม่พบไฟล์ asmap %s + + + Could not parse asmap file %s + ไม่สามารถแยกวิเคราะห์ไฟล์ asmap %s + ERROR! Failed to create automatic backup ข้อผิดพลาด! ไม่สามารถสร้างการสำรองข้อมูลอัตโนมัติ + + Error loading %s: Private keys can only be disabled during creation + ข้อผิดพลาดในการโหลด %s: คีย์ส่วนตัวสามารถปิดการใช้งานได้ในระหว่างการสร้างเท่านั้น + Error upgrading evo database ฐานข้อมูลข้อผิดพลาดในการอัพเกรด evo @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details ข้อผิดพลาด: มีข้อผิดพลาดร้ายแรงภายในเกิดขึ้น โปรดดูที่ debug.log เพื่อดูรายละเอียด + + Error: Disk space is low for %s + ข้อผิดพลาด: พื้นที่ดิสก์ต่ำสำหรับ %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) ข้อผิดพลาด: ล้มเหลวในการเพิ่ม socket to epollfd (epoll_ctl returned error %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. เกินความพยายามสูงสุด - - Failed to clear fulfilled requests cache at - ล้มเหลวในการเคลียคำร้อง cache ที่ - - - Failed to clear governance cache at - ล้มเหลวในการเคลียการกำกับดูแล cache ที่ - - - Failed to clear masternode cache at - ล้มเหลวในการเคลียร์ masternode cache ที่ - Failed to commit EvoDB ล้มเหลวในการกระทำ EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s ไม่สามารถลบข้อมูลสำรอง ผิดพลาด: %s - - Failed to load sporks cache from - โหลดแคช sporks ล้มเหลว - Failed to rescan the wallet during initialization ล้มเหลวในการสแกนกระเป๋าสตางค์ในช่วงเริ่มต้น + + Invalid P2P permission: '%s' + การอนุญาต P2P ไม่ถูกต้อง: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' จำนวนเงินที่ไม่ถูกต้องสำหรับ -fallbackfee = 1: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. masternodeprivkey ไม่ถูกต้อง โปรดดูเอกสารประกอบ - - It has been replaced by -disablegovernance. - มันได้ถูกแทนที่ด้วย -disablegovernance - - - Its replacement -disablegovernance has been forced instead. - -disablegovernance ได้รับการบังคับทดแทน - Loading block index... กำลังโหลดดัชนีบล็อก ... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Prune ไม่สามารถกำหนดค่าได้ด้วยค่าลบ + + Prune mode is incompatible with -blockfilterindex. + โหมด Prune ไม่เข้ากันกับ -blockfilterindex + Prune mode is incompatible with -disablegovernance=false. Prune โหมด ไม่เข้ากันกับ -disablegovernance=ผิดพลาด @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... กำลังตัด blockstore ... + + Section [%s] is not recognized. + ส่วน [%s] ไม่ได้รับการยอมรับ + Specified -walletdir "%s" does not exist -walletdir "%s" ที่ระบุไม่มีอยู่ @@ -4500,17 +4766,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. ไม่สามารถผูกกับ %s คอมพิวเตอร์เครื่องนี้ได้ %s อาจกำลังทำงานอยู่แล้ว + + Unable to create the PID file '%s': %s + ไม่สามารถสร้างไฟล์ PID ได้ '%s': %s + Unable to generate initial keys ไม่สามารถสร้างคีย์เริ่มต้น - Upgrading UTXO database - การอัพเกรดฐานข้อมูล UTXO + Unknown -blockfilterindex value %s. + ไม่ทราบค่า blockfilterindex %s - Wallet %s resides outside wallet directory %s - กระเป๋าสตางค์ %s มีอยู่ด้านนอกไดเรกทอรี่ของกระเป๋าสตางค์ %s + Upgrading UTXO database + การอัพเกรดฐานข้อมูล UTXO Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4806,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex คุณจำเป็นต้องสร้างฐานข้อมูลโดยใช้ -reindex เพื่อเปลี่ยน -spentindex - - You need to rebuild the database using -reindex to change -txindex - คุณจำเป็นต้องสร้างฐานข้อมูลโดยใช้ -reindex-chainstate เพื่อเปลี่ยน -txindex - no mixing available. ไม่มีการผสม @@ -4548,10 +4814,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. ดูรายละเอียดได้ใน debug.log - - Dash Core - Dash Core - The %s developers %s นักพัฒนา @@ -4605,25 +4867,29 @@ https://www.transifex.com/projects/p/dash/ ไม่สามารถ replay blocks คุณจะต้องสร้างฐานข้อมูลโดยใช้ -reindex-chainstate - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - คำเตือน: ไฟล์กระเป๋าสตางค์เสียหาย, ข้อมูลได้ถูกกู้! %s จากเดิมถูกบันทึกเป็น %s ใน %s; หากยอดคงเหลือหรือธุรกรรมของคุณไม่ถูกต้องคุณควรเรียกคืนจากสำเนาสำรอง + Warning: Private keys detected in wallet {%s} with disabled private keys + คำเตือน: คีย์ส่วนตัวที่ตรวจพบในกระเป๋าเงิน {%s} พร้อมคีย์ส่วนตัวปิดใช้งาน %d of last 100 blocks have unexpected version %d ของ 100 บล็อคล่าสุดมีเวอร์ชั่นที่ไม่คาดคิด - - %s corrupt, salvage failed - %s เสียหาย, กู้ไม่สำเร็จ - %s is not a valid backup folder! %s ไม่ใช่โฟลเดอร์สำรองที่ถูกต้อง! + + %s is only allowed with a single wallet file + %s ได้รับอนุญาตให้ใช้ไฟล์กระเป๋าเงินเดียวเท่านั้น + %s is set very high! %s ถูกตั้งค่าไว้สูงมาก! + + %s request incomplete: + %s ขอไม่สมบูรณ์: + -devnet can only be specified once --devnet สามารถระบุได้เพียงครั้งเดียวเท่านั้น @@ -4636,6 +4902,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport ควรระบุเฉพาะเมื่อระบุ -devnet และ -server + + A fatal internal error occurred, see debug.log for details + เกิดข้อผิดพลาดภายในที่ร้ายแรงให้ดูที่ debug.log สำหรับรายละเอียด + Cannot resolve -%s address: '%s' ไม่สามารถแก้ไขได้ -%s ที่อยู่: '%s' @@ -4652,6 +4922,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) ลิขสิทธิ์ (C) + + Disk space is too low! + พื้นที่ดิสก์ต่ำเกินไป! + Error loading %s เกิดข้อผิดพลาดในการโหลด %s @@ -4680,10 +4954,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) ข้อผิดพลาด: ล้มเหลวในการเพิ่ม socket to kqueuefd (kevent returned error %s) + + Failed to clear fulfilled requests cache at %s + ล้มเหลวในการล้างแคชตอบสนองที่สมบูรณ์ที่ %s + + + Failed to clear governance cache at %s + ล้มเหลวในการล้างแคชการกำกับดูแลที่ %s + + + Failed to clear masternode cache at %s + ไม่สามารถล้างแคช masternode ที่ %s + Failed to find mixing queue to join ไม่สามารถหาคิวการผสมที่จะเข้าร่วมได้ + + Failed to load fulfilled requests cache from %s + ไม่สามารถโหลดแคชคำขอที่ปฏิบัติตามได้จาก %s + + + Failed to load governance cache from %s + ไม่สามารถโหลดแคชการกำกับดูแลจาก %s + + + Failed to load masternode cache from %s + ไม่สามารถโหลดแคช masternode จาก %s + + + Failed to load sporks cache from %s + ไม่สามารถโหลดแคช sporks จาก %s + Failed to start a new mixing queue ไม่สามารถเริ่มคิวการผสมใหม่ @@ -4752,6 +5054,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. คิวสุดท้ายถูกสร้างขึ้นเร็วเกินไป + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s ทุจริต ลองใช้ wallet tool dash-wallet เพื่อกอบกู้หรือกู้คืนการสำรองข้อมูล + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + ไม่สามารถสร้างคีย์ที่อยู่ การเปลี่ยนแปลงไม่มีคีย์ภายใน keypool และไม่สามารถสร้างคีย์ใด ๆ + Last successful action was too recent. การกระทำที่ประสบความสำเร็จล่าสุดเป็นข้อมูลล่าสุด @@ -4792,10 +5102,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. ธุรกรรมไม่ถูกต้อง - - Transaction too large for fee policy - ธุรกรรมมีขนาดใหญ่เกินไปสำหรับนโยบายค่าธรรมเนียม - Unable to bind to %s on this computer (bind returned error %s) ไม่สามารถ bind กับ %s บนคอมพิวเตอร์เครื่องนี้ได้ (bind ผิดพลาด %s) @@ -4824,6 +5130,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. การบันทึกประเภทที่ไม่ได้รับการสนับสนุน %s=%s + + Upgrading txindex database + การอัพเกรดฐานข้อมูล txindex + Verifying blocks... กำลังตรวจสอบบล็อค ... @@ -4836,14 +5146,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. กระเป๋าสตางค์ถูกล็อค - - Warning - คำเตือน - - - Warning: %s is deprecated, please use %s instead - คำเตือน: %s ถูกคัดค้านโปรดใช้ %s แทน - Warning: can't use %s and %s together, will prefer %s คำเตือน: ไม่สามารถใช้ %s และ %s ด้วยกันได้ จะต้องการ %s diff --git a/src/qt/locale/dash_tr.ts b/src/qt/locale/dash_tr.ts index 7e94ff8564..491da1fa23 100644 --- a/src/qt/locale/dash_tr.ts +++ b/src/qt/locale/dash_tr.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Bunlar ödemeleri göndermek için kullanacağınız Dash adreslerinizdir. Dash yollamadan önce tutarı ve alıcının alım adresini her zaman kontrol ediniz. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Bunlar ödemeleri almak için kullanacağınız Dash adreslerinizdir. Her işlem için yeni bir alım adresi kullanmanız tavsiye edilir. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Bunlar, ödeme almak için Dash adreslerinizdir. Yeni adresler oluşturmak için alma sekmesindeki 'Yeni alıcı adresi oluştur' düğmesini kullanın. &Copy Address @@ -191,12 +191,8 @@ Yeni parolayı tekrarlayınız - Show password - Şifreyi göster - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Cüzdan için yeni parolayı giriniz.<br/>Lütfen <b>on ya da daha fazla rastgele karakter</b> veya <b>sekiz ya da daha fazla kelime</b> içeren bir parola kullanınız. + Show passphrase + Parolayı göster Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Parola değiştir - - Enter the old passphrase and new passphrase to the wallet. - Eski ve yeni parolanızı cüzdana giriniz. - Confirm wallet encryption Cüzdan şifrelemesini onayla @@ -246,6 +238,30 @@ Wallet encrypted Cüzdan şifrelendi + + 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>. + Cüzdan için yeni parola girin. <br/>Lütfen <b>on veya daha fazla rastgele karakterden</b> veya <b>sekiz ve daha fazla kelimeden</b> oluşan bir parola kullanın. + + + Enter the old passphrase and new passphrase for the wallet. + Cüzdanın eski ve yeni parolasını girin. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Cüzdanınızı şifrelemenin, paranızın bilgisayarınıza bulaşan kötü amaçlı yazılımlar tarafından çalınmasını tam olarak koruyamayacağını unutmayın. + + + Wallet to be encrypted + Şifrelenecek cüzdan + + + Your wallet is about to be encrypted. + Cüzdanınız şifrelenmek üzere. + + + Your wallet is now encrypted. + Cüzdanınız artık şifrelenmiştir. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. ÖNEMLİ: Cüzdanınızın eskiden yapılmış yedekleri yeni oluşturulmuş, şifreli cüzdan dosyası ile değiştirilmelidir. Şifresiz cüzdan dosyasının önceki yedekleri aynı HD kaynağını içerir ve yeni, şifreli cüzdanınız gibi tüm bakiyenize erişim sağlar. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Kritik bir hata oluştu. Dash Core artık güvenli şekilde devam edemez ve kapanacak. - - Dash Core - Dash Core - - - Wallet - Cüzdan - - - Node - Düğüm - &Overview &Genel bakış @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Ödeme talep et (QR kodu ve Dash URI'si oluşturur) + + &Sending addresses + &Gönderilen adresler + + + &Receiving addresses + &Alıcı adresler + + + Open Wallet + Açık Cüzdan + + + Open a wallet + Cüzdanı Aç + + + Close Wallet... + Kapalı Cüzdan... + + + Close wallet + Kapalı cüzdan + + + No wallets available + Kullanılabilir cüzdan yok + + + &Window + &Pencere + + + Minimize + Küçült + + + Zoom + Yakınlaştır + + + Main Window + Ana Pencere + &Transactions &İşlemler @@ -371,10 +419,6 @@ Quit application Uygulamadan çık - - Show information about Dash Core - Dash Core hakkında bilgileri göster - About &Qt &Qt Hakkında @@ -515,18 +559,10 @@ Show automatically created wallet backups Otomatik oluşturulan cüzdan yedeklerini göster - - &Sending addresses... - &Gönderme adresleri... - Show the list of used sending addresses and labels Kullanılmış gönderme adresleri ve etiketlerin listesini göster - - &Receiving addresses... - &Alma adresleri... - Show the list of used receiving addresses and labels Kullanılmış alım adresleri ve etiketlerin listesini göster @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Olası Dash komut satırı seçeneklerinin listesini görmek için %1 yardım mesajını göster + + default wallet + varsayılan cüzdan + %1 client %1 istemci @@ -565,6 +605,18 @@ &File &Dosya + + Show information about %1 + %1 ile ilgili bilgileri göster + + + Create Wallet... + Cüzdan Oluştur... + + + Create a new wallet + Yeni bir cüzdan oluştur + %1 &information %1 &Bilgi @@ -577,10 +629,6 @@ &Settings &Ayarlar - - &Tools - &Araçlar - &Help &Yardım @@ -589,6 +637,14 @@ Tabs toolbar Sekme araç çubuğu + + &Governance + &Yönetim + + + View Governance Proposals + Yönetim Tekliflerini Görüntüle + %n active connection(s) to Dash network Dash ağına %n aktif bağlantıDash ağına %n aktif bağlantı @@ -653,10 +709,18 @@ Error Hata + + Error: %1 + Hata: %1 + Warning Uyarı + + Warning: %1 + Uyarı: %1 + Information Bilgi @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Cüzdan <b>şifrelenmiştir</b> ve şu anda <b>kilitlidir</b> + + Proxy is <b>enabled</b>: %1 + Proxy <b>etkinleştirildi</b>: %1 + + + Original message: + Orijinal mesaj: + CoinControlDialog @@ -935,6 +1007,60 @@ Mevcut değil + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + <b>%1</b> Cüzdan Oluşturuluyor... + + + Create wallet failed + Cüzdan oluşturulamadı + + + Create wallet warning + Cüzdan uyarısı oluştur + + + + CreateWalletDialog + + Create Wallet + Cüzdan Oluştur + + + Wallet Name + Cüzdan Adı + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Cüzdanı şifreleyin. Cüzdan, seçtiğiniz parola ile şifrelenecektir. + + + Encrypt Wallet + Cüzdanı Şifrele + + + 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. + Bu cüzdan için özel anahtarları devre dışı bırakın. Özel anahtarların devre dışı bırakıldığı cüzdanlarda özel anahtar bulunmaz ve HD tohum veya içe aktarılan özel anahtarlar olamaz. Bu, yalnızca izlenebilen cüzdanlar için idealdir. + + + Disable Private Keys + Özel Anahtarları Devre Dışı Bırak + + + 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. + Boş bir cüzdan oluşturun. Boş cüzdanların başlangıçta özel anahtarları veya komut dosyaları yoktur. Özel anahtarlar ve adresler daha sonra alınabilir veya bir HD tohum ayarlanabilir. + + + Make Blank Wallet + Boş Bir Cüzdan Oluşturun + + + Create + Oluştur + + EditAddressDialog @@ -974,8 +1100,12 @@ Girilen %1 adresi, geçerli bir Dash adresi değildir. - The entered address "%1" is already in the address book. - Girilen "%1" adresi zaten adres defterinde mevcuttur. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + "%1" adresi, "%2" etiketli bir alıcı adres olarak zaten mevcut ve bu nedenle gönderen adres olarak eklenemez. + + + The entered address "%1" is already in the address book with label "%2". + Girilen adres "%1" zaten "%2" etiketiyle adres defterinde. Could not unlock wallet. @@ -1009,16 +1139,39 @@ Burada veri klasörü oluşturulamaz. + + GovernanceList + + Form + Form + + + Filter List: + Filtre Listesi: + + + Filter propsal list + Teklif listesini filtrele + + + Proposal Count: + Teklif Sayısı: + + + Filter by Title + Başlığa göre filtrele + + + Proposal Info: %1 + Teklif Bilgisi: %1 + + HelpMessageDialog version Sürüm - - (%1-bit) - (%1-bit) - About %1 %1 Hakkında @@ -1113,10 +1266,6 @@ Status Durum - - 0 - 0 - Filter List: Filtre Listesi: @@ -1277,8 +1426,8 @@ Gizle - Unknown. Syncing Headers (%1)... - Bilinmeyen. Üstbilgiler Senkronize Ediliyor (%1)... + Unknown. Syncing Headers (%1, %2%)... + Bilinmeyen. Başlıklar Senkronize Ediliyor (%1, %2%)... @@ -1304,6 +1453,25 @@ Açılacak ödeme talebi dosyasını seç + + OpenWalletActivity + + Open wallet failed + Cüzdan açılamadı + + + Open wallet warning + Açık cüzdan uyarısı + + + default wallet + varsayılan cüzdan + + + Opening Wallet <b>%1</b>... + <b>%1</b> Cüzdan Açılıyor... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache &Veritabanı tamponunun boyutu - - MB - MB - Number of script &verification threads İş parçacıklarını &denetleme betiği sayısı @@ -1338,6 +1502,22 @@ &Appearance &Görünüm + + Prune &block storage to + Depolamak için buda &engelle + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Bu ayarın geri alınması, tüm blok zincirinin yeniden indirilmesini gerektirir. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. İlk alt sekmede tüm ana düğümlerinizi gösteren ve<br/>ikinci alt sekmede tüm ana düğümleri gösteren ek bir sekme göster. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Ana Düğümler Sekmesini Göster + + Show additional tab listing governance proposals. + Yönetim tekliflerini listeleyen ek sekmeyi göster. + + + Show Governance Tab + Yönetim Sekmesini Göster + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Teyit edilmemiş para üstünü harcamayı devre dışı bırakırsanız<br/>bir işlemin para üstü bu işlem için en az bir teyit olana dek harcanamaz.<br/>Bu, aynı zamanda bakiyenizin nasıl hesaplandığını da etkiler. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Router'da otomatik olarak Dash Core istemcisi portu aç. Bu sadece router'ınız UPnP destekliyorsa ve etkinse çalışır. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Yönlendiricideki Bitcoin istemci bağlantı noktasını otomatik olarak açın. Bu, yalnızca yönlendiriciniz NAT-PMP'yi desteklediğinde ve etkinleştirildiğinde çalışır. Harici bağlantı noktası rastgele olabilir. + + + Map port using NA&T-PMP + NA&T-PMP kullanarak bağlantı noktasını eşleyin + Accept connections from outside. Dışarıdan bağlantı kabul et @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Eşlere gizli Tor servisleri kullanarak ulaşmak için ayrı SOCKS&5 vekil sunucusu kullan: + + Options set in this dialog are overridden by the command line or in the configuration file: + Bu iletişim kutusunda ayarlanan seçenekler, komut satırı veya yapılandırma dosyası tarafından geçersiz kılınır: + Hide the icon from the system tray. Simgeyi sistem çubuğunda gizle. @@ -1474,6 +1674,10 @@ &Network &Şebeke + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Budamanın etkinleştirilmesi, işlemleri depolamak için gereken disk alanını önemli ölçüde azaltır. Tüm bloklar hala tam olarak doğrulanmıştır. Bu ayarın geri alınması, tüm blok zincirinin yeniden indirilmesini gerektirir. + Map port using &UPnP Portları &UPnP kullanarak haritala @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Ondalık haneler - - Active command-line options that override above options: - Yukarıdaki seçeneklerin yerine geçen faal komut satırı seçenekleri: - Reset all client options to default. İstemcinin tüm seçeneklerini varsayılan değerlere geri al. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 Ödeme talebini alma URL'i geçersiz: %1 + + Cannot process payment request because BIP70 support was not compiled in. + BIP70 desteği derlenmediği için ödeme isteği işlenmiyor. + Invalid payment address %1 %1 ödeme adresi geçersizdir @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Alındı + + Proposal + + Passing +%1 + +%1'i Geçiyor + + + Needs additional %1 votes + Ek %1 oy gerekiyor + + + + ProposalModel + + Yes + Evet + + + No + Hayır + + + Hash + Hash + + + Title + Başlık + + + Start + Başlangıç + + + End + Son + + + Amount + Miktar + + + Active + Aktif + + + Status + Durum + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Başlatıldığında başlangıç ekranını göster (varsayılan: %u) + + Error: Specified data directory "%1" does not exist. + Hata: Belirtilen veri dizini "%1" mevcut değil. + + + Error: Cannot parse configuration file: %1. + Hata: Yapılandırma dosyası ayrıştırılmıyor: %1. + + + Error: %1 + Hata: %1 + + + Error: Failed to load application fonts. + Hata: Uygulama yazı tipleri yüklenmedi. + + + Error: Specified font-family invalid. Valid values: %1. + Hata: Belirtilen yazı tipi ailesi geçersiz. Geçerli değerler: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Hata: Belirtilen yazı tipi-ağırlığı-normal geçersiz. Geçerli aralık %1 - %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Hata: Belirtilen yazı tipi-ağırlığı-kalın geçersiz. Geçerli aralık %1 - %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Hata: Belirtilen yazı tipi ölçeği geçersiz. Geçerli aralık %1 - %2. + + + Error: Invalid -custom-css-dir path. + Hata: Geçersiz -custom-css-dir yolu. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Hata: -custom-css-dir yolunda %1 CSS dosyas(lar)ı eksik. + %1 didn't yet exit safely... %1 henüz güvenli bir şekilde çıkış yapmamıştır... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ bilinmiyor - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Hata: Belirtilen "%1" veri klasörü yoktur. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Hata: %1 yapılandırma dosyası ayrıştırılamadı. Sadece anahtar=değer dizimini kullanınız. - - - Error: %1 - Hata: %1 - - - Error: Failed to load application fonts. - Hata: Uygulama yazı tipleri yüklenemedi. - - - Error: Specified font-family invalid. Valid values: %1. - Hata: Belirtilen yazı tipi ailesi geçersiz. Geçerli değerler: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Hata: Belirtilen yazı-tipi-genişliği-normal geçersiz. Geçerli aralık %1 ile %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Hata: Belirtilen yazı-tipi-genişliği-kalın geçersiz. Geçerli aralık %1 ile %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Hata: Belirtilen yazı-tipi-ölçeği geçersiz. Geçerli aralık %1 ile %2. - - - Error: Invalid -custom-css-dir path. - Hata: Geçersiz -custom-css-dir yolu. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Hata: %1 CSS dosya(larında)sında -custom-css-dir yolu eksik. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image Resmi &Kopyala + + Resulting URI too long, try to reduce the text for label / message. + Sonuç URI'si çok uzun, etiket / mesaj metnini küçültmeye çalışın. + + + Error encoding URI into QR Code. + URI'yi QR Koduna kodlarken hata oluştu. + + + QR code support not available. + QR kod desteği mevcut değil. + Save QR Code QR Kodu Kaydet @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Hata ayıklama kütük dosyası - - Current number of blocks - Güncel blok sayısı - Client version İstemci sürümü - - Using BerkeleyDB version - Kullanılan BerkeleyDB sürümü - Block chain Blok zinciri @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Blok zinciri dosyalarını yeniden tara 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Aşağıdaki düğmeler, cüzdanı onarmak, bozuk blok zinciri dosyaları veya eksik/eski işlemlerle ilgili sorunları düzeltmek için komut satırı seçenekleriyle cüzdanı yeniden başlatır. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Cüzdana ait görünmeyen işlemleri bulmak için blok zincirini cüzdan açılışından itibaren tarama. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Veri konumu + + To specify a non-default location of the data directory use the '%1' option. + Veri dizininin varsayılan olmayan bir konumunu belirtmek için '%1' seçeneğini kullanın. + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Bloklar dizininin varsayılan olmayan bir konumunu belirtmek için '%1' seçeneğini kullanın. + + + Current block height + Mevcut blok yüksekliği + Last block hash Son block hash'ı + + Latest ChainLocked block hash + En son ZincirKilitli blok hash'ı + + + Latest ChainLocked block height + En son ZincirKilitli blok yüksekliği + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Güncel veri klasöründen %1 hata ayıklama kütük dosyasını açar. Büyük kütük dosyaları için bu birkaç saniye alabilir. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Cüzdan Tamiri - - Salvage wallet - Cüzdanı kurtar - Recover transactions 1 İşlemleri geri al 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Cüzdan biçimini yükselt - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Aşağıdaki düğmeler cüzdanı tamir etmek, bozuk blok zinciri dosyalarıyla veya kayıp/geçersiz işlemlerle ilgili sorunları çözmek için cüzdanı komut istemi seçenekleri ile yeniden başlatacak. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: Bozuk bir wallet.dat dosyasında özel anahtarları kurtarma denemesi. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Blok zincirinden işlemleri kurtarma (meta-veri tutulur, ör. hesap sahibi). @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Meblağ: - &Request payment - Ödeme &talep et + &Create new receiving address + Yeni alıcı adresi &oluştur Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI URI'yi kopyala + + Copy address + Adresi kopyala + Copy label Etiket kopyala @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Cüzdan - - Resulting URI too long, try to reduce the text for label / message. - Sonuç URI çok uzun, etiket ya da ileti metnini kısaltmayı deneyiniz. - - - Error encoding URI into QR Code. - URI'nin QR koduna kodlanmasında hata oluştu. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Seç... - - collapse fee-settings - ücret-ayarlarını-küçült - Confirmation time target: Doğrulama süresi hedefi: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Not: Ücret tahmini için yeterli veri yok. Bunun yerine geri dönüş ücretini kullanılacak. + + Hide transaction fee settings + İşlem ücreti ayarlarını gizle + Hide Gizle @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Göndermek istediğinizden emin misiniz? - - are added as transaction fee - işlem ücreti olarak eklendi - - - Total Amount = <b>%1</b><br />= %2 - Toplam Tutar = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 / %2 girdi gösteriliyor)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds mevcut fonlar + + Transaction fee + İşlem ücreti + (%1 transactions have higher fees usually due to no change output being allowed) (%1 işlemlerinde genellikle değişken çıktıya izin verilmediği için ücretler daha yüksektir) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Uyarı: %2 veya daha fazla girdi ile %1 kullanmak gizliliğinize zarar verebilir ve tavsiye edilmez + + Click to learn more + Daha fazlasını öğrenmek için tıklayın + + + Total Amount + Toplam tutar + + + or + veya + Confirm send coins Bitcoin gönderimini onaylayın @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! İşlem oluşturma başarısız! - - The transaction was rejected with the following reason: %1 - İşlem şu nedenden dolayı reddedildi: %1 - A fee higher than %1 is considered an absurdly high fee. %1 tutarından yüksek bir ücret saçma derecede yüksek bir ücret olarak kabul edilir. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Bu, normal bir ödemedir. - Pay &To: &Şu adrese öde: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Mebla&ğ: + + The amount to send in the selected unit + Seçilen birimde gönderilecek miktar + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Ücret gönderilen tutardan düşülecek. Alıcı sizin tutar alanına girdiğinizden daha düşük miktarda Dash alacak. Eğer birden fazla alıcı seçilirse, ücret eşit bölünür. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Evet + Send + Gönder @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with İletinin imzalanmasında kullanılan Dash adresi + + The signed message to verify + Doğrulamak için imzalanmış mesaj + + + The signature given when the message was signed + Mesaj imzalandığında verilen imza + Verify the message to ensure it was signed with the specified Dash address Belirtilen Dash adresi ile imzalandığını doğrulamak için iletiyi kontrol et @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size İşlemin toplam boyutu + + (Certificate was not verified) + (Sertifika doğrulanmadı) + Merchant Tüccar @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Tüm işlem ayrıntılarını kopyala - Edit label - Etiketi düzenle + Edit address label + Adres etiketini düzenle Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Tutarı göstermek için birim. Başka bir birim seçmek için tıklayınız. + + WalletController + + Close wallet + Cüzdanı kapat + + + Are you sure you wish to close the wallet <i>%1</i>? + <i>%1</i> cüzdanını kapatmak istediğinizden emin misiniz? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Budama etkinse cüzdanı çok uzun süre kapatmak tüm zinciri yeniden senkronize etmek zorunda kalmanıza neden olabilir. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Bitcoini Gönder + + default wallet + varsayılan cüzdan + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Hata: İçeri gelen bağlantıların dinlenmesi başarısız oldu (dinleme %s hatasını verdi) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Ücret tahmini başarısız oldu. YedekÜcret devre dışı. Birkaç blok bekleyin veya -yedekücret'i etkinleştirin. + + + 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 + Bu hata, bu cüzdan düzgün bir şekilde kapatılmamışsa ve en son Berkeley DB'nin daha yeni bir sürümüne sahip bir yapı kullanılarak yüklenmişse oluşabilir. Eğer öyleyse, lütfen bu cüzdanın en son yüklendiği yazılımı kullanın. + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Bu yayın öncesi bir deneme sürümüdür - tüm riski siz üstlenmiş olursunuz - bitcoin oluşturmak ya da ticari uygulamalar için kullanmayınız @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Veritabanından okumada hata, kapatılıyor. - - Error - Hata - - - Error: Disk space is low! - Hata: Disk alanı düşük! - Failed to listen on any port. Use -listen=0 if you want this. Herhangi bir portun dinlenmesi başarısız oldu. Bunu istiyorsanız -listen=0 seçeneğini kullanınız. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Girdi maksimum boyutu aşıyor. - - Failed to load fulfilled requests cache from - Şuradan tamamlanmış talep önbelleği yüklemesi başarısız: - - - Failed to load governance cache from - Şuradan yönetim önbelleği yüklemesi başarısız: - - - Failed to load masternode cache from - Şuradan ana düğüm önbelleği yüklemesi başarısız: - Found enough users, signing ( waiting %s ) Yeterli kullanıcı bulundu, imzalanıyor ( %s bekleniyor ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Yanlış ya da bulunamamış doğuş bloku. Şebeke için yanlış veri klasörü mü? - - Information - Bilgi - Input is not valid. Girdi geçerli değil. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Bilinmeyen cevap. - - Unsupported argument -benchmark ignored, use -debug=bench. - Desteklenmeyen -benchmark argümanı görmezden gelindi, -debug=bench kullanınız. - - - Unsupported argument -debugnet ignored, use -debug=net. - Desteklenmeyen -debugnet argümanı görmezden gelindi, debug=net kullanınız. - - - Unsupported argument -tor found, use -onion. - Deskteklenmeyen -tor argümanı bulundu, -onion kullanınız. - User Agent comment (%s) contains unsafe characters. Kullanıcı Aracı açıklaması (%s) güvensiz karakterler içermektedir. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s boşta - - %s request incomplete: %s - %s talebi tamamlanmadı: %s - Can't mix while sync in progress. Eşleme sürerken karıştırılamaz. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s dosyası bu cüzdana ait tüm özel anahtarları tutuyor. Kimseyle paylaşmayın! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode seçeneği kullanımdan kaldırılmış ve yoksayılmıştır, -masternodeblsprivkey belirtilmesi bu düğümü anadüğüm olarak başlatmak için yeterlidir. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Yedek oluşturulamadı, dosya zaten mevcut! Bu durum eğer 60 saniyeden kısa sürede cüzdanı yenidden başlattıysanız oluşabilir. Sizin için sorun yoksa devam edebilirsiniz. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Ağ sürümü zincirinin toplam boyutu (%i) en yüksek boyutu geçmektedir (%i). Kullanıcı aracı açıklamasının sayısı veya boyutunu azaltınız. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Desteklenmeyen -socks argümanı bulundu. SOCKS sürümünün ayarlanması artık mümkün değildir, sadece SOCKS5 vekilleri desteklenmektedir. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Desteklenmeyen argüman -whitelistalwaysrelay görmezden gelindi, -whitelistrelay ve/veya -whitelistforcerelay kullanın. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. UYARI! Anahtar havuzu yenilenemedi, lütfen devam etmek için cüzdanınızın kilidini açın. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Cüzdanınız kilitli, anahtar havuzu yenilenemiyor! Otomatik yedekleme ve karışım kapalı, anahtar havuzunu yenilemek için lütfen cüzdanınızın kilidini açın. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Uyarı: Bilinmeyen blok sürümü oluşturulmaya çalışılıyor. Bilinmeyen kuralların işlemesi mümkündür. - You need to rebuild the database using -reindex to change -timestampindex -timestampindex'i değiştirmek için -reindex'i kullanarak veritabanını baştan kurmalısınız @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Budama olmayan kipe dönmek için veritabanını -reindex ile tekrar derlemeniz gerekir. Bu, tüm blok zincirini tekrar indirecektir - -litemode is deprecated. - -litemode kullanımdan kaldırıldı. + %s failed + %s başarısız -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Otomatik yedekleme kapalı + + Cannot set -peerblockfilters without -blockfilterindex. + -blokfiltresiindeksi olmadan -eşengellemefiltreleri ayarlanmıyor. + + + Config setting for %s only applied on %s network when in [%s] section. + %s için yapılandırma ayarı yalnızca %s ağında [%s] bölümündeyken uygulandı. + + + Could not find asmap file %s + %s asmap dosyası bulunamadı + + + Could not parse asmap file %s + %s asmap dosyası ayrıştırılamadı + ERROR! Failed to create automatic backup HATA! Otomatik yedek oluşturulamadı + + Error loading %s: Private keys can only be disabled during creation + %s yüklenirken hata oluştu: Özel anahtarlar yalnızca oluşturma sırasında devre dışı bırakılabilir + Error upgrading evo database Evo veritabanını yükseltirken hata oluştu @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Hata: Ölümcül dahili bir hata meydana geldi, ayrıntılar için debug.log dosyasına bakınız + + Error: Disk space is low for %s + Hata: %s için disk alanı yetersiz + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Hata: epollfd'ye soket eklenemedi (epoll_ctl %s hatası verdi) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Maksimum deneme aşıldı. - - Failed to clear fulfilled requests cache at - Yerine getirilmiş istek önbelleği temizlenemedi - - - Failed to clear governance cache at - Yönetim önbelliği temizlenemedi - - - Failed to clear masternode cache at - Anadüğüm önbelliği temizlenemedi - Failed to commit EvoDB EvoDB gerçekleştirilemedi @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Yedek silinemedi, hata: %s - - Failed to load sporks cache from - Şuradan spork önbelleği yüklemesi başarısız: - Failed to rescan the wallet during initialization Başlatma sırasında cüzdan yeniden taranamadı + + Invalid P2P permission: '%s' + Geçersiz P2P izni: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' -fallbackfee=<tutar> için geçersiz tutar: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Geçersiz masternodeblsprivkey. Lütfen dökümanlara göz atın. - - It has been replaced by -disablegovernance. - -disablegovernance ile değiştirildi. - - - Its replacement -disablegovernance has been forced instead. - -disablegovernance bunun yerine zorlandı. - Loading block index... Blok indeksi yükleniyor... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Budama negatif bir değerle yapılandırılamaz. + + Prune mode is incompatible with -blockfilterindex. + Budama modu -blokfiltresiindeksi ile uyumlu değil. + Prune mode is incompatible with -disablegovernance=false. Prune modu -disablegovernance=false ile uyumsuz. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Blockstore budanıyor... + + Section [%s] is not recognized. + [%s] bölümü tanınmadı. + Specified -walletdir "%s" does not exist Belirtilen -walletdir "%s" mevcut değil. @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Blok zinciri eşleniyor... + + The specified config file %s does not exist + + Belirtilen yapılandırma dosyası %s mevcut değil + + The wallet will avoid paying less than the minimum relay fee. Cüzdan en az aktarma ücretinden daha az ödeme yapmaktan sakınacaktır. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Bu bilgisayarda %s unsuruna bağlanılamadı. %s muhtemelen hâlihazırda çalışmaktadır. + + Unable to create the PID file '%s': %s + '%s' PID dosyası oluşturulamadı: %s + Unable to generate initial keys Başlangıç anahtarları oluşturulamıyor - Upgrading UTXO database - UTXO veritabanı yükseltiliyor + Unknown -blockfilterindex value %s. + Bilinmeyen -blokfiltresiindeksi değeri %s. - Wallet %s resides outside wallet directory %s - Cüzdan %s, %s cüzdan dizininin dışında bulunuyor + Upgrading UTXO database + UTXO veritabanı yükseltiliyor Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex -spentindex'i değiştirmek için -spentindex'i kullanarak veritabanını baştan kurmalısınız - - You need to rebuild the database using -reindex to change -txindex - -txindex'i değiştirmek için veritabanını -reindex kullanarak tekrar inşa etmeniz gerekmektedir - no mixing available. karışım mevcut değil. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. ayrıntlar için debug.log dosyasına bakın - - Dash Core - Dash Core - The %s developers %s geliştiricileri @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Bloklar tekrarlanamıyor. -Reindex-chainstate kullanarak veritabanını yeniden kurmanız gerekecek. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Uyarı: wallet.dat bozuk, veriler geri kazanıldı! Özgün %s, %s olarak %s klasörüne kaydedildi; bakiyeniz ya da işlemleriniz yanlışsa bir yedeklemeden tekrar yüklemeniz gerekir. + Warning: Private keys detected in wallet {%s} with disabled private keys + Uyarı: Özel anahtarların devre dışı bırakıldığı {%s} cüzdanında özel anahtarlar algılandı %d of last 100 blocks have unexpected version Son 100 bloğun %d'si beklenmedik versiyona sahip - - %s corrupt, salvage failed - %s bozuk, geri kazanım başarısız oldu - %s is not a valid backup folder! %s geçerli bir yedek klasörü değil! + + %s is only allowed with a single wallet file + %s'ye yalnızca tek bir cüzdan dosyasıyla izin verilir + %s is set very high! %s çok yüksek ayarlanmış! + + %s request incomplete: + %s istek tamamlanmadı: + -devnet can only be specified once -devnet sadece bir kere belirtilebilir @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -devnet ve -server belirtildiğinde -rpcport da belirtilmelidir + + A fatal internal error occurred, see debug.log for details + Önemli bir dahili hata oluştu, ayrıntılar için debug.log'a bakın + Cannot resolve -%s address: '%s' Çözümlenemedi - %s adres: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Copyright (C) + + Disk space is too low! + Disk alanı çok düşük! + Error loading %s %s unsurunun yüklenmesinde hata oluştu @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Hata: kqueuefd'ye soket eklenemedi (kevent %s hatası verdi) + + Failed to clear fulfilled requests cache at %s + %s konumunda karşılanan istek önbelleği temizlenmedi + + + Failed to clear governance cache at %s + %s konumunda yönetim önbelleği temizlenmedi + + + Failed to clear masternode cache at %s + %s konumunda ana düğüm önbelleği temizlenmedi + Failed to find mixing queue to join Katılacak karışım kuyruğu bulunamadı + + Failed to load fulfilled requests cache from %s + %s kaynağından karşılanan istek önbelleği yüklenemedi + + + Failed to load governance cache from %s + %s kaynağından yönetim önbelleği yüklenmedi + + + Failed to load masternode cache from %s + %s kaynağından ana düğüm önbelleği yüklenmedi + + + Failed to load sporks cache from %s + %s kaynağından kaşal önbelleği yüklenmedi + Failed to start a new mixing queue Yeni bir karışım kuyruğu başlatılamadı @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. Son sıra çok yakın zamanda oluşturuldu. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s bozuk. Bir yedeği kurtarmak veya geri yüklemek için cüzdan aracı dash-wallet'ı kullanmayı deneyin. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Adres değişikliği anahtarı oluşturulamıyor. Dahili anahtar anahtar havuzunda yok ve herhangi bir anahtar üretemez. + Last successful action was too recent. Son başarılı eylemi çok yakında yapıldı. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. İşlem geçerli değil. - - Transaction too large for fee policy - Ücret politikası için işlem çok büyük - Unable to bind to %s on this computer (bind returned error %s) Bu bilgisayarda %s ögesine bağlanılamadı (bağlanma %s hatasını verdi) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Desteklenmeyen günlük kaydı kategorisi %s=%s. + + Upgrading txindex database + txindex veritabanını yükseltme + Verifying blocks... Bloklar kontrol ediliyor... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Cüzdan kilitli. - - Warning - Uyarı - - - Warning: %s is deprecated, please use %s instead - Uyarı: %s kullanımdan kaldırıldı, lütfen bunun yerine %s kullanın - Warning: can't use %s and %s together, will prefer %s Uyarı: %s ve %s birlikte kullanılamaz, %s tercih edilir diff --git a/src/qt/locale/dash_zh_TW.ts b/src/qt/locale/dash_zh_TW.ts index fcd22135df..cea7eb8143 100644 --- a/src/qt/locale/dash_zh_TW.ts +++ b/src/qt/locale/dash_zh_TW.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ 這些是你要付款過去的達世幣位址。在付錢之前,務必要檢查金額和收款位址是否正確。 - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - 這些是你用來收款的達世幣位址。建議在每次交易時,都使用一個新的收款位址。 + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + 這些是給您用於接收付款的達世幣位址。 使用接收選項卡中的“創建新接收位址”按鈕來創建新位址。 &Copy Address @@ -191,13 +191,9 @@ 重複新密碼 - Show password + Show passphrase 顯示密碼 - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - 輸入錢包的新密碼。<br/>密碼請用<b>10 個以上的字元</b>,或是<b>8 個以上的字詞</b>。 - Encrypt wallet 加密錢包 @@ -226,10 +222,6 @@ Change passphrase 更改密碼 - - Enter the old passphrase and new passphrase to the wallet. - 輸入舊密碼和新密碼到錢包。 - Confirm wallet encryption 確認錢包加密 @@ -246,6 +238,30 @@ Wallet encrypted 錢包已加密 + + 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>. + 輸入錢包的新密碼。<br/>密碼請用 <b>十個或更多隨機字符</b>,或是 <b>8 個以上的字詞</b>。 + + + Enter the old passphrase and new passphrase for the wallet. + 輸入錢包的舊密碼和新密碼。 + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + 請緊記,加密您的錢包並不能完全保護您的資金不被感染您電腦的惡意軟件竊取。 + + + Wallet to be encrypted + 錢包要做加密處理 + + + Your wallet is about to be encrypted. + 你的錢包即將被加密。 + + + Your wallet is now encrypted. + 您的錢包現已經加密了。 + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. 重要: 請改用新產生有加密的錢包檔,來取代舊錢包檔的備份。先前未加密錢包文件包含相同的HD種子,並且仍然可以像新的加密錢包一樣動用所有資金。 @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. 發生致命錯誤。達世幣核心軟體不再能安全地繼續運行下去,程式將會關閉。 - - Dash Core - 達世幣核心 - - - Wallet - 錢包 - - - Node - 節點 - &Overview 總覽(&O) @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) 要求付款(產生 QR Code 和達世幣付款協議的 URI) + + &Sending addresses + 發送位址(&S) + + + &Receiving addresses + 收款位址(&R) + + + Open Wallet + 打開錢包 + + + Open a wallet + 打開一個錢包 + + + Close Wallet... + 關閉錢包... + + + Close wallet + 關閉錢包 + + + No wallets available + 沒有可用的錢包 + + + &Window + 視窗(&W) + + + Minimize + 最小化 + + + Zoom + 放大 + + + Main Window + 主窗口 + &Transactions 交易(&T) @@ -371,10 +419,6 @@ Quit application 結束應用程式 - - Show information about Dash Core - 顯示達世幣核心的相關資訊 - About &Qt 關於 &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups 顯示自動創建的錢包備份檔 - - &Sending addresses... - 付款位址(&S)... - Show the list of used sending addresses and labels 顯示已使用過的付款位址和標記的清單 - - &Receiving addresses... - 收款位址(&R)... - Show the list of used receiving addresses and labels 顯示已使用過的收款位址和標記的清單 @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options 顯示 %1 的說明訊息,來取得可用命令列選項的列表 + + default wallet + 預設錢包 + %1 client %1 客戶端軟體 @@ -565,6 +605,18 @@ &File 檔案(&F) + + Show information about %1 + 顯示有關%1 的相關信息 + + + Create Wallet... + 創建錢包... + + + Create a new wallet + 創建一個新錢包 + %1 &information %1 (&I)資訊 @@ -577,10 +629,6 @@ &Settings 設定(&S) - - &Tools - 工具(&T) - &Help 說明(&H) @@ -589,6 +637,14 @@ Tabs toolbar 分頁工具列 + + &Governance + 治理(&G) + + + View Governance Proposals + 查看治理提案 + %n active connection(s) to Dash network %n 個運作中的達世幣網路連線 @@ -653,10 +709,18 @@ Error 錯誤 + + Error: %1 + 錯誤: %1 + Warning 警告 + + Warning: %1 + 警告: %1 + Information 資訊 @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> 錢包<b>已加密</b>目前為<b>鎖定</b>狀態 + + Proxy is <b>enabled</b>: %1 + 代理服務器 <b>已啟用</b>: %1 + + + Original message: + 原始信息: + CoinControlDialog @@ -935,6 +1007,60 @@ 不適用 + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + 正在創建錢包 <b>%1</b>... + + + Create wallet failed + 創建錢包失敗 + + + Create wallet warning + 創建錢包警告 + + + + CreateWalletDialog + + Create Wallet + 創建錢包 + + + Wallet Name + 錢包名稱 + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + 加密錢包。 錢包將使用您選擇的密碼來進行加密。 + + + Encrypt Wallet + 加密錢包 + + + 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. + 禁用此錢包的私鑰。 禁用私鑰的錢包將沒有私鑰,也不能有 HD 種子或導入的私鑰。 這個選項適用於僅用來檢視交易用的錢包。 + + + Disable Private Keys + 禁用私鑰 + + + 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. + 製作一個空白錢包。 空白錢包最初沒有私鑰或腳本。 稍後可以導入私鑰和位址,或者可以設置 HD 種子。 + + + Make Blank Wallet + 製作空白錢包 + + + Create + 創造 + + EditAddressDialog @@ -974,8 +1100,12 @@ 輸入的位址 %1 並不是有效的達世幣位址。 - The entered address "%1" is already in the address book. - 輸入的位址 %1 在位址簿中已經有了。 + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + 位址“%1”已作為帶有標籤“%2”的接收位址存在,因此無法添加為發送地址。 + + + The entered address "%1" is already in the address book with label "%2". + 輸入的位址“%1”已經在地址簿中,標籤為“%2”。 Could not unlock wallet. @@ -1009,16 +1139,39 @@ 沒辦法在這裡建立資料目錄。 + + GovernanceList + + Form + 表單 + + + Filter List: + 篩選列表: + + + Filter propsal list + 過濾提案列表 + + + Proposal Count: + 提案數量: + + + Filter by Title + 按標題過濾 + + + Proposal Info: %1 + 提案信息: %1 + + HelpMessageDialog version 版本 - - (%1-bit) - (%1 位元) - About %1 關於 %1 @@ -1113,10 +1266,6 @@ Status 狀態 - - 0 - 0 - Filter List: 篩選列表: @@ -1277,8 +1426,8 @@ 隱藏 - Unknown. Syncing Headers (%1)... - 未知。 正在同步開頭 (%1)... + Unknown. Syncing Headers (%1, %2%)... + 未知。 正在同步開頭 (%1, %2%)... @@ -1304,6 +1453,25 @@ 選擇要開啟的付款要求資料檔 + + OpenWalletActivity + + Open wallet failed + 開啟錢包失敗 + + + Open wallet warning + 打開錢包警告 + + + default wallet + 預設錢包 + + + Opening Wallet <b>%1</b>... + 正在打開錢包 <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache 資料庫快取大小 - - MB - MB (百萬位元組) - Number of script &verification threads 指令碼驗證執行緒數目 @@ -1338,6 +1502,22 @@ &Appearance 外觀(&A) + + Prune &block storage to + 修剪區塊存儲到 + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + 還原此設置需要重新下載整個區塊鏈。 + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. 顯示其他標籤,在第一個子標籤列出所有您的主節點<br/>在第二個子標籤列出所有網絡上的主節點。 @@ -1346,6 +1526,14 @@ Show Masternodes Tab 顯示主節點標籤頁 + + Show additional tab listing governance proposals. + 顯示列出治理提案的其他選項卡。 + + + Show Governance Tab + 顯示治理選項卡 + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. 如果你關掉「可以花還沒確認的零錢」,那麼交易中找零的零錢<br/>就必須要等交易至少有一次確認後,才能夠使用。<br/>這也會影響餘額的計算方式。 @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. 自動在路由器上開放達世幣核心客戶端的通訊埠。只有在你的路由器支援且開啓「通用即插即用」協定(UPnP)時才有作用。 + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + 自動打開路由器上的比特幣客戶端端口。 這僅在您的路由器支持 NAT-PMP 並且已啟用時才有效。 外部端口可以是隨機的。 + + + Map port using NA&T-PMP + 使用 NA&T-PMP 映射端口 + Accept connections from outside. 接受來自外部的連接。 @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: 使用單獨的SOCKS&5代理通過Tor隱藏服務到達對等用戶群: + + Options set in this dialog are overridden by the command line or in the configuration file: + 此對話框中設置的選項被命令行或配置文件覆蓋: + Hide the icon from the system tray. 隱藏系統工具列中的圖示。 @@ -1474,6 +1674,10 @@ &Network 網絡(&N) + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + 啟用修剪會顯著減少存儲事務所需的磁盤空間。 所有區塊仍然經過充分驗證。 恢復此設置需要重新下載整個區塊鏈。 + Map port using &UPnP 用 &UPnP 設定通訊埠對應 @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits 小數位數 - - Active command-line options that override above options: - 從命令列取代掉以上設定的選項: - Reset all client options to default. 重設所有客戶端軟體選項成預設值。 @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 取得付款要求的 URL 無效: %1 + + Cannot process payment request because BIP70 support was not compiled in. + 無法處理付款請求,因為未編譯 BIP70 支持。 + Invalid payment address %1 無效的付款位址 %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ 已收到 + + Proposal + + Passing +%1 + 通過 +%1 + + + Needs additional %1 votes + 需要額外的 %1 票 + + + + ProposalModel + + Yes + 讚成 + + + No + 反對 + + + Hash + 哈希值 + + + Title + 標題 + + + Start + 啟動 + + + End + 結束 + + + Amount + 金額 + + + Active + 活躍 + + + Status + 狀態 + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) 顯示啓動畫面(預設值: %u) + + Error: Specified data directory "%1" does not exist. + 錯誤: 指定的數據目錄 "%1" 不存在。 + + + Error: Cannot parse configuration file: %1. + 錯誤:無法分析配置文件: %1。 + + + Error: %1 + 錯吳: %1 + + + Error: Failed to load application fonts. + 錯誤:無法加載應用程式字體。 + + + Error: Specified font-family invalid. Valid values: %1. + 錯誤: 指定的字體系列無效。 有效值: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + 錯誤: 指定的字體粗細正常無效。 有效範圍 %1 到 %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + 錯誤: 指定的字體粗體粗體無效。 有效範圍 %1 到 %2。 + + + Error: Specified font-scale invalid. Valid range %1 to %2. + 錯誤: 指定的字體比例無效。 有效範圍 %1 到 %2。 + + + Error: Invalid -custom-css-dir path. + 錯誤: -custom-css-dir 路徑無效。 + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + 錯誤: -custom-css-dir 路徑中缺少 %1 個 CSS 文件。 + %1 didn't yet exit safely... %1 還沒有安全地結束... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ 未知 - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - 錯誤: 不存在指定的資料目錄 "%1" 。 - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - 錯誤: 沒辦法解析設定檔: %1。只能用「名稱=設定值」這種語法。 - - - Error: %1 - 錯誤: %1 - - - Error: Failed to load application fonts. - 錯誤: 無法加載應用程序字體。 - - - Error: Specified font-family invalid. Valid values: %1. - 錯誤: 指定的字體系列無效。 有效值: %1。 - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - 錯誤: 指定的 font-weight-normal 無效。 有效範圍 %1 到 %2。 - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - 錯誤: 指定的 font-weight-bold 無效。 有效範圍 %1 到%2。 - - - Error: Specified font-scale invalid. Valid range %1 to %2. - 錯誤: 指定的字體比例無效。 有效範圍 %1 到 %2。 - - - Error: Invalid -custom-css-dir path. - 錯誤: 無效的 -custom-css-dir 路徑。 - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - 錯誤: -custom-css-dir 路徑中缺少 %1 個CSS 文件。 - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image 複製圖片(&C) + + Resulting URI too long, try to reduce the text for label / message. + 導致 URI 太長,嘗試減少標籤/消息的文本。 + + + Error encoding URI into QR Code. + 將 URI 編碼為 QR 碼時出錯。 + + + QR code support not available. + 二維碼支持不可用。 + Save QR Code 儲存 QR Code @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file 除錯紀錄檔 - - Current number of blocks - 目前區塊數 - Client version 客戶端軟體版本 - - Using BerkeleyDB version - 使用 BerkeleyDB 版本 - Block chain 區塊鏈 @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 重新掃描區塊鏈文件 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + 下面的按鈕將使用命令行選項重新啟動錢包,以修復錢包、修復損壞的區塊鏈文件或丟失/過時的交易問題。 + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: 從錢包創建時間開始,重新掃描區塊鏈以尋找漏掉的錢包交易。 @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir 數據目錄 + + To specify a non-default location of the data directory use the '%1' option. + 要指定數據目錄的非預設位置,請使用“%1”選項。 + + + Blocksdir + 區塊目錄 + + + To specify a non-default location of the blocks directory use the '%1' option. + 要指定區塊目錄的非預設位置,請使用“%1”選項。 + + + Current block height + 當前區塊高度 + Last block hash 最後一個區塊的哈希值 + + Latest ChainLocked block hash + 最新的鏈鎖區塊哈希值 + + + Latest ChainLocked block height + 最新的鏈鎖區塊高度 + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. 從目前的資料目錄下開啓 %1 的除錯紀錄檔。當紀錄檔很大時,可能會花好幾秒的時間。 @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair 錢包修復(&W) - - Salvage wallet - 搶救錢包 - Recover transactions 1 復原交易 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format 升級錢包格式 - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - 下面的按鈕將重新啟動錢包並使用命令行選項來修復錢包,修復損壞或丟失的區塊鏈文件/過時的交易問題。 - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: 嘗試從損壞的 wallet.dat 裡恢復私鑰。 - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: 從區塊鏈恢復交易資料 (保留交易描述資料,例如帳戶擁有者)。 @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ 金額:(&A) - &Request payment - 要求付款(&R) + &Create new receiving address + 創建新的收款位址(&C) Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI 複製 URI + + Copy address + 複製位址 + Copy label 複製標記 @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet 錢包 - - Resulting URI too long, try to reduce the text for label / message. - 產生的 URI 過長,請試著縮短標記或訊息的文字內容。 - - - Error encoding URI into QR Code. - 把 URI 編碼成 QR Code 時發生錯誤。 - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... 選項... - - collapse fee-settings - 收起手續費設定 - Confirmation time target: 目標確認時間: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. 注意: 沒有足夠的數據用於費用估算,使用備用費來代替。 + + Hide transaction fee settings + 隱藏交易費用設定 + Hide 隱藏 @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? 你確定要付錢出去嗎? - - are added as transaction fee - 加做交易手續費 - - - Total Amount = <b>%1</b><br />= %2 - 總金額 = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(在 %2 中 %1 個項目顯示出來)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds 任何可用資金 + + Transaction fee + 交易手續費 + (%1 transactions have higher fees usually due to no change output being allowed) (由於不允許更改輸出的關係,%1 的交易手續費用會較高) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended 警告: 在 %1 中使用 %2 或更多的輸入會損害您的隱私,因此不建議使用 + + Click to learn more + 點擊以了解更多 + + + Total Amount + 總金額 + + + or + + Confirm send coins 確認發送資金 @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! 製造交易失敗了! - - The transaction was rejected with the following reason: %1 - 交易因為以下原因被拒絕了: %1 - A fee higher than %1 is considered an absurdly high fee. 手續費高於 %1 的被認為是非常高的費用。 @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - 這是一筆正常的付款。 - Pay &To: 付給:(&T) @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: 金額:(&A) + + The amount to send in the selected unit + 在所選單位中發送的金額 + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 手續費將從發送金額中扣除。接收者將收到的達世幣金額將會比您在金額字段中輸入的金額為少。 如果選擇了多個收款人,該費用將會被平均攤分。 @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - + Send + 發送 @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with 簽署這個訊息的達世幣位址 + + The signed message to verify + 要驗證的簽名消息 + + + The signature given when the message was signed + 簽署消息時給出的簽名 + Verify the message to ensure it was signed with the specified Dash address 驗證這個訊息來確定是用指定的達世幣位址簽署的 @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size 交易的總大小 + + (Certificate was not verified) + (證書未驗證) + Merchant 商家 @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ 複製完整交易詳情 - Edit label - 編輯標記 + Edit address label + 編輯位址標籤 Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ 金額顯示單位。可以點選其他單位。 + + WalletController + + Close wallet + 關閉錢包 + + + Are you sure you wish to close the wallet <i>%1</i>? + 你確定要關閉錢包嗎 <i>%1</i>? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + 如果啟用修剪後,關閉錢包太久可能會導致必須重新同步整個區塊鏈。 + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins 付款 + + default wallet + 預設錢包 + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) 錯誤: 聽候外來連線失敗(回傳錯誤 %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + 費用估算失敗。 後備費用已禁用。 請等待幾個區塊或啟用-fallbackfee。 + + + 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 + 如果此錢包未完全關閉並且上次使用具有較新版本的 Berkeley DB 的構建加載,則可能會發生此錯誤。 如果是這樣,請使用上次加載此錢包的軟件 + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications 這是個還沒發表的測試版本 - 使用請自負風險 - 請不要用來開採或商業應用 @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. 讀取資料庫時發生錯誤,要關閉了。 - - Error - 錯誤 - - - Error: Disk space is low! - 錯誤: 磁碟空間很少! - Failed to listen on any port. Use -listen=0 if you want this. 在任意的通訊埠聽候失敗。如果你希望這樣的話,可以設定 -listen=0. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. 條目超過最大大小。 - - Failed to load fulfilled requests cache from - 無法載入完成請求緩存 - - - Failed to load governance cache from - 無法載入治理緩存 - - - Failed to load masternode cache from - 無法載入主節點緩存 - Found enough users, signing ( waiting %s ) 找到足夠多的用戶,簽署中 (等待 %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? 創世區塊不正確或找不到。資料目錄錯了嗎? - - Information - 資訊 - Input is not valid. 輸入無效。 @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. 未知回應。 - - Unsupported argument -benchmark ignored, use -debug=bench. - 忽略了不再支援的 -benchmark 參數,請改用 -debug=bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - 忽略了不再支援的 -debugnet 參數,請改用 -debug=net. - - - Unsupported argument -tor found, use -onion. - 找到不再支援的 -tor 參數,請改用 -onion 參數。 - User Agent comment (%s) contains unsafe characters. 用戶代理註釋 (%s) 包含不安全的字符。 @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s 處於閒置狀態。 - - %s request incomplete: %s - %s 的相關請求未完成: %s - Can't mix while sync in progress. 在同步進行中時不能進行混合。 @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s 文件包含此錢包中的所有私鑰。 不要與任何人分享! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode 選項已被棄用並被忽略, 指定 -masternodeblsprivkey 足以將本節點作為主節點啟動。 - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. 無法創建備份,文件已經存在! 如果您在60秒內重新啟動錢包,則可能發生這種情況。 如果你覺得這樣沒問題的話,你可以繼續。 @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. 網絡版本字符串的總長度 (%i) 超過最大長度 (%i)。減少uacomments參數的數量或大小。 - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - 找到不再支援的 -socks 參數。現在只支援 SOCKS5 協定的代理伺服器了,因為不再能夠指定 SOCKS 協定版本。 - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - 不支持的參數 -whiteelistalwaysrelay 已忽略,請使用-whitelistrelay和/或-whitelistforcerelay。 - WARNING! Failed to replenish keypool, please unlock your wallet to do so. 警告! 無法補充公鑰池,請解鎖您的錢包。 @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. 錢包被鎖定,無法補充keypool! 自動備份和混合功能被禁用,請解鎖您的錢包以補充keypool。 - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - 警告 : 正在開採未知版本的區塊。未知的規則可能正在生效 - You need to rebuild the database using -reindex to change -timestampindex 您需要使用-reindex來重建數據庫,並更改-timestampindex @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ 您需要使用-reindex 來重建數據庫以回到未修剪模式。 這將重新下載整個區塊鏈 - -litemode is deprecated. - -litemode 已被棄用。 + %s failed + %s 失敗 -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled 自動備份已停用 + + Cannot set -peerblockfilters without -blockfilterindex. + 不能在沒有 -blockfilterindex 的情況下設置 -peerblockfilters。 + + + Config setting for %s only applied on %s network when in [%s] section. + %s 的配置設置僅在 [%s] 部分中應用於 %s 網絡。 + + + Could not find asmap file %s + 找不到 asmap 文件 %s + + + Could not parse asmap file %s + 無法解析 asmap 文件 %s + ERROR! Failed to create automatic backup 錯誤! 無法創建自動備份 + + Error loading %s: Private keys can only be disabled during creation + 加載 %s 時出錯: 私鑰只能在創建期間禁用 + Error upgrading evo database 升級evo數據庫時出錯 @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details 錯誤:發生一個致命的內部錯誤,請到debug.log查看更多細節 + + Error: Disk space is low for %s + 錯誤: %s 的磁盤空間不足 + Error: failed to add socket to epollfd (epoll_ctl returned error %s) 錯誤: 無法將套接字添加到 epollfd (epoll_ctl 傳回錯誤 %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. 超過最大嘗試的次數。 - - Failed to clear fulfilled requests cache at - 無法清除位於緩存中的已完成請求 - - - Failed to clear governance cache at - 無法清除位於緩存中的治理項目 - - - Failed to clear masternode cache at - 無法清除位於緩存中的主節點資料 - Failed to commit EvoDB 提交EvoDB失敗 @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s 無法刪除備份,錯誤: %s - - Failed to load sporks cache from - 無法載入勺叉緩存 - Failed to rescan the wallet during initialization 初始化期間無法重新掃描錢包 + + Invalid P2P permission: '%s' + 無效的 P2P 權限: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' 設定 -fallbackfee=<amount> 的金額無效: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. 無效的masternodeblsprivkey。請參閱文檔。 - - It has been replaced by -disablegovernance. - 它已由 -disablegovernance 所代替。 - - - Its replacement -disablegovernance has been forced instead. - 替代命令 -disablegovernance 已被強制執行。 - Loading block index... 正在載入區塊索引... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. 修剪不能設置為負值。 + + Prune mode is incompatible with -blockfilterindex. + 修剪模式與 -blockfilterindex 不兼容。 + Prune mode is incompatible with -disablegovernance=false. 修剪模式與-disablegovernance = false 並不兼容。 @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... 修剪儲存區塊... + + Section [%s] is not recognized. + 無法識別節 [%s] 。 + Specified -walletdir "%s" does not exist 指定的 -walletdir "%s" 不存在 @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... 正在同步區塊鏈... + + The specified config file %s does not exist + + 指定的配置文件 %s 不存在 + + The wallet will avoid paying less than the minimum relay fee. 錢包軟體會付多於最小轉發費用的手續費。 @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. 沒辦法繫結在這台電腦上的 %s 。%s 可能已經在執行了。 + + Unable to create the PID file '%s': %s + 無法創建 PID 文件 '%s': %s + Unable to generate initial keys 無法生成初始密鑰 - Upgrading UTXO database - 正在升級 UTXO 資料庫 + Unknown -blockfilterindex value %s. + 未知 -blockfilterindex 值 %s。 - Wallet %s resides outside wallet directory %s - 錢包 %s 位處於錢包目錄 %s 外 + Upgrading UTXO database + 正在升級 UTXO 資料庫 Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex 您需要使用-reindex 來重建數據庫,並更改-spentindex - - You need to rebuild the database using -reindex to change -txindex - 改變 -txindex 參數後,必須要用 -reindex 參數來重建資料庫 - no mixing available. 無法進行混合。 @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. 詳細信息請參閱debug.log。 - - Dash Core - 達世幣核心 - The %s developers %s 開發人員 @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ 無法重播區塊。您將需要使用-reindex-chainstate來重建數據庫。 - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - 警告: 錢包檔壞掉,但資料被救回來了!原來的檔案 %s 改儲存為 %s,在目錄 %s 下。 如果餘額或交易資料有誤的話,你應該要從備份資料復原回來。 + Warning: Private keys detected in wallet {%s} with disabled private keys + 警告: 在錢包 {%s} 中檢測到已禁用私鑰的私鑰 %d of last 100 blocks have unexpected version 最近100個區塊中的 %d 個區塊,有意想不到的版本 - - %s corrupt, salvage failed - 錢包檔 %s 壞掉了,搶救失敗 - %s is not a valid backup folder! %s 並不是有效的備份資料夾! + + %s is only allowed with a single wallet file + %s 僅允許用於單個錢包文件 + %s is set very high! %s 的設定值異常大! + + %s request incomplete: + %s 請求不完整: + -devnet can only be specified once -devnet 只能指定一次 @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified 當指定 -devnet 和 -server 時,必須指定 -rpcport + + A fatal internal error occurred, see debug.log for details + 發生致命的內部錯誤,請參閱 debug.log 了解詳細信息 + Cannot resolve -%s address: '%s' 沒辦法解析 -%s 參數指定的位址: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) 版權 (C) + + Disk space is too low! + 磁盤空間太小了! + Error loading %s 載入檔案 %s 時發生錯誤 @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) 錯誤: 無法將套接字添加到 kqueuefd (kevent 傳回錯誤 %s) + + Failed to clear fulfilled requests cache at %s + 未能在 %s 清除已完成的請求緩存 + + + Failed to clear governance cache at %s + 無法清除 %s 的治理緩存 + + + Failed to clear masternode cache at %s + 在 %s 清除主節點緩存失敗 + Failed to find mixing queue to join 無法找到混合隊列去加入 + + Failed to load fulfilled requests cache from %s + 無法從 %s 加載已完成的請求緩存 + + + Failed to load governance cache from %s + 無法從 %s 加載治理緩存 + + + Failed to load masternode cache from %s + 無法從 %s 加載主節點緩存 + + + Failed to load sporks cache from %s + 無法從 %s 加載勺叉緩存 + Failed to start a new mixing queue 無法開始一個新的混合隊列 @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. 距離上一個隊列的時間過短。 + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s 已損壞。 請嘗試使用錢包工具 dash-wallet 來挽救或恢復備份。 + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + 無法生成找零位址密鑰。 內部密鑰池中沒有密鑰,也無法生成任何密鑰。 + Last successful action was too recent. 距離上一次成功執行的時間過短。 @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. 交易無效。 - - Transaction too large for fee policy - 根據交易手續費準則,本交易的位元量過大 - Unable to bind to %s on this computer (bind returned error %s) 無法和這台電腦上的 %s 繫結(回傳錯誤 %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. 不支持的日誌記錄類別 %s=%s. + + Upgrading txindex database + 正在升級交易指數數據庫 + Verifying blocks... 正在驗證區塊資料... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. 錢包被鎖定。 - - Warning - 警告 - - - Warning: %s is deprecated, please use %s instead - 警告: %s 已被淘汰,請改用 %s - Warning: can't use %s and %s together, will prefer %s 警告: 不能同時使用 %s 和 %s,將會把 %s 作為首選 From aa00e5ca012d1e418bdaa071511fd75c2591e4fd Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Mon, 25 Apr 2022 17:57:11 -0500 Subject: [PATCH 09/74] fix: bump dkgBadVotesThreshold to 80% (#4806) --- src/llmq/params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llmq/params.h b/src/llmq/params.h index 9bacd5c851..7464b20797 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -262,7 +262,7 @@ static constexpr std::array available_llmqs = { .dkgPhaseBlocks = 2, .dkgMiningWindowStart = 10, // dkgPhaseBlocks * 5 = after finalization .dkgMiningWindowEnd = 18, - .dkgBadVotesThreshold = 40, + .dkgBadVotesThreshold = 48, .signingActiveQuorumCount = 32, .keepOldConnections = 33, From be6181db5fa23340d8f7642b2e9a91be57e5c5be Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Apr 2022 20:22:56 +0300 Subject: [PATCH 10/74] llmq: Avoid endless loop in GetQuorumRelayMembers (#4796) * llmq: Avoid endless loop in GetQuorumRelayMembers regtest quorums can be tiny * minimize changes, add a note --- src/llmq/utils.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 62b6cbcee1..984b9c9b20 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -587,6 +587,12 @@ std::set CLLMQUtils::GetQuorumRelayMembers(const Consensus::LLMQParams& std::set result; auto calcOutbound = [&](size_t i, const uint256& proTxHash) { + if (mns.size() == 1) { + // No outbound connections are needed when there is one MN only. + // Also note that trying to calculate results via the algorithm below + // would result in an endless loop. + return std::set(); + } // Relay to nodes at indexes (i+2^k)%n, where // k: 0..max(1, floor(log2(n-1))-1) // n: size of the quorum/ring From f7ebc56cda9c1007de23d27327730c3a3ca559a7 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Tue, 26 Apr 2022 20:23:52 +0300 Subject: [PATCH 11/74] Correct returned variable (#4809) * Correct returned variable * Fix --- src/llmq/utils.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 984b9c9b20..38bf65c8b1 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -364,14 +364,14 @@ std::vector> CLLMQUtils::GetQuorumQuarterMembe std::move(sortedMnsUsedAtH.begin(), sortedMnsUsedAtH.end(), std::back_inserter(sortedCombinedMns)); } - if (sortedCombinedMns.empty()) return {}; - auto numQuorums = size_t(llmqParams.signingActiveQuorumCount); auto quorumSize = size_t(llmqParams.size); auto quarterSize = quorumSize / 4; std::vector> quarterQuorumMembers(numQuorums); + if (sortedCombinedMns.empty()) return quarterQuorumMembers; + switch (snapshot.mnSkipListMode) { case SnapshotSkipMode::MODE_NO_SKIPPING: { @@ -420,7 +420,7 @@ std::vector> CLLMQUtils::GetQuorumQuarterMembe case SnapshotSkipMode::MODE_NO_SKIPPING_ENTRIES: // List holds entries to be kept case SnapshotSkipMode::MODE_ALL_SKIPPED: // Every node was skipped. Returning empty quarterQuorumMembers default: - return {}; + return quarterQuorumMembers; } } From 31ff57694de0b58d7213ac457caa40442cc2bbcc Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Apr 2022 20:28:57 +0300 Subject: [PATCH 12/74] rpc: fix and simplify `quorum rotationinfo` (#4808) Issues with current implementation: params list is not mentioning `baseBlockHashes`, `baseBlockHashesNb` looks excessive, no default values, handling of baseBlockHash-es is off by 1 (`3 + i` should be `4 + i`). before: ``` > help quorum rotationinfo quorum rotationinfo "blockRequestHash" baseBlockHashesNb extraShare Get quorum rotation information Arguments: 1. blockRequestHash (string, required) The blockHash of the request. 2. baseBlockHashesNb (numeric, required) Number of baseBlockHashes 3. extraShare (boolean, required) Extra share ``` after: ``` > help quorum rotationinfo quorum rotationinfo "blockRequestHash" ( extraShare "baseBlockHash..." ) Get quorum rotation information Arguments: 1. blockRequestHash (string, required) The blockHash of the request. 2. extraShare (boolean, optional, default=false) Extra share 3. baseBlockHash... (string, optional, default=) baseBlockHashes ``` --- src/rpc/rpcquorums.cpp | 32 +++++++++---------- .../test_framework/test_framework.py | 2 +- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/rpc/rpcquorums.cpp b/src/rpc/rpcquorums.cpp index 9e6b66f6c0..55330ab0e9 100644 --- a/src/rpc/rpcquorums.cpp +++ b/src/rpc/rpcquorums.cpp @@ -647,26 +647,27 @@ static UniValue quorum_getdata(const JSONRPCRequest& request) }); } -static void quorum_getrotationinfo_help() +static void quorum_rotationinfo_help() { throw std::runtime_error( RPCHelpMan{ "quorum rotationinfo", "Get quorum rotation information\n", - {{"blockRequestHash", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The blockHash of the request."}, - {"baseBlockHashesNb", RPCArg::Type::NUM, RPCArg::Optional::NO, - "Number of baseBlockHashes"}, - {"extraShare", RPCArg::Type::BOOL, RPCArg::Optional::NO, "Extra share"}}, + { + {"blockRequestHash", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The blockHash of the request"}, + {"extraShare", RPCArg::Type::BOOL, /* default */ "false", "Extra share"}, + {"baseBlockHash...", RPCArg::Type::STR_HEX, /* default*/ "", "baseBlockHashes"}, + }, RPCResults{}, RPCExamples{""}, } - .ToString()); + .ToString()); } -static UniValue quorum_getrotationdata(const JSONRPCRequest& request) +static UniValue quorum_rotationinfo(const JSONRPCRequest& request) { if (request.fHelp || (request.params.size() < 2)) { - quorum_getrotationinfo_help(); + quorum_rotationinfo_help(); } llmq::CGetQuorumRotationInfo cmd; @@ -674,15 +675,12 @@ static UniValue quorum_getrotationdata(const JSONRPCRequest& request) std::string strError; cmd.blockRequestHash = ParseHashV(request.params[1], "blockRequestHash"); - size_t baseBlockHashesNb = static_cast(ParseInt32V(request.params[2], "baseBlockHashesNb")); - cmd.extraShare = ParseBoolV(request.params[3], "extraShare"); + cmd.extraShare = request.params[2].isNull() ? false : ParseBoolV(request.params[2], "extraShare"); - /*if (request.params.size() - 2 != cmd.baseBlockHashesNb) { - quorum_getrotationinfo_help(); - }*/ - - for (auto i = 0; i < baseBlockHashesNb; i++) { - cmd.baseBlockHashes.push_back(ParseHashV(request.params[3 + i], "quorumHash")); + size_t idx = 3; + while (!request.params[idx].isNull()) { + cmd.baseBlockHashes.emplace_back(ParseHashV(request.params[idx], "baseBlockHash")); + ++idx; } LOCK(cs_main); if (!BuildQuorumRotationInfo(cmd, quorumRotationInfoRet, strError)) { @@ -753,7 +751,7 @@ static UniValue _quorum(const JSONRPCRequest& request) } else if (command == "getdata") { return quorum_getdata(request); } else if (command == "rotationinfo") { - return quorum_getrotationdata(request); + return quorum_rotationinfo(request); } else { quorum_help(); } diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index c7c53ae487..bf0091d8c9 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -1463,7 +1463,7 @@ class DashTestFramework(BitcoinTestFramework): best_block_hash = self.nodes[0].getbestblockhash() block_height = self.nodes[0].getblockcount() - quorum_rotation_info = self.nodes[0].quorum("rotationinfo", best_block_hash, 0, False) + quorum_rotation_info = self.nodes[0].quorum("rotationinfo", best_block_hash) self.log.info("h("+str(block_height)+"):"+str(quorum_rotation_info)) return (quorum_info_0, quorum_info_1) From dfa09a0859be06c722f5a9760e75c9b033576ebc Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Tue, 26 Apr 2022 12:58:45 -0500 Subject: [PATCH 13/74] bump rc to 3 (#4810) --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 9c624ddd7f..4be38e2992 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_REVISION, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 1) +define(_CLIENT_VERSION_RC, 3) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 72d53af11a073647263e237f2c3c6fc0978b956f Mon Sep 17 00:00:00 2001 From: strophy <32928115+strophy@users.noreply.github.com> Date: Fri, 29 Apr 2022 02:35:50 +1000 Subject: [PATCH 14/74] ci: fix docker context (#4816) --- .github/workflows/release_docker_hub.yml | 2 +- contrib/containers/deploy/Dockerfile.GitHubActions.Release | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_docker_hub.yml b/.github/workflows/release_docker_hub.yml index 8d64e578c0..0e6e90617c 100644 --- a/.github/workflows/release_docker_hub.yml +++ b/.github/workflows/release_docker_hub.yml @@ -43,7 +43,7 @@ jobs: id: docker_build uses: docker/build-push-action@v2 with: - context: ${{ github.workspace }} + context: ./contrib/containers/deploy file: ./contrib/containers/deploy/Dockerfile.GitHubActions.Release push: true tags: ${{ steps.docker_meta.outputs.tags }} diff --git a/contrib/containers/deploy/Dockerfile.GitHubActions.Release b/contrib/containers/deploy/Dockerfile.GitHubActions.Release index 7558d480a3..8262989a00 100644 --- a/contrib/containers/deploy/Dockerfile.GitHubActions.Release +++ b/contrib/containers/deploy/Dockerfile.GitHubActions.Release @@ -34,7 +34,7 @@ USER dash VOLUME ["/dash"] -COPY dash/contrib/containers/deploy/docker-entrypoint.sh /docker-entrypoint.sh +COPY docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 9998 9999 19998 19999 From 1d2c9da9315743deb77f86d3b575f08c33953190 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 28 Apr 2022 18:40:08 +0300 Subject: [PATCH 15/74] Merge pull request #4817 from UdjinM6/drop_0 build: switch to classical `major.minor.patch` semver --- configure.ac | 5 +---- contrib/gitian-descriptors/gitian-linux.yml | 2 +- contrib/gitian-descriptors/gitian-osx.yml | 2 +- contrib/gitian-descriptors/gitian-win.yml | 2 +- share/qt/Info.plist.in | 4 ++-- share/setup.nsi.in | 2 +- src/clientversion.cpp | 5 ++--- src/clientversion.h | 7 +++---- src/dash-cli-res.rc | 4 ++-- src/dash-tx-res.rc | 4 ++-- src/dash-wallet-res.rc | 4 ++-- src/dashd-res.rc | 4 ++-- src/qt/res/dash-qt-res.rc | 4 ++-- src/test/util_tests.cpp | 6 +++--- test/lint/extended-lint-cppcheck.sh | 2 +- test/lint/lint-cppcheck-dash.sh | 2 +- 16 files changed, 27 insertions(+), 32 deletions(-) diff --git a/configure.ac b/configure.ac index 4be38e2992..2083c01d9d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,13 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) -define(_CLIENT_VERSION_REVISION, 0) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_RC, 3) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]]) -AC_INIT([Dash Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_REVISION, m4_if(_CLIENT_VERSION_BUILD, [0], [], _CLIENT_VERSION_BUILD))m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/dashpay/dash/issues],[dashcore],[https://dash.org/]) +AC_INIT([Dash Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_BUILD)m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/dashpay/dash/issues],[dashcore],[https://dash.org/]) AC_CONFIG_SRCDIR([src/validation.cpp]) AC_CONFIG_HEADERS([src/config/dash-config.h]) AC_CONFIG_AUX_DIR([build-aux]) @@ -1827,7 +1826,6 @@ AM_CONDITIONAL([WORDS_BIGENDIAN],[test x$ac_cv_c_bigendian = xyes]) AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) -AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision]) AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year]) @@ -1837,7 +1835,6 @@ define(_COPYRIGHT_HOLDERS_FINAL, [patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)]) AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR) AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR) -AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION) AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD) AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE) AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 5bde58c112..589b771fdb 100755 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "dash-linux-18.0" +name: "dash-linux-18" enable_cache: true distro: "ubuntu" suites: diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index 983b9e8bc5..1660bc8d3a 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -1,5 +1,5 @@ --- -name: "dash-osx-18.0" +name: "dash-osx-18" enable_cache: true distro: "ubuntu" suites: diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index 4a2191fa12..d207ba6c6f 100755 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -1,5 +1,5 @@ --- -name: "dash-win-18.0" +name: "dash-win-18" enable_cache: true distro: "ubuntu" suites: diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index a5d79ae976..5c40c3e9a7 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -17,10 +17,10 @@ APPL CFBundleShortVersionString - @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@.@CLIENT_VERSION_BUILD@ + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@ CFBundleVersion - @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@.@CLIENT_VERSION_BUILD@ + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@ CFBundleSignature ???? diff --git a/share/setup.nsi.in b/share/setup.nsi.in index 2c745ecf9a..e6e2027269 100644 --- a/share/setup.nsi.in +++ b/share/setup.nsi.in @@ -51,7 +51,7 @@ CRCCheck on XPStyle on BrandingText " " ShowInstDetails show -VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@.@CLIENT_VERSION_BUILD@ +VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@.0 VIAddVersionKey ProductName "@PACKAGE_NAME@" VIAddVersionKey ProductVersion "@PACKAGE_VERSION@" VIAddVersionKey CompanyName "${COMPANY}" diff --git a/src/clientversion.cpp b/src/clientversion.cpp index 7dcbdc99aa..ab34d10fe3 100644 --- a/src/clientversion.cpp +++ b/src/clientversion.cpp @@ -30,8 +30,7 @@ const std::string CLIENT_NAME("Dash Core"); #define BUILD_DESC BUILD_GIT_TAG #define BUILD_SUFFIX "" #else - #define BUILD_DESC "v" STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) \ - "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) + #define BUILD_DESC "v" STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #ifdef BUILD_GIT_COMMIT #define BUILD_SUFFIX "-" BUILD_GIT_COMMIT #elif defined(GIT_COMMIT_ID) @@ -45,7 +44,7 @@ const std::string CLIENT_BUILD(BUILD_DESC BUILD_SUFFIX); std::string FormatVersion(int nVersion) { - return strprintf("%d.%d.%d.%d", nVersion / 1000000, (nVersion / 10000) % 100, (nVersion / 100) % 100, nVersion % 100); + return strprintf("%d.%d.%d", nVersion / 10000, (nVersion / 100) % 100, nVersion % 100); } std::string FormatFullVersion() diff --git a/src/clientversion.h b/src/clientversion.h index 018a1667c2..5072874790 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -10,7 +10,7 @@ #endif //HAVE_CONFIG_H // Check that required client information is defined -#if !defined(CLIENT_VERSION_MAJOR) || !defined(CLIENT_VERSION_MINOR) || !defined(CLIENT_VERSION_REVISION) || !defined(CLIENT_VERSION_BUILD) || !defined(CLIENT_VERSION_IS_RELEASE) || !defined(COPYRIGHT_YEAR) +#if !defined(CLIENT_VERSION_MAJOR) || !defined(CLIENT_VERSION_MINOR) || !defined(CLIENT_VERSION_BUILD) || !defined(CLIENT_VERSION_IS_RELEASE) || !defined(COPYRIGHT_YEAR) #error Client version information missing: version is not defined by dash-config.h or in any other way #endif @@ -36,9 +36,8 @@ #include static const int CLIENT_VERSION = - 1000000 * CLIENT_VERSION_MAJOR - + 10000 * CLIENT_VERSION_MINOR - + 100 * CLIENT_VERSION_REVISION + 10000 * CLIENT_VERSION_MAJOR + + 100 * CLIENT_VERSION_MINOR + 1 * CLIENT_VERSION_BUILD; extern const std::string CLIENT_NAME; diff --git a/src/dash-cli-res.rc b/src/dash-cli-res.rc index c464b0a0e5..b9ff8f119d 100644 --- a/src/dash-cli-res.rc +++ b/src/dash-cli-res.rc @@ -1,8 +1,8 @@ #include // needed for VERSIONINFO #include "clientversion.h" // holds the needed client version information -#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD -#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR diff --git a/src/dash-tx-res.rc b/src/dash-tx-res.rc index 816a35676d..7500109845 100644 --- a/src/dash-tx-res.rc +++ b/src/dash-tx-res.rc @@ -1,8 +1,8 @@ #include // needed for VERSIONINFO #include "clientversion.h" // holds the needed client version information -#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD -#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR diff --git a/src/dash-wallet-res.rc b/src/dash-wallet-res.rc index 31d6b6e7e9..b3ec9f1b92 100644 --- a/src/dash-wallet-res.rc +++ b/src/dash-wallet-res.rc @@ -1,8 +1,8 @@ #include // needed for VERSIONINFO #include "clientversion.h" // holds the needed client version information -#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD -#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR diff --git a/src/dashd-res.rc b/src/dashd-res.rc index 288b017a68..c3f89b169a 100644 --- a/src/dashd-res.rc +++ b/src/dashd-res.rc @@ -1,8 +1,8 @@ #include // needed for VERSIONINFO #include "clientversion.h" // holds the needed client version information -#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD -#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR diff --git a/src/qt/res/dash-qt-res.rc b/src/qt/res/dash-qt-res.rc index 14057308c5..92ec1c103d 100644 --- a/src/qt/res/dash-qt-res.rc +++ b/src/qt/res/dash-qt-res.rc @@ -4,8 +4,8 @@ IDI_ICON2 ICON DISCARDABLE "icons/dash_testnet.ico" #include // needed for VERSIONINFO #include "../../clientversion.h" // holds the needed client version information -#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD -#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD) #define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index 0891f2e114..568ccd3799 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -1089,9 +1089,9 @@ BOOST_AUTO_TEST_CASE(test_FormatSubVersion) std::vector comments2; comments2.push_back(std::string("comment1")); comments2.push_back(SanitizeString(std::string("Comment2; .,_?@-; !\"#$%&'()*+/<=>[]\\^`{|}~"), SAFE_CHARS_UA_COMMENT)); // Semicolon is discouraged but not forbidden by BIP-0014 - BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, std::vector()),std::string("/Test:0.9.99.0/")); - BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments),std::string("/Test:0.9.99.0(comment1)/")); - BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments2),std::string("/Test:0.9.99.0(comment1; Comment2; .,_?@-; )/")); + BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, std::vector()),std::string("/Test:9.99.0/")); + BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments),std::string("/Test:9.99.0(comment1)/")); + BOOST_CHECK_EQUAL(FormatSubVersion("Test", 99900, comments2),std::string("/Test:9.99.0(comment1; Comment2; .,_?@-; )/")); } BOOST_AUTO_TEST_CASE(test_ParseFixedPoint) diff --git a/test/lint/extended-lint-cppcheck.sh b/test/lint/extended-lint-cppcheck.sh index 47df25ba6b..f60e955646 100755 --- a/test/lint/extended-lint-cppcheck.sh +++ b/test/lint/extended-lint-cppcheck.sh @@ -66,7 +66,7 @@ function join_array { ENABLED_CHECKS_REGEXP=$(join_array "|" "${ENABLED_CHECKS[@]}") IGNORED_WARNINGS_REGEXP=$(join_array "|" "${IGNORED_WARNINGS[@]}") WARNINGS=$(git ls-files -- "*.cpp" "*.h" ":(exclude)src/leveldb/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" | \ - xargs cppcheck --enable=all -j "$(getconf _NPROCESSORS_ONLN)" --language=c++ --std=c++11 --template=gcc -D__cplusplus -DCLIENT_VERSION_BUILD -DCLIENT_VERSION_IS_RELEASE -DCLIENT_VERSION_MAJOR -DCLIENT_VERSION_MINOR -DCLIENT_VERSION_REVISION -DCOPYRIGHT_YEAR -DDEBUG -DHAVE_WORKING_BOOST_SLEEP_FOR -I src/ -q 2>&1 | sort -u | \ + xargs cppcheck --enable=all -j "$(getconf _NPROCESSORS_ONLN)" --language=c++ --std=c++11 --template=gcc -D__cplusplus -DCLIENT_VERSION_BUILD -DCLIENT_VERSION_IS_RELEASE -DCLIENT_VERSION_MAJOR -DCLIENT_VERSION_MINOR -DCOPYRIGHT_YEAR -DDEBUG -DHAVE_WORKING_BOOST_SLEEP_FOR -I src/ -q 2>&1 | sort -u | \ grep -E "${ENABLED_CHECKS_REGEXP}" | \ grep -vE "${IGNORED_WARNINGS_REGEXP}") if [[ ${WARNINGS} != "" ]]; then diff --git a/test/lint/lint-cppcheck-dash.sh b/test/lint/lint-cppcheck-dash.sh index 45996efdb4..5f3862f7ec 100755 --- a/test/lint/lint-cppcheck-dash.sh +++ b/test/lint/lint-cppcheck-dash.sh @@ -109,7 +109,7 @@ ENABLED_CHECKS_REGEXP=$(join_array "|" "${ENABLED_CHECKS[@]}") IGNORED_WARNINGS_REGEXP=$(join_array "|" "${IGNORED_WARNINGS[@]}") FILES_REGEXP=$(join_array "|" "${FILES[@]}") WARNINGS=$(echo "${FILES}" | \ - xargs cppcheck --enable=all -j "$(getconf _NPROCESSORS_ONLN)" --language=c++ --std=c++17 --template=gcc -D__cplusplus -DENABLE_WALLET -DCLIENT_VERSION_BUILD -DCLIENT_VERSION_IS_RELEASE -DCLIENT_VERSION_MAJOR -DCLIENT_VERSION_MINOR -DCLIENT_VERSION_REVISION -DCOPYRIGHT_YEAR -DDEBUG -DHAVE_WORKING_BOOST_SLEEP_FOR -DCHAR_BIT=8 -I src/ -q 2>&1 | sort -u | \ + xargs cppcheck --enable=all -j "$(getconf _NPROCESSORS_ONLN)" --language=c++ --std=c++17 --template=gcc -D__cplusplus -DENABLE_WALLET -DCLIENT_VERSION_BUILD -DCLIENT_VERSION_IS_RELEASE -DCLIENT_VERSION_MAJOR -DCLIENT_VERSION_MINOR -DCOPYRIGHT_YEAR -DDEBUG -DHAVE_WORKING_BOOST_SLEEP_FOR -DCHAR_BIT=8 -I src/ -q 2>&1 | sort -u | \ grep -E "${ENABLED_CHECKS_REGEXP}" | \ grep -vE "${IGNORED_WARNINGS_REGEXP}" | \ grep -E "${FILES_REGEXP}") From 070ef357c02c855f39988813480dc72d4533d6dd Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sat, 30 Apr 2022 23:33:45 +0300 Subject: [PATCH 16/74] wallet: fix metadata updates on HD derivation (#4819) * wallet: Use temporary structure to update metadata correctly while generating new hd keys * wallet: Make sure to never update an already existing key_origin while deriving hd keys --- src/hdchain.cpp | 3 +++ src/wallet/wallet.cpp | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hdchain.cpp b/src/hdchain.cpp index 8871f7d030..1649da5ff0 100644 --- a/src/hdchain.cpp +++ b/src/hdchain.cpp @@ -187,6 +187,9 @@ void CHDChain::DeriveChildExtKey(uint32_t nAccountIndex, bool fInternal, uint32_ changeKey.Derive(extKeyRet, nChildIndex); #ifdef ENABLE_WALLET + // We should never ever update an already existing key_origin here + assert(!metadata.has_key_origin); + assert(metadata.key_origin.path.empty()); metadata.key_origin.path.push_back(44 | 0x80000000); metadata.key_origin.path.push_back(Params().ExtCoinType() | 0x80000000); metadata.key_origin.path.push_back(nAccountIndex | 0x80000000); diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index f6b7c778c5..e453f19ea5 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -365,12 +365,17 @@ void CWallet::DeriveNewChildKey(WalletBatch &batch, CKeyMetadata& metadata, CKey // derive child key at next index, skip keys already known to the wallet CExtKey childKey; + CKeyMetadata metadataTmp; uint32_t nChildIndex = fInternal ? acc.nInternalChainCounter : acc.nExternalChainCounter; do { - hdChainTmp.DeriveChildExtKey(nAccountIndex, fInternal, nChildIndex, childKey, metadata); + // NOTE: DeriveChildExtKey updates metadata, use temporary structure to make sure + // we start with the original (non-updated) data each time. + metadataTmp = metadata; + hdChainTmp.DeriveChildExtKey(nAccountIndex, fInternal, nChildIndex, childKey, metadataTmp); // increment childkey index nChildIndex++; } while (HaveKey(childKey.key.GetPubKey().GetID())); + metadata = metadataTmp; secretRet = childKey.key; CPubKey pubkey = secretRet.GetPubKey(); From 1ddddb0c1edff20bf489a34d619dd42b673b1ec2 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sun, 1 May 2022 23:40:30 +0300 Subject: [PATCH 17/74] mnsync: drop regtest-only "quick sync" mode (#4824) --- src/masternode/sync.cpp | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/masternode/sync.cpp b/src/masternode/sync.cpp index bfbb5bb618..a3c30f7710 100644 --- a/src/masternode/sync.cpp +++ b/src/masternode/sync.cpp @@ -156,21 +156,6 @@ void CMasternodeSync::ProcessTick(CConnman& connman) // initiated from another node, so skip it too. if (!pnode->CanRelay() || (fMasternodeMode && pnode->fInbound)) continue; - // QUICK MODE (REGTEST ONLY!) - if(Params().NetworkIDString() == CBaseChainParams::REGTEST) - { - if (nCurrentAsset == MASTERNODE_SYNC_BLOCKCHAIN) { - connman.PushMessage(pnode, msgMaker.Make(NetMsgType::GETSPORKS)); //get current network sporks - SwitchToNextAsset(connman); - } else if (nCurrentAsset == MASTERNODE_SYNC_GOVERNANCE) { - SendGovernanceSyncRequest(pnode, connman); - SwitchToNextAsset(connman); - } - connman.ReleaseNodeVector(vNodesCopy); - return; - } - - // NORMAL NETWORK MODE - TESTNET/MAINNET { if ((pnode->HasPermission(PF_NOBAN) || pnode->m_manual_connection) && !netfulfilledman.HasFulfilledRequest(pnode->addr, strAllow)) { netfulfilledman.RemoveAllFulfilledRequests(pnode->addr); From ab49fc938e0fedf423980438172e96fed570cc1f Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 12 May 2022 23:11:50 +0300 Subject: [PATCH 18/74] wallet: Fix wallet autobackup on start (#4831) 19324 follow-up (merged via 4714) - `AutoBackupWallet()` call was unreachable. NOTE: It's safe to call it after `Verify()` because 18918 backport moved salvage logic out of `Verify*()`. --- src/wallet/wallet.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index e453f19ea5..be8a56cd8c 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -5042,7 +5042,9 @@ bool CWallet::Verify(interfaces::Chain& chain, const WalletLocation& location, b std::unique_ptr database = CreateWalletDatabase(wallet_path); try { - return database->Verify(error_string); + if (!database->Verify(error_string)) { + return false; + } } catch (const fs::filesystem_error& e) { error_string = Untranslated(strprintf("Error loading wallet %s. %s", location.GetName(), fsbridge::get_filesystem_error_message(e))); return false; @@ -5053,6 +5055,8 @@ bool CWallet::Verify(interfaces::Chain& chain, const WalletLocation& location, b if (!tempWallet->AutoBackupWallet(wallet_path, error_string, warnings) && !error_string.original.empty()) { return false; } + + return true; } std::shared_ptr CWallet::CreateWalletFromFile(interfaces::Chain& chain, const WalletLocation& location, bilingual_str& error, std::vector& warnings, uint64_t wallet_creation_flags) From a3f4f570275c7aa8288a4d9d5dd62b9302e2f81a Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 12 May 2022 23:12:36 +0300 Subject: [PATCH 19/74] fix(qt): include `upgradetohd` into "no history" list (#4832) --- src/qt/rpcconsole.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index f8528d97df..73717ee488 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -69,6 +69,7 @@ const QStringList historyFilter = QStringList() << "importmulti" << "signmessagewithprivkey" << "signrawtransactionwithkey" + << "upgradetohd" << "walletpassphrase" << "walletpassphrasechange" << "encryptwallet"; From 414e40d29fcfebc79dca923763de77590ae69d4f Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 18 May 2022 20:45:15 +0300 Subject: [PATCH 20/74] fix!: incorrect CalcCbTxMerkleRootQuorums with rotation (#4833) * Fix for CalcCbTxMerkleRootQuorums with rotation * Added check for merkleRootQuorums in feature_llmq_rotation * Correct logging * Update test/functional/feature_llmq_rotation.py Co-authored-by: UdjinM6 * Update test/functional/feature_llmq_rotation.py Co-authored-by: UdjinM6 * lint: fix python linter Co-authored-by: UdjinM6 Co-authored-by: pasta --- src/evo/cbtx.cpp | 47 ++++++--- test/functional/feature_llmq_rotation.py | 114 ++++++++++++++++++++- test/functional/test_framework/messages.py | 12 ++- 3 files changed, 153 insertions(+), 20 deletions(-) diff --git a/src/evo/cbtx.cpp b/src/evo/cbtx.cpp index b69d433996..dbd30aa1d4 100644 --- a/src/evo/cbtx.cpp +++ b/src/evo/cbtx.cpp @@ -167,35 +167,33 @@ bool CalcCbTxMerkleRootQuorums(const CBlock& block, const CBlockIndex* pindexPre int64_t nTime1 = GetTimeMicros(); - static std::map> quorumsCached; - static std::map> qcHashesCached; - // The returned quorums are in reversed order, so the most recent one is at index 0 auto quorums = llmq::quorumBlockProcessor->GetMinedAndActiveCommitmentsUntilBlock(pindexPrev); std::map> qcHashes; + std::map> qcIndexedHashes; size_t hashCount = 0; int64_t nTime2 = GetTimeMicros(); nTimeMinedAndActive += nTime2 - nTime1; LogPrint(BCLog::BENCHMARK, " - GetMinedAndActiveCommitmentsUntilBlock: %.2fms [%.2fs]\n", 0.001 * (nTime2 - nTime1), nTimeMinedAndActive * 0.000001); - if (quorums == quorumsCached) { - qcHashes = qcHashesCached; - } else { - for (const auto& p : quorums) { - auto& v = qcHashes[p.first]; - v.reserve(p.second.size()); - for (const auto& p2 : p.second) { - uint256 minedBlockHash; - llmq::CFinalCommitmentPtr qc = llmq::quorumBlockProcessor->GetMinedCommitment(p.first, p2->GetBlockHash(), minedBlockHash); - if (qc == nullptr) return state.DoS(100, false, REJECT_INVALID, "commitment-not-found"); - v.emplace_back(::SerializeHash(*qc)); - hashCount++; + for (const auto& p : quorums) { + auto& v = qcHashes[p.first]; + v.reserve(p.second.size()); + for (const auto& p2 : p.second) { + uint256 minedBlockHash; + llmq::CFinalCommitmentPtr qc = llmq::quorumBlockProcessor->GetMinedCommitment(p.first, p2->GetBlockHash(), minedBlockHash); + if (qc == nullptr) return state.DoS(100, false, REJECT_INVALID, "commitment-not-found"); + if (llmq::CLLMQUtils::IsQuorumRotationEnabled(qc->llmqType, pindexPrev)) { + auto& qi = qcIndexedHashes[p.first]; + qi.insert(std::make_pair(qc->quorumIndex, ::SerializeHash(*qc))); + continue; } + v.emplace_back(::SerializeHash(*qc)); + hashCount++; } - quorumsCached = quorums; - qcHashesCached = qcHashes; } + int64_t nTime3 = GetTimeMicros(); nTimeMined += nTime3 - nTime2; LogPrint(BCLog::BENCHMARK, " - GetMinedCommitment: %.2fms [%.2fs]\n", 0.001 * (nTime3 - nTime2), nTimeMined * 0.000001); @@ -215,6 +213,11 @@ bool CalcCbTxMerkleRootQuorums(const CBlock& block, const CBlockIndex* pindexPre auto qcHash = ::SerializeHash(qc.commitment); const auto& llmq_params = llmq::GetLLMQParams(qc.commitment.llmqType); auto& v = qcHashes[llmq_params.type]; + if (llmq::CLLMQUtils::IsQuorumRotationEnabled(qc.commitment.llmqType, pindexPrev)) { + auto& qi = qcIndexedHashes[qc.commitment.llmqType]; + qi[qc.commitment.quorumIndex] = qcHash; + continue; + } if (v.size() == size_t(llmq_params.signingActiveQuorumCount)) { // we pop the last entry, which is actually the oldest quorum as GetMinedAndActiveCommitmentsUntilBlock // returned quorums in reversed order. This pop and later push can only work ONCE, but we rely on the @@ -229,6 +232,16 @@ bool CalcCbTxMerkleRootQuorums(const CBlock& block, const CBlockIndex* pindexPre } } + if (!qcIndexedHashes.empty()) { + for (const auto& q : qcIndexedHashes) { + auto& v = qcHashes[q.first]; + for (const auto& qq : q.second) { + v.emplace_back(qq.second); + hashCount++; + } + } + } + std::vector qcHashesVec; qcHashesVec.reserve(hashCount); diff --git a/test/functional/feature_llmq_rotation.py b/test/functional/feature_llmq_rotation.py index 6e737ed49b..dd1f39c58a 100755 --- a/test/functional/feature_llmq_rotation.py +++ b/test/functional/feature_llmq_rotation.py @@ -9,7 +9,11 @@ feature_llmq_rotation.py Checks LLMQs Quorum Rotation ''' +from io import BytesIO + from test_framework.test_framework import DashTestFramework +from test_framework.messages import CBlock, CBlockHeader, CCbTx, CMerkleBlock, FromHex, hash256, msg_getmnlistd, QuorumId +from test_framework.mininode import P2PInterface from test_framework.util import ( assert_equal, assert_greater_than_or_equal, @@ -27,6 +31,25 @@ def intersection(lst1, lst2): def extract_quorum_members(quorum_info): return [d['proTxHash'] for d in quorum_info["members"]] +class TestP2PConn(P2PInterface): + def __init__(self): + super().__init__() + self.last_mnlistdiff = None + + def on_mnlistdiff(self, message): + self.last_mnlistdiff = message + + def wait_for_mnlistdiff(self, timeout=30): + def received_mnlistdiff(): + return self.last_mnlistdiff is not None + return wait_until(received_mnlistdiff, timeout=timeout) + + def getmnlistdiff(self, baseBlockHash, blockHash): + msg = msg_getmnlistd(baseBlockHash, blockHash) + self.last_mnlistdiff = None + self.send_message(msg) + self.wait_for_mnlistdiff() + return self.last_mnlistdiff class LLMQQuorumRotationTest(DashTestFramework): def set_test_params(self): @@ -34,10 +57,11 @@ class LLMQQuorumRotationTest(DashTestFramework): self.set_dash_llmq_test_params(4, 4) def run_test(self): - llmq_type=103 llmq_type_name="llmq_test_dip0024" + self.test_node = self.nodes[0].add_p2p_connection(TestP2PConn()) + # Connect all nodes to node1 so that we always have the whole network connected # Otherwise only masternode connections will be established between nodes, which won't propagate TXs/blocks # Usually node0 is the one that does this, but in this test we isolate it multiple times @@ -63,6 +87,8 @@ class LLMQQuorumRotationTest(DashTestFramework): self.move_to_next_cycle() self.log.info("Cycle H+2C height:" + str(self.nodes[0].getblockcount())) + b_0 = self.nodes[0].getbestblockhash() + (quorum_info_0_0, quorum_info_0_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) quorum_members_0_0 = extract_quorum_members(quorum_info_0_0) quorum_members_0_1 = extract_quorum_members(quorum_info_0_1) @@ -70,6 +96,17 @@ class LLMQQuorumRotationTest(DashTestFramework): self.log.info("Quorum #0_0 members: " + str(quorum_members_0_0)) self.log.info("Quorum #0_1 members: " + str(quorum_members_0_1)) + q_100_0 = QuorumId(100, int(quorum_info_0_0["quorumHash"], 16)) + q_102_0 = QuorumId(102, int(quorum_info_0_0["quorumHash"], 16)) + q_104_0 = QuorumId(104, int(quorum_info_0_0["quorumHash"], 16)) + q_103_0_0 = QuorumId(103, int(quorum_info_0_0["quorumHash"], 16)) + q_103_0_1 = QuorumId(103, int(quorum_info_0_1["quorumHash"], 16)) + + b_1 = self.nodes[0].getbestblockhash() + expectedDeleted = [] + expectedNew = [q_100_0, q_102_0, q_104_0, q_103_0_0, q_103_0_1] + quorumList = self.test_getmnlistdiff_quorums(b_0, b_1, {}, expectedDeleted, expectedNew) + (quorum_info_1_0, quorum_info_1_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) quorum_members_1_0 = extract_quorum_members(quorum_info_1_0) quorum_members_1_1 = extract_quorum_members(quorum_info_1_1) @@ -77,6 +114,16 @@ class LLMQQuorumRotationTest(DashTestFramework): self.log.info("Quorum #1_0 members: " + str(quorum_members_1_0)) self.log.info("Quorum #1_1 members: " + str(quorum_members_1_1)) + q_100_1 = QuorumId(100, int(quorum_info_1_0["quorumHash"], 16)) + q_102_1 = QuorumId(102, int(quorum_info_1_0["quorumHash"], 16)) + q_103_1_0 = QuorumId(103, int(quorum_info_1_0["quorumHash"], 16)) + q_103_1_1 = QuorumId(103, int(quorum_info_1_1["quorumHash"], 16)) + + b_2 = self.nodes[0].getbestblockhash() + expectedDeleted = [q_103_0_0, q_103_0_1] + expectedNew = [q_100_1, q_102_1, q_103_1_0, q_103_1_1] + quorumList = self.test_getmnlistdiff_quorums(b_1, b_2, quorumList, expectedDeleted, expectedNew) + (quorum_info_2_0, quorum_info_2_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) quorum_members_2_0 = extract_quorum_members(quorum_info_2_0) quorum_members_2_1 = extract_quorum_members(quorum_info_2_1) @@ -84,6 +131,16 @@ class LLMQQuorumRotationTest(DashTestFramework): self.log.info("Quorum #2_0 members: " + str(quorum_members_2_0)) self.log.info("Quorum #2_1 members: " + str(quorum_members_2_1)) + q_100_2 = QuorumId(100, int(quorum_info_2_0["quorumHash"], 16)) + q_102_2 = QuorumId(102, int(quorum_info_2_0["quorumHash"], 16)) + q_103_2_0 = QuorumId(103, int(quorum_info_2_0["quorumHash"], 16)) + q_103_2_1 = QuorumId(103, int(quorum_info_2_1["quorumHash"], 16)) + + b_3 = self.nodes[0].getbestblockhash() + expectedDeleted = [q_100_0, q_102_0, q_103_1_0, q_103_1_1] + expectedNew = [q_100_2, q_102_2, q_103_2_0, q_103_2_1] + quorumList = self.test_getmnlistdiff_quorums(b_2, b_3, quorumList, expectedDeleted, expectedNew) + mninfos_online = self.mninfo.copy() nodes = [self.nodes[0]] + [mn.node for mn in mninfos_online] sync_blocks(nodes) @@ -101,7 +158,7 @@ class LLMQQuorumRotationTest(DashTestFramework): assert_greater_than_or_equal(len(intersection(quorum_members_1_0, quorum_members_2_0)), 3) assert_greater_than_or_equal(len(intersection(quorum_members_1_1, quorum_members_2_1)), 3) - self.log.info("mine a quorum to invalidate") + self.log.info("Mine a quorum to invalidate") (quorum_info_3_0, quorum_info_3_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) new_quorum_list = self.nodes[0].quorum("list", llmq_type) @@ -127,6 +184,59 @@ class LLMQQuorumRotationTest(DashTestFramework): wait_until(lambda: self.nodes[0].getbestblockhash() == new_quorum_blockhash, sleep=1) assert_equal(self.nodes[0].quorum("list", llmq_type), new_quorum_list) + def test_getmnlistdiff_quorums(self, baseBlockHash, blockHash, baseQuorumList, expectedDeleted, expectedNew): + d = self.test_getmnlistdiff_base(baseBlockHash, blockHash) + + assert_equal(set(d.deletedQuorums), set(expectedDeleted)) + assert_equal(set([QuorumId(e.llmqType, e.quorumHash) for e in d.newQuorums]), set(expectedNew)) + + newQuorumList = baseQuorumList.copy() + + for e in d.deletedQuorums: + newQuorumList.pop(e) + + for e in d.newQuorums: + newQuorumList[QuorumId(e.llmqType, e.quorumHash)] = e + + cbtx = CCbTx() + cbtx.deserialize(BytesIO(d.cbTx.vExtraPayload)) + + if cbtx.version >= 2: + hashes = [] + for qc in newQuorumList.values(): + hashes.append(hash256(qc.serialize())) + hashes.sort() + merkleRoot = CBlock.get_merkle_root(hashes) + assert_equal(merkleRoot, cbtx.merkleRootQuorums) + + return newQuorumList + + + def test_getmnlistdiff_base(self, baseBlockHash, blockHash): + hexstr = self.nodes[0].getblockheader(blockHash, False) + header = FromHex(CBlockHeader(), hexstr) + + d = self.test_node.getmnlistdiff(int(baseBlockHash, 16), int(blockHash, 16)) + assert_equal(d.baseBlockHash, int(baseBlockHash, 16)) + assert_equal(d.blockHash, int(blockHash, 16)) + + # Check that the merkle proof is valid + proof = CMerkleBlock(header, d.merkleProof) + proof = proof.serialize().hex() + assert_equal(self.nodes[0].verifytxoutproof(proof), [d.cbTx.hash]) + + # Check if P2P messages match with RPCs + d2 = self.nodes[0].protx("diff", baseBlockHash, blockHash) + assert_equal(d2["baseBlockHash"], baseBlockHash) + assert_equal(d2["blockHash"], blockHash) + assert_equal(d2["cbTxMerkleTree"], d.merkleProof.serialize().hex()) + assert_equal(d2["cbTx"], d.cbTx.serialize().hex()) + assert_equal(set([int(e, 16) for e in d2["deletedMNs"]]), set(d.deletedMNs)) + assert_equal(set([int(e["proRegTxHash"], 16) for e in d2["mnList"]]), set([e.proRegTxHash for e in d.mnList])) + assert_equal(set([QuorumId(e["llmqType"], int(e["quorumHash"], 16)) for e in d2["deletedQuorums"]]), set(d.deletedQuorums)) + assert_equal(set([QuorumId(e["llmqType"], int(e["quorumHash"], 16)) for e in d2["newQuorums"]]), set([QuorumId(e.llmqType, e.quorumHash) for e in d.newQuorums])) + + return d if __name__ == '__main__': LLMQQuorumRotationTest().main() diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py index 6b84fe2033..683319ea4f 100755 --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -1103,7 +1103,7 @@ class CSimplifiedMNListEntry: class CFinalCommitment: - __slots__ = ("nVersion", "llmqType", "quorumHash", "signers", "validMembers", "quorumPublicKey", + __slots__ = ("nVersion", "llmqType", "quorumHash", "quorumIndex", "signers", "validMembers", "quorumPublicKey", "quorumVvecHash", "quorumSig", "membersSig") def __init__(self): @@ -1113,6 +1113,7 @@ class CFinalCommitment: self.nVersion = 0 self.llmqType = 0 self.quorumHash = 0 + self.quorumIndex = 0 self.signers = [] self.validMembers = [] self.quorumPublicKey = b'\\x0' * 48 @@ -1124,6 +1125,8 @@ class CFinalCommitment: self.nVersion = struct.unpack(" Date: Wed, 18 May 2022 12:49:20 -0500 Subject: [PATCH 21/74] chore: bump to rc4 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 2083c01d9d..847aebb43c 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 3) +define(_CLIENT_VERSION_RC, 4) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 24ba5ce6ca1eccbfb2f6fa4be7f85ff106960894 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Fri, 27 May 2022 22:51:32 +0300 Subject: [PATCH 22/74] Adjusted keepOldConnections value for llmq_devnet (#4851) --- src/llmq/params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llmq/params.h b/src/llmq/params.h index 7464b20797..5ce836d1c9 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -217,7 +217,7 @@ static constexpr std::array available_llmqs = { .signingActiveQuorumCount = 4, // just a few ones to allow easier testing - .keepOldConnections = 4, + .keepOldConnections = 5, .recoveryMembers = 6, }, From 228633a99c830b5b6291cd4a71952115c7a40ed1 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Sat, 28 May 2022 19:37:20 +0300 Subject: [PATCH 23/74] fix!: Return FinalCommitment in qrinfo (instead of simply quorumHash) (#4850) --- src/llmq/snapshot.cpp | 18 ++++++++++++------ src/llmq/snapshot.h | 12 +++++++----- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/llmq/snapshot.cpp b/src/llmq/snapshot.cpp index 0d031f491a..b5acef5723 100644 --- a/src/llmq/snapshot.cpp +++ b/src/llmq/snapshot.cpp @@ -88,12 +88,13 @@ void CQuorumRotationInfo::ToJson(UniValue& obj) const mnListDiffAtHMinus4C.value().ToJson(objdiff4c); obj.pushKV("mnListDiffAtHMinus4C", objdiff4c); } - - UniValue hlists(UniValue::VARR); - for (const auto& h : lastQuorumHashPerIndex) { - hlists.push_back(h.ToString()); + UniValue hqclists(UniValue::VARR); + for (const auto& qc : lastCommitmentPerIndex) { + UniValue objqc; + qc.ToJson(objqc); + hqclists.push_back(objqc); } - obj.pushKV("lastQuorumHashPerIndex", hlists); + obj.pushKV("lastCommitmentPerIndex", hqclists); UniValue snapshotlist(UniValue::VARR); for (const auto& snap : quorumSnapshotList) { @@ -296,7 +297,12 @@ bool BuildQuorumRotationInfo(const CGetQuorumRotationInfo& request, CQuorumRotat std::vector> qdata = quorumBlockProcessor->GetLastMinedCommitmentsPerQuorumIndexUntilBlock(llmqType, blockIndex, 0); for (const auto& obj : qdata) { - response.lastQuorumHashPerIndex.push_back(obj.second->GetBlockHash()); + uint256 minedBlockHash; + llmq::CFinalCommitmentPtr qc = llmq::quorumBlockProcessor->GetMinedCommitment(llmqType, obj.second->GetBlockHash(), minedBlockHash); + if (qc == nullptr) { + return false; + } + response.lastCommitmentPerIndex.push_back(*qc); int quorumCycleStartHeight = obj.second->nHeight - (obj.second->nHeight % llmqParams.dkgInterval); snapshotHeightsNeeded.insert(quorumCycleStartHeight - cycleLength); diff --git a/src/llmq/snapshot.h b/src/llmq/snapshot.h index b4b6e0b93e..dceccfacf9 100644 --- a/src/llmq/snapshot.h +++ b/src/llmq/snapshot.h @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -114,7 +115,7 @@ public: std::optional quorumSnapshotAtHMinus4C; std::optional mnListDiffAtHMinus4C; - std::vector lastQuorumHashPerIndex; + std::vector lastCommitmentPerIndex; std::vector quorumSnapshotList; std::vector mnListDiffList; @@ -145,8 +146,8 @@ public: ::Serialize(s, mnListDiffAtHMinus4C.value()); } - WriteCompactSize(s, lastQuorumHashPerIndex.size()); - for (const auto& obj : lastQuorumHashPerIndex) { + WriteCompactSize(s, lastCommitmentPerIndex.size()); + for (const auto& obj : lastCommitmentPerIndex) { ::Serialize(s, obj); } @@ -177,8 +178,9 @@ public: size_t cnt = ReadCompactSize(s); for (size_t i = 0; i < cnt; i++) { uint256 hash; - ::Unserialize(s, hash); - lastQuorumHashPerIndex.push_back(std::move(hash)); + CFinalCommitment qc; + ::Unserialize(s, qc); + lastCommitmentPerIndex.push_back(std::move(qc)); } cnt = ReadCompactSize(s); From 145a974a22d0c07fa6b8234a47493f4e1a066c78 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 26 May 2022 23:16:13 +0300 Subject: [PATCH 24/74] fix!: llmqTypeInstantSend deactivation prevention if used for other purposes (#4848) --- src/llmq/utils.cpp | 14 ++++++++++++++ src/llmq/utils.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 38bf65c8b1..9065a1016e 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -535,6 +535,17 @@ bool CLLMQUtils::IsDIP0024Active(const CBlockIndex* pindex) return VersionBitsState(pindex, Params().GetConsensus(), Consensus::DEPLOYMENT_DIP0024, llmq_versionbitscache) == ThresholdState::ACTIVE; } +bool CLLMQUtils::IsInstantSendLLMQTypeShared() +{ + if (Params().GetConsensus().llmqTypeInstantSend == Params().GetConsensus().llmqTypeChainLocks || + Params().GetConsensus().llmqTypeInstantSend == Params().GetConsensus().llmqTypePlatform || + Params().GetConsensus().llmqTypeInstantSend == Params().GetConsensus().llmqTypeMnhf) { + return true; + } + + return false; +} + uint256 CLLMQUtils::DeterministicOutboundConnection(const uint256& proTxHash1, const uint256& proTxHash2) { // We need to deterministically select who is going to initiate the connection. The naive way would be to simply @@ -754,6 +765,9 @@ bool CLLMQUtils::IsQuorumTypeEnabledInternal(Consensus::LLMQType llmqType, const { case Consensus::LLMQType::LLMQ_TEST_INSTANTSEND: case Consensus::LLMQType::LLMQ_50_60: { + if (IsInstantSendLLMQTypeShared()) { + break; + } bool fDIP0024IsActive = optDIP0024IsActive.has_value() ? *optDIP0024IsActive : CLLMQUtils::IsDIP0024Active(pindex); if (fDIP0024IsActive) { bool fHaveDIP0024Quorums = optHaveDIP0024Quorums.has_value() ? *optHaveDIP0024Quorums diff --git a/src/llmq/utils.h b/src/llmq/utils.h index 3f48b8d900..1865dec391 100644 --- a/src/llmq/utils.h +++ b/src/llmq/utils.h @@ -97,6 +97,7 @@ public: static Consensus::LLMQType GetInstantSendLLMQType(const CBlockIndex* pindex); static Consensus::LLMQType GetInstantSendLLMQType(bool deterministic); static bool IsDIP0024Active(const CBlockIndex* pindex); + static bool IsInstantSendLLMQTypeShared(); /// Returns the state of `-llmq-data-recovery` static bool QuorumDataRecoveryEnabled(); From a8b9dedefb2f76963275495aedc8985170d0c6d3 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sun, 29 May 2022 23:42:18 +0300 Subject: [PATCH 25/74] fix(qt): Disable "Show address QR code" menu items/buttons when no qrencode support was compiled in (#4854) --- src/qt/addressbookpage.cpp | 10 ++++++++++ src/qt/transactionview.cpp | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index 1010a99217..ceccefdf04 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -67,6 +67,9 @@ AddressBookPage::AddressBookPage(Mode _mode, Tabs _tab, QWidget* parent) : ui->setupUi(this); ui->showAddressQRCode->setIcon(QIcon()); +#ifndef USE_QRCODE + ui->showAddressQRCode->setEnabled(false); +#endif switch(mode) { @@ -110,6 +113,9 @@ AddressBookPage::AddressBookPage(Mode _mode, Tabs _tab, QWidget* parent) : QAction *editAction = new QAction(tr("&Edit"), this); QAction *showAddressQRCodeAction = new QAction(tr("&Show address QR code"), this); deleteAction = new QAction(ui->deleteAddress->text(), this); +#ifndef USE_QRCODE + showAddressQRCodeAction->setEnabled(false); +#endif // Build context menu contextMenu = new QMenu(this); @@ -269,13 +275,17 @@ void AddressBookPage::selectionChanged() break; } ui->copyAddress->setEnabled(true); +#ifdef USE_QRCODE ui->showAddressQRCode->setEnabled(true); +#endif } else { ui->deleteAddress->setEnabled(false); ui->copyAddress->setEnabled(false); +#ifdef USE_QRCODE ui->showAddressQRCode->setEnabled(false); +#endif } } diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 2bd5e4dee7..bbfa3d2c30 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -157,6 +157,9 @@ transactionView(nullptr), abandonAction(nullptr), columnResizingFixer(nullptr) QAction *editLabelAction = new QAction(tr("Edit address label"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); QAction *showAddressQRCodeAction = new QAction(tr("Show address QR code"), this); +#ifndef USE_QRCODE + showAddressQRCodeAction->setEnabled(false); +#endif contextMenu = new QMenu(this); contextMenu->setObjectName("contextMenu"); From 8aefb77d86dc33d3dc20416d1e5cc7a4ba8416bf Mon Sep 17 00:00:00 2001 From: pasta Date: Sun, 29 May 2022 15:44:00 -0500 Subject: [PATCH 26/74] chore: bump to rc5 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 847aebb43c..525711774e 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 4) +define(_CLIENT_VERSION_RC, 5) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 1babc5abff2607692aacf02fc1aef4fde2fccc5b Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Sun, 29 May 2022 11:27:04 +0700 Subject: [PATCH 27/74] docs/build: Kubuntu 22.04 build fix (#4843) * Fix build of qtbase in contrib for Gcc 11.x It adds a patch with missing include in qtbase/src/tools/moc/generator.cpp * Merge bitcoin/bitcoin#23716: test: replace hashlib.ripemd160 with an own implementation 5b559dc7ecf37ab1604b75ec8ffe8436377a5fb1 Swap out hashlib.ripemd160 for own implementation (Pieter Wuille) ad3e9e1f214d739e098c6ebbd300da5df1026a44 Add pure Python RIPEMD-160 (Pieter Wuille) Pull request description: Closes #23710. ACKs for top commit: jamesob: ACK https://github.com/bitcoin/bitcoin/pull/23716/commits/5b559dc7ecf37ab1604b75ec8ffe8436377a5fb1, pending CI Tree-SHA512: dcd4ea2027eac572f7ab0da434b081b9a5d6b78675e559258a446b4d254b29d93c4d2cc12da4a28303543d6d99f5f2246fde4052e84af81d18e04399b137b39e * Updates doc for Unix build: added missing dependency bison Co-authored-by: MarcoFalke --- depends/patches/qt/fix_limits_header.patch | 13 ++ doc/build-unix.md | 4 +- test/functional/test_framework/ripemd160.py | 130 ++++++++++++++++++++ test/functional/test_framework/script.py | 5 +- 4 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 test/functional/test_framework/ripemd160.py diff --git a/depends/patches/qt/fix_limits_header.patch b/depends/patches/qt/fix_limits_header.patch index d1acfa15d9..a435fb38d5 100644 --- a/depends/patches/qt/fix_limits_header.patch +++ b/depends/patches/qt/fix_limits_header.patch @@ -28,3 +28,16 @@ Upstream commits: +#include + QT_BEGIN_NAMESPACE + + +--- old/qtbase/src/tools/moc/generator.cpp ++++ new/qtbase/src/tools/moc/generator.cpp +@@ -42,6 +42,7 @@ + + #include + #include ++#include + + #include //for the flags. + #include //for the flags. + diff --git a/doc/build-unix.md b/doc/build-unix.md index 743edc1b6e..428841cd5e 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -13,7 +13,7 @@ Run the following commands to install required packages: ##### Debian/Ubuntu: ```bash -$ sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils +$ sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils bison ``` ##### Fedora: @@ -158,4 +158,4 @@ If your user is in the `staff` group the limit can be raised with: The change will only affect the current shell and processes spawned by it. To make the change system-wide, change `datasize-cur` and `datasize-max` in -`/etc/login.conf`, and reboot. \ No newline at end of file +`/etc/login.conf`, and reboot. diff --git a/test/functional/test_framework/ripemd160.py b/test/functional/test_framework/ripemd160.py new file mode 100644 index 0000000000..12801364b4 --- /dev/null +++ b/test/functional/test_framework/ripemd160.py @@ -0,0 +1,130 @@ +# Copyright (c) 2021 Pieter Wuille +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +"""Test-only pure Python RIPEMD160 implementation.""" + +import unittest + +# Message schedule indexes for the left path. +ML = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 +] + +# Message schedule indexes for the right path. +MR = [ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 +] + +# Rotation counts for the left path. +RL = [ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 +] + +# Rotation counts for the right path. +RR = [ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 +] + +# K constants for the left path. +KL = [0, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e] + +# K constants for the right path. +KR = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0] + + +def fi(x, y, z, i): + """The f1, f2, f3, f4, and f5 functions from the specification.""" + if i == 0: + return x ^ y ^ z + elif i == 1: + return (x & y) | (~x & z) + elif i == 2: + return (x | ~y) ^ z + elif i == 3: + return (x & z) | (y & ~z) + elif i == 4: + return x ^ (y | ~z) + else: + assert False + + +def rol(x, i): + """Rotate the bottom 32 bits of x left by i bits.""" + return ((x << i) | ((x & 0xffffffff) >> (32 - i))) & 0xffffffff + + +def compress(h0, h1, h2, h3, h4, block): + """Compress state (h0, h1, h2, h3, h4) with block.""" + # Left path variables. + al, bl, cl, dl, el = h0, h1, h2, h3, h4 + # Right path variables. + ar, br, cr, dr, er = h0, h1, h2, h3, h4 + # Message variables. + x = [int.from_bytes(block[4*i:4*(i+1)], 'little') for i in range(16)] + + # Iterate over the 80 rounds of the compression. + for j in range(80): + rnd = j >> 4 + # Perform left side of the transformation. + al = rol(al + fi(bl, cl, dl, rnd) + x[ML[j]] + KL[rnd], RL[j]) + el + al, bl, cl, dl, el = el, al, bl, rol(cl, 10), dl + # Perform right side of the transformation. + ar = rol(ar + fi(br, cr, dr, 4 - rnd) + x[MR[j]] + KR[rnd], RR[j]) + er + ar, br, cr, dr, er = er, ar, br, rol(cr, 10), dr + + # Compose old state, left transform, and right transform into new state. + return h1 + cl + dr, h2 + dl + er, h3 + el + ar, h4 + al + br, h0 + bl + cr + + +def ripemd160(data): + """Compute the RIPEMD-160 hash of data.""" + # Initialize state. + state = (0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0) + # Process full 64-byte blocks in the input. + for b in range(len(data) >> 6): + state = compress(*state, data[64*b:64*(b+1)]) + # Construct final blocks (with padding and size). + pad = b"\x80" + b"\x00" * ((119 - len(data)) & 63) + fin = data[len(data) & ~63:] + pad + (8 * len(data)).to_bytes(8, 'little') + # Process final blocks. + for b in range(len(fin) >> 6): + state = compress(*state, fin[64*b:64*(b+1)]) + # Produce output. + return b"".join((h & 0xffffffff).to_bytes(4, 'little') for h in state) + + +class TestFrameworkKey(unittest.TestCase): + def test_ripemd160(self): + """RIPEMD-160 test vectors.""" + # See https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + for msg, hexout in [ + (b"", "9c1185a5c5e9fc54612808977ee8f548b2258d31"), + (b"a", "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe"), + (b"abc", "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc"), + (b"message digest", "5d0689ef49d2fae572b881b123a85ffa21595f36"), + (b"abcdefghijklmnopqrstuvwxyz", + "f71c27109c692c1b56bbdceb5b9d2865b3708dbc"), + (b"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "12a053384a9c0c88e405a06c27dcf49ada62eb2b"), + (b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + "b0e20b6e3116640286ed3a87a5713079b21f5189"), + (b"1234567890" * 8, "9b752e45573d4b39f4dbd3323cab82bf63326bfb"), + (b"a" * 1000000, "52783243c1697bdbe16d37f97f68f08325dc1528") + ]: + self.assertEqual(ripemd160(msg).hex(), hexout) diff --git a/test/functional/test_framework/script.py b/test/functional/test_framework/script.py index 943b404deb..e9c791058a 100644 --- a/test/functional/test_framework/script.py +++ b/test/functional/test_framework/script.py @@ -7,18 +7,19 @@ This file is modified from python-bitcoinlib. """ -import hashlib import struct from .bignum import bn2vch from .messages import CTransaction, CTxOut, sha256, hash256 +from .ripemd160 import ripemd160 + MAX_SCRIPT_ELEMENT_SIZE = 520 OPCODE_NAMES = {} def hash160(s): - return hashlib.new('ripemd160', sha256(s)).digest() + return ripemd160(sha256(s)) _opcode_instances = [] From 07249a836f8e7015a73de8e2865773d5b926d338 Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Wed, 25 May 2022 22:12:40 +0700 Subject: [PATCH 28/74] feat(qt): UI fixes for window "Wallet Repair" (#4846) * Qt: fix layout of components on "Wallet Repair" window * Qt: refactor ui xml config It orders components accordingly their positions on windows and fixes space indentation --- src/qt/forms/debugwindow.ui | 418 +++++++++++++++--------------------- 1 file changed, 170 insertions(+), 248 deletions(-) diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index af9718e562..b04d64509d 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -1390,255 +1390,177 @@ - - - - 10 - 100 - 301 - 23 - + + + 12 - - - 180 - 23 - - - - Rescan blockchain files 1 - - - - - - 10 - 150 - 301 - 23 - - - - - 180 - 23 - - - - Rescan blockchain files 2 - - - - - - 10 - 200 - 301 - 23 - - - - - 180 - 23 - - - - Recover transactions 1 - - - - - - 10 - 250 - 301 - 23 - - - - - 180 - 23 - - - - Recover transactions 2 - - - - - - 10 - 300 - 301 - 23 - - - - - 180 - 23 - - - - Upgrade wallet format - - - - - - 10 - 30 - 711 - 41 - - - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. - - - true - - - - - - 330 - 90 - 411 - 41 - - - - -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. - - - true - - - - - - 330 - 140 - 411 - 41 - - - - -rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block. - - - true - - - - - - 330 - 190 - 411 - 41 - - - - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). - - - true - - - - - - 330 - 240 - 411 - 41 - - - - -zapwallettxes=2: Recover transactions from blockchain (drop meta-data). - - - true - - - - - - 330 - 290 - 411 - 41 - - - - -upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!) - - - true - - - - - - 10 - 10 - 711 - 16 - - - - Wallet repair options. - - - true - - - - - - 10 - 350 - 301 - 23 - - - - Rebuild index - - - - - - 330 - 340 - 411 - 41 - - - - -reindex: Rebuild block chain index from current blk000??.dat files. - - - true - - - - - - 10 - 70 - 731 - 21 - - - - Wallet Path - - + + + + Wallet repair options. + + + true + + + + + + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + + + true + + + + + + + Wallet Path + + + + + + + + 180 + 23 + + + + Rescan blockchain files 1 + + + + + + + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. + + + true + + + + + + + + 180 + 23 + + + + Rescan blockchain files 2 + + + + + + + -rescan=2: Rescan the block chain for missing wallet transactions starting from genesis block. + + + true + + + + + + + + 180 + 23 + + + + Recover transactions 1 + + + + + + + -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). + + + true + + + + + + + + 180 + 23 + + + + Recover transactions 2 + + + + + + + -zapwallettxes=2: Recover transactions from blockchain (drop meta-data). + + + true + + + + + + + + 180 + 23 + + + + Upgrade wallet format + + + + + + + -upgradewallet: Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!) + + + true + + + + + + + Rebuild index + + + + + + + -reindex: Rebuild block chain index from current blk000??.dat files. + + + true + + + + + + + Qt::Vertical + + + + From 9f27648dc22170b12ef9529e287c9cd41fdcec73 Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Fri, 3 Jun 2022 19:24:43 +0700 Subject: [PATCH 29/74] depends: dump `zlib' from 1.2.11 to 1.2.12 due to 404 link for source downloading (#4858) --- depends/packages/zlib.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/zlib.mk b/depends/packages/zlib.mk index acb02020a8..66cb8aa7a0 100644 --- a/depends/packages/zlib.mk +++ b/depends/packages/zlib.mk @@ -1,8 +1,8 @@ package=zlib -$(package)_version=1.2.11 +$(package)_version=1.2.12 $(package)_download_path=https://www.zlib.net $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 +$(package)_sha256_hash=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9 define $(package)_set_vars $(package)_config_opts= CC="$($(package)_cc)" From 21bf0eacdb183015ec98a298de9302d62aa7613b Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 8 Jun 2022 00:06:40 +0300 Subject: [PATCH 30/74] fix(llmq): Actually remove old masternode quorum connections (#4859) --- src/llmq/quorums.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index d03c2bcd6d..eeb894ce23 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -291,13 +291,15 @@ void CQuorumManager::EnsureQuorumConnections(const Consensus::LLMQParams& llmqPa for (const auto& quorum : lastQuorums) { if (CLLMQUtils::EnsureQuorumConnections(llmqParams, quorum->m_quorum_base_block_index, WITH_LOCK(activeMasternodeInfoCs, return activeMasternodeInfo.proTxHash))) { - continue; - } - if (connmanQuorumsToDelete.count(quorum->qc->quorumHash) > 0) { - LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- removing masternodes quorum connections for quorum %s:\n", __func__, quorum->qc->quorumHash.ToString()); - g_connman->RemoveMasternodeQuorumNodes(llmqParams.type, quorum->qc->quorumHash); + if (connmanQuorumsToDelete.erase(quorum->qc->quorumHash) > 0) { + LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- llmqType[%d] h[%d] keeping mn quorum connections for quorum: [%d:%s]\n", __func__, int(llmqParams.type), pindexNew->nHeight, quorum->m_quorum_base_block_index->nHeight, quorum->m_quorum_base_block_index->GetBlockHash().ToString()); + } } } + for (const auto& quorumHash : connmanQuorumsToDelete) { + LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- removing masternodes quorum connections for quorum %s:\n", __func__, quorumHash.ToString()); + g_connman->RemoveMasternodeQuorumNodes(llmqParams.type, quorumHash); + } } CQuorumPtr CQuorumManager::BuildQuorumFromCommitment(const Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex) const From d9f0b3a961b05c3abd30652db1c5d16a42514f59 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 8 Jun 2022 00:32:37 +0300 Subject: [PATCH 31/74] fix!: Rotation fixes and adjustments (#4868) * Typos * Fix for Rotated member calculation * Adjusted keepOldConnections logic to rotation * Fix for Rotated member calculation + more logs * Fix for Rotated member calculation * Added LogAcceptCategory * fix: brackets and LLMQ_TEST_DIP0024 changes * fix: decrease keepOldConnections to 4 Co-authored-by: UdjinM6 Co-authored-by: pasta Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Co-authored-by: UdjinM6 --- src/llmq/dkgsession.cpp | 4 +- src/llmq/params.h | 4 +- src/llmq/utils.cpp | 151 ++++++++++++++++++++++++---------------- src/llmq/utils.h | 2 +- 4 files changed, 97 insertions(+), 64 deletions(-) diff --git a/src/llmq/dkgsession.cpp b/src/llmq/dkgsession.cpp index ab052c49cc..b586115b7a 100644 --- a/src/llmq/dkgsession.cpp +++ b/src/llmq/dkgsession.cpp @@ -416,10 +416,10 @@ void CDKGSession::VerifyAndComplain(CDKGPendingMessages& pendingMessages) // we check all members if they sent us their contributions // we consider members as bad if they missed to send anything or if they sent multiple - // in both cases we won't give him a second chance as he is either down, buggy or an adversary + // in both cases we won't give them a second chance as they might be either down, buggy or an adversary // we assume that such a participant will be marked as bad by the whole network in most cases, // as propagation will ensure that all nodes see the same vvecs/contributions. In case nodes come to - // different conclusions, the aggregation phase will handle this (most voted quorum key wins) + // different conclusions, the aggregation phase will handle this (most voted quorum key wins). cxxtimer::Timer t1(true); diff --git a/src/llmq/params.h b/src/llmq/params.h index 5ce836d1c9..d47cb87743 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -193,7 +193,7 @@ static constexpr std::array available_llmqs = { .signingActiveQuorumCount = 2, // just a few ones to allow easier testing - .keepOldConnections = 3, + .keepOldConnections = 4, .recoveryMembers = 3, }, @@ -265,7 +265,7 @@ static constexpr std::array available_llmqs = { .dkgBadVotesThreshold = 48, .signingActiveQuorumCount = 32, - .keepOldConnections = 33, + .keepOldConnections = 64, .recoveryMembers = 25, }, diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 9065a1016e..03c60b52d3 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -137,50 +137,54 @@ std::vector> CLLMQUtils::ComputeQuorumMembersB //TODO Check if it is triggered from outside (P2P, block validation). Throwing an exception is probably a wiser choice //assert (!newQuarterMembers.empty()); - for (auto i = 0; i < nQuorums; ++i) { - std::stringstream ss; + if (LogAcceptCategory(BCLog::LLMQ)) { + for (auto i = 0; i < nQuorums; ++i) { + std::stringstream ss; - ss << " 3Cmns["; - for (auto& m : previousQuarters.quarterHMinus3C[i]) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; - } - ss << " ] 2Cmns["; - for (auto& m : previousQuarters.quarterHMinus2C[i]) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; - } - ss << " ] Cmns["; - for (auto& m : previousQuarters.quarterHMinusC[i]) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; - } - ss << " ] new["; - for (auto& m : newQuarterMembers[i]) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; - } - ss << " ]"; - LogPrint(BCLog::LLMQ, "QuarterComposition h[%d] i[%d]:%s\n", pCycleQuorumBaseBlockIndex->nHeight, i, ss.str()); - } - - for (auto i = 0; i < nQuorums; ++i) { - for (auto& m : previousQuarters.quarterHMinus3C[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto& m : previousQuarters.quarterHMinus2C[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto& m : previousQuarters.quarterHMinusC[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto& m : newQuarterMembers[i]) { - quorumMembers[i].push_back(std::move(m)); + ss << " 3Cmns["; + for (auto &m: previousQuarters.quarterHMinus3C[i]) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << " ] 2Cmns["; + for (auto &m: previousQuarters.quarterHMinus2C[i]) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << " ] Cmns["; + for (auto &m: previousQuarters.quarterHMinusC[i]) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << " ] new["; + for (auto &m: newQuarterMembers[i]) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << " ]"; + LogPrint(BCLog::LLMQ, "QuarterComposition h[%d] i[%d]:%s\n", pCycleQuorumBaseBlockIndex->nHeight, i, + ss.str()); } - std::stringstream ss; - ss << " ["; - for (auto& m : quorumMembers[i]) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; + for (auto i = 0; i < nQuorums; ++i) { + for (auto &m: previousQuarters.quarterHMinus3C[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: previousQuarters.quarterHMinus2C[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: previousQuarters.quarterHMinusC[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: newQuarterMembers[i]) { + quorumMembers[i].push_back(std::move(m)); + } + + std::stringstream ss; + ss << " ["; + for (auto &m: quorumMembers[i]) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << "]"; + LogPrint(BCLog::LLMQ, "QuorumComposition h[%d] i[%d]:%s\n", pCycleQuorumBaseBlockIndex->nHeight, i, + ss.str()); } - ss << "]"; - LogPrint(BCLog::LLMQ, "QuorumComposition h[%d] i[%d]:%s\n", pCycleQuorumBaseBlockIndex->nHeight, i, ss.str()); } return quorumMembers; @@ -236,6 +240,9 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter for (auto i = 0; i < nQuorums; ++i) { for (const auto& mn : previousQuarters.quarterHMinusC[i]) { + if (allMns.IsMNPoSeBanned(mn->proTxHash)) { + continue; + } try { MnsUsedAtH.AddMN(mn); } catch (std::runtime_error& e) { @@ -246,6 +253,9 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter } } for (const auto& mn : previousQuarters.quarterHMinus2C[i]) { + if (allMns.IsMNPoSeBanned(mn->proTxHash)) { + continue; + } try { MnsUsedAtH.AddMN(mn); } catch (std::runtime_error& e) { @@ -256,6 +266,9 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter } } for (const auto& mn : previousQuarters.quarterHMinus3C[i]) { + if (allMns.IsMNPoSeBanned(mn->proTxHash)) { + continue; + } try { MnsUsedAtH.AddMN(mn); } catch (std::runtime_error& e) { @@ -267,11 +280,13 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter } } - allMns.ForEachMNShared(true, [&MnsUsedAtH, &MnsNotUsedAtH](const CDeterministicMNCPtr& dmn) { + allMns.ForEachMNShared(false, [&MnsUsedAtH, &MnsNotUsedAtH](const CDeterministicMNCPtr& dmn) { if (!MnsUsedAtH.HasMN(dmn->proTxHash)) { - try { - MnsNotUsedAtH.AddMN(dmn); - } catch (std::runtime_error& e) { + if (!dmn->pdmnState->IsBanned()) { + try { + MnsNotUsedAtH.AddMN(dmn); + } catch (std::runtime_error &e) { + } } } }); @@ -283,13 +298,16 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter sortedCombinedMnsList.push_back(std::move(m)); } - std::stringstream ss; - ss << " ["; - for (auto& m : sortedCombinedMnsList) { - ss << m->proTxHash.ToString().substr(0, 4) << " | "; + if (LogAcceptCategory(BCLog::LLMQ)) { + std::stringstream ss; + ss << " ["; + for (auto &m: sortedCombinedMnsList) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << "]"; + LogPrint(BCLog::LLMQ, "BuildNewQuorumQuarterMembers h[%d] sortedCombinedMnsList[%s]\n", + pQuorumBaseBlockIndex->nHeight, ss.str()); } - ss << "]"; - LogPrint(BCLog::LLMQ, "BuildNewQuorumQuarterMembers h[%d] sortedCombinedMnsList:%s\n", pQuorumBaseBlockIndex->nHeight, ss.str()); std::vector skipList; int firstSkippedIndex = 0; @@ -322,12 +340,14 @@ std::vector> CLLMQUtils::BuildNewQuorumQuarter return quarterQuorumMembers; } -void CLLMQUtils::BuildQuorumSnapshot(const Consensus::LLMQParams& llmqParams, const CDeterministicMNList& mnAtH, const CDeterministicMNList& mnUsedAtH, std::vector& sortedCombinedMns, CQuorumSnapshot& quorumSnapshot, int nHeight, std::vector& skipList, const CBlockIndex* pQuorumBaseBlockIndex) +void CLLMQUtils::BuildQuorumSnapshot(const Consensus::LLMQParams& llmqParams, const CDeterministicMNList& allMns, const CDeterministicMNList& mnUsedAtH, std::vector& sortedCombinedMns, CQuorumSnapshot& quorumSnapshot, int nHeight, std::vector& skipList, const CBlockIndex* pQuorumBaseBlockIndex) { - quorumSnapshot.activeQuorumMembers.resize(mnAtH.GetAllMNsCount()); + quorumSnapshot.activeQuorumMembers.resize(allMns.GetAllMNsCount()); const CBlockIndex* pWorkBlockIndex = pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8); auto modifier = ::SerializeHash(std::make_pair(llmqParams.type, pWorkBlockIndex->GetBlockHash())); - auto sortedAllMns = mnAtH.CalculateQuorum(mnAtH.GetAllMNsCount(), modifier); + auto sortedAllMns = allMns.CalculateQuorum(allMns.GetAllMNsCount(), modifier); + + LogPrint(BCLog::LLMQ, "BuildQuorumSnapshot h[%d] numMns[%d]\n", pQuorumBaseBlockIndex->nHeight, allMns.GetAllMNsCount()); std::fill(quorumSnapshot.activeQuorumMembers.begin(), quorumSnapshot.activeQuorumMembers.end(), @@ -364,6 +384,17 @@ std::vector> CLLMQUtils::GetQuorumQuarterMembe std::move(sortedMnsUsedAtH.begin(), sortedMnsUsedAtH.end(), std::back_inserter(sortedCombinedMns)); } + if (LogAcceptCategory(BCLog::LLMQ)) { + std::stringstream ss; + ss << " ["; + for (auto &m: sortedCombinedMns) { + ss << m->proTxHash.ToString().substr(0, 4) << "|"; + } + ss << "]"; + LogPrint(BCLog::LLMQ, "GetQuorumQuarterMembersBySnapshot h[%d] from[%d] sortedCombinedMns[%s]\n", + pQuorumBaseBlockIndex->nHeight, nHeight, ss.str()); + } + auto numQuorums = size_t(llmqParams.signingActiveQuorumCount); auto quorumSize = size_t(llmqParams.size); auto quarterSize = quorumSize / 4; @@ -433,20 +464,22 @@ std::pair CLLMQUtils::GetMNUsageBySn const CBlockIndex* pWorkBlockIndex = pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8); auto modifier = ::SerializeHash(std::make_pair(llmqType, pWorkBlockIndex->GetBlockHash())); - auto Mns = deterministicMNManager->GetListForBlock(pWorkBlockIndex); - auto sortedAllMns = Mns.CalculateQuorum(Mns.GetAllMNsCount(), modifier); + auto allMns = deterministicMNManager->GetListForBlock(pWorkBlockIndex); + auto sortedAllMns = allMns.CalculateQuorum(allMns.GetAllMNsCount(), modifier); size_t i{0}; for (const auto& dmn : sortedAllMns) { if (snapshot.activeQuorumMembers[i]) { try { usedMNs.AddMN(dmn); - } catch (std::runtime_error& e) { + } catch (std::runtime_error &e) { } } else { - try { - nonUsedMNs.AddMN(dmn); - } catch (std::runtime_error& e) { + if (!dmn->pdmnState->IsBanned()) { + try { + nonUsedMNs.AddMN(dmn); + } catch (std::runtime_error &e) { + } } } i++; diff --git a/src/llmq/utils.h b/src/llmq/utils.h index 1865dec391..6052166ffb 100644 --- a/src/llmq/utils.h +++ b/src/llmq/utils.h @@ -64,7 +64,7 @@ public: static std::vector> GetQuorumQuarterMembersBySnapshot(const Consensus::LLMQParams& llmqParams, const CBlockIndex* pQuorumBaseBlockIndex, const llmq::CQuorumSnapshot& snapshot, int nHeights); static std::pair GetMNUsageBySnapshot(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex, const llmq::CQuorumSnapshot& snapshot, int nHeight); - static void BuildQuorumSnapshot(const Consensus::LLMQParams& llmqParams, const CDeterministicMNList& mnAtH, const CDeterministicMNList& mnUsedAtH, std::vector& sortedCombinedMns, CQuorumSnapshot& quorumSnapshot, int nHeight, std::vector& skipList, const CBlockIndex* pQuorumBaseBlockIndex); + static void BuildQuorumSnapshot(const Consensus::LLMQParams& llmqParams, const CDeterministicMNList& allMns, const CDeterministicMNList& mnUsedAtH, std::vector& sortedCombinedMns, CQuorumSnapshot& quorumSnapshot, int nHeight, std::vector& skipList, const CBlockIndex* pQuorumBaseBlockIndex); static uint256 BuildCommitmentHash(Consensus::LLMQType llmqType, const uint256& blockHash, const std::vector& validMembers, const CBLSPublicKey& pubKey, const uint256& vvecHash); static uint256 BuildSignHash(Consensus::LLMQType llmqType, const uint256& quorumHash, const uint256& id, const uint256& msgHash); From cbc579ae4e85c66e072c2b9892edc78147a7a39c Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 7 Jun 2022 16:43:05 -0500 Subject: [PATCH 32/74] chore: bump to rc6 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 525711774e..2b034bdce9 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 5) +define(_CLIENT_VERSION_RC, 6) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2021) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 6a90e68edc2127ef578af3aad5300f3e50be9cd0 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Tue, 7 Jun 2022 18:36:46 -0500 Subject: [PATCH 33/74] chore: bump copyrights (#4873) * chore: bump copyright in configure.ac * chore: bump copyright via copyright_header.py ran command `python3 contrib/devtools/copyright_header.py update .` --- configure.ac | 2 +- contrib/devtools/copyright_header.py | 2 +- src/batchedlogger.cpp | 2 +- src/batchedlogger.h | 2 +- src/bench/bls.cpp | 2 +- src/bench/bls_dkg.cpp | 2 +- src/bench/crypto_hash.cpp | 2 +- src/bench/ecdsa.cpp | 2 +- src/bench/string_cast.cpp | 2 +- src/bls/bls.cpp | 2 +- src/bls/bls.h | 2 +- src/bls/bls_batchverifier.h | 2 +- src/bls/bls_worker.cpp | 2 +- src/cachemap.h | 2 +- src/cachemultimap.h | 2 +- src/chainparams.cpp | 2 +- src/coinjoin/client.cpp | 2 +- src/coinjoin/client.h | 2 +- src/coinjoin/coinjoin.cpp | 2 +- src/coinjoin/coinjoin.h | 2 +- src/coinjoin/server.cpp | 2 +- src/coinjoin/server.h | 2 +- src/coinjoin/util.cpp | 2 +- src/coinjoin/util.h | 2 +- src/dash-cli.cpp | 2 +- src/dashd.cpp | 2 +- src/dsnotificationinterface.cpp | 2 +- src/evo/cbtx.cpp | 2 +- src/evo/cbtx.h | 2 +- src/evo/deterministicmns.cpp | 2 +- src/evo/deterministicmns.h | 2 +- src/evo/dmnstate.cpp | 2 +- src/evo/dmnstate.h | 2 +- src/evo/evodb.h | 2 +- src/evo/mnauth.cpp | 2 +- src/evo/mnauth.h | 2 +- src/evo/providertx.cpp | 2 +- src/evo/providertx.h | 2 +- src/evo/simplifiedmns.cpp | 2 +- src/evo/simplifiedmns.h | 2 +- src/evo/specialtx.cpp | 2 +- src/evo/specialtx.h | 2 +- src/evo/specialtxman.cpp | 2 +- src/evo/specialtxman.h | 2 +- src/flat-database.h | 2 +- src/governance/governance.cpp | 2 +- src/governance/governance.h | 2 +- src/governance/object.cpp | 2 +- src/governance/validators.cpp | 2 +- src/governance/validators.h | 2 +- src/governance/vote.cpp | 2 +- src/governance/vote.h | 2 +- src/hash.h | 2 +- src/hdchain.cpp | 2 +- src/hdchain.h | 2 +- src/init.cpp | 2 +- src/llmq/blockprocessor.cpp | 2 +- src/llmq/blockprocessor.h | 2 +- src/llmq/chainlocks.cpp | 2 +- src/llmq/chainlocks.h | 2 +- src/llmq/clsig.cpp | 2 +- src/llmq/clsig.h | 2 +- src/llmq/commitment.cpp | 2 +- src/llmq/commitment.h | 2 +- src/llmq/debug.cpp | 2 +- src/llmq/debug.h | 2 +- src/llmq/dkgsession.cpp | 2 +- src/llmq/dkgsession.h | 2 +- src/llmq/dkgsessionhandler.cpp | 2 +- src/llmq/dkgsessionhandler.h | 2 +- src/llmq/dkgsessionmgr.cpp | 2 +- src/llmq/dkgsessionmgr.h | 2 +- src/llmq/init.cpp | 2 +- src/llmq/init.h | 2 +- src/llmq/instantsend.cpp | 2 +- src/llmq/instantsend.h | 2 +- src/llmq/params.h | 2 +- src/llmq/quorums.cpp | 2 +- src/llmq/quorums.h | 2 +- src/llmq/signing.cpp | 2 +- src/llmq/signing.h | 2 +- src/llmq/signing_shares.cpp | 2 +- src/llmq/signing_shares.h | 2 +- src/llmq/snapshot.cpp | 2 +- src/llmq/snapshot.h | 2 +- src/llmq/utils.cpp | 2 +- src/llmq/utils.h | 2 +- src/masternode/meta.cpp | 2 +- src/masternode/node.cpp | 2 +- src/masternode/node.h | 2 +- src/masternode/payments.cpp | 2 +- src/masternode/payments.h | 2 +- src/masternode/sync.cpp | 2 +- src/masternode/sync.h | 2 +- src/masternode/utils.cpp | 2 +- src/messagesigner.cpp | 2 +- src/messagesigner.h | 2 +- src/miner.cpp | 2 +- src/net.cpp | 2 +- src/netfulfilledman.cpp | 2 +- src/netfulfilledman.h | 2 +- src/noui.cpp | 2 +- src/qt/addressbookpage.cpp | 2 +- src/qt/addresstablemodel.cpp | 2 +- src/qt/appearancewidget.h | 2 +- src/qt/askpassphrasedialog.cpp | 2 +- src/qt/bitcoinaddressvalidator.cpp | 2 +- src/qt/bitcoingui.cpp | 2 +- src/qt/bitcoinunits.cpp | 2 +- src/qt/bitcoinunits.h | 2 +- src/qt/clientmodel.cpp | 2 +- src/qt/clientmodel.h | 2 +- src/qt/coincontroldialog.cpp | 2 +- src/qt/dash.cpp | 2 +- src/qt/editaddressdialog.cpp | 2 +- src/qt/guiconstants.h | 2 +- src/qt/guiutil.cpp | 2 +- src/qt/intro.cpp | 2 +- src/qt/networkstyle.cpp | 2 +- src/qt/networkstyle.h | 2 +- src/qt/openuridialog.cpp | 2 +- src/qt/optionsmodel.cpp | 2 +- src/qt/paymentserver.cpp | 2 +- src/qt/rpcconsole.cpp | 2 +- src/qt/sendcoinsdialog.cpp | 2 +- src/qt/sendcoinsentry.cpp | 2 +- src/qt/signverifymessagedialog.cpp | 2 +- src/qt/splashscreen.cpp | 2 +- src/qt/test/test_main.cpp | 2 +- src/qt/transactiondesc.cpp | 2 +- src/qt/transactionrecord.cpp | 2 +- src/qt/utilitydialog.cpp | 2 +- src/qt/walletmodel.cpp | 2 +- src/rpc/blockchain.cpp | 2 +- src/rpc/client.cpp | 2 +- src/rpc/coinjoin.cpp | 2 +- src/rpc/governance.cpp | 2 +- src/rpc/masternode.cpp | 2 +- src/rpc/mining.cpp | 2 +- src/rpc/misc.cpp | 2 +- src/rpc/net.cpp | 2 +- src/rpc/rawtransaction.cpp | 2 +- src/rpc/rpcevo.cpp | 2 +- src/rpc/rpcquorums.cpp | 2 +- src/rpc/server.cpp | 2 +- src/saltedhasher.cpp | 2 +- src/saltedhasher.h | 2 +- src/spork.cpp | 2 +- src/spork.h | 2 +- src/stacktraces.cpp | 2 +- src/support/allocators/mt_pooled_secure.h | 2 +- src/support/allocators/pooled_secure.h | 2 +- src/test/bip39_tests.cpp | 2 +- src/test/block_reward_reallocation_tests.cpp | 2 +- src/test/blockchain_tests.cpp | 2 +- src/test/bls_tests.cpp | 2 +- src/test/cachemap_tests.cpp | 2 +- src/test/cachemultimap_tests.cpp | 2 +- src/test/dynamic_activation_thresholds_tests.cpp | 2 +- src/test/evo_deterministicmns_tests.cpp | 2 +- src/test/evo_simplifiedmns_tests.cpp | 2 +- src/test/evo_trivialvalidation.cpp | 2 +- src/test/governance_validators_tests.cpp | 2 +- src/test/netbase_tests.cpp | 2 +- src/test/ratecheck_tests.cpp | 2 +- src/test/script_p2pk_tests.cpp | 2 +- src/test/specialtx_tests.cpp | 2 +- src/test/subsidy_tests.cpp | 2 +- src/test/util/setup_common.h | 2 +- src/uint256.h | 2 +- src/util/ranges.h | 2 +- src/util/system.cpp | 2 +- src/util/system.h | 2 +- src/validation.cpp | 2 +- src/validation.h | 2 +- src/version.h | 2 +- src/wallet/rpcdump.cpp | 2 +- src/wallet/rpcwallet.cpp | 2 +- src/wallet/test/coinjoin_tests.cpp | 2 +- src/wallet/wallet.cpp | 2 +- src/wallet/wallet.h | 2 +- src/wallet/walletdb.cpp | 2 +- test/functional/feature_dip3_deterministicmns.py | 2 +- test/functional/feature_dip4_coinbasemerkleroots.py | 2 +- test/functional/feature_llmq_is_cl_conflicts.py | 2 +- test/functional/feature_llmq_is_migration.py | 2 +- test/functional/feature_llmq_rotation.py | 2 +- test/functional/feature_llmq_signing.py | 2 +- test/functional/feature_new_quorum_type_activation.py | 2 +- test/functional/interface_zmq_dash.py | 2 +- test/functional/p2p_instantsend.py | 2 +- test/functional/p2p_quorum_data.py | 2 +- test/functional/p2p_sendheaders_compressed.py | 2 +- test/functional/rpc_verifyislock.py | 2 +- test/functional/test_framework/test_framework.py | 2 +- test/functional/test_framework/util.py | 2 +- 196 files changed, 196 insertions(+), 196 deletions(-) diff --git a/configure.ac b/configure.ac index 2b034bdce9..3e1d842372 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_RC, 6) define(_CLIENT_VERSION_IS_RELEASE, false) -define(_COPYRIGHT_YEAR, 2021) +define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]]) AC_INIT([Dash Core],m4_join([.], _CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MINOR, _CLIENT_VERSION_BUILD)m4_if(_CLIENT_VERSION_RC, [0], [], [rc]_CLIENT_VERSION_RC),[https://github.com/dashpay/dash/issues],[dashcore],[https://dash.org/]) diff --git a/contrib/devtools/copyright_header.py b/contrib/devtools/copyright_header.py index e9eea42b96..8a70bbb68c 100755 --- a/contrib/devtools/copyright_header.py +++ b/contrib/devtools/copyright_header.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # Copyright (c) 2016-2019 The Bitcoin Core developers -# Copyright (c) 2019 The Dash Core developers +# Copyright (c) 2019-2021 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/batchedlogger.cpp b/src/batchedlogger.cpp index aa24c03ce4..562eca0cd6 100644 --- a/src/batchedlogger.cpp +++ b/src/batchedlogger.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/batchedlogger.h b/src/batchedlogger.h index cf190f6d2e..e86b9dbad6 100644 --- a/src/batchedlogger.h +++ b/src/batchedlogger.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bench/bls.cpp b/src/bench/bls.cpp index eb4e65616d..45c008a641 100644 --- a/src/bench/bls.cpp +++ b/src/bench/bls.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bench/bls_dkg.cpp b/src/bench/bls_dkg.cpp index 256deb1780..4b9a71eab3 100644 --- a/src/bench/bls_dkg.cpp +++ b/src/bench/bls_dkg.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bench/crypto_hash.cpp b/src/bench/crypto_hash.cpp index ece3ed3a90..00416205b8 100644 --- a/src/bench/crypto_hash.cpp +++ b/src/bench/crypto_hash.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2016-2020 The Bitcoin Core developers -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bench/ecdsa.cpp b/src/bench/ecdsa.cpp index 3b01fb1767..a26e932ad4 100644 --- a/src/bench/ecdsa.cpp +++ b/src/bench/ecdsa.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bench/string_cast.cpp b/src/bench/string_cast.cpp index 655a63a598..65a3b911a0 100644 --- a/src/bench/string_cast.cpp +++ b/src/bench/string_cast.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bls/bls.cpp b/src/bls/bls.cpp index 2a51f79eb4..fb1becc84c 100644 --- a/src/bls/bls.cpp +++ b/src/bls/bls.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bls/bls.h b/src/bls/bls.h index 39aeb1468d..b152140347 100644 --- a/src/bls/bls.h +++ b/src/bls/bls.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bls/bls_batchverifier.h b/src/bls/bls_batchverifier.h index 2225de415a..4e5f162f13 100644 --- a/src/bls/bls_batchverifier.h +++ b/src/bls/bls_batchverifier.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/bls/bls_worker.cpp b/src/bls/bls_worker.cpp index 277f76badc..08272653e7 100644 --- a/src/bls/bls_worker.cpp +++ b/src/bls/bls_worker.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/cachemap.h b/src/cachemap.h index 09a7eec42f..5d7d0a5f52 100644 --- a/src/cachemap.h +++ b/src/cachemap.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/cachemultimap.h b/src/cachemultimap.h index 5b7d002540..d036be08a2 100644 --- a/src/cachemultimap.h +++ b/src/cachemultimap.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 3d90569197..962ddd0351 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/client.cpp b/src/coinjoin/client.cpp index b66691f49f..2dc0999788 100644 --- a/src/coinjoin/client.cpp +++ b/src/coinjoin/client.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/client.h b/src/coinjoin/client.h index 178e6a8408..1bef50f05d 100644 --- a/src/coinjoin/client.h +++ b/src/coinjoin/client.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/coinjoin.cpp b/src/coinjoin/coinjoin.cpp index 7b686b87b9..3956a45013 100644 --- a/src/coinjoin/coinjoin.cpp +++ b/src/coinjoin/coinjoin.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/coinjoin.h b/src/coinjoin/coinjoin.h index ad245aeb5e..26c363600d 100644 --- a/src/coinjoin/coinjoin.h +++ b/src/coinjoin/coinjoin.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/server.cpp b/src/coinjoin/server.cpp index 2bcf020dd1..0d1cc8e598 100644 --- a/src/coinjoin/server.cpp +++ b/src/coinjoin/server.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/server.h b/src/coinjoin/server.h index c2f8f5dcaa..e947dc6a82 100644 --- a/src/coinjoin/server.h +++ b/src/coinjoin/server.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/util.cpp b/src/coinjoin/util.cpp index 65f18e4162..cff7670b00 100644 --- a/src/coinjoin/util.cpp +++ b/src/coinjoin/util.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/coinjoin/util.h b/src/coinjoin/util.h index 6ea99976c4..0bdf314df8 100644 --- a/src/coinjoin/util.h +++ b/src/coinjoin/util.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/dash-cli.cpp b/src/dash-cli.cpp index 0e8ddca666..90caca2c1b 100644 --- a/src/dash-cli.cpp +++ b/src/dash-cli.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/dashd.cpp b/src/dashd.cpp index abe676baa2..e3fcefdd0d 100644 --- a/src/dashd.cpp +++ b/src/dashd.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2018 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/dsnotificationinterface.cpp b/src/dsnotificationinterface.cpp index 356cba3104..0e5008e382 100644 --- a/src/dsnotificationinterface.cpp +++ b/src/dsnotificationinterface.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/cbtx.cpp b/src/evo/cbtx.cpp index dbd30aa1d4..a40fef95ec 100644 --- a/src/evo/cbtx.cpp +++ b/src/evo/cbtx.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/cbtx.h b/src/evo/cbtx.h index 6db0c7247c..947c4565c5 100644 --- a/src/evo/cbtx.h +++ b/src/evo/cbtx.h @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/deterministicmns.cpp b/src/evo/deterministicmns.cpp index 97630048aa..fca5da7d4d 100644 --- a/src/evo/deterministicmns.cpp +++ b/src/evo/deterministicmns.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/deterministicmns.h b/src/evo/deterministicmns.h index 513548a256..b141e0da73 100644 --- a/src/evo/deterministicmns.h +++ b/src/evo/deterministicmns.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/dmnstate.cpp b/src/evo/dmnstate.cpp index 1b70a87b33..766891faf0 100644 --- a/src/evo/dmnstate.cpp +++ b/src/evo/dmnstate.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/dmnstate.h b/src/evo/dmnstate.h index 4521ac6406..6501ce5361 100644 --- a/src/evo/dmnstate.h +++ b/src/evo/dmnstate.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/evodb.h b/src/evo/evodb.h index 8702168f57..70fa98b1da 100644 --- a/src/evo/evodb.h +++ b/src/evo/evodb.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/mnauth.cpp b/src/evo/mnauth.cpp index 54f187bb65..4aa10b6197 100644 --- a/src/evo/mnauth.cpp +++ b/src/evo/mnauth.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/mnauth.h b/src/evo/mnauth.h index 0ec9ae1b6a..5c3c5d002a 100644 --- a/src/evo/mnauth.h +++ b/src/evo/mnauth.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2020 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/providertx.cpp b/src/evo/providertx.cpp index 24b5b22142..426f1711dc 100644 --- a/src/evo/providertx.cpp +++ b/src/evo/providertx.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/providertx.h b/src/evo/providertx.h index 234db8be30..515609d7e8 100644 --- a/src/evo/providertx.h +++ b/src/evo/providertx.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/simplifiedmns.cpp b/src/evo/simplifiedmns.cpp index 173243780f..28380e6b72 100644 --- a/src/evo/simplifiedmns.cpp +++ b/src/evo/simplifiedmns.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/simplifiedmns.h b/src/evo/simplifiedmns.h index fd37d0a4d6..43e1e89cc5 100644 --- a/src/evo/simplifiedmns.h +++ b/src/evo/simplifiedmns.h @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/specialtx.cpp b/src/evo/specialtx.cpp index 62c6f2f707..4dd9c0203c 100644 --- a/src/evo/specialtx.cpp +++ b/src/evo/specialtx.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/specialtx.h b/src/evo/specialtx.h index 7fa60b680c..86dbee44ff 100644 --- a/src/evo/specialtx.h +++ b/src/evo/specialtx.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/specialtxman.cpp b/src/evo/specialtxman.cpp index 8610dc09d5..63e8694500 100644 --- a/src/evo/specialtxman.cpp +++ b/src/evo/specialtxman.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/evo/specialtxman.h b/src/evo/specialtxman.h index 1d1a882c0d..bb3d16f486 100644 --- a/src/evo/specialtxman.h +++ b/src/evo/specialtxman.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/flat-database.h b/src/flat-database.h index 2257b7de14..424c21b517 100644 --- a/src/flat-database.h +++ b/src/flat-database.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/governance.cpp b/src/governance/governance.cpp index 5f080a5035..2b6c107233 100644 --- a/src/governance/governance.cpp +++ b/src/governance/governance.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/governance.h b/src/governance/governance.h index 7e5c221229..0e81949804 100644 --- a/src/governance/governance.h +++ b/src/governance/governance.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/object.cpp b/src/governance/object.cpp index 99ccce44d8..d8b3b67782 100644 --- a/src/governance/object.cpp +++ b/src/governance/object.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/validators.cpp b/src/governance/validators.cpp index 02be20eca9..d062b18ff8 100644 --- a/src/governance/validators.cpp +++ b/src/governance/validators.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/validators.h b/src/governance/validators.h index 90c2d725cc..5ddcc42cc0 100644 --- a/src/governance/validators.h +++ b/src/governance/validators.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/vote.cpp b/src/governance/vote.cpp index a7abd5dabe..ae02de6137 100644 --- a/src/governance/vote.cpp +++ b/src/governance/vote.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/governance/vote.h b/src/governance/vote.h index b4fbbdf23e..9fab997fce 100644 --- a/src/governance/vote.h +++ b/src/governance/vote.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/hash.h b/src/hash.h index dd6499fdb5..06e835a46c 100644 --- a/src/hash.h +++ b/src/hash.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/hdchain.cpp b/src/hdchain.cpp index 1649da5ff0..358b754132 100644 --- a/src/hdchain.cpp +++ b/src/hdchain.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying #include diff --git a/src/hdchain.h b/src/hdchain.h index 4e7412452c..388d464b0b 100644 --- a/src/hdchain.h +++ b/src/hdchain.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying #ifndef BITCOIN_HDCHAIN_H #define BITCOIN_HDCHAIN_H diff --git a/src/init.cpp b/src/init.cpp index 07da6f67de..4d525ed80b 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2018 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/blockprocessor.cpp b/src/llmq/blockprocessor.cpp index f11ea27c64..2850aee9de 100644 --- a/src/llmq/blockprocessor.cpp +++ b/src/llmq/blockprocessor.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/blockprocessor.h b/src/llmq/blockprocessor.h index 3ac65c70ca..492334b6c2 100644 --- a/src/llmq/blockprocessor.h +++ b/src/llmq/blockprocessor.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/chainlocks.cpp b/src/llmq/chainlocks.cpp index 481bddcfbc..09d8afcb07 100644 --- a/src/llmq/chainlocks.cpp +++ b/src/llmq/chainlocks.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/chainlocks.h b/src/llmq/chainlocks.h index 9abdb165da..457f01a0b2 100644 --- a/src/llmq/chainlocks.h +++ b/src/llmq/chainlocks.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/clsig.cpp b/src/llmq/clsig.cpp index 98d0592926..765c666e4e 100644 --- a/src/llmq/clsig.cpp +++ b/src/llmq/clsig.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/clsig.h b/src/llmq/clsig.h index 2d2a125396..d09f56ea8d 100644 --- a/src/llmq/clsig.h +++ b/src/llmq/clsig.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/commitment.cpp b/src/llmq/commitment.cpp index de00ea49a9..fdb4e75138 100644 --- a/src/llmq/commitment.cpp +++ b/src/llmq/commitment.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/commitment.h b/src/llmq/commitment.h index 3e37a22d58..b9118d5b21 100644 --- a/src/llmq/commitment.h +++ b/src/llmq/commitment.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/debug.cpp b/src/llmq/debug.cpp index 4d97abeb11..1ebf6eb6e6 100644 --- a/src/llmq/debug.cpp +++ b/src/llmq/debug.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/debug.h b/src/llmq/debug.h index 8df975dd07..79372cab9b 100644 --- a/src/llmq/debug.h +++ b/src/llmq/debug.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsession.cpp b/src/llmq/dkgsession.cpp index b586115b7a..668af32f60 100644 --- a/src/llmq/dkgsession.cpp +++ b/src/llmq/dkgsession.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsession.h b/src/llmq/dkgsession.h index 3bb50bfa48..5bb10ec388 100644 --- a/src/llmq/dkgsession.h +++ b/src/llmq/dkgsession.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsessionhandler.cpp b/src/llmq/dkgsessionhandler.cpp index 0e59d82d35..c1df8b41bf 100644 --- a/src/llmq/dkgsessionhandler.cpp +++ b/src/llmq/dkgsessionhandler.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsessionhandler.h b/src/llmq/dkgsessionhandler.h index c15d1348e2..7e40631205 100644 --- a/src/llmq/dkgsessionhandler.h +++ b/src/llmq/dkgsessionhandler.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsessionmgr.cpp b/src/llmq/dkgsessionmgr.cpp index f373830464..ea0f715e09 100644 --- a/src/llmq/dkgsessionmgr.cpp +++ b/src/llmq/dkgsessionmgr.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/dkgsessionmgr.h b/src/llmq/dkgsessionmgr.h index 8cf6bd8165..a4899bd04a 100644 --- a/src/llmq/dkgsessionmgr.h +++ b/src/llmq/dkgsessionmgr.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/init.cpp b/src/llmq/init.cpp index eebc2c3a13..c0b8898c42 100644 --- a/src/llmq/init.cpp +++ b/src/llmq/init.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/init.h b/src/llmq/init.h index e2589d2a90..f8f344d83b 100644 --- a/src/llmq/init.h +++ b/src/llmq/init.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/instantsend.cpp b/src/llmq/instantsend.cpp index 1d4f30bd69..1918702ac9 100644 --- a/src/llmq/instantsend.cpp +++ b/src/llmq/instantsend.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/instantsend.h b/src/llmq/instantsend.h index 1125939b90..2bc13e1b0a 100644 --- a/src/llmq/instantsend.h +++ b/src/llmq/instantsend.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/params.h b/src/llmq/params.h index d47cb87743..9cb2afe6d3 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index eeb894ce23..ac91719ecc 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/quorums.h b/src/llmq/quorums.h index b08ac9fed2..375b8eb8a9 100644 --- a/src/llmq/quorums.h +++ b/src/llmq/quorums.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/signing.cpp b/src/llmq/signing.cpp index 607232bc47..75d07b2088 100644 --- a/src/llmq/signing.cpp +++ b/src/llmq/signing.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/signing.h b/src/llmq/signing.h index 84a8262687..d7952183a3 100644 --- a/src/llmq/signing.h +++ b/src/llmq/signing.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/signing_shares.cpp b/src/llmq/signing_shares.cpp index 69aeb699dd..3cbc4b9e04 100644 --- a/src/llmq/signing_shares.cpp +++ b/src/llmq/signing_shares.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/signing_shares.h b/src/llmq/signing_shares.h index 39c7243f5c..6ec2127c7f 100644 --- a/src/llmq/signing_shares.h +++ b/src/llmq/signing_shares.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/snapshot.cpp b/src/llmq/snapshot.cpp index b5acef5723..caf0dbd565 100644 --- a/src/llmq/snapshot.cpp +++ b/src/llmq/snapshot.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/snapshot.h b/src/llmq/snapshot.h index dceccfacf9..ad3bf0e948 100644 --- a/src/llmq/snapshot.h +++ b/src/llmq/snapshot.h @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 03c60b52d3..8f0414df99 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/llmq/utils.h b/src/llmq/utils.h index 6052166ffb..264984c50e 100644 --- a/src/llmq/utils.h +++ b/src/llmq/utils.h @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/meta.cpp b/src/masternode/meta.cpp index 2a4df3349a..9b0e26bc77 100644 --- a/src/masternode/meta.cpp +++ b/src/masternode/meta.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/node.cpp b/src/masternode/node.cpp index 5283ec9412..2a4e91a265 100644 --- a/src/masternode/node.cpp +++ b/src/masternode/node.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/node.h b/src/masternode/node.h index db1e46f9fb..ec6262f7e6 100644 --- a/src/masternode/node.h +++ b/src/masternode/node.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/payments.cpp b/src/masternode/payments.cpp index 150648b6b4..efcb0fb8ff 100644 --- a/src/masternode/payments.cpp +++ b/src/masternode/payments.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/payments.h b/src/masternode/payments.h index 7787ade6e1..9ac875bec7 100644 --- a/src/masternode/payments.h +++ b/src/masternode/payments.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/sync.cpp b/src/masternode/sync.cpp index a3c30f7710..4f06f4230c 100644 --- a/src/masternode/sync.cpp +++ b/src/masternode/sync.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode/sync.h b/src/masternode/sync.h index 68756e53b8..b44da6561f 100644 --- a/src/masternode/sync.h +++ b/src/masternode/sync.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_MASTERNODE_SYNC_H diff --git a/src/masternode/utils.cpp b/src/masternode/utils.cpp index 55f0b94c35..f8cc6e0029 100644 --- a/src/masternode/utils.cpp +++ b/src/masternode/utils.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/messagesigner.cpp b/src/messagesigner.cpp index 0a1ff27946..37cba1997d 100644 --- a/src/messagesigner.cpp +++ b/src/messagesigner.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/messagesigner.h b/src/messagesigner.h index 83f2982939..4f54fe39cf 100644 --- a/src/messagesigner.h +++ b/src/messagesigner.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/miner.cpp b/src/miner.cpp index f8d8e67751..0245d73f7d 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/net.cpp b/src/net.cpp index dd1e55e54d..598efee8db 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/netfulfilledman.cpp b/src/netfulfilledman.cpp index 336226c8be..8a2462010e 100644 --- a/src/netfulfilledman.cpp +++ b/src/netfulfilledman.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/netfulfilledman.h b/src/netfulfilledman.h index be25ce5c7c..f97fa339b2 100644 --- a/src/netfulfilledman.h +++ b/src/netfulfilledman.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/noui.cpp b/src/noui.cpp index 36a0166a2a..37a60e0e51 100644 --- a/src/noui.cpp +++ b/src/noui.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index ceccefdf04..0d5ae2de37 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index 07f2c5c22d..26dc73599a 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/appearancewidget.h b/src/qt/appearancewidget.h index 2aea003d6f..0de5b18da7 100644 --- a/src/qt/appearancewidget.h +++ b/src/qt/appearancewidget.h @@ -1,4 +1,4 @@ -// Copyright (c) 2020 The Dash Core developers +// Copyright (c) 2020-2021 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index 9c92fb8e9c..eeeeb0df2a 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp index b5c43d2a5a..168f9b481f 100644 --- a/src/qt/bitcoinaddressvalidator.cpp +++ b/src/qt/bitcoinaddressvalidator.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 76a311959d..a534afb052 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 60281e5684..a19f2e8bde 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index a1f29585e8..3b7f04dd43 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 96368b107d..7b44457790 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 4ba950c3d2..f6165e18bc 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 7bda8d3bac..1dee7436eb 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/dash.cpp b/src/qt/dash.cpp index 1d6a7cc4a6..6176cabcc4 100644 --- a/src/qt/dash.cpp +++ b/src/qt/dash.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index 3426da1895..2a136f7958 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index d7c7f921bb..8d7486e9e9 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index d93e6ca537..3369336da6 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index dbfcddd9c8..b0eb7ee307 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp index 2f64c518b0..d22e2cd1b8 100644 --- a/src/qt/networkstyle.cpp +++ b/src/qt/networkstyle.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/networkstyle.h b/src/qt/networkstyle.h index 15e34b2afa..eae652db45 100644 --- a/src/qt/networkstyle.h +++ b/src/qt/networkstyle.h @@ -1,5 +1,5 @@ // Copyright (c) 2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp index 90531514f5..d7ce0a605a 100644 --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 5eafe40f01..30a0552310 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index 1e975aef67..976e9b69ad 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 73717ee488..666418e187 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 57e31116b4..ad31feed02 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index 5904ff1ab6..b4cf5519d0 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index 7015c27af9..df1ee568ec 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index a94d009438..8875088325 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index a2f55a5660..8f636190b2 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index 51afa73736..0ce2a4c81d 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 2aa56084bf..2e92cb481e 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index 5b56092928..dc490e0d4c 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index c40e1d2915..6ff20df9f6 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index 2fafef54ea..d51b1b9681 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp index 186baea7de..c7482e40f5 100644 --- a/src/rpc/client.cpp +++ b/src/rpc/client.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/coinjoin.cpp b/src/rpc/coinjoin.cpp index 9e13c18c2d..056c3a5a32 100644 --- a/src/rpc/coinjoin.cpp +++ b/src/rpc/coinjoin.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2021 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/governance.cpp b/src/rpc/governance.cpp index 6005517b81..996349e00c 100644 --- a/src/rpc/governance.cpp +++ b/src/rpc/governance.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/masternode.cpp b/src/rpc/masternode.cpp index 696193f7d4..2aaaebc0dc 100644 --- a/src/rpc/masternode.cpp +++ b/src/rpc/masternode.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 397516a617..e28aacfe8a 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2018 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp index ff7c61b185..fdf22b37fa 100644 --- a/src/rpc/misc.cpp +++ b/src/rpc/misc.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index 7c7183b1a2..317888e8b2 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index f5090c012c..26a5465f8a 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/rpcevo.cpp b/src/rpc/rpcevo.cpp index b77532bfa6..84ca0fc68e 100644 --- a/src/rpc/rpcevo.cpp +++ b/src/rpc/rpcevo.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/rpcquorums.cpp b/src/rpc/rpcquorums.cpp index 55330ab0e9..53fa8c9fc9 100644 --- a/src/rpc/rpcquorums.cpp +++ b/src/rpc/rpcquorums.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2021 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp index 16349d578c..ee5d81d3c9 100644 --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/saltedhasher.cpp b/src/saltedhasher.cpp index 75b6e999a3..856c84eb62 100644 --- a/src/saltedhasher.cpp +++ b/src/saltedhasher.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2020 The Dash Core developers +// Copyright (c) 2019-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/saltedhasher.h b/src/saltedhasher.h index b5ff2df62d..aeeb16195e 100644 --- a/src/saltedhasher.h +++ b/src/saltedhasher.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2020 The Dash Core developers +// Copyright (c) 2019-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/spork.cpp b/src/spork.cpp index 312dca9291..8d13776445 100644 --- a/src/spork.cpp +++ b/src/spork.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/spork.h b/src/spork.h index 310dd8cf6e..5a5a2aab0d 100644 --- a/src/spork.h +++ b/src/spork.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/stacktraces.cpp b/src/stacktraces.cpp index 975a35f8ab..8cd977751a 100644 --- a/src/stacktraces.cpp +++ b/src/stacktraces.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/support/allocators/mt_pooled_secure.h b/src/support/allocators/mt_pooled_secure.h index a659a4812c..9f2a61cf67 100644 --- a/src/support/allocators/mt_pooled_secure.h +++ b/src/support/allocators/mt_pooled_secure.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/support/allocators/pooled_secure.h b/src/support/allocators/pooled_secure.h index 8eba0be8f8..00dba8ecb1 100644 --- a/src/support/allocators/pooled_secure.h +++ b/src/support/allocators/pooled_secure.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/bip39_tests.cpp b/src/test/bip39_tests.cpp index dcad1e1694..a6940d5a8f 100644 --- a/src/test/bip39_tests.cpp +++ b/src/test/bip39_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/block_reward_reallocation_tests.cpp b/src/test/block_reward_reallocation_tests.cpp index d15f3f9794..88d53ba43a 100644 --- a/src/test/block_reward_reallocation_tests.cpp +++ b/src/test/block_reward_reallocation_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/blockchain_tests.cpp b/src/test/blockchain_tests.cpp index 65c073a13d..311cf91c3d 100644 --- a/src/test/blockchain_tests.cpp +++ b/src/test/blockchain_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2019 The Dash Core developers +// Copyright (c) 2017-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/bls_tests.cpp b/src/test/bls_tests.cpp index b981937d90..5b73539ed6 100644 --- a/src/test/bls_tests.cpp +++ b/src/test/bls_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2020 The Dash Core developers +// Copyright (c) 2019-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/cachemap_tests.cpp b/src/test/cachemap_tests.cpp index d5d7c27724..ee7af8b252 100644 --- a/src/test/cachemap_tests.cpp +++ b/src/test/cachemap_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers #include diff --git a/src/test/cachemultimap_tests.cpp b/src/test/cachemultimap_tests.cpp index f70747464f..67118d6f01 100644 --- a/src/test/cachemultimap_tests.cpp +++ b/src/test/cachemultimap_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers #include diff --git a/src/test/dynamic_activation_thresholds_tests.cpp b/src/test/dynamic_activation_thresholds_tests.cpp index 03362c99b6..d22388d9a6 100644 --- a/src/test/dynamic_activation_thresholds_tests.cpp +++ b/src/test/dynamic_activation_thresholds_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/evo_deterministicmns_tests.cpp b/src/test/evo_deterministicmns_tests.cpp index 7770907e8e..acac7b8e1a 100644 --- a/src/test/evo_deterministicmns_tests.cpp +++ b/src/test/evo_deterministicmns_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2021 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/evo_simplifiedmns_tests.cpp b/src/test/evo_simplifiedmns_tests.cpp index f6d4a30b85..dda35436b9 100644 --- a/src/test/evo_simplifiedmns_tests.cpp +++ b/src/test/evo_simplifiedmns_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/evo_trivialvalidation.cpp b/src/test/evo_trivialvalidation.cpp index 50cda684c4..d477f6ffc4 100644 --- a/src/test/evo_trivialvalidation.cpp +++ b/src/test/evo_trivialvalidation.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/governance_validators_tests.cpp b/src/test/governance_validators_tests.cpp index c0d8f86123..462ee4c61d 100644 --- a/src/test/governance_validators_tests.cpp +++ b/src/test/governance_validators_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers #include #include diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp index bce84e4b6c..cf7ec3e299 100644 --- a/src/test/netbase_tests.cpp +++ b/src/test/netbase_tests.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2012-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/ratecheck_tests.cpp b/src/test/ratecheck_tests.cpp index 2e2cda3ff4..3916aafb23 100644 --- a/src/test/ratecheck_tests.cpp +++ b/src/test/ratecheck_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers #include diff --git a/src/test/script_p2pk_tests.cpp b/src/test/script_p2pk_tests.cpp index 14f30a8ef8..a2a1e4b60c 100644 --- a/src/test/script_p2pk_tests.cpp +++ b/src/test/script_p2pk_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2018-2020 The Dash Core developers +// Copyright (c) 2018-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/specialtx_tests.cpp b/src/test/specialtx_tests.cpp index 759a34c8bd..250a7491de 100644 --- a/src/test/specialtx_tests.cpp +++ b/src/test/specialtx_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/subsidy_tests.cpp b/src/test/subsidy_tests.cpp index 636ef858da..b29cea8130 100644 --- a/src/test/subsidy_tests.cpp +++ b/src/test/subsidy_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/util/setup_common.h b/src/test/util/setup_common.h index 40de4fe87a..24f811b462 100644 --- a/src/test/util/setup_common.h +++ b/src/test/util/setup_common.h @@ -1,5 +1,5 @@ // Copyright (c) 2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/uint256.h b/src/uint256.h index d964f6262e..7767c3f2a8 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2020 The Dash Core developers +// Copyright (c) 2014-2021 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/util/ranges.h b/src/util/ranges.h index 5cae5a2f62..dca6866eea 100644 --- a/src/util/ranges.h +++ b/src/util/ranges.h @@ -1,4 +1,4 @@ -// Copyright (c) 2021 The Dash Core developers +// Copyright (c) 2021-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/util/system.cpp b/src/util/system.cpp index 39cd553f1e..6a6a63233e 100644 --- a/src/util/system.cpp +++ b/src/util/system.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/util/system.h b/src/util/system.h index da458a87db..480c9fa702 100644 --- a/src/util/system.h +++ b/src/util/system.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/validation.cpp b/src/validation.cpp index 9ea0db0ce1..da8863b8b7 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2018 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/validation.h b/src/validation.h index 87dd9ab0cb..21090f541d 100644 --- a/src/validation.h +++ b/src/validation.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/version.h b/src/version.h index 12382ece4d..797acb86cb 100644 --- a/src/version.h +++ b/src/version.h @@ -1,5 +1,5 @@ // Copyright (c) 2012-2014 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp index fbe080c375..1618c523b4 100644 --- a/src/wallet/rpcdump.cpp +++ b/src/wallet/rpcdump.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 924c9d2248..3b925d36b4 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2018 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/test/coinjoin_tests.cpp b/src/wallet/test/coinjoin_tests.cpp index dd9d83901f..d1082b11a5 100644 --- a/src/wallet/test/coinjoin_tests.cpp +++ b/src/wallet/test/coinjoin_tests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2020-2021 The Dash Core developers +// Copyright (c) 2020-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index be8a56cd8c..baf1c16369 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 61c6bb50be..5d93eabe40 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp index 3078444099..de0150a324 100644 --- a/src/wallet/walletdb.cpp +++ b/src/wallet/walletdb.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers -// Copyright (c) 2014-2021 The Dash Core developers +// Copyright (c) 2014-2022 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_dip3_deterministicmns.py b/test/functional/feature_dip3_deterministicmns.py index 7019b10028..c06dc596a1 100755 --- a/test/functional/feature_dip3_deterministicmns.py +++ b/test/functional/feature_dip3_deterministicmns.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2015-2021 The Dash Core developers +# Copyright (c) 2015-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_dip4_coinbasemerkleroots.py b/test/functional/feature_dip4_coinbasemerkleroots.py index 5ceec5e6b8..1f797f656c 100755 --- a/test/functional/feature_dip4_coinbasemerkleroots.py +++ b/test/functional/feature_dip4_coinbasemerkleroots.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2015-2021 The Dash Core developers +# Copyright (c) 2015-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_llmq_is_cl_conflicts.py b/test/functional/feature_llmq_is_cl_conflicts.py index c0821db3ad..83de85273a 100755 --- a/test/functional/feature_llmq_is_cl_conflicts.py +++ b/test/functional/feature_llmq_is_cl_conflicts.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2015-2021 The Dash Core developers +# Copyright (c) 2015-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_llmq_is_migration.py b/test/functional/feature_llmq_is_migration.py index 68ff79291c..87485696bd 100755 --- a/test/functional/feature_llmq_is_migration.py +++ b/test/functional/feature_llmq_is_migration.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2020-2021 The Dash Core developers +# Copyright (c) 2020-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. import time diff --git a/test/functional/feature_llmq_rotation.py b/test/functional/feature_llmq_rotation.py index dd1f39c58a..acb285ce69 100755 --- a/test/functional/feature_llmq_rotation.py +++ b/test/functional/feature_llmq_rotation.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2015-2021 The Dash Core developers +# Copyright (c) 2015-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_llmq_signing.py b/test/functional/feature_llmq_signing.py index 2fe4db59f7..fbfa456570 100755 --- a/test/functional/feature_llmq_signing.py +++ b/test/functional/feature_llmq_signing.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2015-2021 The Dash Core developers +# Copyright (c) 2015-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/feature_new_quorum_type_activation.py b/test/functional/feature_new_quorum_type_activation.py index 8ff20a0d1f..3535b72fc4 100755 --- a/test/functional/feature_new_quorum_type_activation.py +++ b/test/functional/feature_new_quorum_type_activation.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2020-2021 The Dash Core developers +# Copyright (c) 2020-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. from test_framework.test_framework import BitcoinTestFramework diff --git a/test/functional/interface_zmq_dash.py b/test/functional/interface_zmq_dash.py index dc5caaf4b9..8bb06c816c 100755 --- a/test/functional/interface_zmq_dash.py +++ b/test/functional/interface_zmq_dash.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2018-2021 The Dash Core developers +# Copyright (c) 2018-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test the dash specific ZMQ notification interfaces.""" diff --git a/test/functional/p2p_instantsend.py b/test/functional/p2p_instantsend.py index d5425a349c..e154e77af9 100755 --- a/test/functional/p2p_instantsend.py +++ b/test/functional/p2p_instantsend.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2018-2021 The Dash Core developers +# Copyright (c) 2018-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/p2p_quorum_data.py b/test/functional/p2p_quorum_data.py index bb26131517..3fbe54a1fc 100755 --- a/test/functional/p2p_quorum_data.py +++ b/test/functional/p2p_quorum_data.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2021 The Dash Core developers +# Copyright (c) 2021-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/p2p_sendheaders_compressed.py b/test/functional/p2p_sendheaders_compressed.py index 423930fd30..b7979129df 100644 --- a/test/functional/p2p_sendheaders_compressed.py +++ b/test/functional/p2p_sendheaders_compressed.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2021 The Dash Core developers +# Copyright (c) 2021-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test behavior of headers messages to announce blocks. diff --git a/test/functional/rpc_verifyislock.py b/test/functional/rpc_verifyislock.py index e16a8f694a..e374063ad4 100755 --- a/test/functional/rpc_verifyislock.py +++ b/test/functional/rpc_verifyislock.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2020-2021 The Dash Core developers +# Copyright (c) 2020-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index bf0091d8c9..687cdfed37 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # Copyright (c) 2014-2016 The Bitcoin Core developers -# Copyright (c) 2014-2021 The Dash Core developers +# Copyright (c) 2014-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Base class for RPC testing.""" diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py index 5e5dd0d703..034a949a58 100644 --- a/test/functional/test_framework/util.py +++ b/test/functional/test_framework/util.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # Copyright (c) 2014-2016 The Bitcoin Core developers -# Copyright (c) 2014-2021 The Dash Core developers +# Copyright (c) 2014-2022 The Dash Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Helpful routines for regression testing.""" From 4f5971b7199378d5e0d2dff0b3d395adaeee0b59 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 8 Jun 2022 13:01:44 +0300 Subject: [PATCH 34/74] Merge pull request #4874 from UdjinM6/addrv2_followups backport: bitcoin 20564, 20661 (addrv2 follow-ups) --- src/net.h | 17 ++++++---- src/net_processing.cpp | 36 +++++++++++++++------- src/version.h | 5 ++- test/functional/test_framework/messages.py | 2 +- test/functional/test_framework/mininode.py | 2 +- 5 files changed, 42 insertions(+), 20 deletions(-) diff --git a/src/net.h b/src/net.h index daa5dfa200..f0cf7870f2 100644 --- a/src/net.h +++ b/src/net.h @@ -1167,17 +1167,22 @@ public: addrKnown.insert(_addr.GetKey()); } + /** + * Whether the peer supports the address. For example, a peer that does not + * implement BIP155 cannot receive Tor v3 addresses because it requires + * ADDRv2 (BIP155) encoding. + */ + bool IsAddrCompatible(const CAddress& addr) const + { + return m_wants_addrv2 || addr.IsAddrV1Compatible(); + } + void PushAddress(const CAddress& _addr, FastRandomContext &insecure_rand) { - // Whether the peer supports the address in `_addr`. For example, - // nodes that do not implement BIP155 cannot receive Tor v3 addresses - // because they require ADDRv2 (BIP155) encoding. - const bool addr_format_supported = m_wants_addrv2 || _addr.IsAddrV1Compatible(); - // Known checking here is only to save space from duplicates. // SendMessages will filter it again for knowns that were added // after addresses were pushed. - if (_addr.IsValid() && !addrKnown.contains(_addr.GetKey()) && addr_format_supported) { + if (_addr.IsValid() && !addrKnown.contains(_addr.GetKey()) && IsAddrCompatible(_addr)) { if (vAddrToSend.size() >= MAX_ADDR_TO_SEND) { vAddrToSend[insecure_rand.randrange(vAddrToSend.size())] = _addr; } else { diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 6f22fff6ff..7781b9f0b9 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -1473,8 +1473,8 @@ static void RelayAddress(const CAddress& addr, bool fReachable, CConnman* connma std::array,2> best{{{0, nullptr}, {0, nullptr}}}; assert(nRelayNodes <= best.size()); - auto sortfunc = [&best, &hasher, nRelayNodes](CNode* pnode) { - if (pnode->nVersion >= CADDR_TIME_VERSION) { + auto sortfunc = [&best, &hasher, nRelayNodes, addr](CNode* pnode) { + if (pnode->nVersion >= CADDR_TIME_VERSION && pnode->IsAddrCompatible(addr)) { uint64_t hashKey = CSipHasher(hasher).Write(pnode->GetId()).Finalize(); for (unsigned int i = 0; i < nRelayNodes; i++) { if (hashKey > best[i].first) { @@ -2582,6 +2582,14 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea } const CNetMsgMaker msg_maker(INIT_PROTO_VERSION); + // Signal ADDRv2 support (BIP155). + if (nSendVersion >= ADDRV2_PROTO_VERSION) { + // 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 ADDRV2_PROTO_VERSION. + connman->PushMessage(pfrom, msg_maker.Make(NetMsgType::SENDADDRV2)); + } + connman->PushMessage(pfrom, msg_maker.Make(NetMsgType::VERACK)); pfrom->nServices = nServices; @@ -2688,10 +2696,6 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea CMNAuth::PushMNAUTH(pfrom, *connman); } - // Signal ADDRv2 support (BIP155). - // NOTE: Should NOT send this prior to MNMAUTH. - connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDADDRV2)); - // Tell our peer we prefer to receive headers rather than inv's // We send this to non-NODE NETWORK peers as well, because even // non-NODE NETWORK peers can announce blocks (such as pruning @@ -2720,6 +2724,21 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea return true; } + if (msg_type == NetMsgType::SENDADDRV2) { + if (pfrom->GetSendVersion() < ADDRV2_PROTO_VERSION) { + // Ignore previous implementations + return true; + } + if (pfrom->fSuccessfullyConnected) { + // Disconnect peers that send SENDADDRV2 message after VERACK; this + // must be negotiated between VERSION and VERACK. + pfrom->fDisconnect = true; + return false; + } + pfrom->m_wants_addrv2 = true; + return true; + } + if (!pfrom->fSuccessfullyConnected) { // Must have a verack message before anything else LOCK(cs_main); @@ -2801,11 +2820,6 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea return true; } - if (msg_type == NetMsgType::SENDADDRV2) { - pfrom->m_wants_addrv2 = true; - return true; - } - if (msg_type == NetMsgType::SENDHEADERS) { LOCK(cs_main); State(pfrom->GetId())->fPreferHeaders = true; diff --git a/src/version.h b/src/version.h index 797acb86cb..90e724ea20 100644 --- a/src/version.h +++ b/src/version.h @@ -11,7 +11,7 @@ */ -static const int PROTOCOL_VERSION = 70222; +static const int PROTOCOL_VERSION = 70223; //! initial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209; @@ -38,6 +38,9 @@ static const int ISDLOCK_PROTO_VERSION = 70220; //! GOVSCRIPT was activated in this version static const int GOVSCRIPT_PROTO_VERSION = 70221; +//! ADDRV2 was introduced in this version +static const int ADDRV2_PROTO_VERSION = 70223; + // Make sure that none of the values above collide with `ADDRV2_FORMAT`. #endif // BITCOIN_VERSION_H diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py index 683319ea4f..c05bf0555c 100755 --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -32,7 +32,7 @@ from test_framework.util import hex_str_to_bytes import dash_hash MIN_VERSION_SUPPORTED = 60001 -MY_VERSION = 70220 # ISDLOCK_PROTO_VERSION +MY_VERSION = 70223 # ADDRV2_PROTO_VERSION MY_SUBVERSION = b"/python-mininode-tester:0.0.3%s/" MY_RELAY = 1 # from version 70001 onwards, fRelay should be appended to version messages (BIP37) diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py index 250b8c4a32..df01cfd0e6 100755 --- a/test/functional/test_framework/mininode.py +++ b/test/functional/test_framework/mininode.py @@ -431,9 +431,9 @@ class P2PInterface(P2PConnection): def on_version(self, message): assert message.nVersion >= MIN_VERSION_SUPPORTED, "Version {} received. Test framework only supports versions greater than {}".format(message.nVersion, MIN_VERSION_SUPPORTED) - self.send_message(msg_verack()) if self.support_addrv2: self.send_message(msg_sendaddrv2()) + self.send_message(msg_verack()) self.nServices = message.nServices # Connection helper methods From 94dea23036092d5aaf6b0b131eba16184f3601c6 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Sat, 11 Jun 2022 07:26:02 +0300 Subject: [PATCH 35/74] docs(llmq): Improved documentation for keepOldConnections (#4876) --- src/llmq/params.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/llmq/params.h b/src/llmq/params.h index 9cb2afe6d3..89482a2edf 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -90,8 +90,9 @@ struct LLMQParams { // Number of quorums to consider "active" for signing sessions int signingActiveQuorumCount; - // Used for intra-quorum communication. This is the number of quorums for which we should keep old connections. This - // should be at least one more then the active quorums set. + // Used for intra-quorum communication. This is the number of quorums for which we should keep old connections. + // For non-rotated quorums it should be at least one more than the active quorums set. + // For rotated quorums it should be equal to 2 x active quorums set. int keepOldConnections; // How many members should we try to send all sigShares to before we give up. From 567ba392bad2472174e48d0b1ce5778d035338bf Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Wed, 29 Jun 2022 03:14:09 +0300 Subject: [PATCH 36/74] fix: Faster feature_llmq_rotation.py + introduction of llmq_devnet_dip0024 (#4878) * Added LLMQ_DEVNET_V2 * Faster feature_llmq_rotation func test * Updated llmq_devnet_dip0024 * Adjusted parameters * Better comments * Re-adjusted rotated llmq params --- src/chainparams.cpp | 1 + src/llmq/params.h | 38 ++++++++++++++++++++---- src/llmq/utils.cpp | 4 +-- test/functional/feature_llmq_rotation.py | 25 +--------------- 4 files changed, 37 insertions(+), 31 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 962ddd0351..325c5aeae3 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -715,6 +715,7 @@ public: AddLLMQ(Consensus::LLMQType::LLMQ_400_85); AddLLMQ(Consensus::LLMQType::LLMQ_100_67); AddLLMQ(Consensus::LLMQType::LLMQ_DEVNET); + AddLLMQ(Consensus::LLMQType::LLMQ_DEVNET_DIP0024); consensus.llmqTypeChainLocks = Consensus::LLMQType::LLMQ_50_60; consensus.llmqTypeInstantSend = Consensus::LLMQType::LLMQ_50_60; consensus.llmqTypeDIP0024InstantSend = Consensus::LLMQType::LLMQ_60_75; diff --git a/src/llmq/params.h b/src/llmq/params.h index 89482a2edf..a289ea24e4 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -24,14 +24,17 @@ enum class LLMQType : uint8_t { LLMQ_TEST = 100, // 3 members, 2 (66%) threshold, one per hour. Params might differ when -llmqtestparams is used // for devnets only - LLMQ_DEVNET = 101, // 10 members, 6 (60%) threshold, one per hour. Params might differ when -llmqdevnetparams is used + LLMQ_DEVNET = 101, // 12 members, 6 (50%) threshold, one per hour. Params might differ when -llmqdevnetparams is used // for testing activation of new quorums only LLMQ_TEST_V17 = 102, // 3 members, 2 (66%) threshold, one per hour. Params might differ when -llmqtestparams is used + // for testing only LLMQ_TEST_DIP0024 = 103, // 4 members, 2 (66%) threshold, one per hour. Params might differ when -llmqtestparams is used - LLMQ_TEST_INSTANTSEND = 104, // 3 members, 2 (66%) threshold, one per hour. Params might differ when -llmqtestinstantsendparams is used + + // for devnets only. rotated version (v2) for devnets + LLMQ_DEVNET_DIP0024 = 105 // 8 members, 4 (50%) threshold, one per hour. Params might differ when -llmqdevnetparams is used }; // Configures a LLMQ and its DKG @@ -100,7 +103,7 @@ struct LLMQParams { }; -static constexpr std::array available_llmqs = { +static constexpr std::array available_llmqs = { /** * llmq_test @@ -186,7 +189,7 @@ static constexpr std::array available_llmqs = { .minSize = 3, .threshold = 2, - .dkgInterval = 24, // one DKG per hour + .dkgInterval = 24, // DKG cycle .dkgPhaseBlocks = 2, .dkgMiningWindowStart = 10, // dkgPhaseBlocks * 5 = after finalization .dkgMiningWindowEnd = 18, @@ -222,6 +225,31 @@ static constexpr std::array available_llmqs = { .recoveryMembers = 6, }, + /** + * llmq_devnet_dip0024 + * This quorum is only used for testing on devnets + * + */ + LLMQParams{ + .type = LLMQType::LLMQ_DEVNET_DIP0024, + .name = "llmq_devnet_dip0024", + .useRotation = true, + .size = 8, + .minSize = 6, + .threshold = 4, + + .dkgInterval = 48, // DKG cycle + .dkgPhaseBlocks = 2, + .dkgMiningWindowStart = 12, // signingActiveQuorumCount + dkgPhaseBlocks * 5 = after finalization + .dkgMiningWindowEnd = 20, + .dkgBadVotesThreshold = 7, + + .signingActiveQuorumCount = 2, // just a few ones to allow easier testing + + .keepOldConnections = 4, + .recoveryMembers = 4, + }, + /** * llmq_50_60 * This quorum is deployed on mainnet and requires @@ -259,7 +287,7 @@ static constexpr std::array available_llmqs = { .minSize = 50, .threshold = 45, - .dkgInterval = 24 * 12, // one DKG every 12 hours + .dkgInterval = 24 * 12, // DKG cycle every 12 hours .dkgPhaseBlocks = 2, .dkgMiningWindowStart = 10, // dkgPhaseBlocks * 5 = after finalization .dkgMiningWindowEnd = 18, diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 8f0414df99..cd7b5c6e0b 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -797,6 +797,7 @@ bool CLLMQUtils::IsQuorumTypeEnabledInternal(Consensus::LLMQType llmqType, const switch (llmqType) { case Consensus::LLMQType::LLMQ_TEST_INSTANTSEND: + case Consensus::LLMQType::LLMQ_DEVNET: case Consensus::LLMQType::LLMQ_50_60: { if (IsInstantSendLLMQTypeShared()) { break; @@ -823,6 +824,7 @@ bool CLLMQUtils::IsQuorumTypeEnabledInternal(Consensus::LLMQType llmqType, const } break; case Consensus::LLMQType::LLMQ_60_75: + case Consensus::LLMQType::LLMQ_DEVNET_DIP0024: case Consensus::LLMQType::LLMQ_TEST_DIP0024: { bool fDIP0024IsActive = optDIP0024IsActive.has_value() ? *optDIP0024IsActive : CLLMQUtils::IsDIP0024Active(pindex); if (!fDIP0024IsActive) { @@ -830,8 +832,6 @@ bool CLLMQUtils::IsQuorumTypeEnabledInternal(Consensus::LLMQType llmqType, const } break; } - case Consensus::LLMQType::LLMQ_DEVNET: - break; default: throw std::runtime_error(strprintf("%s: Unknown LLMQ type %d", __func__, static_cast(llmqType))); } diff --git a/test/functional/feature_llmq_rotation.py b/test/functional/feature_llmq_rotation.py index acb285ce69..8d27b0eea4 100755 --- a/test/functional/feature_llmq_rotation.py +++ b/test/functional/feature_llmq_rotation.py @@ -53,7 +53,7 @@ class TestP2PConn(P2PInterface): class LLMQQuorumRotationTest(DashTestFramework): def set_test_params(self): - self.set_dash_test_params(16, 15, fast_dip3_enforcement=True) + self.set_dash_test_params(9, 8, fast_dip3_enforcement=True) self.set_dash_llmq_test_params(4, 4) def run_test(self): @@ -124,23 +124,6 @@ class LLMQQuorumRotationTest(DashTestFramework): expectedNew = [q_100_1, q_102_1, q_103_1_0, q_103_1_1] quorumList = self.test_getmnlistdiff_quorums(b_1, b_2, quorumList, expectedDeleted, expectedNew) - (quorum_info_2_0, quorum_info_2_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) - quorum_members_2_0 = extract_quorum_members(quorum_info_2_0) - quorum_members_2_1 = extract_quorum_members(quorum_info_2_1) - assert_equal(len(intersection(quorum_members_2_0, quorum_members_2_1)), 0) - self.log.info("Quorum #2_0 members: " + str(quorum_members_2_0)) - self.log.info("Quorum #2_1 members: " + str(quorum_members_2_1)) - - q_100_2 = QuorumId(100, int(quorum_info_2_0["quorumHash"], 16)) - q_102_2 = QuorumId(102, int(quorum_info_2_0["quorumHash"], 16)) - q_103_2_0 = QuorumId(103, int(quorum_info_2_0["quorumHash"], 16)) - q_103_2_1 = QuorumId(103, int(quorum_info_2_1["quorumHash"], 16)) - - b_3 = self.nodes[0].getbestblockhash() - expectedDeleted = [q_100_0, q_102_0, q_103_1_0, q_103_1_1] - expectedNew = [q_100_2, q_102_2, q_103_2_0, q_103_2_1] - quorumList = self.test_getmnlistdiff_quorums(b_2, b_3, quorumList, expectedDeleted, expectedNew) - mninfos_online = self.mninfo.copy() nodes = [self.nodes[0]] + [mn.node for mn in mninfos_online] sync_blocks(nodes) @@ -152,12 +135,6 @@ class LLMQQuorumRotationTest(DashTestFramework): assert_greater_than_or_equal(len(intersection(quorum_members_0_0, quorum_members_1_0)), 3) assert_greater_than_or_equal(len(intersection(quorum_members_0_1, quorum_members_1_1)), 3) - assert_greater_than_or_equal(len(intersection(quorum_members_0_0, quorum_members_2_0)), 2) - assert_greater_than_or_equal(len(intersection(quorum_members_0_1, quorum_members_2_1)), 2) - - assert_greater_than_or_equal(len(intersection(quorum_members_1_0, quorum_members_2_0)), 3) - assert_greater_than_or_equal(len(intersection(quorum_members_1_1, quorum_members_2_1)), 3) - self.log.info("Mine a quorum to invalidate") (quorum_info_3_0, quorum_info_3_1) = self.mine_cycle_quorum(llmq_type_name=llmq_type_name, llmq_type=llmq_type) From 2dcbedd6e2f06ed0ab4dee46dbf6d52af45227ec Mon Sep 17 00:00:00 2001 From: Nathan Marley Date: Tue, 14 Jun 2022 06:04:56 -0300 Subject: [PATCH 37/74] fix(gov): do not allow empty proposal names (#4883) * gov: Do not allow empty proposal names * Add test for invalid (empty) proposal name * Use pasta suggestion --- src/governance/validators.cpp | 5 +++++ src/test/data/proposals_invalid.json | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/governance/validators.cpp b/src/governance/validators.cpp index d062b18ff8..3be3778a18 100644 --- a/src/governance/validators.cpp +++ b/src/governance/validators.cpp @@ -99,6 +99,11 @@ bool CProposalValidator::ValidateName() return false; } + if (strName.empty()) { + strErrorMessages += "name cannot be empty;"; + return false; + } + static constexpr std::string_view strAllowedChars{"-_abcdefghijklmnopqrstuvwxyz0123456789"}; strName = ToLower(strName); diff --git a/src/test/data/proposals_invalid.json b/src/test/data/proposals_invalid.json index 79fa959c8b..2159e7df1b 100644 --- a/src/test/data/proposals_invalid.json +++ b/src/test/data/proposals_invalid.json @@ -16,5 +16,6 @@ {"end_epoch": 1491368400, "name": "dean-miller-5493", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": "25.75", "start_epoch": 1474261086, "type": 1, "url": "http://dashcentral.org/dean-miller-5493"}, {"end_epoch": "1491368400", "name": "dean-miller-5493", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": 25.75, "start_epoch": 1474261086, "type": 1, "url": "http://dashcentral.org/dean-miller-5493"}, {"end_epoch": 1491368400, "name": "dean-miller-5493", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": 25.75, "start_epoch": "1474261086", "type": 1, "url": "http://dashcentral.org/dean-miller-5493"}, -{"end_epoch": 1491368400, "name": "dean-miller-5493", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": 25.75, "start_epoch": 1474261086, "type": 2, "url": "http://dashcentral.org/dean-miller-5493"} +{"end_epoch": 1491368400, "name": "dean-miller-5493", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": 25.75, "start_epoch": 1474261086, "type": 2, "url": "http://dashcentral.org/dean-miller-5493"}, +{"end_epoch": 1491368400, "name": "", "payment_address": "XpG61qAVhdyN7AqVZQsHfJL7AEk4dPVinc", "payment_amount": 25.75, "start_epoch": 1474261086, "type": 1, "url": "http://dashcentral.org/dean-miller-5493"} ] From 9b0222a01aaf6c3ecad93cc5dff4c1524fd993b8 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 27 Jun 2022 13:02:46 +0300 Subject: [PATCH 38/74] llmq: Various fixes and improvements (#4890) * feat(llmq): Introduce useRotation in LLMQParams * fix(llmq): Fix IsQuorumRotationEnabled to recognize all dip0024 quorums * fix(llmq): Do not allow rotation llmqs for `-llmqinstantsend` and non-rotation ones for `-llmqinstantsenddip0024` * fix(llmq): Unify and fix IsMiningPhase NOTE: no need for 1 extra block in mining phase for rotation quorums * chore(llmq): Reduce the number of IsQuorumRotationEnabled calls * chore(llmq): Improve logging * feat(llmq): Make `llmq-` threads for rotation quorums distinguishable by quorum index * fix(llmq): Fix another endless loop in GetQuorumRelayMembers * throw an error when a llmq type with an incompatible rotation flag is picked for `-llmq...` params * Add a note about loop conditions * llmq: Make TransactionRemovedFromMempool the last action for invalid txes, just like we do for orphans with rejected parents Write to log, send reject msg and (maybe) punish first and only then notify IS about the tx removal. Makes it easier to reason about it when reading logs. --- src/chainparams.cpp | 9 +++++++ src/llmq/blockprocessor.cpp | 45 +++++++++++++++------------------- src/llmq/dkgsessionhandler.cpp | 44 ++++++++++++++++----------------- src/llmq/params.h | 21 +++++++++++++--- src/llmq/utils.cpp | 12 ++++++--- src/net_processing.cpp | 2 +- src/rpc/rpcquorums.cpp | 7 +++--- 7 files changed, 81 insertions(+), 59 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 325c5aeae3..6f064512b2 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -1223,6 +1223,9 @@ void CDevNetParams::UpdateDevnetLLMQChainLocksFromArgs(const ArgsManager& args) Consensus::LLMQType llmqType = Consensus::LLMQType::LLMQ_NONE; for (const auto& params : consensus.llmqs) { if (params.name == strLLMQType) { + if (params.useRotation) { + throw std::runtime_error("LLMQ type specified for -llmqchainlocks must NOT use rotation"); + } llmqType = params.type; } } @@ -1242,6 +1245,9 @@ void CDevNetParams::UpdateDevnetLLMQInstantSendFromArgs(const ArgsManager& args) Consensus::LLMQType llmqType = Consensus::LLMQType::LLMQ_NONE; for (const auto& params : consensus.llmqs) { if (params.name == strLLMQType) { + if (params.useRotation) { + throw std::runtime_error("LLMQ type specified for -llmqinstantsend must NOT use rotation"); + } llmqType = params.type; } } @@ -1261,6 +1267,9 @@ void CDevNetParams::UpdateDevnetLLMQInstantSendDIP0024FromArgs(const ArgsManager Consensus::LLMQType llmqType = Consensus::LLMQType::LLMQ_NONE; for (const auto& params : consensus.llmqs) { if (params.name == strLLMQType) { + if (!params.useRotation) { + throw std::runtime_error("LLMQ type specified for -llmqinstantsenddip0024 must use rotation"); + } llmqType = params.type; } } diff --git a/src/llmq/blockprocessor.cpp b/src/llmq/blockprocessor.cpp index 2850aee9de..d1f8c690da 100644 --- a/src/llmq/blockprocessor.cpp +++ b/src/llmq/blockprocessor.cpp @@ -252,7 +252,9 @@ bool CQuorumBlockProcessor::ProcessCommitment(int nHeight, const uint256& blockH return true; } - if (llmq::CLLMQUtils::IsQuorumRotationEnabled(llmq_params.type, pQuorumBaseBlockIndex)) { + bool rotation_enabled = CLLMQUtils::IsQuorumRotationEnabled(llmq_params.type, pQuorumBaseBlockIndex); + + if (rotation_enabled) { LogPrint(BCLog::LLMQ, "[ProcessCommitment] height[%d] pQuorumBaseBlockIndex[%d] quorumIndex[%d] qversion[%d] Built\n", nHeight, pQuorumBaseBlockIndex->nHeight, qc.quorumIndex, qc.nVersion); } @@ -261,7 +263,7 @@ bool CQuorumBlockProcessor::ProcessCommitment(int nHeight, const uint256& blockH auto cacheKey = std::make_pair(llmq_params.type, quorumHash); evoDb.Write(std::make_pair(DB_MINED_COMMITMENT, cacheKey), std::make_pair(qc, blockHash)); - if (llmq::CLLMQUtils::IsQuorumRotationEnabled(llmq_params.type, pQuorumBaseBlockIndex)) { + if (rotation_enabled) { evoDb.Write(BuildInversedHeightKeyIndexed(llmq_params.type, nHeight, int(qc.quorumIndex)), pQuorumBaseBlockIndex->nHeight); } else { evoDb.Write(BuildInversedHeightKey(llmq_params.type, nHeight), pQuorumBaseBlockIndex->nHeight); @@ -415,23 +417,16 @@ bool CQuorumBlockProcessor::IsMiningPhase(const Consensus::LLMQParams& llmqParam // Note: This function can be called for new blocks assert(nHeight <= ::ChainActive().Height() + 1); - const auto pindex = ::ChainActive().Height() < nHeight ? ::ChainActive().Tip() : ::ChainActive().Tip()->GetAncestor(nHeight); - if (CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex)) { - int quorumCycleStartHeight = nHeight - (nHeight % llmqParams.dkgInterval); - int quorumCycleMiningStartHeight = quorumCycleStartHeight + llmqParams.signingActiveQuorumCount + (5 * llmqParams.dkgPhaseBlocks) + 1; - int quorumCycleMiningEndHeight = quorumCycleMiningStartHeight + (llmqParams.dkgMiningWindowEnd - llmqParams.dkgMiningWindowStart); - LogPrint(BCLog::LLMQ, "[IsMiningPhase] nHeight[%d] quorumCycleStartHeight[%d] -- mining[%d-%d]\n", nHeight, quorumCycleStartHeight, quorumCycleMiningStartHeight, quorumCycleMiningEndHeight); + int quorumCycleStartHeight = nHeight - (nHeight % llmqParams.dkgInterval); + int quorumCycleMiningStartHeight = quorumCycleStartHeight + llmqParams.dkgMiningWindowStart; + int quorumCycleMiningEndHeight = quorumCycleStartHeight + llmqParams.dkgMiningWindowEnd; - if (nHeight >= quorumCycleMiningStartHeight && nHeight <= quorumCycleMiningEndHeight) { - return true; - } - } else { - int phaseIndex = nHeight % llmqParams.dkgInterval; - if (phaseIndex >= llmqParams.dkgMiningWindowStart && phaseIndex <= llmqParams.dkgMiningWindowEnd) { - return true; - } + if (nHeight >= quorumCycleMiningStartHeight && nHeight <= quorumCycleMiningEndHeight) { + LogPrint(BCLog::LLMQ, "[IsMiningPhase] nHeight[%d] llmqType[%d] quorumCycleStartHeight[%d] -- mining[%d-%d]\n", nHeight, int(llmqParams.type), quorumCycleStartHeight, quorumCycleMiningStartHeight, quorumCycleMiningEndHeight); + return true; } + LogPrint(BCLog::LLMQ, "[IsMiningPhase] nHeight[%d] llmqType[%d] quorumCycleStartHeight[%d] -- NOT mining[%d-%d]\n", nHeight, int(llmqParams.type), quorumCycleStartHeight, quorumCycleMiningStartHeight, quorumCycleMiningEndHeight); return false; } @@ -446,13 +441,13 @@ bool CQuorumBlockProcessor::IsCommitmentRequired(const Consensus::LLMQParams& ll assert(nHeight <= ::ChainActive().Height() + 1); const auto pindex = ::ChainActive().Height() < nHeight ? ::ChainActive().Tip() : ::ChainActive().Tip()->GetAncestor(nHeight); - for (int quorumIndex = 0; quorumIndex < llmqParams.signingActiveQuorumCount; ++quorumIndex) { + bool rotation_enabled = CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex); + size_t quorums_num = rotation_enabled ? llmqParams.signingActiveQuorumCount : 1; + + for (int quorumIndex = 0; quorumIndex < quorums_num; ++quorumIndex) { uint256 quorumHash = GetQuorumBlockHash(llmqParams, nHeight, quorumIndex); if (quorumHash.IsNull()) return false; if (HasMinedCommitment(llmqParams.type, quorumHash)) return false; - if (!CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex)) { - break; - } } return true; @@ -725,8 +720,11 @@ std::optional> CQuorumBlockProcessor::GetMineableC assert(nHeight <= ::ChainActive().Height() + 1); const auto pindex = ::ChainActive().Height() < nHeight ? ::ChainActive().Tip() : ::ChainActive().Tip()->GetAncestor(nHeight); + bool rotation_enabled = CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex); + size_t quorums_num = rotation_enabled ? llmqParams.signingActiveQuorumCount : 1; + std::stringstream ss; - for (int quorumIndex = 0; quorumIndex < llmqParams.signingActiveQuorumCount; ++quorumIndex) { + for (int quorumIndex = 0; quorumIndex < quorums_num; ++quorumIndex) { CFinalCommitment cf; uint256 quorumHash = GetQuorumBlockHash(llmqParams, nHeight, quorumIndex); @@ -742,7 +740,7 @@ std::optional> CQuorumBlockProcessor::GetMineableC // null commitment required cf = CFinalCommitment(llmqParams, quorumHash); cf.quorumIndex = static_cast(quorumIndex); - if (CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex)) { + if (rotation_enabled) { cf.nVersion = CFinalCommitment::INDEXED_QUORUM_VERSION; } ss << "{ created nversion[" << cf.nVersion << "] quorumIndex[" << cf.quorumIndex << "] }"; @@ -752,9 +750,6 @@ std::optional> CQuorumBlockProcessor::GetMineableC } ret.push_back(std::move(cf)); - if (!CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex)) { - break; - } } LogPrint(BCLog::LLMQ, "GetMineableCommitments cf height[%d] content: %s\n", nHeight, ss.str()); diff --git a/src/llmq/dkgsessionhandler.cpp b/src/llmq/dkgsessionhandler.cpp index c1df8b41bf..d268e81d90 100644 --- a/src/llmq/dkgsessionhandler.cpp +++ b/src/llmq/dkgsessionhandler.cpp @@ -102,7 +102,7 @@ void CDKGSessionHandler::UpdatedBlockTip(const CBlockIndex* pindexNew) phase = static_cast(phaseInt); } - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s - quorumIndex=%d, currentHeight=%d, pQuorumBaseBlockIndex->nHeight=%d, oldPhase=%d, newPhase=%d\n", __func__, + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s qi[%d] currentHeight=%d, pQuorumBaseBlockIndex->nHeight=%d, oldPhase=%d, newPhase=%d\n", __func__, params.name, quorumIndex, currentHeight, pQuorumBaseBlockIndex->nHeight, int(oldPhase), int(phase)); } @@ -126,7 +126,7 @@ void CDKGSessionHandler::StartThread() throw std::runtime_error("Tried to start an already started CDKGSessionHandler thread."); } - std::string threadName = strprintf("llmq-%d", (uint8_t)params.type); + std::string threadName = strprintf("llmq-%d-%d", (uint8_t)params.type, quorumIndex); phaseHandlerThread = std::thread(&TraceThread >, threadName, std::function(std::bind(&CDKGSessionHandler::PhaseHandlerThread, this))); } @@ -148,10 +148,10 @@ bool CDKGSessionHandler::InitNewQuorum(const CBlockIndex* pQuorumBaseBlockIndex) auto mns = CLLMQUtils::GetAllQuorumMembers(params.type, pQuorumBaseBlockIndex); if (!curSession->Init(pQuorumBaseBlockIndex, mns, WITH_LOCK(activeMasternodeInfoCs, return activeMasternodeInfo.proTxHash), quorumIndex)) { - LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization failed for %s mns[%d]\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name, mns.size()); + LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization failed for %s qi[%d] mns[%d]\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name, quorumIndex, mns.size()); return false; } else { - LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization OK for %s\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name); + LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization OK for %s qi[%d]\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name, quorumIndex); } return true; @@ -171,23 +171,23 @@ void CDKGSessionHandler::WaitForNextPhase(std::optional curPhase, const uint256& expectedQuorumHash, const WhileWaitFunc& shouldNotWait) const { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - starting, curPhase=%d, nextPhase=%d\n", __func__, params.name, curPhase.has_value() ? int(*curPhase) : -1, int(nextPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - starting, curPhase=%d, nextPhase=%d\n", __func__, params.name, quorumIndex, curPhase.has_value() ? int(*curPhase) : -1, int(nextPhase)); while (true) { if (stopRequested) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due to stop/shutdown requested\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due to stop/shutdown requested\n", __func__, params.name, quorumIndex); throw AbortPhaseException(); } auto [_phase, _quorumHash] = GetPhaseAndQuorumHash(); if (!expectedQuorumHash.IsNull() && _quorumHash != expectedQuorumHash) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due unexpected expectedQuorumHash change\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due unexpected expectedQuorumHash change\n", __func__, params.name, quorumIndex); throw AbortPhaseException(); } if (_phase == nextPhase) { break; } if (curPhase.has_value() && _phase != curPhase) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due unexpected phase change\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due unexpected phase change, _phase=%d, curPhase=%d\n", __func__, params.name, quorumIndex, int(_phase), curPhase.has_value() ? int(*curPhase) : -1); throw AbortPhaseException(); } if (!shouldNotWait()) { @@ -195,7 +195,7 @@ void CDKGSessionHandler::WaitForNextPhase(std::optional curPhase, } } - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - done, curPhase=%d, nextPhase=%d\n", __func__, params.name, curPhase.has_value() ? int(*curPhase) : -1, int(nextPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - done, curPhase=%d, nextPhase=%d\n", __func__, params.name, quorumIndex, curPhase.has_value() ? int(*curPhase) : -1, int(nextPhase)); if (nextPhase == QuorumPhase::Initialized) { quorumDKGDebugManager->ResetLocalSessionStatus(params.type, quorumIndex); @@ -210,21 +210,21 @@ void CDKGSessionHandler::WaitForNextPhase(std::optional curPhase, void CDKGSessionHandler::WaitForNewQuorum(const uint256& oldQuorumHash) const { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - starting\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d]- starting\n", __func__, params.name, quorumIndex); while (true) { if (stopRequested) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due to stop/shutdown requested\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due to stop/shutdown requested\n", __func__, params.name, quorumIndex); throw AbortPhaseException(); } - auto p = GetPhaseAndQuorumHash(); - if (p.second != oldQuorumHash) { + auto [_, _quorumHash] = GetPhaseAndQuorumHash(); + if (_quorumHash != oldQuorumHash) { break; } UninterruptibleSleep(std::chrono::milliseconds{100}); } - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - done\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - done\n", __func__, params.name, quorumIndex); } // Sleep some time to not fully overload the whole network @@ -263,11 +263,11 @@ void CDKGSessionHandler::SleepBeforePhase(QuorumPhase curPhase, heightTmp = heightStart = currentHeight; } - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - starting sleep for %d ms, curPhase=%d\n", __func__, params.name, sleepTime, int(curPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - starting sleep for %d ms, curPhase=%d\n", __func__, params.name, quorumIndex, sleepTime, int(curPhase)); while (GetTimeMillis() < endTime) { if (stopRequested) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due to stop/shutdown requested\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due to stop/shutdown requested\n", __func__, params.name, quorumIndex); throw AbortPhaseException(); } { @@ -283,7 +283,7 @@ void CDKGSessionHandler::SleepBeforePhase(QuorumPhase curPhase, } if (phase != curPhase || quorumHash != expectedQuorumHash) { // Something went wrong and/or we missed quite a few blocks and it's just too late now - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - aborting due unexpected phase/expectedQuorumHash change\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - aborting due unexpected phase/expectedQuorumHash change\n", __func__, params.name, quorumIndex); throw AbortPhaseException(); } } @@ -292,7 +292,7 @@ void CDKGSessionHandler::SleepBeforePhase(QuorumPhase curPhase, } } - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - done, curPhase=%d\n", __func__, params.name, int(curPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - done, curPhase=%d\n", __func__, params.name, quorumIndex, int(curPhase)); } void CDKGSessionHandler::HandlePhase(QuorumPhase curPhase, @@ -302,13 +302,13 @@ void CDKGSessionHandler::HandlePhase(QuorumPhase curPhase, const StartPhaseFunc& startPhaseFunc, const WhileWaitFunc& runWhileWaiting) { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - starting, curPhase=%d, nextPhase=%d\n", __func__, params.name, int(curPhase), int(nextPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - starting, curPhase=%d, nextPhase=%d\n", __func__, params.name, quorumIndex, int(curPhase), int(nextPhase)); SleepBeforePhase(curPhase, expectedQuorumHash, randomSleepFactor, runWhileWaiting); startPhaseFunc(); WaitForNextPhase(curPhase, nextPhase, expectedQuorumHash, runWhileWaiting); - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s - done, curPhase=%d, nextPhase=%d\n", __func__, params.name, int(curPhase), int(nextPhase)); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionManager::%s -- %s qi[%d] - done, curPhase=%d, nextPhase=%d\n", __func__, params.name, quorumIndex, int(curPhase), int(nextPhase)); } // returns a set of NodeIds which sent invalid messages @@ -543,14 +543,14 @@ void CDKGSessionHandler::PhaseHandlerThread() { while (!stopRequested) { try { - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s - starting HandleDKGRound\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s qi[%d] - starting HandleDKGRound\n", __func__, params.name, quorumIndex); HandleDKGRound(); } catch (AbortPhaseException& e) { quorumDKGDebugManager->UpdateLocalSessionStatus(params.type, quorumIndex, [&](CDKGDebugSessionStatus& status) { status.aborted = true; return true; }); - LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s - aborted current DKG session\n", __func__, params.name); + LogPrint(BCLog::LLMQ_DKG, "CDKGSessionHandler::%s -- %s qi[%d] - aborted current DKG session\n", __func__, params.name, quorumIndex); } } } diff --git a/src/llmq/params.h b/src/llmq/params.h index a289ea24e4..1a2d902907 100644 --- a/src/llmq/params.h +++ b/src/llmq/params.h @@ -45,6 +45,9 @@ struct LLMQParams { // not consensus critical, only used in logging, RPC and UI std::string_view name; + // Whether this is a DIP0024 quorum or not + bool useRotation; + // the size of the quorum, e.g. 50 or 400 int size; @@ -113,6 +116,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_TEST, .name = "llmq_test", + .useRotation = false, .size = 3, .minSize = 2, .threshold = 2, @@ -137,6 +141,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_TEST_INSTANTSEND, .name = "llmq_test_instantsend", + .useRotation = false, .size = 3, .minSize = 2, .threshold = 2, @@ -161,6 +166,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_TEST_V17, .name = "llmq_test_v17", + .useRotation = false, .size = 3, .minSize = 2, .threshold = 2, @@ -185,14 +191,15 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_TEST_DIP0024, .name = "llmq_test_dip0024", + .useRotation = true, .size = 4, .minSize = 3, .threshold = 2, .dkgInterval = 24, // DKG cycle .dkgPhaseBlocks = 2, - .dkgMiningWindowStart = 10, // dkgPhaseBlocks * 5 = after finalization - .dkgMiningWindowEnd = 18, + .dkgMiningWindowStart = 12, // signingActiveQuorumCount + dkgPhaseBlocks * 5 = after finalization + .dkgMiningWindowEnd = 20, .dkgBadVotesThreshold = 2, .signingActiveQuorumCount = 2, // just a few ones to allow easier testing @@ -209,6 +216,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_DEVNET, .name = "llmq_devnet", + .useRotation = false, .size = 12, .minSize = 7, .threshold = 6, @@ -259,6 +267,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_50_60, .name = "llmq_50_60", + .useRotation = false, .size = 50, .minSize = 40, .threshold = 30, @@ -283,14 +292,15 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_60_75, .name = "llmq_60_75", + .useRotation = true, .size = 60, .minSize = 50, .threshold = 45, .dkgInterval = 24 * 12, // DKG cycle every 12 hours .dkgPhaseBlocks = 2, - .dkgMiningWindowStart = 10, // dkgPhaseBlocks * 5 = after finalization - .dkgMiningWindowEnd = 18, + .dkgMiningWindowStart = 42, // signingActiveQuorumCount + dkgPhaseBlocks * 5 = after finalization + .dkgMiningWindowEnd = 50, .dkgBadVotesThreshold = 48, .signingActiveQuorumCount = 32, @@ -307,6 +317,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_400_60, .name = "llmq_400_60", + .useRotation = false, .size = 400, .minSize = 300, .threshold = 240, @@ -333,6 +344,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_400_85, .name = "llmq_400_85", + .useRotation = false, .size = 400, .minSize = 350, .threshold = 340, @@ -359,6 +371,7 @@ static constexpr std::array available_llmqs = { LLMQParams{ .type = LLMQType::LLMQ_100_67, .name = "llmq_100_67", + .useRotation = false, .size = 100, .minSize = 80, .threshold = 67, diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index cd7b5c6e0b..6f40b551d8 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -534,7 +534,7 @@ bool CLLMQUtils::IsQuorumRotationEnabled(Consensus::LLMQType llmqType, const CBl { assert(pindex); - if (llmqType != Params().GetConsensus().llmqTypeDIP0024InstantSend) { + if (!GetLLMQParams(llmqType).useRotation) { return false; } @@ -646,13 +646,19 @@ std::set CLLMQUtils::GetQuorumRelayMembers(const Consensus::LLMQParams& int k = 0; while ((gap_max >>= 1) || k <= 1) { size_t idx = (i + gap) % mns.size(); + // It doesn't matter if this node is going to be added to the resulting set or not, + // we should always bump the gap and the k (step count) regardless. + // Refusing to bump the gap results in an incomplete set in the best case scenario + // (idx won't ever change again once we hit `==`). Not bumping k guarantees an endless + // loop when the first or the second node we check is the one that should be skipped + // (k <= 1 forever). + gap <<= 1; + k++; const auto& otherDmn = mns[idx]; if (otherDmn->proTxHash == proTxHash) { continue; } r.emplace(otherDmn->proTxHash); - gap <<= 1; - k++; } return r; }; diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 7781b9f0b9..d53c0138b4 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3312,7 +3312,6 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea LogPrintf("Not relaying invalid transaction %s from whitelisted peer=%d (%s)\n", tx.GetHash().ToString(), pfrom->GetId(), FormatStateMessage(state)); } } - llmq::quorumInstantSendManager->TransactionRemovedFromMempool(ptx); } // If a tx has been detected by recentRejects, we will have reached @@ -3345,6 +3344,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea if (nDoS > 0) { Misbehaving(pfrom->GetId(), nDoS); } + llmq::quorumInstantSendManager->TransactionRemovedFromMempool(ptx); } return true; } diff --git a/src/rpc/rpcquorums.cpp b/src/rpc/rpcquorums.cpp index 53fa8c9fc9..0421ba313a 100644 --- a/src/rpc/rpcquorums.cpp +++ b/src/rpc/rpcquorums.cpp @@ -198,8 +198,10 @@ static UniValue quorum_dkgstatus(const JSONRPCRequest& request) UniValue quorumArrConnections(UniValue::VARR); for (const auto& type : llmq::CLLMQUtils::GetEnabledQuorumTypes(pindexTip)) { const auto& llmq_params = llmq::GetLLMQParams(type); + bool rotation_enabled = llmq::CLLMQUtils::IsQuorumRotationEnabled(type, pindexTip); + size_t quorums_num = rotation_enabled ? llmq_params.signingActiveQuorumCount : 1; - for (int quorumIndex = 0; quorumIndex < llmq_params.signingActiveQuorumCount; ++quorumIndex) { + for (int quorumIndex = 0; quorumIndex < quorums_num; ++quorumIndex) { UniValue obj(UniValue::VOBJ); obj.pushKV("llmqType", std::string(llmq_params.name)); obj.pushKV("quorumIndex", quorumIndex); @@ -241,9 +243,6 @@ static UniValue quorum_dkgstatus(const JSONRPCRequest& request) } } quorumArrConnections.push_back(obj); - if (!llmq::CLLMQUtils::IsQuorumRotationEnabled(type, pindexTip)) { - break; - } } LOCK(cs_main); From 7c8ce7019a792b4591e797bbaf8d4eb07ddb0d2d Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 28 Jun 2022 19:19:54 -0500 Subject: [PATCH 39/74] chore: bump to rc7 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3e1d842372..f6082404f7 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 6) +define(_CLIENT_VERSION_RC, 7) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From a999023cbd3afc33745b19de89b3ad69d83c7d0a Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sat, 2 Jul 2022 21:02:42 +0300 Subject: [PATCH 40/74] fix(llmq): Fix quorum commitments requirement conditions (#4899) Wasn't really requiring other commitments for rotation quorums once a single commitment was mined --- src/llmq/blockprocessor.cpp | 20 ++++++++++---------- src/llmq/blockprocessor.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/llmq/blockprocessor.cpp b/src/llmq/blockprocessor.cpp index d1f8c690da..d9b94dddc6 100644 --- a/src/llmq/blockprocessor.cpp +++ b/src/llmq/blockprocessor.cpp @@ -152,18 +152,18 @@ bool CQuorumBlockProcessor::ProcessBlock(const CBlock& block, const CBlockIndex* break; } - bool isCommitmentRequired = IsCommitmentRequired(params, pindex->nHeight); + const size_t numCommitmentsRequired = GetNumCommitmentsRequired(params, pindex->nHeight); const auto numCommitmentsInNewBlock = qcs.count(params.type); - if (!isCommitmentRequired && numCommitmentsInNewBlock > 0) { + if (numCommitmentsRequired < numCommitmentsInNewBlock) { return state.DoS(100, false, REJECT_INVALID, "bad-qc-not-allowed"); } - if (isCommitmentRequired && numCommitmentsInNewBlock == 0) { + if (numCommitmentsRequired > numCommitmentsInNewBlock) { return state.DoS(100, false, REJECT_INVALID, "bad-qc-missing"); } if (llmq::CLLMQUtils::IsQuorumRotationEnabled(params.type, pindex)) { - LogPrintf("[ProcessBlock] h[%d] isCommitmentRequired[%d] numCommitmentsInNewBlock[%d]\n", pindex->nHeight, isCommitmentRequired, numCommitmentsInNewBlock); + LogPrintf("[ProcessBlock] h[%d] numCommitmentsRequired[%d] numCommitmentsInNewBlock[%d]\n", pindex->nHeight, numCommitmentsRequired, numCommitmentsInNewBlock); } } @@ -431,11 +431,11 @@ bool CQuorumBlockProcessor::IsMiningPhase(const Consensus::LLMQParams& llmqParam return false; } -bool CQuorumBlockProcessor::IsCommitmentRequired(const Consensus::LLMQParams& llmqParams, int nHeight) const +size_t CQuorumBlockProcessor::GetNumCommitmentsRequired(const Consensus::LLMQParams& llmqParams, int nHeight) const { AssertLockHeld(cs_main); - if (!IsMiningPhase(llmqParams, nHeight)) return false; + if (!IsMiningPhase(llmqParams, nHeight)) return 0; // Note: This function can be called for new blocks assert(nHeight <= ::ChainActive().Height() + 1); @@ -443,14 +443,14 @@ bool CQuorumBlockProcessor::IsCommitmentRequired(const Consensus::LLMQParams& ll bool rotation_enabled = CLLMQUtils::IsQuorumRotationEnabled(llmqParams.type, pindex); size_t quorums_num = rotation_enabled ? llmqParams.signingActiveQuorumCount : 1; + size_t ret{0}; for (int quorumIndex = 0; quorumIndex < quorums_num; ++quorumIndex) { uint256 quorumHash = GetQuorumBlockHash(llmqParams, nHeight, quorumIndex); - if (quorumHash.IsNull()) return false; - if (HasMinedCommitment(llmqParams.type, quorumHash)) return false; + if (!quorumHash.IsNull() && !HasMinedCommitment(llmqParams.type, quorumHash)) ++ret; } - return true; + return ret; } // WARNING: This method returns uint256() on the first block of the DKG interval (because the block hash is not known yet) @@ -711,7 +711,7 @@ std::optional> CQuorumBlockProcessor::GetMineableC std::vector ret; - if (!IsCommitmentRequired(llmqParams, nHeight /*, 0*/)) { + if (GetNumCommitmentsRequired(llmqParams, nHeight) == 0) { // no commitment required return std::nullopt; } diff --git a/src/llmq/blockprocessor.h b/src/llmq/blockprocessor.h index 492334b6c2..4a5d82631c 100644 --- a/src/llmq/blockprocessor.h +++ b/src/llmq/blockprocessor.h @@ -70,7 +70,7 @@ private: static bool GetCommitmentsFromBlock(const CBlock& block, const CBlockIndex* pindex, std::multimap& ret, CValidationState& state) EXCLUSIVE_LOCKS_REQUIRED(cs_main); bool ProcessCommitment(int nHeight, const uint256& blockHash, const CFinalCommitment& qc, CValidationState& state, bool fJustCheck, bool fBLSChecks) EXCLUSIVE_LOCKS_REQUIRED(cs_main); bool IsMiningPhase(const Consensus::LLMQParams& llmqParams, int nHeight) const EXCLUSIVE_LOCKS_REQUIRED(cs_main); - bool IsCommitmentRequired(const Consensus::LLMQParams& llmqParams, int nHeight) const EXCLUSIVE_LOCKS_REQUIRED(cs_main); + size_t GetNumCommitmentsRequired(const Consensus::LLMQParams& llmqParams, int nHeight) const EXCLUSIVE_LOCKS_REQUIRED(cs_main); static uint256 GetQuorumBlockHash(const Consensus::LLMQParams& llmqParams, int nHeight, int quorumIndex) EXCLUSIVE_LOCKS_REQUIRED(cs_main); }; From 268b8e97d3fd5d533a97dd042b79fda26456026f Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 7 Jul 2022 00:24:34 +0300 Subject: [PATCH 41/74] feat(llmq): avoid probing mns too often instead of using a tiny window to probe them (#4904) We only call AddQuorumProbeConnections when a new quorum is intialized. It's possible to miss the 10 minute probe window if Contribute phase takes too long (when 2 blocks were mined in 10+ minutes). 50 minutes should be enough and probing once in 10 minutes should be safe. --- src/llmq/utils.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 6f40b551d8..e5539114a6 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -757,11 +757,11 @@ void CLLMQUtils::AddQuorumProbeConnections(const Consensus::LLMQParams& llmqPara continue; } auto lastOutbound = mmetaman.GetMetaInfo(dmn->proTxHash)->GetLastOutboundSuccess(); - // re-probe after 50 minutes so that the "good connection" check in the DKG doesn't fail just because we're on - // the brink of timeout - if (curTime - lastOutbound > 50 * 60) { - probeConnections.emplace(dmn->proTxHash); + if (curTime - lastOutbound < 10 * 60) { + // avoid re-probing nodes too often + continue; } + probeConnections.emplace(dmn->proTxHash); } if (!probeConnections.empty()) { From 61c6f60ac5317e1bc6bf7b1fe2ec22c1acc830a6 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 7 Jul 2022 00:25:02 +0300 Subject: [PATCH 42/74] fix(net): Let MNs accept conections as soon as blockchain is synced (#4905) Do not wait for governance data, it's not needed for DKGs --- src/net.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 598efee8db..26210f2c82 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1107,9 +1107,9 @@ void CConnman::AcceptConnection(const ListenSocket& hListenSocket) { nInbound--; } - // don't accept incoming connections until fully synced - if(fMasternodeMode && !masternodeSync.IsSynced()) { - LogPrint(BCLog::NET, "AcceptConnection -- masternode is not synced yet, skipping inbound connection attempt\n"); + // don't accept incoming connections until blockchain is synced + if(fMasternodeMode && !masternodeSync.IsBlockchainSynced()) { + LogPrint(BCLog::NET, "AcceptConnection -- blockchain is not synced yet, skipping inbound connection attempt\n"); CloseSocket(hSocket); return; } From 394bf42fef94529965cdc8251823c4e1d3e5ebb8 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 7 Jul 2022 10:49:34 +0300 Subject: [PATCH 43/74] fix(dkg): let masternodes miss few connection attempts before considering them "bad" (#4907) * fix(dkg): let masternodes miss few connection attempts before considering them "bad" Should help with dashd updates/restarts for nodes that were successfully probed recently. * fix --- src/masternode/meta.cpp | 3 ++- src/masternode/meta.h | 8 ++++++-- src/net.cpp | 7 +++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/masternode/meta.cpp b/src/masternode/meta.cpp index 9b0e26bc77..ca3a6a37ef 100644 --- a/src/masternode/meta.cpp +++ b/src/masternode/meta.cpp @@ -8,7 +8,7 @@ CMasternodeMetaMan mmetaman; -const std::string CMasternodeMetaMan::SERIALIZATION_VERSION_STRING = "CMasternodeMetaMan-Version-2"; +const std::string CMasternodeMetaMan::SERIALIZATION_VERSION_STRING = "CMasternodeMetaMan-Version-3"; UniValue CMasternodeMetaInfo::ToJson() const { @@ -18,6 +18,7 @@ UniValue CMasternodeMetaInfo::ToJson() const ret.pushKV("lastDSQ", nLastDsq); ret.pushKV("mixingTxCount", nMixingTxCount); + ret.pushKV("outboundAttemptCount", outboundAttemptCount); ret.pushKV("lastOutboundAttempt", lastOutboundAttempt); ret.pushKV("lastOutboundAttemptElapsed", now - lastOutboundAttempt); ret.pushKV("lastOutboundSuccess", lastOutboundSuccess); diff --git a/src/masternode/meta.h b/src/masternode/meta.h index 1a93b09d93..f41e695f5a 100644 --- a/src/masternode/meta.h +++ b/src/masternode/meta.h @@ -16,6 +16,7 @@ class CConnman; static constexpr int MASTERNODE_MAX_MIXING_TXES{5}; +static constexpr int MASTERNODE_MAX_FAILED_OUTBOUND_ATTEMPTS{5}; // Holds extra (non-deterministic) information about masternodes // This is mostly local information, e.g. about mixing and governance @@ -35,6 +36,7 @@ private: // KEEP TRACK OF GOVERNANCE ITEMS EACH MASTERNODE HAS VOTE UPON FOR RECALCULATION std::map mapGovernanceObjectsVotedOn GUARDED_BY(cs); + std::atomic outboundAttemptCount{0}; std::atomic lastOutboundAttempt{0}; std::atomic lastOutboundSuccess{0}; @@ -59,6 +61,7 @@ public: obj.nLastDsq, obj.nMixingTxCount, obj.mapGovernanceObjectsVotedOn, + obj.outboundAttemptCount, obj.lastOutboundAttempt, obj.lastOutboundSuccess ); @@ -78,9 +81,10 @@ public: void RemoveGovernanceObject(const uint256& nGovernanceObjectHash); - void SetLastOutboundAttempt(int64_t t) { lastOutboundAttempt = t; } + bool OutboundFailedTooManyTimes() const { return outboundAttemptCount > MASTERNODE_MAX_FAILED_OUTBOUND_ATTEMPTS; } + void SetLastOutboundAttempt(int64_t t) { lastOutboundAttempt = t; ++outboundAttemptCount; } int64_t GetLastOutboundAttempt() const { return lastOutboundAttempt; } - void SetLastOutboundSuccess(int64_t t) { lastOutboundSuccess = t; } + void SetLastOutboundSuccess(int64_t t) { lastOutboundSuccess = t; outboundAttemptCount = 0; } int64_t GetLastOutboundSuccess() const { return lastOutboundSuccess; } }; using CMasternodeMetaInfoPtr = std::shared_ptr; diff --git a/src/net.cpp b/src/net.cpp index 26210f2c82..adb8dc3ebd 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2476,8 +2476,11 @@ void CConnman::ThreadOpenMasternodeConnections() }); if (!connected) { LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- connection failed for masternode %s, service=%s\n", __func__, connectToDmn->proTxHash.ToString(), connectToDmn->pdmnState->addr.ToString(false)); - // reset last outbound success - mmetaman.GetMetaInfo(connectToDmn->proTxHash)->SetLastOutboundSuccess(0); + // Will take a few consequent failed attempts to PoSe-punish a MN. + if (mmetaman.GetMetaInfo(connectToDmn->proTxHash)->OutboundFailedTooManyTimes()) { + LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- failed to connect to masternode %s too many times, resetting outbound success time\n", __func__, connectToDmn->proTxHash.ToString()); + mmetaman.GetMetaInfo(connectToDmn->proTxHash)->SetLastOutboundSuccess(0); + } } } } From 25071e647b5ec186b409cab33944b3779d84a213 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 7 Jul 2022 10:49:55 +0300 Subject: [PATCH 44/74] fix(dkg): let probes on mainnet ignore existing inbound connections (#4908) --- src/net.cpp | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index adb8dc3ebd..b9d7686a84 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2497,20 +2497,6 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai if (!fNetworkActive) { return; } - if (!pszDest) { - // banned or exact match? - if ((m_banman && m_banman->IsBanned(addrConnect)) || FindNode(addrConnect.ToStringIPPort())) - return; - // local and not a connection to itself? - bool fAllowLocal = Params().AllowMultiplePorts() && addrConnect.GetPort() != GetListenPort(); - if (!fAllowLocal && IsLocal(addrConnect)) - return; - // if multiple ports for same IP are allowed, search for IP:PORT match, otherwise search for IP-only match - if ((!Params().AllowMultiplePorts() && FindNode(static_cast(addrConnect))) || - (Params().AllowMultiplePorts() && FindNode(static_cast(addrConnect)))) - return; - } else if (FindNode(std::string(pszDest))) - return; auto getIpStr = [&]() { if (fLogIPs) { @@ -2520,6 +2506,29 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai } }; + if (!pszDest) { + // banned or exact match? + if ((m_banman && m_banman->IsBanned(addrConnect)) || FindNode(addrConnect.ToStringIPPort())) + return; + // local and not a connection to itself? + bool fAllowLocal = Params().AllowMultiplePorts() && addrConnect.GetPort() != GetListenPort(); + if (!fAllowLocal && IsLocal(addrConnect)) + return; + // Search for IP:PORT match: + // - if multiple ports for the same IP are allowed, + // - for probe connections + // Search for IP-only match otherwise + bool searchIPPort = Params().AllowMultiplePorts() || masternode_probe_connection; + bool skip = searchIPPort ? + FindNode(static_cast(addrConnect)) : + FindNode(static_cast(addrConnect)); + if (skip) { + LogPrintf("CConnman::%s -- Failed to open new connection to %s, already connected\n", __func__, getIpStr()); + return; + } + } else if (FindNode(std::string(pszDest))) + return; + LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- connecting to %s\n", __func__, getIpStr()); CNode* pnode = ConnectNode(addrConnect, pszDest, fCountFailure, manual_connection); From 78f992fc8c8f515642da239163038415cb604c13 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 7 Jul 2022 10:58:33 +0300 Subject: [PATCH 45/74] chore: bump to rc8 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index f6082404f7..d9bcb165dd 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 7) +define(_CLIENT_VERSION_RC, 8) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 7f60ee7d9ce6bd968733fa601b1ce453134f54ef Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 14 Jul 2022 21:38:02 +0300 Subject: [PATCH 46/74] fix(llmq): mark mns "bad" based on the failed connect attempts count (#4910) * fix(llmq): mark mns "bad" based on the failed connect attempts count Avoid using "last success time" as a proxy * fix(tests): tweak feature_llmq_simplepose.py --- src/llmq/dkgsession.cpp | 5 ++--- src/net.cpp | 3 +-- test/functional/feature_llmq_simplepose.py | 23 +++++++++++++--------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/llmq/dkgsession.cpp b/src/llmq/dkgsession.cpp index 668af32f60..1f53c5864d 100644 --- a/src/llmq/dkgsession.cpp +++ b/src/llmq/dkgsession.cpp @@ -472,10 +472,9 @@ void CDKGSession::VerifyConnectionAndMinProtoVersions() const logger.Batch("%s does not have min proto version %d (has %d)", m->dmn->proTxHash.ToString(), MIN_MASTERNODE_PROTO_VERSION, it->second); } - auto lastOutbound = mmetaman.GetMetaInfo(m->dmn->proTxHash)->GetLastOutboundSuccess(); - if (GetAdjustedTime() - lastOutbound > 60 * 60) { + if (mmetaman.GetMetaInfo(m->dmn->proTxHash)->OutboundFailedTooManyTimes()) { m->badConnection = true; - logger.Batch("%s no outbound connection since %d seconds", m->dmn->proTxHash.ToString(), GetAdjustedTime() - lastOutbound); + logger.Batch("%s failed to connect to it too many times", m->dmn->proTxHash.ToString()); } } } diff --git a/src/net.cpp b/src/net.cpp index b9d7686a84..1cb6528b1d 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2478,8 +2478,7 @@ void CConnman::ThreadOpenMasternodeConnections() LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- connection failed for masternode %s, service=%s\n", __func__, connectToDmn->proTxHash.ToString(), connectToDmn->pdmnState->addr.ToString(false)); // Will take a few consequent failed attempts to PoSe-punish a MN. if (mmetaman.GetMetaInfo(connectToDmn->proTxHash)->OutboundFailedTooManyTimes()) { - LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- failed to connect to masternode %s too many times, resetting outbound success time\n", __func__, connectToDmn->proTxHash.ToString()); - mmetaman.GetMetaInfo(connectToDmn->proTxHash)->SetLastOutboundSuccess(0); + LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- failed to connect to masternode %s too many times\n", __func__, connectToDmn->proTxHash.ToString()); } } } diff --git a/test/functional/feature_llmq_simplepose.py b/test/functional/feature_llmq_simplepose.py index 56c0d67f6f..339019bf97 100755 --- a/test/functional/feature_llmq_simplepose.py +++ b/test/functional/feature_llmq_simplepose.py @@ -66,7 +66,7 @@ class LLMQSimplePoSeTest(DashTestFramework): def isolate_mn(self, mn): mn.node.setnetworkactive(False) wait_until(lambda: mn.node.getconnectioncount() == 0) - return True + return True, True def close_mn_port(self, mn): self.stop_node(mn.node.index) @@ -77,14 +77,14 @@ class LLMQSimplePoSeTest(DashTestFramework): if mn2 is not mn: connect_nodes(mn.node, mn2.node.index) self.reset_probe_timeouts() - return False + return False, False def force_old_mn_proto(self, mn): self.stop_node(mn.node.index) self.start_masternode(mn, ["-pushversion=70216"]) connect_nodes(mn.node, 0) self.reset_probe_timeouts() - return False + return False, True def test_no_banning(self, expected_connections=None): for i in range(3): @@ -98,15 +98,20 @@ class LLMQSimplePoSeTest(DashTestFramework): expected_contributors = len(mninfos_online) for i in range(2): mn = mninfos_valid.pop() - went_offline = invalidate_proc(mn) + went_offline, instant_ban = invalidate_proc(mn) if went_offline: mninfos_online.remove(mn) expected_contributors -= 1 - t = time.time() - while (not self.check_banned(mn)) and (time.time() - t) < 120: - self.reset_probe_timeouts() - self.mine_quorum(expected_connections=expected_connections, expected_members=expected_contributors, expected_contributions=expected_contributors, expected_complaints=expected_contributors-1, expected_commitments=expected_contributors, mninfos_online=mninfos_online, mninfos_valid=mninfos_valid) + # NOTE: Min PoSe penalty is 100 (see CDeterministicMNList::CalcMaxPoSePenalty()), + # so nodes are PoSe-banned in the same DKG they misbehave without being PoSe-punished first. + if not instant_ban: + # it's ok to miss probes/quorum connections up to 5 times + for i in range(5): + self.reset_probe_timeouts() + self.mine_quorum(expected_connections=expected_connections, expected_members=expected_contributors, expected_contributions=expected_contributors, expected_complaints=0, expected_commitments=expected_contributors, mninfos_online=mninfos_online, mninfos_valid=mninfos_valid) + self.reset_probe_timeouts() + self.mine_quorum(expected_connections=expected_connections, expected_members=expected_contributors, expected_contributions=expected_contributors, expected_complaints=expected_contributors-1, expected_commitments=expected_contributors, mninfos_online=mninfos_online, mninfos_valid=mninfos_valid) assert self.check_banned(mn) @@ -144,7 +149,7 @@ class LLMQSimplePoSeTest(DashTestFramework): def reset_probe_timeouts(self): # Make sure all masternodes will reconnect/re-probe - self.bump_mocktime(50 * 60 + 1) + self.bump_mocktime(10 * 60 + 1) # Sleep a couple of seconds to let mn sync tick to happen time.sleep(2) From b4ed731cb12543099240aadfc96a0f3216b5c846 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Fri, 15 Jul 2022 00:12:33 +0300 Subject: [PATCH 47/74] fix!: GetNumCommitmentsRequired Rotation (#4915) * Fix in GetNumCommitmentsRequired * Correction --- src/llmq/blockprocessor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/llmq/blockprocessor.cpp b/src/llmq/blockprocessor.cpp index d9b94dddc6..535319dd32 100644 --- a/src/llmq/blockprocessor.cpp +++ b/src/llmq/blockprocessor.cpp @@ -732,6 +732,8 @@ std::optional> CQuorumBlockProcessor::GetMineableC break; } + if (HasMinedCommitment(llmqParams.type, quorumHash)) continue; + LOCK(minableCommitmentsCs); auto k = std::make_pair(llmqParams.type, quorumHash); From a1f54a6079252b72b2b378d5c6f6d7a860b36b10 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Fri, 15 Jul 2022 00:13:47 +0300 Subject: [PATCH 48/74] feat(rpc): getnetworkinfo RPC enrichment response (#4913) * Enrich getnetworkinfo * Adjustements --- src/net.cpp | 3 +++ src/net.h | 3 +++ src/rpc/net.cpp | 12 +++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 1cb6528b1d..819d75cb4e 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3361,6 +3361,9 @@ size_t CConnman::GetNodeCount(NumConnections flags) if (pnode->fDisconnect) { continue; } + if ((flags & CONNECTIONS_VERIFIED) && pnode->GetVerifiedProRegTxHash().IsNull()) { + continue; + } if (flags & (pnode->fInbound ? CONNECTIONS_IN : CONNECTIONS_OUT)) { nNum++; } diff --git a/src/net.h b/src/net.h index f0cf7870f2..1ca626b351 100644 --- a/src/net.h +++ b/src/net.h @@ -142,6 +142,9 @@ public: CONNECTIONS_IN = (1U << 0), CONNECTIONS_OUT = (1U << 1), CONNECTIONS_ALL = (CONNECTIONS_IN | CONNECTIONS_OUT), + CONNECTIONS_VERIFIED = (1U << 2), + CONNECTIONS_VERIFIED_IN = (CONNECTIONS_VERIFIED | CONNECTIONS_IN), + CONNECTIONS_VERIFIED_OUT = (CONNECTIONS_VERIFIED | CONNECTIONS_OUT), }; enum SocketEventsMode { diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index 317888e8b2..47bbd5cbf7 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -494,7 +494,12 @@ static UniValue getnetworkinfo(const JSONRPCRequest& request) " ],\n" " \"localrelay\" : true|false, (boolean) true if transaction relay is requested from peers\n" " \"timeoffset\" : xxxxx, (numeric) the time offset\n" - " \"connections\" : xxxxx, (numeric) the number of connections\n" + " \"connections\" : xxxxx, (numeric) the number of inbound and outbound connections\n" + " \"inboundconnections\" : xxxxx, (numeric) the number of inbound connections\n" + " \"outboundconnections\" : xxxxx, (numeric) the number of outbound connections\n" + " \"mnconnections\" : xxxxx, (numeric) the number of verified mn connections\n" + " \"inboundmnconnections\" : xxxxx, (numeric) the number of inbound verified mn connections\n" + " \"outboundmnconnections\" : xxxxx, (numeric) the number of outbound verified mn connections\n" " \"networkactive\" : true|false, (boolean) whether p2p networking is enabled\n" " \"socketevents\" : \"xxx/\", (string) the socket events mode, either kqueue, epoll, poll or select\n" " \"networks\" : [ (json array) information per network\n" @@ -542,6 +547,11 @@ static UniValue getnetworkinfo(const JSONRPCRequest& request) if (g_connman) { obj.pushKV("networkactive", g_connman->GetNetworkActive()); obj.pushKV("connections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_ALL)); + obj.pushKV("inboundconnections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_IN)); + obj.pushKV("outboundconnections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_OUT)); + obj.pushKV("mnconnections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_VERIFIED)); + obj.pushKV("inboundmnconnections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_VERIFIED_IN)); + obj.pushKV("outboundmnconnections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_VERIFIED_OUT)); std::string strSocketEvents; switch (g_connman->GetSocketEventsMode()) { case CConnman::SOCKETEVENTS_SELECT: From 9e228018789dcf9d366e6feabce9de643962b3fc Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 18 Jul 2022 22:26:51 +0300 Subject: [PATCH 49/74] feat(llmq): Ensure connections between IS quorums (#4917) * fix(llmq): Ensure connections between quorums Every masternode will now "watch" a single node from _every other_ quorum in addition to intra-quorum connections. This should make propagation of recsigs produced by one quorum to other quorums much more reliable. * fix: Do this only for masternodes which participate in IS quorums * refactor: rename `CQuorumManager::EnsureQuorumConnections` to better match the actual behaviour (and avoid confusion with `CLLMQUtils::EnsureQuorumConnections`) * refactor: move IS quorums watch logic into `CQuorumManager::CheckQuorumConnections` avoid calling slow `ScanQuorums` (no caching atm) inside the loop * tests: check that inter-quorum connections are added * use `ranges::any_of` --- src/llmq/quorums.cpp | 31 +++++++++++++++++++-- src/llmq/quorums.h | 2 +- src/llmq/utils.cpp | 11 ++++++++ test/functional/feature_llmq_connections.py | 14 ++++++++++ 4 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index ac91719ecc..d4b2232f21 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -243,7 +243,7 @@ void CQuorumManager::UpdatedBlockTip(const CBlockIndex* pindexNew, bool fInitial } for (auto& params : Params().GetConsensus().llmqs) { - EnsureQuorumConnections(params, pindexNew); + CheckQuorumConnections(params, pindexNew); } { @@ -262,7 +262,7 @@ void CQuorumManager::UpdatedBlockTip(const CBlockIndex* pindexNew, bool fInitial TriggerQuorumDataRecoveryThreads(pindexNew); } -void CQuorumManager::EnsureQuorumConnections(const Consensus::LLMQParams& llmqParams, const CBlockIndex* pindexNew) const +void CQuorumManager::CheckQuorumConnections(const Consensus::LLMQParams& llmqParams, const CBlockIndex* pindexNew) const { auto lastQuorums = ScanQuorums(llmqParams.type, pindexNew, (size_t)llmqParams.keepOldConnections); @@ -289,11 +289,36 @@ void CQuorumManager::EnsureQuorumConnections(const Consensus::LLMQParams& llmqPa LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- llmqType[%d] h[%d] keeping mn quorum connections for quorum: [%d:%s]\n", __func__, int(llmqParams.type), pindexNew->nHeight, curDkgHeight, curDkgBlock.ToString()); } + const auto myProTxHash = WITH_LOCK(activeMasternodeInfoCs, return activeMasternodeInfo.proTxHash); + bool isISType = llmqParams.type == Params().GetConsensus().llmqTypeInstantSend || + llmqParams.type == Params().GetConsensus().llmqTypeDIP0024InstantSend; + + bool watchOtherISQuorums = isISType && !myProTxHash.IsNull() && + ranges::any_of(lastQuorums, [&myProTxHash](const auto& old_quorum){ + return old_quorum->IsMember(myProTxHash); + }); + for (const auto& quorum : lastQuorums) { - if (CLLMQUtils::EnsureQuorumConnections(llmqParams, quorum->m_quorum_base_block_index, WITH_LOCK(activeMasternodeInfoCs, return activeMasternodeInfo.proTxHash))) { + if (CLLMQUtils::EnsureQuorumConnections(llmqParams, quorum->m_quorum_base_block_index, myProTxHash)) { if (connmanQuorumsToDelete.erase(quorum->qc->quorumHash) > 0) { LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- llmqType[%d] h[%d] keeping mn quorum connections for quorum: [%d:%s]\n", __func__, int(llmqParams.type), pindexNew->nHeight, quorum->m_quorum_base_block_index->nHeight, quorum->m_quorum_base_block_index->GetBlockHash().ToString()); } + } else if (watchOtherISQuorums && !quorum->IsMember(myProTxHash)) { + std::set connections; + const auto& cindexes = CLLMQUtils::CalcDeterministicWatchConnections(llmqParams.type, quorum->m_quorum_base_block_index, quorum->members.size(), 1); + for (auto idx : cindexes) { + connections.emplace(quorum->members[idx]->proTxHash); + } + if (!connections.empty()) { + if (!g_connman->HasMasternodeQuorumNodes(llmqParams.type, quorum->m_quorum_base_block_index->GetBlockHash())) { + LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- llmqType[%d] h[%d] adding mn inter-quorum connections for quorum: [%d:%s]\n", __func__, int(llmqParams.type), pindexNew->nHeight, quorum->m_quorum_base_block_index->nHeight, quorum->m_quorum_base_block_index->GetBlockHash().ToString()); + g_connman->SetMasternodeQuorumNodes(llmqParams.type, quorum->m_quorum_base_block_index->GetBlockHash(), connections); + g_connman->SetMasternodeQuorumRelayMembers(llmqParams.type, quorum->m_quorum_base_block_index->GetBlockHash(), connections); + } + if (connmanQuorumsToDelete.erase(quorum->qc->quorumHash) > 0) { + LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- llmqType[%d] h[%d] keeping mn inter-quorum connections for quorum: [%d:%s]\n", __func__, int(llmqParams.type), pindexNew->nHeight, quorum->m_quorum_base_block_index->nHeight, quorum->m_quorum_base_block_index->GetBlockHash().ToString()); + } + } } } for (const auto& quorumHash : connmanQuorumsToDelete) { diff --git a/src/llmq/quorums.h b/src/llmq/quorums.h index 375b8eb8a9..47871ae0e7 100644 --- a/src/llmq/quorums.h +++ b/src/llmq/quorums.h @@ -224,7 +224,7 @@ public: private: // all private methods here are cs_main-free - void EnsureQuorumConnections(const Consensus::LLMQParams& llmqParams, const CBlockIndex *pindexNew) const; + void CheckQuorumConnections(const Consensus::LLMQParams& llmqParams, const CBlockIndex *pindexNew) const; CQuorumPtr BuildQuorumFromCommitment(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex) const EXCLUSIVE_LOCKS_REQUIRED(quorumsCacheCs); bool BuildQuorumContributions(const CFinalCommitmentPtr& fqc, const std::shared_ptr& quorum) const; diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index e5539114a6..4976b677de 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -701,13 +701,24 @@ std::set CLLMQUtils::CalcDeterministicWatchConnections(Consensus::LLMQTy bool CLLMQUtils::EnsureQuorumConnections(const Consensus::LLMQParams& llmqParams, const CBlockIndex* pQuorumBaseBlockIndex, const uint256& myProTxHash) { + if (!fMasternodeMode && !CLLMQUtils::IsWatchQuorumsEnabled()) { + return false; + } + auto members = GetAllQuorumMembers(llmqParams.type, pQuorumBaseBlockIndex); + if (members.empty()) { + return false; + } + bool isMember = std::find_if(members.begin(), members.end(), [&](const auto& dmn) { return dmn->proTxHash == myProTxHash; }) != members.end(); if (!isMember && !CLLMQUtils::IsWatchQuorumsEnabled()) { return false; } + LogPrint(BCLog::NET_NETCONN, "CLLMQUtils::%s -- isMember=%d for quorum %s:\n", + __func__, isMember, pQuorumBaseBlockIndex->GetBlockHash().ToString()); + std::set connections; std::set relayMembers; if (isMember) { diff --git a/test/functional/feature_llmq_connections.py b/test/functional/feature_llmq_connections.py index 51852b1e11..dfa2a285bd 100755 --- a/test/functional/feature_llmq_connections.py +++ b/test/functional/feature_llmq_connections.py @@ -69,6 +69,20 @@ class LLMQConnections(DashTestFramework): self.check_reconnects(4) + self.log.info("check that inter-quorum masternode conections are added") + added = False + for mn in self.mninfo: + if len(mn.node.quorum("memberof", mn.proTxHash)) > 0: + try: + with mn.node.assert_debug_log(['adding mn inter-quorum connections']): + self.mine_quorum() + added = True + except: + pass # it's ok to not add connections sometimes + if added: + break + assert added # no way we added none + def check_reconnects(self, expected_connection_count): self.log.info("disable and re-enable networking on all masternodes") for mn in self.mninfo: From 3950dcd295bbef6df20da94561f042eb0294afa2 Mon Sep 17 00:00:00 2001 From: pasta Date: Sat, 16 Jul 2022 16:40:59 -0500 Subject: [PATCH 50/74] chore: bump to rc9 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d9bcb165dd..d392381990 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 8) +define(_CLIENT_VERSION_RC, 9) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 8a1a86b0636ad8c7f20bc00e742d6b59d495015b Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Jul 2022 00:38:07 +0300 Subject: [PATCH 51/74] fix/test: Count MN connections properly, add more tests for getnetworkinfo (#4928) * fix: Count MN connections properly * tests: check extended connections info returned via getnetworkinfo --- src/net.cpp | 2 ++ test/functional/rpc_net.py | 34 +++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 819d75cb4e..32e7db3fa4 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3366,6 +3366,8 @@ size_t CConnman::GetNodeCount(NumConnections flags) } if (flags & (pnode->fInbound ? CONNECTIONS_IN : CONNECTIONS_OUT)) { nNum++; + } else if (flags == CONNECTIONS_VERIFIED) { + nNum++; } } diff --git a/test/functional/rpc_net.py b/test/functional/rpc_net.py index 43ab889d13..7e19b7b3fb 100755 --- a/test/functional/rpc_net.py +++ b/test/functional/rpc_net.py @@ -7,7 +7,7 @@ Tests correspond to code in rpc/net.cpp. """ -from test_framework.test_framework import BitcoinTestFramework +from test_framework.test_framework import DashTestFramework from test_framework.util import ( assert_equal, assert_greater_than_or_equal, @@ -47,15 +47,9 @@ def assert_net_servicesnames(servicesflag, servicenames): assert "HEADERS_COMPRESSED" in servicenames -class NetTest(BitcoinTestFramework): +class NetTest(DashTestFramework): def set_test_params(self): - self.setup_clean_chain = True - self.num_nodes = 2 - - def setup_network(self): - self.disable_mocktime() - self.setup_nodes() - connect_nodes(self.nodes[0], 1) + self.set_dash_test_params(3, 1, fast_dip3_enforcement=True) def run_test(self): # Wait for one ping/pong to finish so that we can be sure that there is no chatter between nodes for some time @@ -76,7 +70,9 @@ class NetTest(BitcoinTestFramework): def _test_connection_count(self): # connect_nodes connects each node to the other - assert_equal(self.nodes[0].getconnectioncount(), 2) + # and node0 was also connected to node2 (a masternode) + # during network setup + assert_equal(self.nodes[0].getconnectioncount(), 3) def _test_getnettotals(self): # getnettotals totalbytesrecv and totalbytessent should be @@ -87,7 +83,7 @@ class NetTest(BitcoinTestFramework): net_totals_before = self.nodes[0].getnettotals() peer_info = self.nodes[0].getpeerinfo() net_totals_after = self.nodes[0].getnettotals() - assert_equal(len(peer_info), 2) + assert_equal(len(peer_info), 3) peers_recv = sum([peer['bytesrecv'] for peer in peer_info]) peers_sent = sum([peer['bytessent'] for peer in peer_info]) @@ -110,7 +106,7 @@ class NetTest(BitcoinTestFramework): def _test_getnetworkinfo(self): assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], True) - assert_equal(self.nodes[0].getnetworkinfo()['connections'], 2) + assert_equal(self.nodes[0].getnetworkinfo()['connections'], 3) self.nodes[0].setnetworkactive(state=False) assert_equal(self.nodes[0].getnetworkinfo()['networkactive'], False) @@ -131,6 +127,17 @@ class NetTest(BitcoinTestFramework): for info in network_info: assert_net_servicesnames(int(info["localservices"], 16), info["localservicesnames"]) + self.log.info('Test extended connections info') + connect_nodes(self.nodes[1], 2) + self.nodes[1].ping() + wait_until(lambda: all(['pingtime' in n for n in self.nodes[1].getpeerinfo()])) + assert_equal(self.nodes[1].getnetworkinfo()['connections'], 3) + assert_equal(self.nodes[1].getnetworkinfo()['inboundconnections'], 1) + assert_equal(self.nodes[1].getnetworkinfo()['outboundconnections'], 2) + assert_equal(self.nodes[1].getnetworkinfo()['mnconnections'], 1) + assert_equal(self.nodes[1].getnetworkinfo()['inboundmnconnections'], 0) + assert_equal(self.nodes[1].getnetworkinfo()['outboundmnconnections'], 1) + def _test_getaddednodeinfo(self): assert_equal(self.nodes[0].getaddednodeinfo(), []) # add a node (node2) to node0 @@ -180,7 +187,8 @@ class NetTest(BitcoinTestFramework): node_addresses = self.nodes[0].getnodeaddresses(REQUEST_COUNT) assert_equal(len(node_addresses), REQUEST_COUNT) for a in node_addresses: - assert_greater_than(a["time"], 1527811200) # 1st June 2018 + # see penalty calculations for ADDRs with nTime <= 100000000 in net_processing.cpp + assert_equal(a["time"], self.mocktime - 5 * 24 * 60 * 60 - 2 * 60 * 60) assert_equal(a["services"], NODE_NETWORK) assert a["address"] in imported_addrs assert_equal(a["port"], 8333) From 0ca9fc087c971fe79a7e55479967fc30956db1ab Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Jul 2022 00:39:04 +0300 Subject: [PATCH 52/74] fix(llmq): use keepOldConnections (#4932) We must scan/cache keepOldConnections quorums or we won't be able to process sig shares signed in the 8 blocks window (signig offset) once new quorum(s) are mined. --- src/llmq/quorums.cpp | 3 +-- src/llmq/utils.cpp | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index d4b2232f21..0685745202 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -195,8 +195,7 @@ void CQuorumManager::TriggerQuorumDataRecoveryThreads(const CBlockIndex* pIndex) LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- Process block %s\n", __func__, pIndex->GetBlockHash().ToString()); for (auto& params : Params().GetConsensus().llmqs) { - // Process signingActiveQuorumCount + 1 quorums for all available llmqTypes - const auto vecQuorums = ScanQuorums(params.type, pIndex, params.signingActiveQuorumCount + 1); + const auto vecQuorums = ScanQuorums(params.type, pIndex, params.keepOldConnections); // First check if we are member of any quorum of this type auto proTxHash = WITH_LOCK(activeMasternodeInfoCs, return activeMasternodeInfo.proTxHash); diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 4976b677de..a484898f14 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -798,7 +798,7 @@ bool CLLMQUtils::IsQuorumActive(Consensus::LLMQType llmqType, const uint256& quo // sig shares and recovered sigs are only accepted from recent/active quorums // we allow one more active quorum as specified in consensus, as otherwise there is a small window where things could // fail while we are on the brink of a new quorum - auto quorums = quorumManager->ScanQuorums(llmqType, GetLLMQParams(llmqType).signingActiveQuorumCount + 1); + auto quorums = quorumManager->ScanQuorums(llmqType, GetLLMQParams(llmqType).keepOldConnections); return ranges::any_of(quorums, [&quorumHash](const auto& q){ return q->qc->quorumHash == quorumHash; }); } @@ -942,7 +942,7 @@ void CLLMQUtils::InitQuorumsCache(CacheType& cache) { for (auto& llmq : Params().GetConsensus().llmqs) { cache.emplace(std::piecewise_construct, std::forward_as_tuple(llmq.type), - std::forward_as_tuple(llmq.signingActiveQuorumCount + 1)); + std::forward_as_tuple(llmq.keepOldConnections)); } } template void CLLMQUtils::InitQuorumsCache>>(std::map>& cache); From f7427d9c13c4b71987b93a87d4f36c81aaf249d8 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Jul 2022 00:35:45 +0300 Subject: [PATCH 53/74] fix: Handle quorum watch connections correctly (#4933) We add them via EnsureQuorumConnections+ThreadOpenMasternodeConnections so they are clearly masternode connections and they are dropped regularly which is annoying. But also, we don't want every masternode connection to be a qwatch one, we want only the ones we added via that algo. --- src/masternode/utils.cpp | 3 +++ src/net_processing.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/masternode/utils.cpp b/src/masternode/utils.cpp index f8cc6e0029..a3256f899d 100644 --- a/src/masternode/utils.cpp +++ b/src/masternode/utils.cpp @@ -61,6 +61,9 @@ void CMasternodeUtils::ProcessMasternodeConnections(CConnman& connman) } else if (GetSystemTimeInSeconds() - pnode->nTimeConnected < 5) { // non-verified, give it some time to verify itself return; + } else if (pnode->qwatch) { + // keep watching nodes + return; } // we're not disconnecting masternode probes for at least a few seconds if (pnode->m_masternode_probe_connection && GetSystemTimeInSeconds() - pnode->nTimeConnected < 5) return; diff --git a/src/net_processing.cpp b/src/net_processing.cpp index d53c0138b4..f4ccec94e6 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2716,7 +2716,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea // Tell our peer that he should send us CoinJoin queue messages connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::SENDDSQUEUE, true)); - if (llmq::CLLMQUtils::IsWatchQuorumsEnabled() && !pfrom->m_masternode_connection) { + if (llmq::CLLMQUtils::IsWatchQuorumsEnabled() && connman->IsMasternodeQuorumNode(pfrom)) { connman->PushMessage(pfrom, msgMaker.Make(NetMsgType::QWATCH)); } From b9dbd6da027928f961fd283181d1a7ffc318e6ce Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 26 Jul 2022 00:36:17 +0300 Subject: [PATCH 54/74] fix(dkg/net): Drop outdated connections to nodes that became masternodes recently (#4934) * feat: switch nTimeFirstMessageReceived from microseconds to seconds Was acting more like a bool until now, so nothing should change really. Align it with nTimeConnected. * fix(dkg/net): Drop outdated connections to nodes that became masternodes recently Such nodes won't be seen as masternodes by RelayInvToParticipants otherwise so no contributions will be sent to them when they are picked as relay members which in its turn may result in other nodes PoSe-punishing us. --- src/net.cpp | 17 +++++++++++++++++ src/net_processing.cpp | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 32e7db3fa4..77b489c860 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2379,6 +2379,7 @@ void CConnman::ThreadOpenMasternodeConnections() return; int64_t nANow = GetAdjustedTime(); + constexpr const auto &_func_ = __func__; // NOTE: Process only one pending masternode at a time @@ -2405,6 +2406,22 @@ void CConnman::ThreadOpenMasternodeConnections() continue; } const auto& addr2 = dmn->pdmnState->addr; + if (connectedNodes.count(addr2) && !connectedProRegTxHashes.count(proRegTxHash)) { + // we probably connected to it before it became a masternode + // or maybe we are still waiting for mnauth + (void)ForNode(addr2, [&](CNode* pnode) { + if (pnode->nTimeFirstMessageReceived != 0 && GetSystemTimeInSeconds() - pnode->nTimeFirstMessageReceived > 5) { + // clearly not expecting mnauth to take that long even if it wasn't the first message + // we received (as it should normally), disconnect + LogPrint(BCLog::NET_NETCONN, "CConnman::%s -- dropping non-mnauth connection to %s, service=%s\n", _func_, proRegTxHash.ToString(), addr2.ToString(false)); + pnode->fDisconnect = true; + return true; + } + return false; + }); + // either way - it's not ready, skip it for now + continue; + } if (!connectedNodes.count(addr2) && !IsMasternodeOrDisconnectRequested(addr2) && !connectedProRegTxHashes.count(proRegTxHash)) { int64_t lastAttempt = mmetaman.GetMetaInfo(dmn->proTxHash)->GetLastOutboundAttempt(); // back off trying connecting to an address if we already tried recently diff --git a/src/net_processing.cpp b/src/net_processing.cpp index f4ccec94e6..452cfa2fb0 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2748,7 +2748,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStrea if (pfrom->nTimeFirstMessageReceived == 0) { // First message after VERSION/VERACK - pfrom->nTimeFirstMessageReceived = GetTimeMicros(); + pfrom->nTimeFirstMessageReceived = GetSystemTimeInSeconds(); pfrom->fFirstMessageIsMNAUTH = msg_type == NetMsgType::MNAUTH; // Note: do not break the flow here From 71c0bbeaf2ffc621652bc2e04b8cb5bd0684c722 Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Tue, 26 Jul 2022 00:34:33 +0300 Subject: [PATCH 55/74] Store QuorumDataRequests per {ProTx, quorumHash, llmqType} (#4935) --- src/llmq/quorums.cpp | 29 ++++++++++++++++++++++------- src/saltedhasher.h | 14 ++++++++++++++ 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index 0685745202..c8f9dc19ae 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -32,7 +32,10 @@ static const std::string DB_QUORUM_QUORUM_VVEC = "q_Qqvvec"; CQuorumManager* quorumManager; CCriticalSection cs_data_requests; -static std::unordered_map, CQuorumDataRequest, StaticSaltedHasher> mapQuorumDataRequests GUARDED_BY(cs_data_requests); +//key = +//TODO: Document purpose of bool +using key_t = std::tuple; +static std::unordered_map mapQuorumDataRequests GUARDED_BY(cs_data_requests); static uint256 MakeQuorumKey(const CQuorum& q) { @@ -433,7 +436,8 @@ bool CQuorumManager::RequestQuorumData(CNode* pFrom, Consensus::LLMQType llmqTyp } LOCK(cs_data_requests); - auto key = std::make_pair(pFrom->GetVerifiedProRegTxHash(), true); + auto quorumHash = pQuorumBaseBlockIndex->GetBlockHash(); + auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), true, quorumHash, (uint8_t)llmqType); auto it = mapQuorumDataRequests.emplace(key, CQuorumDataRequest(llmqType, pQuorumBaseBlockIndex->GetBlockHash(), nDataMask, proTxHash)); if (!it.second && !it.first->second.IsExpired()) { LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- Already requested\n", __func__); @@ -584,11 +588,13 @@ void CQuorumManager::ProcessMessage(CNode* pFrom, const std::string& msg_type, C { LOCK2(cs_main, cs_data_requests); - auto key = std::make_pair(pFrom->GetVerifiedProRegTxHash(), false); + auto quorumHash = request.GetQuorumHash(); + auto llmqType = (uint8_t) request.GetLLMQType(); + auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), false, quorumHash, llmqType); auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { it = mapQuorumDataRequests.emplace(key, request).first; - } else if(it->second.IsExpired()) { + } else if (it->second.IsExpired()) { it->second = request; } else { errorHandler("Request limit exceeded", 25); @@ -657,7 +663,10 @@ void CQuorumManager::ProcessMessage(CNode* pFrom, const std::string& msg_type, C { LOCK2(cs_main, cs_data_requests); - auto it = mapQuorumDataRequests.find(std::make_pair(pFrom->GetVerifiedProRegTxHash(), true)); + auto quorumHash = request.GetQuorumHash(); + auto llmqType = (uint8_t) request.GetLLMQType(); + auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), true, quorumHash, llmqType); + auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { errorHandler("Not requested"); return; @@ -829,7 +838,10 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co pCurrentMemberHash = &vecMemberHashes[(nMyStartOffset + nTries++) % vecMemberHashes.size()]; { LOCK(cs_data_requests); - auto it = mapQuorumDataRequests.find(std::make_pair(*pCurrentMemberHash, true)); + auto quorumHash = pQuorum->qc->quorumHash; + auto llmqType = (uint8_t)pQuorum->qc->quorumIndex; + auto key = std::make_tuple(*pCurrentMemberHash, true, quorumHash, (uint8_t)llmqType); + auto it = mapQuorumDataRequests.find(key); if (it != mapQuorumDataRequests.end() && !it->second.IsExpired()) { printLog("Already asked"); continue; @@ -854,7 +866,10 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co printLog("Requested"); } else { LOCK(cs_data_requests); - auto it = mapQuorumDataRequests.find(std::make_pair(verifiedProRegTxHash, true)); + auto quorumHash = pQuorum->qc->quorumHash; + auto llmqType = (uint8_t)pQuorum->qc->quorumIndex; + auto key = std::make_tuple(*pCurrentMemberHash, true, quorumHash, (uint8_t)llmqType); + auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { printLog("Failed"); pNode->fDisconnect = true; diff --git a/src/saltedhasher.h b/src/saltedhasher.h index aeeb16195e..6bac979e41 100644 --- a/src/saltedhasher.h +++ b/src/saltedhasher.h @@ -13,6 +13,20 @@ template struct SaltedHasherImpl; +template +struct SaltedHasherImpl> +{ + static std::size_t CalcHash(const std::tuple& v, uint64_t k0, uint64_t k1) + { + CSipHasher c(k0, k1); + c.Write((unsigned char*)&std::get<0>(v), sizeof(M)); + c.Write((unsigned char*)&std::get<1>(v), sizeof(N)); + c.Write((unsigned char*)&std::get<2>(v), sizeof(K)); + c.Write((unsigned char*)&std::get<3>(v), sizeof(Q)); + return c.Finalize(); + } +}; + template struct SaltedHasherImpl> { From cd56e5002bcbbd65b4ed9beaf300770332f91214 Mon Sep 17 00:00:00 2001 From: pasta Date: Mon, 25 Jul 2022 17:08:53 -0500 Subject: [PATCH 56/74] chore: bump rc to 10 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d392381990..79cf1586db 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 9) +define(_CLIENT_VERSION_RC, 10) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From b5ae437ca7967fe68b9c44aa1b7ac689218abb2e Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Tue, 26 Jul 2022 23:31:03 +0300 Subject: [PATCH 57/74] fix!: Fix on QuorumDataRequests and refactoring (#4937) * qdata typo fixes and refactoring * code style fix * Add LOCK2 back Co-authored-by: UdjinM6 --- src/llmq/quorums.cpp | 44 ++++++++++++++++++++++++++------------------ src/llmq/quorums.h | 31 +++++++++++++++++++++++++++++++ src/saltedhasher.h | 14 -------------- 3 files changed, 57 insertions(+), 32 deletions(-) diff --git a/src/llmq/quorums.cpp b/src/llmq/quorums.cpp index c8f9dc19ae..9fdd25930b 100644 --- a/src/llmq/quorums.cpp +++ b/src/llmq/quorums.cpp @@ -32,10 +32,7 @@ static const std::string DB_QUORUM_QUORUM_VVEC = "q_Qqvvec"; CQuorumManager* quorumManager; CCriticalSection cs_data_requests; -//key = -//TODO: Document purpose of bool -using key_t = std::tuple; -static std::unordered_map mapQuorumDataRequests GUARDED_BY(cs_data_requests); +static std::unordered_map mapQuorumDataRequests GUARDED_BY(cs_data_requests); static uint256 MakeQuorumKey(const CQuorum& q) { @@ -436,8 +433,11 @@ bool CQuorumManager::RequestQuorumData(CNode* pFrom, Consensus::LLMQType llmqTyp } LOCK(cs_data_requests); - auto quorumHash = pQuorumBaseBlockIndex->GetBlockHash(); - auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), true, quorumHash, (uint8_t)llmqType); + CQuorumDataRequestKey key; + key.proRegTx = pFrom->GetVerifiedProRegTxHash(); + key.flag = true; + key.quorumHash = pQuorumBaseBlockIndex->GetBlockHash(); + key.llmqType = llmqType; auto it = mapQuorumDataRequests.emplace(key, CQuorumDataRequest(llmqType, pQuorumBaseBlockIndex->GetBlockHash(), nDataMask, proTxHash)); if (!it.second && !it.first->second.IsExpired()) { LogPrint(BCLog::LLMQ, "CQuorumManager::%s -- Already requested\n", __func__); @@ -588,9 +588,11 @@ void CQuorumManager::ProcessMessage(CNode* pFrom, const std::string& msg_type, C { LOCK2(cs_main, cs_data_requests); - auto quorumHash = request.GetQuorumHash(); - auto llmqType = (uint8_t) request.GetLLMQType(); - auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), false, quorumHash, llmqType); + CQuorumDataRequestKey key; + key.proRegTx = pFrom->GetVerifiedProRegTxHash(); + key.flag = false; + key.quorumHash = request.GetQuorumHash(); + key.llmqType = request.GetLLMQType(); auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { it = mapQuorumDataRequests.emplace(key, request).first; @@ -663,9 +665,11 @@ void CQuorumManager::ProcessMessage(CNode* pFrom, const std::string& msg_type, C { LOCK2(cs_main, cs_data_requests); - auto quorumHash = request.GetQuorumHash(); - auto llmqType = (uint8_t) request.GetLLMQType(); - auto key = std::make_tuple(pFrom->GetVerifiedProRegTxHash(), true, quorumHash, llmqType); + CQuorumDataRequestKey key; + key.proRegTx = pFrom->GetVerifiedProRegTxHash(); + key.flag = true; + key.quorumHash = request.GetQuorumHash(); + key.llmqType = request.GetLLMQType(); auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { errorHandler("Not requested"); @@ -838,9 +842,11 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co pCurrentMemberHash = &vecMemberHashes[(nMyStartOffset + nTries++) % vecMemberHashes.size()]; { LOCK(cs_data_requests); - auto quorumHash = pQuorum->qc->quorumHash; - auto llmqType = (uint8_t)pQuorum->qc->quorumIndex; - auto key = std::make_tuple(*pCurrentMemberHash, true, quorumHash, (uint8_t)llmqType); + CQuorumDataRequestKey key; + key.proRegTx = *pCurrentMemberHash; + key.flag = true; + key.quorumHash = pQuorum->qc->quorumHash; + key.llmqType = pQuorum->qc->llmqType; auto it = mapQuorumDataRequests.find(key); if (it != mapQuorumDataRequests.end() && !it->second.IsExpired()) { printLog("Already asked"); @@ -866,9 +872,11 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co printLog("Requested"); } else { LOCK(cs_data_requests); - auto quorumHash = pQuorum->qc->quorumHash; - auto llmqType = (uint8_t)pQuorum->qc->quorumIndex; - auto key = std::make_tuple(*pCurrentMemberHash, true, quorumHash, (uint8_t)llmqType); + CQuorumDataRequestKey key; + key.proRegTx = *pCurrentMemberHash; + key.flag = true; + key.quorumHash = pQuorum->qc->quorumHash; + key.llmqType = pQuorum->qc->llmqType; auto it = mapQuorumDataRequests.find(key); if (it == mapQuorumDataRequests.end()) { printLog("Failed"); diff --git a/src/llmq/quorums.h b/src/llmq/quorums.h index 47871ae0e7..588070598f 100644 --- a/src/llmq/quorums.h +++ b/src/llmq/quorums.h @@ -32,6 +32,22 @@ class CDKGSessionManager; // If true, we will connect to all new quorums and watch their communication static constexpr bool DEFAULT_WATCH_QUORUMS{false}; +/** + * Object used as a key to store CQuorumDataRequest + */ +struct CQuorumDataRequestKey +{ + uint256 proRegTx; + //TODO: Investigate purpose of this flag and rename accordingly + bool flag; + uint256 quorumHash; + Consensus::LLMQType llmqType; + + bool operator ==(const CQuorumDataRequestKey& obj) const + { + return (proRegTx == obj.proRegTx && flag == obj.flag && quorumHash == obj.quorumHash && llmqType == obj.llmqType); + } +}; /** * An object of this class represents a QGETDATA request or a QDATA response header @@ -243,6 +259,21 @@ extern CQuorumManager* quorumManager; } // namespace llmq +template struct SaltedHasherImpl; +template<> +struct SaltedHasherImpl +{ + static std::size_t CalcHash(const llmq::CQuorumDataRequestKey& v, uint64_t k0, uint64_t k1) + { + CSipHasher c(k0, k1); + c.Write((unsigned char*)&(v.proRegTx), sizeof(v.proRegTx)); + c.Write((unsigned char*)&(v.flag), sizeof(v.flag)); + c.Write((unsigned char*)&(v.quorumHash), sizeof(v.quorumHash)); + c.Write((unsigned char*)&(v.llmqType), sizeof(v.llmqType)); + return c.Finalize(); + } +}; + template<> struct is_serializable_enum : std::true_type {}; #endif // BITCOIN_LLMQ_QUORUMS_H diff --git a/src/saltedhasher.h b/src/saltedhasher.h index 6bac979e41..aeeb16195e 100644 --- a/src/saltedhasher.h +++ b/src/saltedhasher.h @@ -13,20 +13,6 @@ template struct SaltedHasherImpl; -template -struct SaltedHasherImpl> -{ - static std::size_t CalcHash(const std::tuple& v, uint64_t k0, uint64_t k1) - { - CSipHasher c(k0, k1); - c.Write((unsigned char*)&std::get<0>(v), sizeof(M)); - c.Write((unsigned char*)&std::get<1>(v), sizeof(N)); - c.Write((unsigned char*)&std::get<2>(v), sizeof(K)); - c.Write((unsigned char*)&std::get<3>(v), sizeof(Q)); - return c.Finalize(); - } -}; - template struct SaltedHasherImpl> { From d238549dd0f15faddb05e7f70c5996c2e164d59a Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 26 Jul 2022 15:32:10 -0500 Subject: [PATCH 58/74] chore: bump rc to 11 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 79cf1586db..6d379ebb8b 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 10) +define(_CLIENT_VERSION_RC, 11) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 3ca5f25a382e3d8f495f0545653a7dfb20c8778f Mon Sep 17 00:00:00 2001 From: Odysseas Gabrielides Date: Thu, 28 Jul 2022 13:43:02 +0300 Subject: [PATCH 59/74] Merge pull request #4942 from UdjinM6/fix_cqmbqr fix(llmq): Calculate quorum members while not debugging llmq --- src/llmq/utils.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index a484898f14..8d0dd79e75 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -161,21 +161,23 @@ std::vector> CLLMQUtils::ComputeQuorumMembersB LogPrint(BCLog::LLMQ, "QuarterComposition h[%d] i[%d]:%s\n", pCycleQuorumBaseBlockIndex->nHeight, i, ss.str()); } + } - for (auto i = 0; i < nQuorums; ++i) { - for (auto &m: previousQuarters.quarterHMinus3C[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto &m: previousQuarters.quarterHMinus2C[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto &m: previousQuarters.quarterHMinusC[i]) { - quorumMembers[i].push_back(std::move(m)); - } - for (auto &m: newQuarterMembers[i]) { - quorumMembers[i].push_back(std::move(m)); - } + for (auto i = 0; i < nQuorums; ++i) { + for (auto &m: previousQuarters.quarterHMinus3C[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: previousQuarters.quarterHMinus2C[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: previousQuarters.quarterHMinusC[i]) { + quorumMembers[i].push_back(std::move(m)); + } + for (auto &m: newQuarterMembers[i]) { + quorumMembers[i].push_back(std::move(m)); + } + if (LogAcceptCategory(BCLog::LLMQ)) { std::stringstream ss; ss << " ["; for (auto &m: quorumMembers[i]) { From ec4f9fd9b60b760d3bf7ae224de3ed47daee59c4 Mon Sep 17 00:00:00 2001 From: pasta Date: Fri, 29 Jul 2022 11:06:21 -0500 Subject: [PATCH 60/74] chore: bump to rc12 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 6d379ebb8b..173f0737a6 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 11) +define(_CLIENT_VERSION_RC, 12) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) From 5dd027bb557652883a1fc60d0e795d094c4950f0 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 11 Aug 2022 01:56:34 +0300 Subject: [PATCH 61/74] doc: Update man pages for v18 (#4963) --- doc/man/dash-cli.1 | 108 +++++++++--- doc/man/dash-qt.1 | 376 ++++++++++++++++++++++++++++++------------ doc/man/dash-tx.1 | 66 ++++++-- doc/man/dash-wallet.1 | 69 ++++++-- doc/man/dashd.1 | 373 +++++++++++++++++++++++++++++------------ 5 files changed, 735 insertions(+), 257 deletions(-) diff --git a/doc/man/dash-cli.1 b/doc/man/dash-cli.1 index dcc66efc43..ec1d4b0de0 100644 --- a/doc/man/dash-cli.1 +++ b/doc/man/dash-cli.1 @@ -1,17 +1,21 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. -.TH DASH-CLI "1" "May 2021" "dash-cli v0.17.0.3" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH DASH-CLI "1" "August 2022" "dash-cli v18.0.0" "User Commands" .SH NAME -dash-cli \- manual page for dash-cli v0.17.0.3 +dash-cli \- manual page for dash-cli v18.0.0 +.SH SYNOPSIS +.B dash-cli +[\fI\,options\/\fR] \fI\, \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR +.br +.B dash-cli +[\fI\,options\/\fR] \fI\,-named \/\fR[\fI\,name=value\/\fR]... \fI\,Send command to Dash Core (with named arguments)\/\fR +.br +.B dash-cli +[\fI\,options\/\fR] \fI\,help List commands\/\fR +.br +.B dash-cli +[\fI\,options\/\fR] \fI\,help Get help for a command\/\fR .SH DESCRIPTION -Dash Core RPC client version v0.17.0.3 -.SS "Usage:" -.TP -dash\-cli [options] [params] -Send command to Dash Core -.IP -dash\-cli [options] \fB\-named\fR [name=value] ... Send command to Dash Core (with named arguments) -dash\-cli [options] help List commands -dash\-cli [options] help Get help for a command +Dash Core RPC client version v18.0.0 .SH OPTIONS .HP \-? @@ -48,13 +52,19 @@ Timeout in seconds during HTTP requests, or 0 for no timeout. (default: .IP Send commands to node running on (default: 127.0.0.1) .HP +\fB\-rpccookiefile=\fR +.IP +Location of the auth cookie. Relative paths will be prefixed by a +net\-specific datadir location. (default: data dir) +.HP \fB\-rpcpassword=\fR .IP Password for JSON\-RPC connections .HP \fB\-rpcport=\fR .IP -Connect to JSON\-RPC on (default: 9998 or testnet: 19998) +Connect to JSON\-RPC on (default: 9998, testnet: 19998, regtest: +19898) .HP \fB\-rpcuser=\fR .IP @@ -67,22 +77,33 @@ Wait for RPC server to start \fB\-rpcwallet=\fR .IP Send RPC for non\-default wallet on RPC server (needs to exactly match -corresponding \fB\-wallet\fR option passed to bitcoind) +corresponding \fB\-wallet\fR option passed to dashd). This changes the +RPC endpoint used, e.g. http://127.0.0.1:9998/wallet/ .HP \fB\-stdin\fR .IP Read extra arguments from standard input, one per line until EOF/Ctrl\-D -(recommended for sensitive information such as passphrases). -When combined with \fB\-stdinrpcpass\fR, the first line from standard -input is used for the RPC password. +(recommended for sensitive information such as passphrases). When +combined with \fB\-stdinrpcpass\fR, the first line from standard input +is used for the RPC password. .HP \fB\-stdinrpcpass\fR -.TP -Read RPC password from standard input as a single line. -When combined .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 Chain selection options: .HP @@ -90,12 +111,53 @@ Chain selection options: .IP Use devnet chain with provided name .HP +\fB\-highsubsidyblocks=\fR +.IP +The number of blocks with a higher than normal subsidy to mine at the +start of a chain (default: 0, devnet\-only) +.HP +\fB\-highsubsidyfactor=\fR +.IP +The factor to multiply the normal block subsidy by while in the +highsubsidyblocks window of a chain (default: 1, devnet\-only) +.HP +\fB\-llmqchainlocks=\fR +.IP +Override the default LLMQ type used for ChainLocks. Allows using +ChainLocks with smaller LLMQs. (default: llmq_50_60, devnet\-only) +.HP +\fB\-llmqdevnetparams=\fR: +.IP +Override the default LLMQ size for the LLMQ_DEVNET quorum (default: 3:2, +devnet\-only) +.HP +\fB\-llmqinstantsend=\fR +.IP +Override the default LLMQ type used for InstantSend. Allows using +InstantSend with smaller LLMQs. (default: llmq_50_60, +devnet\-only) +.HP +\fB\-llmqinstantsenddip0024=\fR +.IP +Override the default LLMQ type used for InstantSendDIP0024. (default: +llmq_60_75, devnet\-only) +.HP +\fB\-minimumdifficultyblocks=\fR +.IP +The number of blocks that can be mined with the minimum difficulty at +the start of a chain (default: 0, devnet\-only) +.HP +\fB\-powtargetspacing=\fR +.IP +Override the default PowTargetSpacing value in seconds (default: 2.5 +minutes, devnet\-only) +.HP \fB\-testnet\fR .IP Use the test chain .SH COPYRIGHT -Copyright (C) 2014-2021 The Dash Core developers -Copyright (C) 2009-2021 The Bitcoin Core developers +Copyright (C) 2014-2022 The Dash Core developers +Copyright (C) 2009-2022 The Bitcoin Core developers Please contribute if you find Dash Core useful. Visit for further information about the software. diff --git a/doc/man/dash-qt.1 b/doc/man/dash-qt.1 index 18e376212a..5c32bd4ce1 100644 --- a/doc/man/dash-qt.1 +++ b/doc/man/dash-qt.1 @@ -1,12 +1,12 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. -.TH DASH-QT "1" "May 2021" "dash-qt v0.17.0.3" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH DASH-QT "1" "August 2022" "dash-qt v18.0.0" "User Commands" .SH NAME -dash-qt \- manual page for dash-qt v0.17.0.3 +dash-qt \- manual page for dash-qt v18.0.0 +.SH SYNOPSIS +.B dash-qt +[\fI\,command-line options\/\fR] .SH DESCRIPTION -Dash Core version v0.17.0.3 (64\-bit) -Usage: -.IP -dash\-qt [command\-line options] +Dash Core version v18.0.0 .SH OPTIONS .HP \-? @@ -27,6 +27,12 @@ default: testnet: 0000009303aeadf8cf3812f5c869691dbd4cb118ad20e9bf553be434bafe6a52) .HP +\fB\-blockfilterindex=\fR +.IP +Maintain an index of compact filters by block (default: 0, values: +basic). If is not supplied or if = 1, indexes for +all known types are enabled. +.HP \fB\-blocknotify=\fR .IP Execute command when the best block changes (%s in cmd is replaced by @@ -39,25 +45,46 @@ Extra transactions to keep in memory for compact block reconstructions .HP \fB\-blocksdir=\fR .IP -Specify blocks directory (default: /blocks) +Specify directory to hold blocks subdirectory for *.dat files (default: +) +.HP +\fB\-blocksonly\fR +.IP +Whether to reject transactions from network peers. Automatic broadcast +and rebroadcast of any transactions from inbound peers is +disabled, unless '\-whitelistforcerelay' is '1', in which case +whitelisted peers' transactions will be relayed. RPC transactions +are not affected. (default: 0) .HP \fB\-conf=\fR .IP Specify configuration file. Relative paths will be prefixed by datadir location. (default: dash.conf) .HP +\fB\-daemon\fR +.IP +Run in the background as a daemon and accept commands +.HP \fB\-datadir=\fR .IP Specify data directory .HP \fB\-dbcache=\fR .IP -Set database cache size in megabytes (4 to 16384, default: 300) +Maximum database cache size MiB (4 to 16384, default: 300). In +addition, unused mempool memory is shared for this cache (see +\fB\-maxmempool\fR). .HP \fB\-debuglogfile=\fR .IP Specify location of debug log file. Relative paths will be prefixed by a -net\-specific datadir location. (0 to disable; default: debug.log) +net\-specific datadir location. (\fB\-nodebuglogfile\fR to disable; +default: debug.log) +.HP +\fB\-includeconf=\fR +.IP +Specify additional configuration file, relative to the \fB\-datadir\fR path +(only useable from configuration file, not command line) .HP \fB\-loadblock=\fR .IP @@ -82,7 +109,7 @@ Do not keep transactions in the mempool longer than hours (default: .HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-4\fR to 15, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-persistmempool\fR @@ -131,6 +158,12 @@ specified multiple times to add multiple nodes. .IP Allow RFC1918 addresses to be relayed and connected to (default: 0) .HP +\fB\-asmap=\fR +.IP +Specify asn mapping used for bucketing of the peers (default: +ip_asn.map). Relative paths will be prefixed by the net\-specific +datadir location. +.HP \fB\-banscore=\fR .IP Threshold for disconnecting misbehaving peers (default: 100) @@ -147,7 +180,7 @@ for IPv6 .HP \fB\-connect=\fR .IP -Connect only to the specified node; \fB\-connect\fR=\fI\,0\/\fR disables automatic +Connect only to the specified node; \fB\-noconnect\fR disables automatic connections (the rules for this peer are the same as for \fB\-addnode\fR). This option can be specified multiple times to connect to multiple nodes. @@ -210,10 +243,14 @@ amount. (default: 4200 seconds) Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: 0) .HP +\fB\-natpmp\fR +.IP +Use NAT\-PMP to map the listening port (default: 0) +.HP \fB\-onion=\fR .IP -Use separate SOCKS5 proxy to reach peers via Tor hidden services -(default: \fB\-proxy\fR) +Use separate SOCKS5 proxy to reach peers via Tor hidden services, set +\fB\-noonion\fR to disable (default: \fB\-proxy\fR) .HP \fB\-onlynet=\fR .IP @@ -222,6 +259,10 @@ 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: @@ -239,11 +280,13 @@ Relay non\-P2SH multisig (default: 1) .HP \fB\-port=\fR .IP -Listen for connections on (default: 9999 or testnet: 19999) +Listen for connections on (default: 9999, testnet: 19999, +regtest: 19899) .HP \fB\-proxy=\fR .IP -Connect through SOCKS5 proxy +Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default: +disabled) .HP \fB\-proxyrandomize\fR .IP @@ -279,18 +322,22 @@ Tor control port password (default: empty) .IP Use UPnP to map the listening port (default: 0) .HP -\fB\-whitebind=\fR +\fB\-whitebind=\fR<[permissions@]addr> .IP Bind to given address and whitelist peers connecting to it. Use -[host]:port notation for IPv6 +[host]:port notation for IPv6. Allowed permissions are +bloomfilter (allow requesting BIP37 filtered blocks and +transactions), noban (do not ban for misbehavior), forcerelay +(relay even non\-standard transactions), relay (relay even in +\fB\-blocksonly\fR mode), and mempool (allow requesting BIP35 mempool +contents). Specify multiple permissions separated by commas +(default: noban,mempool,relay). Can be specified multiple times. .HP -\fB\-whitelist=\fR +\fB\-whitelist=\fR<[permissions@]IP address or network> .IP Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or -CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple -times. Whitelisted peers cannot be DoS banned and their -transactions are always relayed, even if they are already in the -mempool, useful e.g. for a gateway +CIDR notated network(e.g. 1.2.3.0/24). Uses same permissions as +\fB\-whitebind\fR. Can be specified multiple times. .PP Indexing options: .HP @@ -305,7 +352,9 @@ Rebuild chain state and block index from the blk*.dat files on disk .HP \fB\-reindex\-chainstate\fR .IP -Rebuild chain state from the currently indexed blocks +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\-spentindex\fR .IP @@ -375,6 +424,14 @@ Specify statsd port (default: 8125) .PP Wallet options: .HP +\fB\-avoidpartialspends\fR +.IP +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) +.HP \fB\-createwalletbackups=\fR .IP Number of automatic wallet backups (default: 10) @@ -397,10 +454,6 @@ Set key pool size to (default: 1000) Rescan the block chain for missing wallet transactions on startup (1 = start from wallet creation time, 2 = start from genesis block) .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) @@ -440,8 +493,9 @@ by TxID) .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. -account owner and payment request information, 2 = drop tx meta -data) +payment request information, 2 = drop tx meta data) +.PP +Wallet fee options: .HP \fB\-discardfee=\fR .IP @@ -469,6 +523,8 @@ Fee (in DASH/kB) to add to transactions you send (default: 0.00) .IP If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 6) +.PP +HD wallet options: .HP \fB\-hdseed=\fR .IP @@ -489,27 +545,8 @@ during wallet creation/first start (default: empty string) .IP Use hierarchical deterministic key generation (HD) after BIP39/BIP44. Only has effect during wallet creation/first start (default: 0) -.HP -\fB\-keepass\fR -.IP -Use KeePass 2 integration using KeePassHttp plugin (default: 0) -.HP -\fB\-keepassid=\fR -.IP -KeePassHttp id for the established association -.HP -\fB\-keepasskey=\fR -.IP -KeePassHttp key for AES encrypted communication with KeePass -.HP -\fB\-keepassname=\fR -.IP -Name to construct url for KeePass entry that stores the wallet -passphrase -.HP -\fB\-keepassport=\fR -.IP -Connect to KeePassHttp on port (default: 19455) +.PP +CoinJoin options: .HP \fB\-coinjoinamount=\fR .IP @@ -553,66 +590,180 @@ ZeroMQ notification options: .IP Enable publish hash block in
.HP +\fB\-zmqpubhashblockhwm=\fR +.IP +Set publish hash block outbound message high water mark (default: 1000) +.HP +\fB\-zmqpubhashchainlock=\fR
+.IP +Enable publish hash block (locked via ChainLocks) in
+.HP +\fB\-zmqpubhashchainlockhwm=\fR +.IP +Set publish hash chain lock outbound message high water mark (default: +1000) +.HP \fB\-zmqpubhashgovernanceobject=\fR
.IP Enable publish hash of governance objects (like proposals) in
.HP +\fB\-zmqpubhashgovernanceobjecthwm=\fR +.IP +Set publish hash governance object outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashgovernancevote=\fR
.IP Enable publish hash of governance votes in
.HP +\fB\-zmqpubhashgovernancevotehwm=\fR +.IP +Set publish hash governance vote outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashinstantsenddoublespend=\fR
.IP Enable publish transaction hashes of attempted InstantSend double spend in
.HP +\fB\-zmqpubhashinstantsenddoublespendhwm=\fR +.IP +Set publish hash InstantSend double spend outbound message high water +mark (default: 1000) +.HP \fB\-zmqpubhashrecoveredsig=\fR
.IP Enable publish message hash of recovered signatures (recovered by LLMQs) in
.HP +\fB\-zmqpubhashrecoveredsighwm=\fR +.IP +Set publish hash recovered signature outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashtx=\fR
.IP Enable publish hash transaction in
.HP +\fB\-zmqpubhashtxhwm=\fR +.IP +Set publish hash transaction outbound message high water mark (default: +1000) +.HP \fB\-zmqpubhashtxlock=\fR
.IP Enable publish hash transaction (locked via InstantSend) in
.HP +\fB\-zmqpubhashtxlockhwm=\fR +.IP +Set publish hash transaction lock outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawblock=\fR
.IP Enable publish raw block in
.HP +\fB\-zmqpubrawblockhwm=\fR +.IP +Set publish raw block outbound message high water mark (default: 1000) +.HP +\fB\-zmqpubrawchainlock=\fR
+.IP +Enable publish raw block (locked via ChainLocks) in
+.HP +\fB\-zmqpubrawchainlockhwm=\fR +.IP +Set publish raw chain lock outbound message high water mark (default: +1000) +.HP +\fB\-zmqpubrawchainlocksig=\fR
+.IP +Enable publish raw block (locked via ChainLocks) and CLSIG message in +
+.HP +\fB\-zmqpubrawchainlocksighwm=\fR +.IP +Set publish raw chain lock signature outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawgovernanceobject=\fR
+.IP +Enable publish raw governance votes in
+.HP +\fB\-zmqpubrawgovernanceobjecthwm=\fR +.IP +Set publish raw governance object outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawgovernancevote=\fR
+.IP +Enable publish raw governance objects (like proposals) in
+.HP +\fB\-zmqpubrawgovernancevotehwm=\fR +.IP +Set publish raw governance vote outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawinstantsenddoublespend=\fR
.IP Enable publish raw transactions of attempted InstantSend double spend in
.HP +\fB\-zmqpubrawinstantsenddoublespendhwm=\fR +.IP +Set publish raw InstantSend double spend outbound message high water +mark (default: 1000) +.HP \fB\-zmqpubrawrecoveredsig=\fR
.IP Enable publish raw recovered signatures (recovered by LLMQs) in
.HP +\fB\-zmqpubrawrecoveredsighwm=\fR +.IP +Set publish raw recovered signature outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawtx=\fR
.IP Enable publish raw transaction in
.HP +\fB\-zmqpubrawtxhwm=\fR +.IP +Set publish raw transaction outbound message high water mark (default: +1000) +.HP \fB\-zmqpubrawtxlock=\fR
.IP Enable publish raw transaction (locked via InstantSend) in
+.HP +\fB\-zmqpubrawtxlockhwm=\fR +.IP +Set publish raw transaction lock outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawtxlocksig=\fR
+.IP +Enable publish raw transaction (locked via InstantSend) and ISLOCK in +
+.HP +\fB\-zmqpubrawtxlocksighwm=\fR +.IP +Set publish raw transaction lock signature outbound message high water +mark (default: 1000) .PP Debugging/Testing options: .HP \fB\-debug=\fR .IP -Output debugging information (default: 0, supplying is +Output debugging information (default: \fB\-nodebug\fR, supplying is optional). If is not supplied or if = 1, output all debugging information. 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, chainlocks, gobject, instantsend, -keepass, llmq, llmq\-dkg, llmq\-sigs, mnpayments, mnsync, coinjoin, -spork, netconn. +llmq, llmq\-dkg, llmq\-sigs, mnpayments, mnsync, coinjoin, spork, +netconn. .HP \fB\-debugexclude=\fR .IP @@ -626,36 +777,7 @@ Disable governance validation (0\-1, default: 0) .HP \fB\-help\-debug\fR .IP -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR) -.HP -\fB\-highsubsidyblocks=\fR -.IP -The number of blocks with a higher than normal subsidy to mine at the -start of a devnet (default: 0) -.HP -\fB\-highsubsidyfactor=\fR -.IP -The factor to multiply the normal block subsidy by while in the -highsubsidyblocks window of a devnet (default: 1) -.HP -\fB\-llmqchainlocks=\fR -.IP -Override the default LLMQ type used for ChainLocks on a devnet. Allows -using ChainLocks with smaller LLMQs. (default: llmq_50_60) -.HP -\fB\-llmqdevnetparams=\fR -.IP -Override the default LLMQ size for the LLMQ_DEVNET quorum (default: -10:6) -.HP -\fB\-llmqinstantsend=\fR -.IP -Override the default LLMQ type used for InstantSend on a devnet. Allows -using InstantSend with smaller LLMQs. (default: llmq_50_60) -.HP -\fB\-llmqtestparams=\fR -.IP -Override the default LLMQ size for the LLMQ_TEST quorum (default: 3:2) +Print help message with debugging options and exit .HP \fB\-logips\fR .IP @@ -667,14 +789,8 @@ Prepend debug output with timestamp (default: 1) .HP \fB\-maxtxfee=\fR .IP -Maximum total fees (in DASH) to use in a single wallet transaction or -raw transaction; setting this too low may abort large -transactions (default: 0.10) -.HP -\fB\-minimumdifficultyblocks=\fR -.IP -The number of blocks that can be mined with the minimum difficulty at -the start of a devnet (default: 0) +Maximum total fees (in DASH) to use in a single wallet transaction; +setting this too low may abort large transactions (default: 0.10) .HP \fB\-minsporkkeys=\fR .IP @@ -684,7 +800,12 @@ you. .HP \fB\-printtoconsole\fR .IP -Send trace/debug info to console instead of debug.log file +Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable +logging to file, set \fB\-nodebuglogfile\fR) +.HP +\fB\-pushversion\fR +.IP +Protocol version to report to other nodes .HP \fB\-shrinkdebugfile\fR .IP @@ -709,6 +830,47 @@ Chain selection options: .IP Use devnet chain with provided name .HP +\fB\-highsubsidyblocks=\fR +.IP +The number of blocks with a higher than normal subsidy to mine at the +start of a chain (default: 0, devnet\-only) +.HP +\fB\-highsubsidyfactor=\fR +.IP +The factor to multiply the normal block subsidy by while in the +highsubsidyblocks window of a chain (default: 1, devnet\-only) +.HP +\fB\-llmqchainlocks=\fR +.IP +Override the default LLMQ type used for ChainLocks. Allows using +ChainLocks with smaller LLMQs. (default: llmq_50_60, devnet\-only) +.HP +\fB\-llmqdevnetparams=\fR: +.IP +Override the default LLMQ size for the LLMQ_DEVNET quorum (default: 3:2, +devnet\-only) +.HP +\fB\-llmqinstantsend=\fR +.IP +Override the default LLMQ type used for InstantSend. Allows using +InstantSend with smaller LLMQs. (default: llmq_50_60, +devnet\-only) +.HP +\fB\-llmqinstantsenddip0024=\fR +.IP +Override the default LLMQ type used for InstantSendDIP0024. (default: +llmq_60_75, devnet\-only) +.HP +\fB\-minimumdifficultyblocks=\fR +.IP +The number of blocks that can be mined with the minimum difficulty at +the start of a chain (default: 0, devnet\-only) +.HP +\fB\-powtargetspacing=\fR +.IP +Override the default PowTargetSpacing value in seconds (default: 2.5 +minutes, devnet\-only) +.HP \fB\-testnet\fR .IP Use the test chain @@ -717,7 +879,8 @@ Node relay options: .HP \fB\-bytespersigop\fR .IP -Minimum bytes per sigop in transactions we relay and mine (default: 20) +Equivalent bytes per sigop in transactions for relay and mining +(default: 20) .HP \fB\-datacarrier\fR .IP @@ -735,13 +898,16 @@ relaying, 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: 1) +Add 'forcerelay' permission to whitelisted inbound peers with default +permissions. This will relay transactions even if the +transactions were already in the mempool or violate local relay +policy. (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 @@ -769,8 +935,8 @@ option can be specified multiple times .HP \fB\-rpcauth=\fR .IP -Username and hashed password for JSON\-RPC connections. The field - comes in the format: :$. A +Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The +field comes in the format: :$. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=/rpcpassword= pair of arguments. This @@ -797,8 +963,8 @@ Password for JSON\-RPC connections .HP \fB\-rpcport=\fR .IP -Listen for JSON\-RPC connections on (default: 9998 or testnet: -19998) +Listen for JSON\-RPC connections on (default: 9998, testnet: +19998, regtest: 19898) .HP \fB\-rpcthreads=\fR .IP @@ -865,8 +1031,8 @@ Show splash screen on startup (default: 1) .IP Sets a window title which is appended to "Dash Core \- " .SH COPYRIGHT -Copyright (C) 2014-2021 The Dash Core developers -Copyright (C) 2009-2021 The Bitcoin Core developers +Copyright (C) 2014-2022 The Dash Core developers +Copyright (C) 2009-2022 The Bitcoin Core developers Please contribute if you find Dash Core useful. Visit for further information about the software. diff --git a/doc/man/dash-tx.1 b/doc/man/dash-tx.1 index 509918f271..0917d29178 100644 --- a/doc/man/dash-tx.1 +++ b/doc/man/dash-tx.1 @@ -1,16 +1,15 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. -.TH DASH-TX "1" "May 2021" "dash-tx v0.17.0.3" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH DASH-TX "1" "August 2022" "dash-tx v18.0.0" "User Commands" .SH NAME -dash-tx \- manual page for dash-tx v0.17.0.3 +dash-tx \- manual page for dash-tx v18.0.0 +.SH SYNOPSIS +.B dash-tx +[\fI\,options\/\fR] \fI\, \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR +.br +.B dash-tx +[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR .SH DESCRIPTION -Dash Core dash\-tx utility version v0.17.0.3 -.SS "Usage:" -.TP -dash\-tx [options] [commands] -Update hex\-encoded dash transaction -.TP -dash\-tx [options] \fB\-create\fR [commands] -Create hex\-encoded dash transaction +Dash Core dash\-tx utility version v18.0.0 .SH OPTIONS .HP \-? @@ -35,6 +34,47 @@ Chain selection options: .IP Use devnet chain with provided name .HP +\fB\-highsubsidyblocks=\fR +.IP +The number of blocks with a higher than normal subsidy to mine at the +start of a chain (default: 0, devnet\-only) +.HP +\fB\-highsubsidyfactor=\fR +.IP +The factor to multiply the normal block subsidy by while in the +highsubsidyblocks window of a chain (default: 1, devnet\-only) +.HP +\fB\-llmqchainlocks=\fR +.IP +Override the default LLMQ type used for ChainLocks. Allows using +ChainLocks with smaller LLMQs. (default: llmq_50_60, devnet\-only) +.HP +\fB\-llmqdevnetparams=\fR: +.IP +Override the default LLMQ size for the LLMQ_DEVNET quorum (default: 3:2, +devnet\-only) +.HP +\fB\-llmqinstantsend=\fR +.IP +Override the default LLMQ type used for InstantSend. Allows using +InstantSend with smaller LLMQs. (default: llmq_50_60, +devnet\-only) +.HP +\fB\-llmqinstantsenddip0024=\fR +.IP +Override the default LLMQ type used for InstantSendDIP0024. (default: +llmq_60_75, devnet\-only) +.HP +\fB\-minimumdifficultyblocks=\fR +.IP +The number of blocks that can be mined with the minimum difficulty at +the start of a chain (default: 0, devnet\-only) +.HP +\fB\-powtargetspacing=\fR +.IP +Override the default PowTargetSpacing value in seconds (default: 2.5 +minutes, devnet\-only) +.HP \fB\-testnet\fR .IP Use the test chain @@ -102,8 +142,8 @@ set=NAME:JSON\-STRING .IP Set register NAME to given JSON\-STRING .SH COPYRIGHT -Copyright (C) 2014-2021 The Dash Core developers -Copyright (C) 2009-2021 The Bitcoin Core developers +Copyright (C) 2014-2022 The Dash Core developers +Copyright (C) 2009-2022 The Bitcoin Core developers Please contribute if you find Dash Core useful. Visit for further information about the software. diff --git a/doc/man/dash-wallet.1 b/doc/man/dash-wallet.1 index 40c8163b1d..394a46b1fd 100644 --- a/doc/man/dash-wallet.1 +++ b/doc/man/dash-wallet.1 @@ -1,9 +1,9 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH DASH-WALLET "1" "February 2019" "dash-wallet v0.17.99.0" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH DASH-WALLET "1" "August 2022" "dash-wallet v18.0.0" "User Commands" .SH NAME -dash-wallet \- manual page for dash-wallet v0.17.99.0 +dash-wallet \- manual page for dash-wallet v18.0.0 .SH DESCRIPTION -DASH Core dash\-wallet version v0.17.99.0 +Dash Core dash\-wallet version v18.0.0 .PP wallet\-tool is an offline tool for creating and interacting with Dash Core wallet files. By default wallet\-tool will act on wallets in the default mainnet wallet directory in the datadir. @@ -34,10 +34,55 @@ 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\-devnet=\fR +.IP +Use devnet chain with provided name +.HP +\fB\-highsubsidyblocks=\fR +.IP +The number of blocks with a higher than normal subsidy to mine at the +start of a chain (default: 0, devnet\-only) +.HP +\fB\-highsubsidyfactor=\fR +.IP +The factor to multiply the normal block subsidy by while in the +highsubsidyblocks window of a chain (default: 1, devnet\-only) +.HP +\fB\-llmqchainlocks=\fR +.IP +Override the default LLMQ type used for ChainLocks. Allows using +ChainLocks with smaller LLMQs. (default: llmq_50_60, devnet\-only) +.HP +\fB\-llmqdevnetparams=\fR: +.IP +Override the default LLMQ size for the LLMQ_DEVNET quorum (default: 3:2, +devnet\-only) +.HP +\fB\-llmqinstantsend=\fR +.IP +Override the default LLMQ type used for InstantSend. Allows using +InstantSend with smaller LLMQs. (default: llmq_50_60, +devnet\-only) +.HP +\fB\-llmqinstantsenddip0024=\fR +.IP +Override the default LLMQ type used for InstantSendDIP0024. (default: +llmq_60_75, devnet\-only) +.HP +\fB\-minimumdifficultyblocks=\fR +.IP +The number of blocks that can be mined with the minimum difficulty at +the start of a chain (default: 0, devnet\-only) +.HP +\fB\-powtargetspacing=\fR +.IP +Override the default PowTargetSpacing value in seconds (default: 2.5 +minutes, devnet\-only) +.HP \fB\-testnet\fR .IP Use the test chain @@ -51,13 +96,17 @@ Create new wallet file info .IP Get wallet info +.IP +salvage +.IP +Attempt to recover private keys from a corrupt wallet .SH COPYRIGHT -Copyright (C) 2014-2021 The Dash Core developers -Copyright (C) 2009-2019 The Bitcoin Core developers +Copyright (C) 2014-2022 The Dash Core developers +Copyright (C) 2009-2022 The Bitcoin Core developers -Please contribute if you find Bitcoin Core useful. Visit - for further information about the software. -The source code is available from . +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . This is experimental software. Distributed under the MIT software license, see the accompanying file COPYING diff --git a/doc/man/dashd.1 b/doc/man/dashd.1 index 560e092542..0a2b8a5202 100644 --- a/doc/man/dashd.1 +++ b/doc/man/dashd.1 @@ -1,13 +1,12 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3. -.TH DASHD "1" "May 2021" "dashd v0.17.0.3" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. +.TH DASHD "1" "August 2022" "dashd v18.0.0" "User Commands" .SH NAME -dashd \- manual page for dashd v0.17.0.3 +dashd \- manual page for dashd v18.0.0 +.SH SYNOPSIS +.B dashd +[\fI\,options\/\fR] \fI\,Start Dash Core Daemon\/\fR .SH DESCRIPTION -Dash Core Daemon version v0.17.0.3 -.SS "Usage:" -.TP -dashd [options] -Start Dash Core Daemon +Dash Core Daemon version v18.0.0 .SH OPTIONS .HP \-? @@ -28,6 +27,12 @@ default: testnet: 0000009303aeadf8cf3812f5c869691dbd4cb118ad20e9bf553be434bafe6a52) .HP +\fB\-blockfilterindex=\fR +.IP +Maintain an index of compact filters by block (default: 0, values: +basic). If is not supplied or if = 1, indexes for +all known types are enabled. +.HP \fB\-blocknotify=\fR .IP Execute command when the best block changes (%s in cmd is replaced by @@ -40,7 +45,16 @@ Extra transactions to keep in memory for compact block reconstructions .HP \fB\-blocksdir=\fR .IP -Specify blocks directory (default: /blocks) +Specify directory to hold blocks subdirectory for *.dat files (default: +) +.HP +\fB\-blocksonly\fR +.IP +Whether to reject transactions from network peers. Automatic broadcast +and rebroadcast of any transactions from inbound peers is +disabled, unless '\-whitelistforcerelay' is '1', in which case +whitelisted peers' transactions will be relayed. RPC transactions +are not affected. (default: 0) .HP \fB\-conf=\fR .IP @@ -57,12 +71,20 @@ Specify data directory .HP \fB\-dbcache=\fR .IP -Set database cache size in MiB (4 to 16384, default: 300) +Maximum database cache size MiB (4 to 16384, default: 300). In +addition, unused mempool memory is shared for this cache (see +\fB\-maxmempool\fR). .HP \fB\-debuglogfile=\fR .IP Specify location of debug log file. Relative paths will be prefixed by a -net\-specific datadir location. (0 to disable; default: debug.log) +net\-specific datadir location. (\fB\-nodebuglogfile\fR to disable; +default: debug.log) +.HP +\fB\-includeconf=\fR +.IP +Specify additional configuration file, relative to the \fB\-datadir\fR path +(only useable from configuration file, not command line) .HP \fB\-loadblock=\fR .IP @@ -87,7 +109,7 @@ Do not keep transactions in the mempool longer than hours (default: .HP \fB\-par=\fR .IP -Set the number of script verification threads (\fB\-4\fR to 16, 0 = auto, <0 = +Set the number of script verification threads (\fB\-4\fR to 15, 0 = auto, <0 = leave that many cores free, default: 0) .HP \fB\-persistmempool\fR @@ -136,6 +158,12 @@ specified multiple times to add multiple nodes. .IP Allow RFC1918 addresses to be relayed and connected to (default: 0) .HP +\fB\-asmap=\fR +.IP +Specify asn mapping used for bucketing of the peers (default: +ip_asn.map). Relative paths will be prefixed by the net\-specific +datadir location. +.HP \fB\-banscore=\fR .IP Threshold for disconnecting misbehaving peers (default: 100) @@ -152,7 +180,7 @@ for IPv6 .HP \fB\-connect=\fR .IP -Connect only to the specified node; \fB\-connect\fR=\fI\,0\/\fR disables automatic +Connect only to the specified node; \fB\-noconnect\fR disables automatic connections (the rules for this peer are the same as for \fB\-addnode\fR). This option can be specified multiple times to connect to multiple nodes. @@ -215,10 +243,14 @@ amount. (default: 4200 seconds) Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: 0) .HP +\fB\-natpmp\fR +.IP +Use NAT\-PMP to map the listening port (default: 0) +.HP \fB\-onion=\fR .IP -Use separate SOCKS5 proxy to reach peers via Tor hidden services -(default: \fB\-proxy\fR) +Use separate SOCKS5 proxy to reach peers via Tor hidden services, set +\fB\-noonion\fR to disable (default: \fB\-proxy\fR) .HP \fB\-onlynet=\fR .IP @@ -227,6 +259,10 @@ 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: @@ -244,11 +280,13 @@ Relay non\-P2SH multisig (default: 1) .HP \fB\-port=\fR .IP -Listen for connections on (default: 9999 or testnet: 19999) +Listen for connections on (default: 9999, testnet: 19999, +regtest: 19899) .HP \fB\-proxy=\fR .IP -Connect through SOCKS5 proxy +Connect through SOCKS5 proxy, set \fB\-noproxy\fR to disable (default: +disabled) .HP \fB\-proxyrandomize\fR .IP @@ -284,18 +322,22 @@ Tor control port password (default: empty) .IP Use UPnP to map the listening port (default: 0) .HP -\fB\-whitebind=\fR +\fB\-whitebind=\fR<[permissions@]addr> .IP Bind to given address and whitelist peers connecting to it. Use -[host]:port notation for IPv6 +[host]:port notation for IPv6. Allowed permissions are +bloomfilter (allow requesting BIP37 filtered blocks and +transactions), noban (do not ban for misbehavior), forcerelay +(relay even non\-standard transactions), relay (relay even in +\fB\-blocksonly\fR mode), and mempool (allow requesting BIP35 mempool +contents). Specify multiple permissions separated by commas +(default: noban,mempool,relay). Can be specified multiple times. .HP -\fB\-whitelist=\fR +\fB\-whitelist=\fR<[permissions@]IP address or network> .IP Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or -CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple -times. Whitelisted peers cannot be DoS banned and their -transactions are always relayed, even if they are already in the -mempool, useful e.g. for a gateway +CIDR notated network(e.g. 1.2.3.0/24). Uses same permissions as +\fB\-whitebind\fR. Can be specified multiple times. .PP Indexing options: .HP @@ -310,7 +352,9 @@ Rebuild chain state and block index from the blk*.dat files on disk .HP \fB\-reindex\-chainstate\fR .IP -Rebuild chain state from the currently indexed blocks +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\-spentindex\fR .IP @@ -380,6 +424,14 @@ Specify statsd port (default: 8125) .PP Wallet options: .HP +\fB\-avoidpartialspends\fR +.IP +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) +.HP \fB\-createwalletbackups=\fR .IP Number of automatic wallet backups (default: 10) @@ -402,10 +454,6 @@ Set key pool size to (default: 1000) Rescan the block chain for missing wallet transactions on startup (1 = start from wallet creation time, 2 = start from genesis block) .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) @@ -445,8 +493,9 @@ by TxID) .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. -account owner and payment request information, 2 = drop tx meta -data) +payment request information, 2 = drop tx meta data) +.PP +Wallet fee options: .HP \fB\-discardfee=\fR .IP @@ -474,6 +523,8 @@ Fee (in DASH/kB) to add to transactions you send (default: 0.00) .IP If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 6) +.PP +HD wallet options: .HP \fB\-hdseed=\fR .IP @@ -494,27 +545,8 @@ during wallet creation/first start (default: empty string) .IP Use hierarchical deterministic key generation (HD) after BIP39/BIP44. Only has effect during wallet creation/first start (default: 0) -.HP -\fB\-keepass\fR -.IP -Use KeePass 2 integration using KeePassHttp plugin (default: 0) -.HP -\fB\-keepassid=\fR -.IP -KeePassHttp id for the established association -.HP -\fB\-keepasskey=\fR -.IP -KeePassHttp key for AES encrypted communication with KeePass -.HP -\fB\-keepassname=\fR -.IP -Name to construct url for KeePass entry that stores the wallet -passphrase -.HP -\fB\-keepassport=\fR -.IP -Connect to KeePassHttp on port (default: 19455) +.PP +CoinJoin options: .HP \fB\-coinjoinamount=\fR .IP @@ -558,66 +590,180 @@ ZeroMQ notification options: .IP Enable publish hash block in
.HP +\fB\-zmqpubhashblockhwm=\fR +.IP +Set publish hash block outbound message high water mark (default: 1000) +.HP +\fB\-zmqpubhashchainlock=\fR
+.IP +Enable publish hash block (locked via ChainLocks) in
+.HP +\fB\-zmqpubhashchainlockhwm=\fR +.IP +Set publish hash chain lock outbound message high water mark (default: +1000) +.HP \fB\-zmqpubhashgovernanceobject=\fR
.IP Enable publish hash of governance objects (like proposals) in
.HP +\fB\-zmqpubhashgovernanceobjecthwm=\fR +.IP +Set publish hash governance object outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashgovernancevote=\fR
.IP Enable publish hash of governance votes in
.HP +\fB\-zmqpubhashgovernancevotehwm=\fR +.IP +Set publish hash governance vote outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashinstantsenddoublespend=\fR
.IP Enable publish transaction hashes of attempted InstantSend double spend in
.HP +\fB\-zmqpubhashinstantsenddoublespendhwm=\fR +.IP +Set publish hash InstantSend double spend outbound message high water +mark (default: 1000) +.HP \fB\-zmqpubhashrecoveredsig=\fR
.IP Enable publish message hash of recovered signatures (recovered by LLMQs) in
.HP +\fB\-zmqpubhashrecoveredsighwm=\fR +.IP +Set publish hash recovered signature outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubhashtx=\fR
.IP Enable publish hash transaction in
.HP +\fB\-zmqpubhashtxhwm=\fR +.IP +Set publish hash transaction outbound message high water mark (default: +1000) +.HP \fB\-zmqpubhashtxlock=\fR
.IP Enable publish hash transaction (locked via InstantSend) in
.HP +\fB\-zmqpubhashtxlockhwm=\fR +.IP +Set publish hash transaction lock outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawblock=\fR
.IP Enable publish raw block in
.HP +\fB\-zmqpubrawblockhwm=\fR +.IP +Set publish raw block outbound message high water mark (default: 1000) +.HP +\fB\-zmqpubrawchainlock=\fR
+.IP +Enable publish raw block (locked via ChainLocks) in
+.HP +\fB\-zmqpubrawchainlockhwm=\fR +.IP +Set publish raw chain lock outbound message high water mark (default: +1000) +.HP +\fB\-zmqpubrawchainlocksig=\fR
+.IP +Enable publish raw block (locked via ChainLocks) and CLSIG message in +
+.HP +\fB\-zmqpubrawchainlocksighwm=\fR +.IP +Set publish raw chain lock signature outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawgovernanceobject=\fR
+.IP +Enable publish raw governance votes in
+.HP +\fB\-zmqpubrawgovernanceobjecthwm=\fR +.IP +Set publish raw governance object outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawgovernancevote=\fR
+.IP +Enable publish raw governance objects (like proposals) in
+.HP +\fB\-zmqpubrawgovernancevotehwm=\fR +.IP +Set publish raw governance vote outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawinstantsenddoublespend=\fR
.IP Enable publish raw transactions of attempted InstantSend double spend in
.HP +\fB\-zmqpubrawinstantsenddoublespendhwm=\fR +.IP +Set publish raw InstantSend double spend outbound message high water +mark (default: 1000) +.HP \fB\-zmqpubrawrecoveredsig=\fR
.IP Enable publish raw recovered signatures (recovered by LLMQs) in
.HP +\fB\-zmqpubrawrecoveredsighwm=\fR +.IP +Set publish raw recovered signature outbound message high water mark +(default: 1000) +.HP \fB\-zmqpubrawtx=\fR
.IP Enable publish raw transaction in
.HP +\fB\-zmqpubrawtxhwm=\fR +.IP +Set publish raw transaction outbound message high water mark (default: +1000) +.HP \fB\-zmqpubrawtxlock=\fR
.IP Enable publish raw transaction (locked via InstantSend) in
+.HP +\fB\-zmqpubrawtxlockhwm=\fR +.IP +Set publish raw transaction lock outbound message high water mark +(default: 1000) +.HP +\fB\-zmqpubrawtxlocksig=\fR
+.IP +Enable publish raw transaction (locked via InstantSend) and ISLOCK in +
+.HP +\fB\-zmqpubrawtxlocksighwm=\fR +.IP +Set publish raw transaction lock signature outbound message high water +mark (default: 1000) .PP Debugging/Testing options: .HP \fB\-debug=\fR .IP -Output debugging information (default: 0, supplying is +Output debugging information (default: \fB\-nodebug\fR, supplying is optional). If is not supplied or if = 1, output all debugging information. 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, chainlocks, gobject, instantsend, -keepass, llmq, llmq\-dkg, llmq\-sigs, mnpayments, mnsync, coinjoin, -spork, netconn. +llmq, llmq\-dkg, llmq\-sigs, mnpayments, mnsync, coinjoin, spork, +netconn. .HP \fB\-debugexclude=\fR .IP @@ -631,36 +777,7 @@ Disable governance validation (0\-1, default: 0) .HP \fB\-help\-debug\fR .IP -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR) -.HP -\fB\-highsubsidyblocks=\fR -.IP -The number of blocks with a higher than normal subsidy to mine at the -start of a devnet (default: 0) -.HP -\fB\-highsubsidyfactor=\fR -.IP -The factor to multiply the normal block subsidy by while in the -highsubsidyblocks window of a devnet (default: 1) -.HP -\fB\-llmqchainlocks=\fR -.IP -Override the default LLMQ type used for ChainLocks on a devnet. Allows -using ChainLocks with smaller LLMQs. (default: llmq_50_60) -.HP -\fB\-llmqdevnetparams=\fR -.IP -Override the default LLMQ size for the LLMQ_DEVNET quorum (default: -10:6) -.HP -\fB\-llmqinstantsend=\fR -.IP -Override the default LLMQ type used for InstantSend on a devnet. Allows -using InstantSend with smaller LLMQs. (default: llmq_50_60) -.HP -\fB\-llmqtestparams=\fR -.IP -Override the default LLMQ size for the LLMQ_TEST quorum (default: 3:2) +Print help message with debugging options and exit .HP \fB\-logips\fR .IP @@ -672,14 +789,8 @@ Prepend debug output with timestamp (default: 1) .HP \fB\-maxtxfee=\fR .IP -Maximum total fees (in DASH) to use in a single wallet transaction or -raw transaction; setting this too low may abort large -transactions (default: 0.10) -.HP -\fB\-minimumdifficultyblocks=\fR -.IP -The number of blocks that can be mined with the minimum difficulty at -the start of a devnet (default: 0) +Maximum total fees (in DASH) to use in a single wallet transaction; +setting this too low may abort large transactions (default: 0.10) .HP \fB\-minsporkkeys=\fR .IP @@ -689,7 +800,12 @@ you. .HP \fB\-printtoconsole\fR .IP -Send trace/debug info to console instead of debug.log file +Send trace/debug info to console (default: 1 when no \fB\-daemon\fR. To disable +logging to file, set \fB\-nodebuglogfile\fR) +.HP +\fB\-pushversion\fR +.IP +Protocol version to report to other nodes .HP \fB\-shrinkdebugfile\fR .IP @@ -714,6 +830,47 @@ Chain selection options: .IP Use devnet chain with provided name .HP +\fB\-highsubsidyblocks=\fR +.IP +The number of blocks with a higher than normal subsidy to mine at the +start of a chain (default: 0, devnet\-only) +.HP +\fB\-highsubsidyfactor=\fR +.IP +The factor to multiply the normal block subsidy by while in the +highsubsidyblocks window of a chain (default: 1, devnet\-only) +.HP +\fB\-llmqchainlocks=\fR +.IP +Override the default LLMQ type used for ChainLocks. Allows using +ChainLocks with smaller LLMQs. (default: llmq_50_60, devnet\-only) +.HP +\fB\-llmqdevnetparams=\fR: +.IP +Override the default LLMQ size for the LLMQ_DEVNET quorum (default: 3:2, +devnet\-only) +.HP +\fB\-llmqinstantsend=\fR +.IP +Override the default LLMQ type used for InstantSend. Allows using +InstantSend with smaller LLMQs. (default: llmq_50_60, +devnet\-only) +.HP +\fB\-llmqinstantsenddip0024=\fR +.IP +Override the default LLMQ type used for InstantSendDIP0024. (default: +llmq_60_75, devnet\-only) +.HP +\fB\-minimumdifficultyblocks=\fR +.IP +The number of blocks that can be mined with the minimum difficulty at +the start of a chain (default: 0, devnet\-only) +.HP +\fB\-powtargetspacing=\fR +.IP +Override the default PowTargetSpacing value in seconds (default: 2.5 +minutes, devnet\-only) +.HP \fB\-testnet\fR .IP Use the test chain @@ -722,7 +879,8 @@ Node relay options: .HP \fB\-bytespersigop\fR .IP -Minimum bytes per sigop in transactions we relay and mine (default: 20) +Equivalent bytes per sigop in transactions for relay and mining +(default: 20) .HP \fB\-datacarrier\fR .IP @@ -740,13 +898,16 @@ relaying, 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 or violate local relay +policy. (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 @@ -774,8 +935,8 @@ option can be specified multiple times .HP \fB\-rpcauth=\fR .IP -Username and hashed password for JSON\-RPC connections. The field - comes in the format: :$. A +Username and HMAC\-SHA\-256 hashed password for JSON\-RPC connections. The +field comes in the format: :$. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=/rpcpassword= pair of arguments. This @@ -802,8 +963,8 @@ Password for JSON\-RPC connections .HP \fB\-rpcport=\fR .IP -Listen for JSON\-RPC connections on (default: 9998 or testnet: -19998) +Listen for JSON\-RPC connections on (default: 9998, testnet: +19998, regtest: 19898) .HP \fB\-rpcthreads=\fR .IP @@ -817,8 +978,8 @@ Username for JSON\-RPC connections .IP Accept command line and JSON\-RPC commands .SH COPYRIGHT -Copyright (C) 2014-2021 The Dash Core developers -Copyright (C) 2009-2021 The Bitcoin Core developers +Copyright (C) 2014-2022 The Dash Core developers +Copyright (C) 2009-2022 The Bitcoin Core developers Please contribute if you find Dash Core useful. Visit for further information about the software. From 713c851bbe90d3f6e72b17061929a659b3de2a3f Mon Sep 17 00:00:00 2001 From: Konstantin Akimov Date: Thu, 11 Aug 2022 05:57:13 +0700 Subject: [PATCH 62/74] Update hard coded seeds for v18.0.0-rc12 (#4953) Mainnet: 1716101 Testnet: 774784 --- contrib/seeds/README.md | 2 +- contrib/seeds/nodes_main.txt | 221 ++++++++++++++------------------- contrib/seeds/nodes_test.txt | 7 +- src/chainparamsseeds.h | 230 +++++++++++++++-------------------- 4 files changed, 192 insertions(+), 268 deletions(-) diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index 76a434370f..a1aff35e0c 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -5,7 +5,7 @@ Utility to generate the seeds.txt list that is compiled into the client The seeds compiled into the release are created from the current protx list, like this: - dash-cli protx list valid 1 1185193 > protx_list.json + dash-cli protx list valid 1 1716101 > protx_list.json python3 makeseeds.py < protx_list.json > nodes_main.txt python3 generate-seeds.py . > ../../src/chainparamsseeds.h diff --git a/contrib/seeds/nodes_main.txt b/contrib/seeds/nodes_main.txt index 7779181878..86ba5bab5c 100644 --- a/contrib/seeds/nodes_main.txt +++ b/contrib/seeds/nodes_main.txt @@ -1,210 +1,175 @@ -1.248.134.139:9999 2.56.213.221:9999 5.2.67.190:9999 5.2.73.58:9999 5.9.237.34:9999 -5.45.99.13:9999 5.79.109.243:9999 -5.132.191.109:9999 -5.132.191.112:9999 -18.222.134.5:9999 -20.71.243.27:9999 +5.101.44.225:9999 +5.161.87.184:9999 +5.161.120.35:9999 +5.161.126.7:9999 +5.181.202.18:9999 +18.139.244.9:9999 +18.157.129.148:9999 23.81.246.42:9999 -23.106.123.152:9999 -23.163.0.127:9999 -23.227.163.23:9999 -23.228.232.76:9999 -23.228.232.81:9999 -23.253.213.225:9999 +23.83.133.10:9999 +23.83.133.196:9999 31.10.97.36:9999 -31.31.73.82:9999 +31.148.99.242:9999 31.178.4.50:9999 -34.82.91.118:9999 -34.83.46.25:9999 -34.83.170.242:9999 -34.105.19.132:9999 34.209.237.242:9999 -34.239.31.246:9999 -34.255.85.157:9999 37.18.227.56:9999 37.97.227.21:9999 +42.194.133.119:9999 43.229.77.46:9999 45.33.24.24:9999 -45.34.121.127:9999 45.56.64.107:9999 +45.56.70.113:9999 +45.63.107.90:9999 +45.71.158.58:9999 +45.71.158.66:9999 +45.71.159.104:9999 45.76.39.241:9999 +45.76.89.63:9999 45.79.46.71:9999 +45.85.117.45:9999 +45.85.117.202:9999 45.86.162.83:9999 45.86.162.85:9999 -46.21.155.50:9999 +45.86.162.154:9999 +46.30.189.189:9999 +46.30.189.213:9999 +46.30.189.214:9999 +46.30.189.251:9999 46.36.40.242:9999 +46.254.241.24:9999 46.254.241.28:9999 47.56.118.20:9999 47.91.152.232:9999 -47.91.204.190:9999 -47.98.66.94:9999 47.98.123.106:9999 -47.105.35.2:9999 -47.244.130.9:9999 50.17.175.91:9999 51.15.96.206:9999 +51.15.117.42:9999 +51.15.254.224:9999 51.38.179.230:9999 -51.144.71.213:9999 +51.83.191.210:9999 51.158.169.237:9999 -52.71.18.27:9999 52.202.141.60:9999 +54.164.185.96:9999 54.218.218.43:9999 -62.138.3.192:9999 -63.142.253.85:9999 -63.250.45.250:9999 +62.171.190.140:9999 64.251.65.206:9999 66.172.12.86:9999 -66.244.243.68:9999 66.244.243.69:9999 +67.202.20.230:9999 69.61.107.215:9999 -69.61.107.216:9999 -69.61.107.218:9999 -69.61.107.240:9999 -74.118.137.69:9999 -74.118.137.96:9999 -74.118.137.97:9999 -78.67.236.159:9999 -78.83.19.0:9999 -79.98.30.156:9999 -79.98.31.59:9999 -80.100.30.50:9999 -80.211.221.139:9999 +69.61.107.217:9999 +69.61.107.242:9999 +77.220.212.179:9999 +80.85.136.248:9999 +80.209.234.170:9999 +80.240.132.231:9999 +81.2.240.118:9999 +81.71.13.165:9999 81.171.2.245:9999 +81.226.223.153:9999 +82.202.230.83:9999 82.211.21.23:9999 82.211.21.179:9999 -82.211.21.226:9999 -82.211.21.240:9999 -82.223.197.237:9999 -83.96.169.215:9999 +82.211.25.105:9999 +82.211.25.193:9999 +84.52.116.52:9999 84.242.179.204:9999 +85.17.248.91:9999 85.206.165.89:9999 +85.206.165.90:9999 85.209.241.35:9999 85.209.241.190:9999 -85.209.241.201:9999 85.209.242.4:9999 -85.217.170.206:9999 -88.119.171.76:9999 +85.209.242.98:9999 +87.98.253.86:9999 89.40.13.44:9999 89.45.67.54:9999 -91.219.237.108:9999 -91.219.237.111:9999 -91.219.239.82:9999 -94.176.238.201:9999 -95.183.50.97:9999 +89.45.67.138:9999 +93.190.140.114:9999 95.183.51.141:9999 -95.183.52.43:9999 +95.183.51.146:9999 95.183.53.39:9999 95.211.196.34:9999 95.215.45.225:9999 95.215.110.120:9999 -103.218.240.67:9999 -104.160.42.35:9999 +103.160.95.219:9999 +103.160.95.225:9999 +104.128.239.214:9999 +106.52.121.218:9999 107.161.24.90:9999 -108.61.178.122:9999 +107.191.101.212:9999 108.61.247.70:9999 -118.178.158.10:9999 123.193.64.166:9999 -133.130.102.22:9999 138.68.28.8:9999 139.9.199.240:9999 -140.238.170.170:9999 -144.91.127.166:9999 -144.202.120.194:9999 +140.238.210.34:9999 +141.95.53.107:9999 +142.202.205.101:9999 +144.126.142.167:9999 145.131.28.66:9999 145.131.28.68:9999 -145.131.28.116:9999 -145.131.28.117:9999 -145.239.163.130:9999 -146.59.12.224:9999 +145.131.29.214:9999 +145.131.42.96:9999 146.185.175.206:9999 -151.236.10.109:9999 -152.67.65.145:9999 +152.67.69.228:9999 158.101.162.74:9999 158.101.168.28:9999 -163.44.167.237:9999 -163.44.169.29:9999 -163.44.171.51:9999 -163.172.96.100:9999 167.71.51.205:9999 -168.119.54.138:9999 +167.86.79.62:9999 +168.119.80.4:9999 +168.235.81.85:9999 168.235.85.241:9999 -168.235.93.49:9999 -168.235.104.190:9999 -169.62.139.168:9999 -170.75.162.219:9999 -172.81.178.88:9999 -172.86.120.107:9999 -173.212.218.130:9999 -173.214.162.200:9999 -173.231.204.69:9999 -176.94.17.220:9999 +170.75.170.135:9999 +173.249.21.122:9999 +173.249.26.20:9999 +174.34.233.201:9999 +174.34.233.202:9999 +174.34.233.203:9999 +174.34.233.204:9999 +176.102.65.145:9999 176.123.57.198:9999 176.123.57.200:9999 176.123.57.203:9999 176.123.57.205:9999 -178.33.189.154:9999 +176.223.136.43:9999 178.63.121.129:9999 -178.79.130.187:9999 178.157.91.126:9999 178.157.91.176:9999 178.157.91.179:9999 -178.170.8.182:9999 -180.68.191.77:9999 -185.26.126.250:9999 -185.43.210.125:9999 -185.45.193.207:9999 -185.45.193.209:9999 -185.62.56.198:9999 +185.5.52.224:9999 +185.62.151.170:9999 +185.62.151.174:9999 185.64.104.222:9999 185.64.104.223:9999 -185.113.33.3:9999 -185.113.33.5:9999 -185.113.33.6:9999 -185.141.27.109:9999 -185.141.62.97:9999 185.142.212.144:9999 -185.165.168.23:9999 -185.165.168.25:9999 -185.165.168.27:9999 -185.165.168.243:9999 +185.165.171.117:9999 185.175.158.40:9999 -185.177.59.140:9999 -185.183.98.157:9999 -185.219.220.71:9999 -185.228.83.73:9999 -185.228.83.112:9999 -185.228.83.115:9999 -185.228.83.157:9999 -185.248.150.135:9999 -185.248.150.148:9999 +185.177.59.37:9999 +185.228.83.113:9999 +185.228.83.156:9999 +185.243.10.112:9999 +185.243.10.115:9999 188.40.241.106:9999 -188.166.98.146:9999 -190.2.149.236:9999 -190.4.184.180:9999 +188.127.230.40:9999 +188.127.237.243:9999 +188.244.117.12:9999 192.169.6.25:9999 +193.29.56.88:9999 +193.29.59.96:9999 +193.237.81.224:9999 +194.26.232.195:9999 194.182.75.136:9999 -195.98.95.219:9999 -195.154.179.244:9999 195.181.210.17:9999 195.181.211.64:9999 -198.57.27.227:9999 +202.61.198.112:9999 202.61.248.211:9999 -204.101.220.194:9999 -207.180.228.70:9999 -208.73.200.203:9999 -209.95.51.204:9999 -212.83.61.246:9999 -212.83.61.247:9999 -212.237.9.59:9999 -213.136.78.104:9999 216.107.217.62:9999 216.189.147.95:9999 216.189.147.178:9999 216.189.151.94:9999 -216.189.151.207:9999 -220.121.224.91:9999 +222.116.64.229:9999 diff --git a/contrib/seeds/nodes_test.txt b/contrib/seeds/nodes_test.txt index 87d323e923..519e04919b 100644 --- a/contrib/seeds/nodes_test.txt +++ b/contrib/seeds/nodes_test.txt @@ -1,6 +1,3 @@ -45.48.168.16:19999 -51.68.175.79:29999 -60.205.218.5:19999 -143.110.156.147:19999 +43.229.77.46:19999 +45.77.167.247:19999 178.62.203.249:19999 -206.189.147.240:19999 diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.h index 97b611e5be..ec0c31f85f 100644 --- a/src/chainparamsseeds.h +++ b/src/chainparamsseeds.h @@ -8,224 +8,186 @@ * IPv4 as well as onion addresses are wrapped inside an IPv6 address accordingly. */ static SeedSpec6 pnSeed6_main[] = { - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0xf8,0x86,0x8b}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x02,0x38,0xd5,0xdd}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x02,0x43,0xbe}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x02,0x49,0x3a}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x09,0xed,0x22}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x2d,0x63,0x0d}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x4f,0x6d,0xf3}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x84,0xbf,0x6d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x84,0xbf,0x70}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x12,0xde,0x86,0x05}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x14,0x47,0xf3,0x1b}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0x65,0x2c,0xe1}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xa1,0x57,0xb8}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xa1,0x78,0x23}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xa1,0x7e,0x07}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x05,0xb5,0xca,0x12}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x12,0x8b,0xf4,0x09}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x12,0x9d,0x81,0x94}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x51,0xf6,0x2a}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x6a,0x7b,0x98}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xa3,0x00,0x7f}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe3,0xa3,0x17}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe4,0xe8,0x4c}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xe4,0xe8,0x51}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0xfd,0xd5,0xe1}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x53,0x85,0x0a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x17,0x53,0x85,0xc4}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0x0a,0x61,0x24}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0x1f,0x49,0x52}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0x94,0x63,0xf2}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x1f,0xb2,0x04,0x32}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0x52,0x5b,0x76}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0x53,0x2e,0x19}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0x53,0xaa,0xf2}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0x69,0x13,0x84}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0xd1,0xed,0xf2}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0xef,0x1f,0xf6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x22,0xff,0x55,0x9d}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x12,0xe3,0x38}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x61,0xe3,0x15}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2a,0xc2,0x85,0x77}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2b,0xe5,0x4d,0x2e}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x21,0x18,0x18}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x22,0x79,0x7f}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x38,0x40,0x6b}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x38,0x46,0x71}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x3f,0x6b,0x5a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x47,0x9e,0x3a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x47,0x9e,0x42}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x47,0x9f,0x68}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4c,0x27,0xf1}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4c,0x59,0x3f}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4f,0x2e,0x47}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x55,0x75,0x2d}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x55,0x75,0xca}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x56,0xa2,0x53}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x56,0xa2,0x55}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x15,0x9b,0x32}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x56,0xa2,0x9a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1e,0xbd,0xbd}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1e,0xbd,0xd5}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1e,0xbd,0xd6}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x1e,0xbd,0xfb}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x24,0x28,0xf2}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xfe,0xf1,0x18}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0xfe,0xf1,0x1c}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x38,0x76,0x14}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x5b,0x98,0xe8}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x5b,0xcc,0xbe}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x62,0x42,0x5e}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x62,0x7b,0x6a}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0x69,0x23,0x02}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2f,0xf4,0x82,0x09}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x32,0x11,0xaf,0x5b}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x0f,0x60,0xce}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x0f,0x75,0x2a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x0f,0xfe,0xe0}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x26,0xb3,0xe6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x90,0x47,0xd5}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x53,0xbf,0xd2}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x9e,0xa9,0xed}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x34,0x47,0x12,0x1b}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x34,0xca,0x8d,0x3c}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xa4,0xb9,0x60}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x36,0xda,0xda,0x2b}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0x8a,0x03,0xc0}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0x8e,0xfd,0x55}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3f,0xfa,0x2d,0xfa}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3e,0xab,0xbe,0x8c}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x40,0xfb,0x41,0xce}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xac,0x0c,0x56}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xf4,0xf3,0x44}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x42,0xf4,0xf3,0x45}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xca,0x14,0xe6}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xd7}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xd8}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xda}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xf0}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x76,0x89,0x45}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x76,0x89,0x60}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4a,0x76,0x89,0x61}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x43,0xec,0x9f}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x53,0x13,0x00}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x62,0x1e,0x9c}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4f,0x62,0x1f,0x3b}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x64,0x1e,0x32}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xd3,0xdd,0x8b}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xd9}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x45,0x3d,0x6b,0xf2}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xdc,0xd4,0xb3}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0x55,0x88,0xf8}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xd1,0xea,0xaa}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x50,0xf0,0x84,0xe7}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x02,0xf0,0x76}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0x47,0x0d,0xa5}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xab,0x02,0xf5}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x51,0xe2,0xdf,0x99}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xca,0xe6,0x53}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x15,0x17}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x15,0xb3}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x15,0xe2}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x15,0xf0}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xdf,0xc5,0xed}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x60,0xa9,0xd7}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x19,0x69}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd3,0x19,0xc1}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0x34,0x74,0x34}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xf2,0xb3,0xcc}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x11,0xf8,0x5b}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xce,0xa5,0x59}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xce,0xa5,0x5a}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd1,0xf1,0x23}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd1,0xf1,0xbe}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd1,0xf1,0xc9}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd1,0xf2,0x04}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd9,0xaa,0xce}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x58,0x77,0xab,0x4c}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd1,0xf2,0x62}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x57,0x62,0xfd,0x56}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x28,0x0d,0x2c}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x2d,0x43,0x36}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xdb,0xed,0x6c}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xdb,0xed,0x6f}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xdb,0xef,0x52}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xb0,0xee,0xc9}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb7,0x32,0x61}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x2d,0x43,0x8a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0xbe,0x8c,0x72}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb7,0x33,0x8d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb7,0x34,0x2b}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb7,0x33,0x92}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xb7,0x35,0x27}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd3,0xc4,0x22}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd7,0x2d,0xe1}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd7,0x6e,0x78}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xda,0xf0,0x43}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0xa0,0x2a,0x23}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xa0,0x5f,0xdb}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xa0,0x5f,0xe1}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x68,0x80,0xef,0xd6}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6a,0x34,0x79,0xda}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xa1,0x18,0x5a}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0xb2,0x7a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6b,0xbf,0x65,0xd4}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0xf7,0x46}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x76,0xb2,0x9e,0x0a}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7b,0xc1,0x40,0xa6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x85,0x82,0x66,0x16}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8a,0x44,0x1c,0x08}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8b,0x09,0xc7,0xf0}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8c,0xee,0xaa,0xaa}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x5b,0x7f,0xa6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0xca,0x78,0xc2}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8c,0xee,0xd2,0x22}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8d,0x5f,0x35,0x6b}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8e,0xca,0xcd,0x65}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x7e,0x8e,0xa7}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x1c,0x42}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x1c,0x44}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x1c,0x74}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x1c,0x75}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0xef,0xa3,0x82}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0x3b,0x0c,0xe0}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x1d,0xd6}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x91,0x83,0x2a,0x60}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x92,0xb9,0xaf,0xce}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x97,0xec,0x0a,0x6d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x98,0x43,0x41,0x91}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x98,0x43,0x45,0xe4}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9e,0x65,0xa2,0x4a}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x9e,0x65,0xa8,0x1c}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa3,0x2c,0xa7,0xed}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa3,0x2c,0xa9,0x1d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa3,0x2c,0xab,0x33}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa3,0xac,0x60,0x64}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa7,0x47,0x33,0xcd}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0x77,0x36,0x8a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa7,0x56,0x4f,0x3e}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0x77,0x50,0x04}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0xeb,0x51,0x55}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0xeb,0x55,0xf1}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0xeb,0x5d,0x31}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa8,0xeb,0x68,0xbe}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa9,0x3e,0x8b,0xa8}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xaa,0x4b,0xa2,0xdb}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xac,0x51,0xb2,0x58}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xac,0x56,0x78,0x6b}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd4,0xda,0x82}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xd6,0xa2,0xc8}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xe7,0xcc,0x45}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x5e,0x11,0xdc}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xaa,0x4b,0xaa,0x87}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xf9,0x15,0x7a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xf9,0x1a,0x14}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x22,0xe9,0xc9}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x22,0xe9,0xca}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x22,0xe9,0xcb}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xae,0x22,0xe9,0xcc}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x66,0x41,0x91}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7b,0x39,0xc6}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7b,0x39,0xc8}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7b,0x39,0xcb}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0x7b,0x39,0xcd}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x21,0xbd,0x9a}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb0,0xdf,0x88,0x2b}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3f,0x79,0x81}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x4f,0x82,0xbb}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x9d,0x5b,0x7e}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x9d,0x5b,0xb0}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x9d,0x5b,0xb3}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xaa,0x08,0xb6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb4,0x44,0xbf,0x4d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x1a,0x7e,0xfa}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x2b,0xd2,0x7d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x2d,0xc1,0xcf}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x2d,0xc1,0xd1}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x3e,0x38,0xc6}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x05,0x34,0xe0}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x3e,0x97,0xaa}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x3e,0x97,0xae}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x40,0x68,0xde}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x40,0x68,0xdf}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x71,0x21,0x03}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x71,0x21,0x05}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x71,0x21,0x06}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x8d,0x1b,0x6d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x8d,0x3e,0x61}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0x8e,0xd4,0x90}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa5,0xa8,0x17}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa5,0xa8,0x19}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa5,0xa8,0x1b}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa5,0xa8,0xf3}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xa5,0xab,0x75}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xaf,0x9e,0x28}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb1,0x3b,0x8c}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb7,0x62,0x9d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xdb,0xdc,0x47}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x49}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x70}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x73}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x9d}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xf8,0x96,0x87}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xf8,0x96,0x94}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xb1,0x3b,0x25}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x71}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xe4,0x53,0x9c}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xf3,0x0a,0x70}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb9,0xf3,0x0a,0x73}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x28,0xf1,0x6a}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xa6,0x62,0x92}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x02,0x95,0xec}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbe,0x04,0xb8,0xb4}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7f,0xe6,0x28}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7f,0xed,0xf3}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xf4,0x75,0x0c}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xa9,0x06,0x19}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x1d,0x38,0x58}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0x1d,0x3b,0x60}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc1,0xed,0x51,0xe0}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0x1a,0xe8,0xc3}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc2,0xb6,0x4b,0x88}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x62,0x5f,0xdb}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0x9a,0xb3,0xf4}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xb5,0xd2,0x11}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc3,0xb5,0xd3,0x40}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc6,0x39,0x1b,0xe3}, 9999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x3d,0xc6,0x70}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x3d,0xf8,0xd3}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcc,0x65,0xdc,0xc2}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0xb4,0xe4,0x46}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd0,0x49,0xc8,0xcb}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd1,0x5f,0x33,0xcc}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x53,0x3d,0xf6}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0x53,0x3d,0xf7}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0xed,0x09,0x3b}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd5,0x88,0x4e,0x68}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0x6b,0xd9,0x3e}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xbd,0x93,0x5f}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xbd,0x93,0xb2}, 9999}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xbd,0x97,0x5e}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd8,0xbd,0x97,0xcf}, 9999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xdc,0x79,0xe0,0x5b}, 9999} + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xde,0x74,0x40,0xe5}, 9999} }; static SeedSpec6 pnSeed6_test[] = { - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x30,0xa8,0x10}, 19999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x44,0xaf,0x4f}, 29999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3c,0xcd,0xda,0x05}, 19999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8f,0x6e,0x9c,0x93}, 19999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0xcb,0xf9}, 19999}, - {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xce,0xbd,0x93,0xf0}, 19999} + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2b,0xe5,0x4d,0x2e}, 19999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4d,0xa7,0xf7}, 19999}, + {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x3e,0xcb,0xf9}, 19999} }; #endif // BITCOIN_CHAINPARAMSSEEDS_H From 28e1d46cbb11f14b894ae81529f449bf7510e0af Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Wed, 10 Aug 2022 18:55:33 -0400 Subject: [PATCH 63/74] chore: bump nMinimumChainWork, defaultAssumeValid and m_assumed_blockchain_size for mainnet and testnet (#4960) * chore: bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet * chore: bump m_assumed_blockchain_size for mainnet and testnet --- src/chainparams.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 6f064512b2..4e49d3e927 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -250,10 +250,10 @@ public: consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nFalloffCoeff = 5; // this corresponds to 10 periods // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000549cd3ccb81a55892330"); // 1450000 + consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000076f91fbc02922ce2226e"); // 1718500 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x00000000000000105cfae44a995332d8ec256850ea33a1f7b700474e3dad82bc"); // 1450000 + consensus.defaultAssumeValid = uint256S("0x000000000000001af6e940e36cfc58573c71cce69eaa1f457164c395f31bd3be"); // 1718500 /** * The message start string is designed to be unlikely to occur in normal data. @@ -266,7 +266,7 @@ public: pchMessageStart[3] = 0xbd; nDefaultPort = 9999; nPruneAfterHeight = 100000; - m_assumed_blockchain_size = 35; + m_assumed_blockchain_size = 45; m_assumed_chain_state_size = 1; genesis = CreateGenesisBlock(1390095618, 28917698, 0x1e0ffff0, 1, 50 * COIN); @@ -473,10 +473,10 @@ public: consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nFalloffCoeff = 5; // this corresponds to 10 periods // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000022f14ac5d56b5ef"); // 470000 + consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000027babbb45da9fa4"); // 771500 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x0000009303aeadf8cf3812f5c869691dbd4cb118ad20e9bf553be434bafe6a52"); // 470000 + consensus.defaultAssumeValid = uint256S("0x00000067b30c1e082086bf9da8cf49344b90d8fda37b9051875c4c1420549b6f"); // 771500 pchMessageStart[0] = 0xce; pchMessageStart[1] = 0xe2; @@ -484,7 +484,7 @@ public: pchMessageStart[3] = 0xff; nDefaultPort = 19999; nPruneAfterHeight = 1000; - m_assumed_blockchain_size = 3; + m_assumed_blockchain_size = 4; m_assumed_chain_state_size = 1; genesis = CreateGenesisBlock(1390666206UL, 3861367235UL, 0x1e0ffff0, 1, 50 * COIN); From a78cccd355ceeb08e693304fb1c6d774544dc3d1 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Wed, 10 Aug 2022 18:55:59 -0400 Subject: [PATCH 64/74] chore: bump ChainTxData for mainnet and testnet (#4961) mainnet ``` getchaintxstats { "time": 1660074878, "txcount": 43702293, "window_final_block_hash": "0000000000000002ee5a0d2caa3f78cd630ece1a12ce74f7a8146eb6689b1b66", "window_final_block_height": 1718597, "window_block_count": 17280, "window_tx_count": 476084, "window_interval": 2724994, "txrate": 0.174710109453452 } ``` testnet ``` > dash-cli getblockhash 771537 0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f > dash-cli getchaintxstats 17280 0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f { "time": 1659215338, "txcount": 5579961, "window_final_block_hash": "0000028ce7bc90ddaa75703bbe576b8821e470b4b98bbe13be81eb79546e111f", "window_final_block_height": 771537, "window_block_count": 17280, "window_tx_count": 43514, "window_interval": 2428572, "txrate": 0.01791752519587642 } ``` --- src/chainparams.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 4e49d3e927..d12e96298c 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -358,10 +358,10 @@ public: }; chainTxData = ChainTxData{ - 1617874573, // * UNIX timestamp of last known number of transactions (Block 1450962) - 34709765, // * total number of transactions between genesis and that timestamp + 1660074878, // * UNIX timestamp of last known number of transactions (Block 1718597) + 43702293, // * total number of transactions between genesis and that timestamp // (the tx=... number in the ChainStateFlushed debug.log lines) - 0.3 // * estimated number of transactions per second after that timestamp + 0.175 // * estimated number of transactions per second after that timestamp }; } }; @@ -554,10 +554,10 @@ public: }; chainTxData = ChainTxData{ - 1617874832, // * UNIX timestamp of last known number of transactions (Block 477483) - 4926985, // * total number of transactions between genesis and that timestamp + 1659215338, // * UNIX timestamp of last known number of transactions (Block 771537) + 5579961, // * total number of transactions between genesis and that timestamp // (the tx=... number in the ChainStateFlushed debug.log lines) - 0.01 // * estimated number of transactions per second after that timestamp + 0.018 // * estimated number of transactions per second after that timestamp }; } }; From efd96178e44de14379a5b1e7452caae0fde3c475 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Thu, 11 Aug 2022 01:56:17 +0300 Subject: [PATCH 65/74] translations: Add final v18 updates for ar, de and zh_CN (#4962) NOTE: these files were made by running `./contrib/devtools/update-translations.py` on v18.x branch --- src/qt/locale/dash_ar.ts | 992 ++++++++++++++++++++++++++---------- src/qt/locale/dash_de.ts | 848 ++++++++++++++++++++---------- src/qt/locale/dash_zh_CN.ts | 854 +++++++++++++++++++++---------- 3 files changed, 1889 insertions(+), 805 deletions(-) diff --git a/src/qt/locale/dash_ar.ts b/src/qt/locale/dash_ar.ts index 9250a69e41..7ff48dc987 100644 --- a/src/qt/locale/dash_ar.ts +++ b/src/qt/locale/dash_ar.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ هذه هي عناوين داش التابعة لك من أجل إرسال الدفعات. تحقق دائما من المبلغ و عنوان المرسل المستقبل قبل إرسال العملات - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - هذه هي عناوين داش التابعة لك من أجل إستقبال الدفعات. ينصح استخدام عنوان جديد من أجل كل صفقة + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + هذه هي عناوين داش الخاصة بك لتلقي المدفوعات. استخدم الزر "إنشاء عنوان استلام جديد" في علامة تبويب الاستلام لإنشاء عناوين جديدة. &Copy Address @@ -191,12 +191,8 @@ اعد كتابة جملة السر الجديدة - Show password - عرض كلمة المرور - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - أدخل عبارة مرور جديدة إلى المحفظة. <br/>الرجاء استخدام عبارة مرور تتكون من<b>10 حروف عشوائية</b> على الاقل, أو<b> ثمانية كلمات على الاقل</b> + Show passphrase + إظهار جملة السر Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase تغيير كلمة المرور - - Enter the old passphrase and new passphrase to the wallet. - أدخل كلمة المرور القديمة والجديدة للمحفظة - Confirm wallet encryption تأكيد تشفير المحفظة @@ -246,6 +238,30 @@ Wallet encrypted محفظة مشفرة + + 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>. + أدخل عبارة المرور الجديدة للمحفظة. <br/>الرجاء استخدام عبارة مرور مكونة من <b>عشرة أحرف عشوائية أو أكثر ،<b> أو ثماني كلمات أو أكثر</b>. + + + Enter the old passphrase and new passphrase for the wallet. + أدخل كلمة المرور القديمة والجديدة للمحفظة + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + تذكر أن تشفير محفظتك لا يمكن أن يحمي أموالك بشكل كامل من السرقة عن طريق البرامج الضارة التي تصيب جهاز الكمبيوتر الخاص بك. + + + Wallet to be encrypted + المحفظة المراد تشفيرها + + + Your wallet is about to be encrypted. + محفظتك على وشك أن يتم تشفيرها. + + + Your wallet is now encrypted. + محفظتك الآن مشفرة. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. مهم:يجب استبدال أي نسخ احتياطية سابقة قمت بها من ملف المحفظة ملف المحفظة المشفر حديثًا. تحتوي النسخ الاحتياطية السابقة ملف المحفظة غير المشفرة على نفس البذرة عالية الدقة ، ولا تزال تتمتع بالوصول الكامل إلى جميع أموالك مثل المحفظة الجديدة المشفرة. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. خطأ فادح حدث . لا يمكن اتمام داش بامان سيتم الخروج - - Dash Core - جوهر الداش - - - Wallet - محفظة - - - Node - جهاز - &Overview نظرة عامة @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) أطلب دفعات (يولد كودات الرمز المربع وبيت كوين: العناوين المعطاة) + + &Sending addresses + &عناوين الإرسال + + + &Receiving addresses + &عناوين الاستقبال + + + Open Wallet + افتح المحفظة + + + Open a wallet + افتح المحفظة + + + Close Wallet... + إغلاق المحفظة ... + + + Close wallet + إغلاق المحفظة + + + No wallets available + لا توجد محافظ متاحة + + + &Window + &نافذة + + + Minimize + تصغير + + + Zoom + تكبير + + + Main Window + النافذة الرئيسية + &Transactions المعاملات @@ -371,10 +419,6 @@ Quit application الخروج من التطبيق - - Show information about Dash Core - أظهر المعلومات حولة داش الأساسية - About &Qt عن Qt @@ -391,6 +435,10 @@ &About %1 حوالي %1 + + Send %1 funds to a Dash address + إرسال %1 عملات الى عنوان داش + Modify configuration options for %1 تغيير خيارات الإعداد لأساس ل %1 @@ -511,18 +559,10 @@ Show automatically created wallet backups إظهار النسخ الاحتياطية المحفظة تلقائيا إنشاء - - &Sending addresses... - عناوين الإرسال... - Show the list of used sending addresses and labels عرض قائمة عناوين الإرسال المستخدمة والملصقات - - &Receiving addresses... - عناوين الاستقبال... - Show the list of used receiving addresses and labels عرض قائمة عناوين الإستقبال المستخدمة والملصقات @@ -543,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options عرض رسالة مساعدة %1 للحصول على قائمة مع خيارات سطر أوامر داش المحتملة + + default wallet + المحفظة الافتراضية + %1 client الزبون %1 @@ -561,17 +605,29 @@ &File ملف + + Show information about %1 + إظهار معلومات حول%1 + + + Create Wallet... + إنشاء المحفظة ... + + + Create a new wallet + أنشئ محفظة جديدة + %1 &information %1 معلومات - &Settings - الإعدادات + Show the %1 basic information + عرض %1 المعلومات الرئيسية - &Tools - الأدوات + &Settings + الإعدادات &Help @@ -581,6 +637,14 @@ Tabs toolbar شريط أدوات علامات التبويب + + &Governance + &حوكمة + + + View Governance Proposals + عرض مقترحات الحوكمة + %n active connection(s) to Dash network %n اتصالات نشطة بشبكة داش%n اتصالات نشطة بشبكة داش%n اتصالات نشطة بشبكة داش%n اتصالات نشطة بشبكة داش%n اتصالات نشطة بشبكة داش%n اتصالات نشطة بشبكة داش @@ -645,10 +709,18 @@ Error خطأ + + Error: %1 + خطأ: %1 + Warning تحذير + + Warning: %1 + تحذير:%1 + Information معلومات @@ -731,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> المحفظة هي <b>مشفرة</b> وحاليا <b>مؤمنة</b> + + Proxy is <b>enabled</b>: %1 + تم <b>تمكين</b> الوكيل:%1 + + + Original message: + رسالة أصلية: + CoinControlDialog @@ -898,6 +978,14 @@ Show all coins اظهار جميع العملات + + Hide %1 coins + إخفاء %1 العملات + + + Show all %1 coins + اظهار جميع %1 العملات + Show spendable coins only اظهار العملات التي يمكن صرفها فقط @@ -919,6 +1007,60 @@ غير معروف + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + جاري إنشاء المحفظة<b>%1</b> ... + + + Create wallet failed + فشل إنشاء المحفظة + + + Create wallet warning + إنشاء تحذير المحفظة + + + + CreateWalletDialog + + Create Wallet + إنشاء المحفظة + + + Wallet Name + اسم المحفظة + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + تشفير المحفظة. سيتم تشفير المحفظة بعبارة مرور من اختيارك. + + + Encrypt Wallet + تشفير المحفظة + + + 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. + تعطيل المفاتيح الخاصة لهذه المحفظة. لن تحتوي المحافظ التي تحتوي على مفاتيح خاصة معطلة على مفاتيح خاصة ولا يمكن أن تحتوي على مفتاح HD أو مفاتيح خاصة مستوردة. هذا مثالي لمحافظ الساعات فقط. + + + Disable Private Keys + تعطيل المفاتيح الخاصة + + + 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. + اصنع محفظة فارغة. لا تحتوي المحافظ الفارغة في البداية على مفاتيح أو نصوص خاصة. يمكن استيراد المفاتيح والعناوين الخاصة ، أو يمكن تعيين مصدر HD في وقت لاحق. + + + Make Blank Wallet + اصنع محفظة فارغة + + + Create + انشاء + + EditAddressDialog @@ -958,8 +1100,12 @@ العنوان الذي تم إدخاله "%1" ليس عنوانًا صالحًا لداش. - The entered address "%1" is already in the address book. - هدا العنوان "%1" موجود مسبقا في دفتر العناوين + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + العنوان "%1" موجود بالفعل كعنوان استلام بالتسمية "%2" ومن ثم لا يمكن إضافته كعنوان إرسال. + + + The entered address "%1" is already in the address book with label "%2". + العنوان الذي تم إدخاله "%1" موجود بالفعل في دفتر العناوين بالتسمية "%2". Could not unlock wallet. @@ -993,16 +1139,39 @@ لا يمكن انشاء دليل بيانات هنا . + + GovernanceList + + Form + نمودج + + + Filter List: + قائمة تصفية: + + + Filter propsal list + قائمة عوامل التصفية + + + Proposal Count: + عدد الاقتراح: + + + Filter by Title + تصفية حسب العنوان + + + Proposal Info: %1 + معلومات الاقتراح:%1 + + HelpMessageDialog version الإصدار - - (%1-bit) - (%1-بت) - About %1 حوالي %1 @@ -1011,7 +1180,15 @@ Command-line options خيارات سطر الأوامر - + + %1 information + %1 معلومات + + + <h3>%1 Basics</h3> %1 gives you true financial privacy by obscuring the origins of your funds. All the Dash in your wallet is comprised of different "inputs" which you can think of as separate, discrete coins.<br> %1 uses an innovative process to mix your inputs with the inputs of two or more other people, without having your coins ever leave your wallet. You retain control of your money at all times.<hr> <b>The %1 process works like this:</b><ol type="1"> <li>%1 begins by breaking your transaction inputs down into standard denominations. These denominations are 0.001 DASH, 0.01 DASH, 0.1 DASH, 1 DASH and 10 DASH -- sort of like the paper money you use every day.</li> <li>Your wallet then sends requests to specially configured software nodes on the network, called "masternodes." These masternodes are informed then that you are interested in mixing a certain denomination. No identifiable information is sent to the masternodes, so they never know "who" you are.</li> <li>When two or more other people send similar messages, indicating that they wish to mix the same denomination, a mixing session begins. The masternode mixes up the inputs and instructs all three users' wallets to pay the now-transformed input back to themselves. Your wallet pays that denomination directly to itself, but in a different address (called a change address).</li> <li>In order to fully obscure your funds, your wallet must repeat this process a number of times with each denomination. Each time the process is completed, it's called a "round." Each round of %1 makes it exponentially more difficult to determine where your funds originated.</li> <li>This mixing process happens in the background without any intervention on your part. When you wish to make a transaction, your funds will already be mixed. No additional waiting is required.</li> </ol> <hr><b>IMPORTANT:</b> Your wallet only contains 1000 of these "change addresses." Every time a mixing event happens, up to 9 of your addresses are used up. This means those 1000 addresses last for about 100 mixing events. When 900 of them are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled.<br> Consequently, users who have backups disabled will also have %1 disabled. <hr>For more information, see the <a style="%2" href="%3">%1 documentation</a>. + %1 يمنحك <h3>%1 أساسيات</h3> خصوصية مالية حقيقية من خلال حجب أصول أموالك. تتكون كل الداش في محفظتك من "مدخلات" مختلفة يمكنك التفكير فيها على أنها عملات معدنية منفصلة ومنفصلة.<br> %1 يستخدم عملية مبتكرة لخلط مدخلاتك مع مدخلات شخصين آخرين أو أكثر ، دون أن تترك عملاتك محفظتك. أنت تحتفظ بالسيطرة على أموالك في جميع الأوقات.<hr><b> تعمل %1 عملية على النحو التالي:</b><ol type="1"><li> يبدأ بتقسيم إدخالات معاملتك إلى فئات قياسية. هذه الفئات هي 0.001 داش و 0.01 داش و 0.1 داش و 1 داش و 10 داش - نوع من النقود الورقية التي تستخدمها كل يوم.</li><li> ثم ترسل محفظتك طلبات إلى عقد البرامج التي تم تكوينها خصيصًا على الشبكة ، والتي تسمى "العقد الرئيسية". يتم إبلاغ هذه الرموز الرئيسية بعد ذلك أنك مهتم بخلط فئة معينة. لا يتم إرسال أي معلومات يمكن التعرف عليها إلى رموز ماسترنود ، لذلك فهم لا يعرفون أبدًا "من أنت".</li><li> عندما يرسل شخصان آخران أو أكثر رسائل متشابهة ، للإشارة إلى رغبتهم في مزج نفس الفئة ، تبدأ جلسة خلط. يخلط الرمز الرئيسي بين المدخلات ويوجه جميع محافظ المستخدمين الثلاثة لدفع المدخلات التي تم تحويلها الآن لأنفسهم. تدفع محفظتك تلك الفئة مباشرة لنفسها ، ولكن في عنوان مختلف (يسمى تغيير العنوان). </li><li>من أجل إخفاء أموالك بالكامل ، يجب أن تكرر محفظتك هذه العملية عدة مرات مع كل فئة. في كل مرة يتم فيها الانتهاء من العملية ، يطلق عليها "جولة". كل جولة 1% تجعل تحديد مصدر أموالك أكثر صعوبة.</li><li> تحدث عملية الخلط هذه في الخلفية دون أي تدخل من جانبك. عندما ترغب في إجراء معاملة ، ستكون أموالك مختلطة بالفعل. لا حاجة إلى انتظار إضافي.</li></ol><hr><b> هام: </b>تحتوي محفظتك فقط على 1000 من "عناوين التغيير" هذه. في كل مرة يحدث فيها اختلاط ، يتم استخدام ما يصل إلى 9 عناوين. هذا يعني أن تلك العناوين الـ 1000 تدوم لحوالي 100 حدث خلط. عندما يتم استخدام 900 منهم ، يجب أن تنشئ محفظتك المزيد من العناوين. لا يمكنه القيام بذلك إلا إذا تم تمكين النسخ الاحتياطية التلقائية. <br>وبالتالي ، فإن المستخدمين الذين تم تعطيل النسخ الاحتياطية لديهم %1 سيتم أيضًا تعطيل.<hr> لمزيد من المعلومات ، <a style="%2" href="%3"> %1 راجع وثائق</a>. + + Intro @@ -1089,10 +1266,6 @@ Status الحالة. - - 0 - 0 - Filter List: قائمة تصفية: @@ -1253,8 +1426,8 @@ إخفاء - Unknown. Syncing Headers (%1)... - غير معروف. مزامنة الرؤوس (%1) ... + Unknown. Syncing Headers (%1, %2%)... + مجهول. مزامنة الرؤوس (%1،%2) ... @@ -1280,6 +1453,25 @@ حدد ملف طلب الدفع لفتحه + + OpenWalletActivity + + Open wallet failed + فشل فتح المحفظة + + + Open wallet warning + فتح تحذير المحفظة + + + default wallet + المحفظة الافتراضية + + + Opening Wallet <b>%1</b>... + جاري فتح المحفظة<b>%1</b> ... + + OptionsDialog @@ -1294,10 +1486,6 @@ Size of &database cache حجم ذاكرة التخزين المؤقت لقاعدة البيانات - - MB - م ب - Number of script &verification threads عدد مؤشرات التحقق من البرنامج النصي @@ -1314,6 +1502,22 @@ &Appearance &مظهر خارجي + + Prune &block storage to + تقليم وحظر التخزين إلى ملفات + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + تتطلب العودة إلى هذا الإعداد إعادة تنزيل بلوكشين بالكامل. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. عرض علامة تبويب إضافية تسرد جميع رموزك في أول علامة تبويب فرعية <br/>وجميع ماسترنود على الشبكة في علامة التبويب الفرعية الثانية. @@ -1322,6 +1526,14 @@ Show Masternodes Tab إضهار شريط ماسترنود + + Show additional tab listing governance proposals. + إظهار علامة تبويب إضافية تسرد مقترحات الحوكمة. + + + Show Governance Tab + إظهار علامة التبويب الحوكمة + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. إذا قمت بتعطيل الإنفاق من التغيير غير المؤكد ، فإن التغيير من معاملة<br/> لا يمكن استخدامه حتى يكون لهذه المعاملة تأكيد واحد على الأقل. <br/> يؤثر هذا أيضًا على كيفية حساب رصيدك. @@ -1378,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. فتح منفذ عميل داش كور تلقائيًا على جهاز التوجيه. هذا يعمل فقط عندما يدعم جهاز التوجيه الخاص بك UPnP وتمكينه. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + افتح منفذ عميل البيتكوين تلقائيًا على جهاز التوجيه. يعمل هذا فقط عندما يدعم جهاز التوجيه الخاص بك NAT-PMP ويتم تمكينه. يمكن أن يكون المنفذ الخارجي عشوائيًا. + + + Map port using NA&T-PMP + ميناء الخريطة باستخدام NA & T-PMP + Accept connections from outside. اقبل الاتصالات من الخارج. @@ -1402,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: استخدم بروكسي SOCKS5 منفصل للوصول إلى الأقران عبر خدمات Tor المخفية: + + Options set in this dialog are overridden by the command line or in the configuration file: + يتم تجاوز الخيارات المعينة في مربع الحوار هذا بواسطة سطر الأوامر أو في ملف التكوين: + Hide the icon from the system tray. إخفاء الرمز من علبة النظام. @@ -1428,7 +1652,7 @@ Automatically start %1 after logging in to the system. - ابدأ تلقائيًا %1 بعد تسجيل الدخول إلى النظام. + ابدأ تلقائيًا %1 بعد تسجيل الدخول إلى النظام. &Start %1 on system login @@ -1450,6 +1674,10 @@ &Network &الشبكة + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + يؤدي تمكين التقليم إلى تقليل مساحة القرص المطلوبة بشكل كبير لتخزين المعاملات. لا تزال جميع الكتل مصدق عليها بشكل كامل. تتطلب العودة إلى هذا الإعداد إعادة تنزيل بلوكشين بالكامل. + Map port using &UPnP ميناء الخريطة باستخدام UPnP @@ -1532,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits أرقام عشرية - - Active command-line options that override above options: - خيارات سطر الأوامر النشطة التي تتجاوز الخيارات أعلاه: - Reset all client options to default. إعادة تعيين كل إعدادات العميل للحالة الإفتراضية. @@ -1552,6 +1776,10 @@ https://www.transifex.com/projects/p/dash/ &Cancel الغاء + + Enable %1 features + تمكين %1 الميزات + default الافتراضي @@ -1739,6 +1967,26 @@ https://www.transifex.com/projects/p/dash/ keys left: %1 المفاتيح المتبقية: %1 + + Start %1 + بدأ %1 + + + If you don't want to see internal %1 fees/transactions select "Most Common" as Type on the "Transactions" tab. + إذا كنت لا ترغب في رؤية %1 رسوم / المعاملات الداخلية حدد "الأكثر شيوعًا" كأنواع في علامة شريط "المعاملات". + + + %1 requires at least %2 to use. + يتطلب%1 استخدام%2 على الأقل. + + + Wallet is locked and user declined to unlock. Disabling %1. + تم قفل المحفظة ورفض المستخدم فتحها. تعطيل%1. + + + Stop %1 + إيقاف%1 + Disabled غير متاح @@ -1802,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 عنوان الخاص بجلب طلب الدفع غير صالح: %1 + + Cannot process payment request because BIP70 support was not compiled in. + لا يمكن معالجة طلب الدفع لأنه لم يتم تجميع دعم BIP70 بتنسيق. + Invalid payment address %1 عنوان الدفع غير صالح %1 @@ -1902,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ وصلت + + Proposal + + Passing +%1 + تمرير +%1 + + + Needs additional %1 votes + يحتاج إلى%1 تصويتات إضافية + + + + ProposalModel + + Yes + نعم + + + No + لا + + + Hash + تجزئة + + + Title + عنوان + + + Start + ابدأ + + + End + نهاية + + + Amount + مبلغ + + + Active + نشيط + + + Status + الحالة. + + QObject @@ -1944,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) أظهر شاشة البداية عند بدء التشغيل (افتراضي: %u) + + Error: Specified data directory "%1" does not exist. + خطأ: دليل البيانات المحدد "%1" غير موجود. + + + Error: Cannot parse configuration file: %1. + خطأ: لا يمكن تحليل ملف التكوين:%1. + + + Error: %1 + خطأ: %1 + + + Error: Failed to load application fonts. + خطأ: فشل تحميل خطوط التطبيق. + + + Error: Specified font-family invalid. Valid values: %1. + خطأ: مجموعة الخطوط المحددة غير صالحة. القيم الصالحة: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + خطأ: خط الوزن العادي المحدد غير صالح. النطاق الصالح %1 إلى %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + خطأ: خط غامق محدد غير صالح. النطاق الصالح %1 إلى %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + خطأ: مقياس الخط المحدد غير صالح. النطاق الصالح %1 إلى %2. + + + Error: Invalid -custom-css-dir path. + خطأ: مسار -custom-css-dir غير صالح. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + خطأ: يفتقد %1 ملف (ملفات) CSS في المسار -custom-css-dir. + %1 didn't yet exit safely... %1 لم يخرج بعد بأمان... @@ -1960,6 +2302,10 @@ https://www.transifex.com/projects/p/dash/ Appearance Setup إعداد المظهر + + Please choose your preferred settings for the appearance of %1 + الرجاء اختيار الإعدادات المفضلة لديك لمظهر%1 + This can also be adjusted later in the "Appearance" tab of the preferences. يمكن أيضًا تعديل هذا لاحقًا في علامة التبويب "المظهر" في التفضيلات. @@ -2041,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ غير معروف - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - خطأ: دليل البيانات المحدد "%1" غير موجود. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - خطأ: لا يمكن تحليل ملف التهيئة: %1. استخدم فقط بناء الجملة = القيمة الأساسية. - - - Error: %1 - خطأ: %1 - - - Error: Failed to load application fonts. - خطأ: فشل تحميل خطوط التطبيق. - - - Error: Specified font-family invalid. Valid values: %1. - خطأ: مجموعة الخطوط المحددة غير صالحة. القيم الصالحة: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - خطأ: خط الوزن العادي المحدد غير صالح. النطاق الصالح %1 إلى %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - خطأ: خط غامق محدد غير صالح. النطاق الصالح %1 إلى %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - خطأ: مقياس الخط المحدد غير صالح. النطاق الصالح %1 إلى %2. - - - Error: Invalid -custom-css-dir path. - خطأ: مسار -custom-css-dir غير صالح. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - خطأ: يفتقد %1 ملف (ملفات) CSS في المسار -custom-css-dir. - - QRDialog @@ -2132,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image &نسخ الصورة + + Resulting URI too long, try to reduce the text for label / message. + العنوان المستخدم طويل جدًا، حاول أن تقوم بتقليل نص التسمية / الرسالة. + + + Error encoding URI into QR Code. + خطأ في ترميز العنوان إلى الرمز المربع. + + + QR code support not available. + دعم رمز الاستجابة السريعة غير متاح. + Save QR Code حفظ رمز الاستجابة السريعة QR @@ -2187,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file تصحيح ملف السجل - - Current number of blocks - عدد الكتل الحالي - Client version نسخه العميل - - Using BerkeleyDB version - باستخدام BerkeleyDB إصدار - Block chain سلسلة الكتل @@ -2287,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 إعادة فحص ملفات بلوكشين2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + ستقوم الأزرار الموجودة أدناه بإعادة تشغيل المحفظة باستخدام خيارات سطر الأوامر لإصلاح المحفظة ، وإصلاح المشكلات المتعلقة بملفات بلوكشين الفاسدة أو معاملات مفقودة / قديمة. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan = 1: إعادة فحص سلسلة الكتل بحثًا عن معاملات المحفظة المفقودة بدءًا من وقت إنشاء المحفظة. @@ -2307,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir دليل البيانات + + To specify a non-default location of the data directory use the '%1' option. + لتحديد موقع غير افتراضي لدليل البيانات ، استخدم الخيار "%1". + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + لتحديد موقع غير افتراضي لدليل الكتل ، استخدم الخيار "%1". + + + Current block height + ارتفاع الكتلة الحالي + Last block hash آخر تجزئة كتلة + + Latest ChainLocked block hash + أحدث تجزئة كتلة ChainLocked + + + Latest ChainLocked block height + أحدث ارتفاع كتلة ChainLocked + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. افتح ملف سجل تصحيح %1 من دليل البيانات الحالي. قد يستغرق هذا بضع ثوانٍ لملفات السجل الكبيرة. @@ -2387,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair إصلاح المحفظة - - Salvage wallet - محفظة الإنقاذ - Recover transactions 1 استرداد المعاملات 1 @@ -2403,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format ترقية تنسيق المحفظة - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - ستقوم الأزرار الموجودة أدناه بإعادة تشغيل المحفظة باستخدام خيارات سطر الأوامر لإصلاح المحفظة ، وإصلاح المشكلات المتعلقة بملفات بلوكشين الفاسدة أو معاملات مفقودة / قديمة. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - محفظة النقود: محاولة استرداد المفاتيح الخاصة من wallet.dat فاسدة. - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). zapwallettxes = 1: استرداد المعاملات من بلوكشين (الاحتفاظ ببيانات التعريف ، على سبيل المثال ، مالك الحساب). @@ -2587,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &القيمة - &Request payment - &طلب دفعة + &Create new receiving address + & إنشاء عنوان استلام جديد Clear all fields of the form. @@ -2630,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI نسخ العنوان + + Copy address + انسخ عنوان + Copy label انسخ التسمية @@ -2693,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet محفظة - - Resulting URI too long, try to reduce the text for label / message. - العنوان المستخدم طويل جدًا، حاول أن تقوم بتقليل نص التسمية / الرسالة. - - - Error encoding URI into QR Code. - خطأ في ترميز العنوان إلى الرمز المربع. - RecentRequestsTableModel @@ -2799,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... إختر … - - collapse fee-settings - خفض الإعدادات الرسوم - Confirmation time target: هدف وقت التأكيد: @@ -2827,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. ملاحظة: لا توجد بيانات كافية لتقدير الرسوم ، باستخدام الرسوم الاحتياطية بدلاً من ذلك. + + Hide transaction fee settings + إخفاء إعدادات رسوم المعاملات + Hide إخفاء @@ -2923,22 +3242,34 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? هل أنت متأكد من أنك تريد أن ترسل؟ - - are added as transaction fee - تضاف كرسوم المعاملة - - - Total Amount = <b>%1</b><br />= %2 - المجموع المبلغ = <b> %1</b> <br /> = %2 - <b>(%1 of %2 entries displayed)</b> <b>( %1 على %2 المداخلات المعروضة)</b> + + S&end mixed funds + إرسال أموال مختلطة + + + Confirm the %1 send action + قم بتأكيد إجراء إرسال%1 + + + %1 funds only + %1 أموال فقط + any available funds أي أموال متاحة + + Transaction fee + رسوم المعاملة + + + (%1 transactions have higher fees usually due to no change output being allowed) + (%1 معاملات لها رسوم أعلى عادة بسبب عدم السماح بإخراج التغيير) + Transaction size: %1 حجم العملية: %1 @@ -2951,6 +3282,22 @@ https://www.transifex.com/projects/p/dash/ This transaction will consume %n input(s) ستستهلك هذه المعاملة إدخال٪ nستستهلك هذه المعاملة إدخال٪ nستستهلك هذه المعاملة إدخال٪ nستستهلك هذه المعاملة إدخال٪ nستستهلك هذه المعاملة إدخال٪ nستستهلك هذه المعاملة مدخلات %n + + Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended + تحذير: قد يؤدي استخدام%1 مع%2 أو أكثر من الإدخالات إلى الإضرار بالخصوصية ولا يوصى بذلك + + + Click to learn more + اضغط لتتعلم المزيد + + + Total Amount + المبلغ الإجمالي + + + or + أو + Confirm send coins تأكيد الإرسال Coins @@ -2967,6 +3314,10 @@ https://www.transifex.com/projects/p/dash/ The amount exceeds your balance. القيمة تتجاوز رصيدك + + The total exceeds your balance when the %1 transaction fee is included. + المجموع يتجاوز رصيدك عندما يتم اضافة %1 رسوم العملية + Duplicate address found: addresses should only be used once each. تم العثور على عنوان مكرر: يجب استخدام العناوين مرة واحدة فقط. @@ -2975,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! فشل في إنشاء المعاملة! - - The transaction was rejected with the following reason: %1 - تم رفض المعاملة للسبب التالي: %1 - A fee higher than %1 is considered an absurdly high fee. تعتبر الرسوم الأعلى من %1 رسوماً باهظة. @@ -3018,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - هذا دفع اعتيادي - Pay &To: ادفع &الى : @@ -3062,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: &القيمة + + The amount to send in the selected unit + المبلغ المراد إرساله في الوحدة المختارة + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. سيتم خصم الرسوم من المبلغ الذي يتم إرساله. سوف يتلقى المستلم كمية أقل من الشرطة من إدخالها في حقل المبلغ. في حالة تحديد عدة مستلمين ، يتم تقسيم الرسوم بالتساوي. @@ -3106,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - نعم + Send + إرسال @@ -3195,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with عنوان داش الذي تم توقيع الرسالة به + + The signed message to verify + الرسالة الموقعة للتحقق + + + The signature given when the message was signed + التوقيع المعطى عند توقيع الرسالة + Verify the message to ensure it was signed with the specified Dash address تحقق من الرسالة للتأكد من توقيعها باستخدام عنوان داش المحدد @@ -3436,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size المجموع الكلي للمعاملات + + (Certificate was not verified) + (لم يتم التحقق من الشهادة) + Merchant تاجر @@ -3546,6 +3905,10 @@ https://www.transifex.com/projects/p/dash/ Received from استقبل من + + Received via %1 + تم الاستلام عبر%1 + Sent to أرسل إلى @@ -3558,6 +3921,26 @@ https://www.transifex.com/projects/p/dash/ Mined Mined + + %1 Mixing + %1 خلط + + + %1 Collateral Payment + %1 دفعة الضمان + + + %1 Make Collateral Inputs + %1 قم بعمل إدخالات جانبية + + + %1 Create Denominations + %1 قم بإنشاء فئة + + + %1 Send + %1 إرسال + watch-only مشاهدة فقط @@ -3637,6 +4020,26 @@ https://www.transifex.com/projects/p/dash/ Sent to أرسل إلى + + %1 Send + %1 إرسال + + + %1 Make Collateral Inputs + %1 قم بعمل إدخالات جانبية + + + %1 Create Denominations + %1 قم بإنشاء فئة + + + %1 Mixing + %1 خلط + + + %1 Collateral Payment + %1 دفعة الضمان + To yourself إليك @@ -3686,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ نسخ كامل تفاصيل المعاملة - Edit label - عدل الوصف + Edit address label + تحرير تسمية العنوان Show transaction details @@ -3769,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ الوحدة لإظهار المبالغ فيها. انقر لتحديد وحدة أخرى. + + WalletController + + Close wallet + أغلق المحفظة + + + Are you sure you wish to close the wallet <i>%1</i>? + هل أنت متأكد من رغبتك في إغلاق المحفظة<i>%1</i>؟ + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + قد يؤدي إغلاق المحفظة لفترة طويلة إلى الاضطرار إلى إعادة مزامنة السلسلة بأكملها إذا تم تمكين التقليم. + + WalletFrame @@ -3782,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins إرسال Coins + + default wallet + المحفظة الافتراضية + WalletView @@ -3832,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) خطأ: فشل الاستماع إلى الاتصالات الواردة (تم إرجاع الخطأ %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + فشل تقدير الرسوم. تم تعطيل الرسوم الاحتياطية. انتظر بضع كتل أو قم بتمكين -رسوم التراجع. + + + 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 + يمكن أن يحدث هذا الخطأ إذا لم يتم إغلاق هذه المحفظة بشكل سليم وتم تحميلها مؤخرًا باستخدام إصدار أحدث من Berkeley DB. إذا كان الأمر كذلك ، فالرجاء استخدام البرنامج الذي تم تحميل هذه المحفظة آخر مرة + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications This is a pre-release test build - use at your own risk - do not use for mining or merchant applications @@ -3892,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. خطأ في القراءة من قاعدة البيانات ، والتوقف. - - Error - خطأ - - - Error: Disk space is low! - تحذير: مساحة القرص منخفضة - Failed to listen on any port. Use -listen=0 if you want this. فشل في الاستماع على أي منفذ. استخدام الاستماع = 0 إذا كنت تريد هذا. @@ -3936,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. يتجاوز الدخول الحد الأقصى للحجم. - - Failed to load fulfilled requests cache from - فشل في تحميل ذاكرة التخزين المؤقت للطلبات التي تم تنفيذها. - - - Failed to load governance cache from - فشل تحميل ذاكرة التخزين المؤقتة من - - - Failed to load masternode cache from - فشل تحميل ذاكرة التخزين المؤقتة من - Found enough users, signing ( waiting %s ) العثور على عدد كافٍ من المستخدمين ، والتوقيع (الانتظار %s) @@ -3972,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? لم يتم العثور على كتلة تكوين أو لم تكون صحيحة. datadir خاطئة للشبكة؟ - - Information - معلومات - Input is not valid. الإدخال غير صالح .. @@ -4056,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. استجابة غير معروفة. - - Unsupported argument -benchmark ignored, use -debug=bench. - الوسيطة غير مدعومة - بامتياز تجاهلها ، استخدم -debug = bench. - - - Unsupported argument -debugnet ignored, use -debug=net. - تم تجاهل الوسيطة غير المدعومة -debugnet ، استخدم -debug = net. - - - Unsupported argument -tor found, use -onion. - تم العثور على وسيطة غير مدعومة -tor ، استخدم -onion. - User Agent comment (%s) contains unsafe characters. يحتوي تعليق وكيل المستخدم (%s) على أحرف غير آمنة. @@ -4084,6 +4478,14 @@ https://www.transifex.com/projects/p/dash/ Can't find random Masternode. لا يمكن العثور على ماسترنود عشوائي. + + %s can't be lower than %s + لا يمكن أن يكون%s أقل من%s + + + %s is idle. + %s خامل. + Can't mix while sync in progress. لا يمكن الدمج أثناء المزامنة قيد التقدم. @@ -4100,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! يحتوي ملف %s على جميع المفاتيح الخاصة من هذه المحفظة. لا تشاركه مع أي شخص! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - تم إهمال خيار -masternode وتجاهله ، مع تحديد -masternodeblsprivkey يكفي لبدء هذه العقدة كعقدة رئيسية. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. فشل إنشاء نسخة احتياطية ، يوجد ملف بالفعل! قد يحدث هذا إذا أعدت تشغيل المحفظة في أقل من 60 ثانية. يمكنك الاستمرار إذا كنت على ما يرام مع هذا. @@ -4136,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. المجموع طول سلسلة إصدار الشبكة (%i) يتجاوز الحد الأقصى للطول (%i). تقليل عدد أو حجم - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - تم العثور على وسيطة غير مدعومة. إعداد SOCKS غير ممكن بعد الآن ، يتم دعم بروكسيات SOCKS5 فقط. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - الوسيطة غير المدعومة -whitelistalwaysrelay تم تجاهلها واستخدامها - و / أو whitelistforcerelay و / أو -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. تحذير! تعذّر تجديد مفتاح keypool ، يرجى إلغاء قفل محفظتك للقيام بذلك. @@ -4152,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. المحفظة مؤمّنة ، ولا يمكن تجديد مفتاح keypool! تم تعطيل النسخ الاحتياطي التلقائي والاختلاط ، يرجى فتح محفظتك لتجديد keypool - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - تحذير: يتم نسخ إصدارات الحظر غير المعروفة! من المحتمل أن تكون قواعد غير معروفة سارية المفعول - You need to rebuild the database using -reindex to change -timestampindex تحتاج إلى إعادة بناء قاعدة البيانات باستخدام -reindex لتغيير -timestampindex @@ -4165,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ تحتاج إلى إعادة إنشاء قاعدة البيانات باستخدام -reindex للعودة إلى الوضعية الغير مجردة. هذا سوف يعيد تحميل سلسلة الكتل بأكملها - -litemode is deprecated. - تم إهمال الوضع -litemode. + %s failed + فشل%s -maxmempool must be at least %d MB @@ -4176,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled النسخ الاحتياطي التلقائي تعطيل + + Cannot set -peerblockfilters without -blockfilterindex. + لا يمكن تعيين -peerblockfilters بدون -blockfilterindex. + + + Config setting for %s only applied on %s network when in [%s] section. + يتم تطبيق إعداد التكوين لـ%s فقط على شبكة%s في قسم [%s]. + + + Could not find asmap file %s + تعذر العثور على ملف asmap %s + + + Could not parse asmap file %s + تعذر تحليل ملف asmap %s + ERROR! Failed to create automatic backup خطأ! فشل إنشاء نسخة احتياطية تلقائية + + Error loading %s: Private keys can only be disabled during creation + خطأ في تحميل%s: لا يمكن تعطيل المفاتيح الخاصة إلا أثناء الإنشاء + Error upgrading evo database خطأ في ترقية قاعدة بيانات evo @@ -4188,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details خطأ: حدث خطأ داخلي فادح، راجع debug.log للحصول على التفاصيل + + Error: Disk space is low for %s + خطأ: مساحة القرص منخفضة لـ%s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) خطأ: فشل في إضافة مأخذ التوصيل إلى epollfd (أرجع epoll_ctl الخطأ %s) @@ -4196,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. تم تجاوز الحد الأقصى من المحاولات. - - Failed to clear fulfilled requests cache at - فشل مسح ذاكرة التخزين المؤقت للطلبات التي تم الوفاء بها في - - - Failed to clear governance cache at - فشل مسح ذاكرة التخزين المؤقت للحوكمة في - - - Failed to clear masternode cache at - فشل مسح ذاكرة التخزين المؤقت للرمز الرئيسي في - Failed to commit EvoDB فشل الالتزام بـ EvoDB @@ -4224,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s أخفق حذف النسخة الاحتياطية ، الخطأ: %s - - Failed to load sporks cache from - فشل تحميل ذاكرة التخزين المؤقت - Failed to rescan the wallet during initialization فشل في إعادة فحص المحفظة أثناء التهيئة + + Invalid P2P permission: '%s' + إذن P2P غير صالح: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' المبلغ غير صالح fallbackfee = <amount> :'%s- @@ -4240,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. masternodeblsprivkey غير صالح. يرجى الاطلاع على الوثائق. - - It has been replaced by -disablegovernance. - تم استبدالها بـ -disablegovernance. - - - Its replacement -disablegovernance has been forced instead. - وبدلاً من ذلك ، تم إجبار نظام الحكم البديل المعطل. - Loading block index... تحميل مؤشر الكتلة @@ -4300,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. لا يمكن تهيئة التجريد بقيمة سالبة. + + Prune mode is incompatible with -blockfilterindex. + وضع التقليم غير متوافق مع -blockfilterindex. + Prune mode is incompatible with -disablegovernance=false. وضع التقليم غير متوافق مع -disablegovernance = false. @@ -4312,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... تجريد مخزن الكتل... + + Section [%s] is not recognized. + المقطع [%s] غير معروف. + Specified -walletdir "%s" does not exist - المحفظة المحددة "%s" غير موجودة @@ -4328,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... مزامنة بلوكشين... + + The specified config file %s does not exist + + ملف التكوين المحدد%s غير موجود + + The wallet will avoid paying less than the minimum relay fee. سوف تتجنب المحفظة دفع أقل من الحد الأدنى لرسوم التتابع. @@ -4368,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. يتعذر الربط مع %s على هذا الكمبيوتر. من المحتمل أن %s قيد التشغيل بالفعل. + + Unable to create the PID file '%s': %s + تعذر إنشاء ملف PID '%s':%s + Unable to generate initial keys تعذر إنشاء المفاتيح الأولية - Upgrading UTXO database - ترقية قاعدة بيانات UTXO + Unknown -blockfilterindex value %s. + قيمة فهرس كتلة التصفية غير معروفة%s. - Wallet %s resides outside wallet directory %s - توجد المحفظة %s خارج دليل الحافظة %s + Upgrading UTXO database + ترقية قاعدة بيانات UTXO Wallet needed to be rewritten: restart %s to complete @@ -4404,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex تحتاج إلى إعادة بناء قاعدة البيانات باستخدام -reindex لتغيير -spentindex - - You need to rebuild the database using -reindex to change -txindex - تحتاج إلى إعادة بناء قاعدة البيانات باستخدام -reindex لتغيير -txindex - no mixing available. لا خلط متاح. @@ -4416,14 +4820,14 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. انظر debug.log للحصول على التفاصيل. - - Dash Core - جوهر الداش - The %s developers %s المبرمجون + + %s uses exact denominated amounts to send funds, you might simply need to mix some more coins. + يستخدم%s مبالغ محددة بدقة لإرسال الأموال ، قد تحتاج ببساطة إلى خلط بعض العملات المعدنية. + Cannot obtain a lock on data directory %s. %s is probably already running. لا يمكن الحصول على قفل على دليل البيانات %s. من المحتمل أن %s يعمل بالفعل. @@ -4469,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ غير قادر على إعادة الكتل. ستحتاج إلى إعادة بناء قاعدة البيانات باستخدام -reindex-chainstate. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - تحذير: ملف المحفظة فاسد ، تم انقاذ البيانات! تم حفظ %s الأصلي ك %s في %s؛ إذا كان رصيدك أو كانت معاملاتك غير صحيحة، فيجب عليك الإستعادة من نسخة احتياطية. + Warning: Private keys detected in wallet {%s} with disabled private keys + تحذير: تم اكتشاف مفاتيح خاصة في المحفظة {%s} مع تعطيل المفاتيح الخاصة %d of last 100 blocks have unexpected version %d من الـ 100 كتلة الأخيرة بها إصدار غير متوقع - - %s corrupt, salvage failed - %s فاسدة ، فشلت عملية الإنقاذ - %s is not a valid backup folder! %s ليس مجلد نسخ احتياطي صالح! + + %s is only allowed with a single wallet file + %s مسموح به مع ملف محفظة واحد فقط + %s is set very high! %s عالٍ جداً + + %s request incomplete: + طلب%s غير مكتمل: + -devnet can only be specified once لا يمكن تحديد -devnet إلا مرة واحدة @@ -4500,10 +4908,18 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified يجب تحديد -ppcport عند تحديد -devnet و -server + + A fatal internal error occurred, see debug.log for details + حدث خطأ داخلي فادح ، راجع debug.log للحصول على التفاصيل + Cannot resolve -%s address: '%s' لا يمكن حل - عنوان%s: '%s' + + Cannot write to data directory '%s'; check permissions. + لا يمكن الكتابة إلى دليل البيانات '%s' ؛ تحقق من الأذونات. + Change index out of range فهرس الفكة خارج النطاق @@ -4512,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) حقوق الطبع والنشر (C) + + Disk space is too low! + مساحة القرص منخفضة جدًا! + Error loading %s خطأ في تحميل %s @@ -4536,10 +4956,42 @@ https://www.transifex.com/projects/p/dash/ Error upgrading chainstate database خطأ في ترقية قاعدة بيانات chainstate + + Error: failed to add socket to kqueuefd (kevent returned error %s) + خطأ: فشل إضافة مأخذ التوصيل إلى kqueuefd (أرجع kevent الخطأ%s) + + + Failed to clear fulfilled requests cache at %s + فشل مسح ذاكرة التخزين المؤقت للطلبات التي تم الوفاء بها في%s + + + Failed to clear governance cache at %s + فشل مسح التخزين المؤقت للحوكمة عند%s + + + Failed to clear masternode cache at %s + فشل مسح ذاكرة التخزين المؤقت لـ Masternode في%s + Failed to find mixing queue to join فشل في العثور على قائمة انتظار الخلط للانضمام + + Failed to load fulfilled requests cache from %s + فشل تحميل ذاكرة التخزين المؤقت للطلبات التي تم الوفاء بها من%s + + + Failed to load governance cache from %s + فشل تحميل ذاكرة التخزين المؤقت للحوكمة من%s + + + Failed to load masternode cache from %s + فشل تحميل ذاكرة التخزين المؤقت للرمز الرئيسي من%s + + + Failed to load sporks cache from %s + فشل تحميل ذاكرة التخزين المؤقت لـ sporks من%s + Failed to start a new mixing queue فشل في بدء صف مختلط جديد @@ -4600,10 +5052,22 @@ https://www.transifex.com/projects/p/dash/ Signing transaction failed فشل توقيع المعاملة + + Specified blocks directory "%s" does not exist. + دليل الكتل المحدد "%s" غير موجود. + Last queue was created too recently. تم إنشاء قائمة الانتظار الأخيرة مؤخرًا. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s تالف. حاول استخدام dash-wallet لأداة المحفظة لإنقاذ أو استعادة نسخة احتياطية. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + لا يمكن إنشاء مفتاح تغيير العنوان. لا توجد مفاتيح في مجموعة المفاتيح الداخلية ولا يمكن إنشاء أي مفاتيح. + Last successful action was too recent. آخر إجراء ناجح كان حديثًا جدًا. @@ -4644,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. المعاملة غير صالحة. - - Transaction too large for fee policy - قيمة المعاملة كبيرة جدا لسياسة الأجر - Unable to bind to %s on this computer (bind returned error %s) يتعذر الربط مع %s على هذا الكمبيوتر (الربط انتج خطأ %s) @@ -4676,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. فئة التسجيل غير المعتمدة%s=%s. + + Upgrading txindex database + تحديث قاعدة بيانات txindex + Verifying blocks... التحقق من الكتل... @@ -4689,8 +5153,12 @@ https://www.transifex.com/projects/p/dash/ المحفظة مؤمنة. - Warning - تحذير + Warning: can't use %s and %s together, will prefer %s + تحذير: لا يمكن استخدام%s و%s معًا ، ويفضل%s + + + Warning: incorrect parameter %s, path must exist! Using default path. + تحذير: معلمة غير صحيحة%s ، يجب أن يكون المسار موجودًا! باستخدام المسار الافتراضي. You are starting with governance validation disabled. diff --git a/src/qt/locale/dash_de.ts b/src/qt/locale/dash_de.ts index f94c6cb8f1..c21236f177 100644 --- a/src/qt/locale/dash_de.ts +++ b/src/qt/locale/dash_de.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ Dies sind ihre Dash-Adressen zum Tätigen von Überweisungen. Bitte prüfen Sie den Betrag und die Empfangsadresse, bevor Sie Dash überweisen. - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dies sind ihre Dash-Adressen zum Empfangen von Zahlungen. Es wird empfohlen für jede Transaktion eine neue Empfangsadresse zu verwenden. + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + Hierbei handelt es sich um deine Dash-Adressen für den Empfang von Zahlungen. Nutze die Schaltfläche "Neue Empfangsadresse erstellen" auf der Registerkarte "Empfangen", um neue Adressen zu erstellen. &Copy Address @@ -191,12 +191,8 @@ Neue Passphrase wiederholen - Show password - Passwort anzeigen - - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - Geben Sie die neue Passphrase für die Wallet ein.<br>Bitte benutzen Sie eine Passphrase bestehend aus <b>10 oder mehr zufälligen Zeichen</b> oder <b>8 oder mehr Wörtern</b>. + Show passphrase + Passphrase anzeigen Encrypt wallet @@ -226,10 +222,6 @@ Change passphrase Passphrase ändern - - Enter the old passphrase and new passphrase to the wallet. - Geben Sie die alte und neue Wallet-Passphrase ein. - Confirm wallet encryption Wallet-Verschlüsselung bestätigen @@ -246,6 +238,30 @@ Wallet encrypted Wallet verschlüsselt + + 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>. + Gib die neue Passphrase für die Wallet ein.<br/>Bitte nutze eine Passphrase mit <b>zehn oder mehr zufälligen Zeichen</b>, oder <b>acht oder mehr Wörtern</b>. + + + Enter the old passphrase and new passphrase for the wallet. + Gib nun sowhl die bisherige Passphrase als auch die neue Passphrase für die Wallet ein. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + Die Verschlüsselung deiner Wallet kann dich nicht vollständig davor schützen, dass dein Geld durch Malware gestohlen wird, die deinen Computer infiziert. + + + Wallet to be encrypted + Zu verschlüsselnde Wallet + + + Your wallet is about to be encrypted. + Deine Wallet wird jetzt verschlüsselt. + + + Your wallet is now encrypted. + Deine Wallet ist jetzt verschlüsselt. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. WICHTIG: Alle vorherigen Wallet-Sicherungen sollten durch die neu erzeugte, verschlüsselte Wallet ersetzt werden. Vorherige Backups der unverschlüsselten Wallet beinhalten den gleichen HD-Seed, weswegen sie weiterhin auf das Guthaben der verschlüsselten Wallet zugreifen können. @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. Ein kritischer Fehler ist aufgetreten. Dash Core kann nicht mehr ausgeführt werden und wird nun beendet. - - Dash Core - Dash Core - - - Wallet - Wallet - - - Node - Knoten - &Overview &Übersicht @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) Zahlungen anfordern (erzeugt QR-Codes und "dash:"-URIs) + + &Sending addresses + &Absendeadressen + + + &Receiving addresses + &Empfangsadressen + + + Open Wallet + Wallet öffnen + + + Open a wallet + Eine Wallet öffnen + + + Close Wallet... + Wallet schließen... + + + Close wallet + Wallet schließen + + + No wallets available + Keine Wallets verfügbar + + + &Window + &Fenster + + + Minimize + Minimieren + + + Zoom + Zoom + + + Main Window + Hauptfenster + &Transactions &Transaktionen @@ -371,10 +419,6 @@ Quit application Anwendung beenden - - Show information about Dash Core - Informationen über Dash Core anzeigen - About &Qt Über &Qt @@ -515,18 +559,10 @@ Show automatically created wallet backups Automatisch erzeugte Wallet-Sicherheitskopien anzeigen - - &Sending addresses... - &Zahlungsadressen... - Show the list of used sending addresses and labels Liste verwendeter Zahlungsadressen und Bezeichnungen anzeigen - - &Receiving addresses... - &Empfangsadressen... - Show the list of used receiving addresses and labels Liste verwendeter Empfangsadressen und Bezeichnungen anzeigen @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options Zeige den "%1"-Hilfetext, um eine Liste mit möglichen Kommandozeilenoptionen zu erhalten + + default wallet + default wallet + %1 client %1 Client @@ -565,6 +605,18 @@ &File &Datei + + Show information about %1 + Zeige Informationen über %1 + + + Create Wallet... + Wallet erstellen... + + + Create a new wallet + Eine neue Wallet erstellen + %1 &information %1 &Information @@ -577,10 +629,6 @@ &Settings &Einstellungen - - &Tools - &Werkzeuge - &Help &Hilfe @@ -589,6 +637,14 @@ Tabs toolbar Registerkartenleiste + + &Governance + &Governance + + + View Governance Proposals + Zeige Governance Proposals + %n active connection(s) to Dash network %n aktive Verbindung zum Dash-Netzwerk%n aktive Verbindungen zum Dash-Netzwerk @@ -653,10 +709,18 @@ Error Fehler + + Error: %1 + Fehler: %1 + Warning Warnung + + Warning: %1 + Warnung: %1 + Information Hinweis @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> Wallet ist <b>verschlüsselt</b> und aktuell <b>gesperrt</b> + + Proxy is <b>enabled</b>: %1 + Proxy ist <b>aktiviert</b>: %1 + + + Original message: + Originalnachricht: + CoinControlDialog @@ -935,6 +1007,60 @@ k.A. + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + Erstelle Wallet <b>%1</b>... + + + Create wallet failed + Wallet erstellen fehlgeschlagen + + + Create wallet warning + Wallet Erstellen Warnung + + + + CreateWalletDialog + + Create Wallet + Wallet erstellen + + + Wallet Name + Wallet Name + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + Verschlüssele die Wallet. Die Wallet wird mit einer Passphrase deiner Wahl verschlüsselt. + + + Encrypt Wallet + Wallet verschlüsseln + + + 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. + Deaktiviere die privaten Schlüssel für diese Wallet. Wallets mit deaktivierten privaten Schlüsseln haben keine privaten Schlüssel und können weder einen HD-Seed noch importierte private Schlüssel haben. Diese Option ist ideal für reine Watch-Only-Wallets. + + + Disable Private Keys + Private Schlüssel deaktivieren + + + 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. + Eine leere Wallet erstellen. Eine leere Wallet hat zunächst keine privaten Schlüssel oder Skripte. Zu einem späteren Zeitpunkt können private Schlüssel und Adressen importiert oder ein HD-Seed gesetzt werden. + + + Make Blank Wallet + Blanko-Wallet erstellen + + + Create + Erstellen + + EditAddressDialog @@ -974,8 +1100,12 @@ Die eingegebene Adresse "%1" ist keine gültige Dash-Adresse. - The entered address "%1" is already in the address book. - Die eingegebene Adresse "%1" befindet sich bereits im Adressbuch. + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + Adresse "%1" existiert bereits als Empfangsadresse mit dem Label "%2", weshalb sie nicht als Sendeadresse hinzugefügt werden kann. + + + The entered address "%1" is already in the address book with label "%2". + Die eingegebene Adresse "%1" ist bereits im Adressbuch mit der Bezeichnung "%2" enthalten. Could not unlock wallet. @@ -1009,16 +1139,39 @@ Datenverzeichnis kann hier nicht angelegt werden. + + GovernanceList + + Form + Form + + + Filter List: + Filter Liste: + + + Filter propsal list + Filter Propsal Liste + + + Proposal Count: + Proposal Zahl: + + + Filter by Title + Filter nach Titel + + + Proposal Info: %1 + Proposal Info: %1 + + HelpMessageDialog version Version - - (%1-bit) - (%1-Bit) - About %1 Über %1 @@ -1113,10 +1266,6 @@ Status Status - - 0 - 0 - Filter List: Filterliste: @@ -1277,8 +1426,8 @@ Verbergen - Unknown. Syncing Headers (%1)... - Unbekannt. Synchronisiere Header (%1)... + Unknown. Syncing Headers (%1, %2%)... + Unbekannt. Synchronisiere Headers (%1, %2%)... @@ -1304,6 +1453,25 @@ Zu öffnende Zahlungsanforderungsdatei auswählen + + OpenWalletActivity + + Open wallet failed + Wallet öffnen fehlgeschlagen + + + Open wallet warning + Offene Wallet Warnung + + + default wallet + default wallet + + + Opening Wallet <b>%1</b>... + Öffne Wallet <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache Größe des &Datenbankcaches - - MB - MB - Number of script &verification threads Anzahl an Skript-&Verifizierungs-Threads @@ -1338,6 +1502,22 @@ &Appearance &Darstellung + + Prune &block storage to + Stutze &block Speicher auf + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + Diese Einstellung rückgängig zu machen, erfordert ein erneutes Herunterladen der gesamten Blockchain. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Tabulator mit der Lister aller/Ihrer Masternodes anzeigen. @@ -1346,6 +1526,14 @@ Show Masternodes Tab Masternode Tabulator anzeigen + + Show additional tab listing governance proposals. + Zusätzliche Registerkarte mit Governance Proposal anzeigen. + + + Show Governance Tab + Governance Tab zeigen + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. Wenn Sie das Ausgeben von unbestätigtem Wechselgeld deaktivieren, kann das Wechselgeld einer <br/> Transaktion nicht verwendet werden, bis es mindestens eine Bestätigung erhalten hat.<br/>Dies wirkt sich auf die Berechnung des Kontostands aus. @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. Automatisch den Dash Core Clientport auf dem Router öffnen. Dies funktioniert nur, wenn Ihr Router UPnP unterstützt und dies aktiviert ist. + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + Automatisches Öffnen des Bitcoin-Client-Ports auf dem Router. Dies funktioniert nur, wenn dein Router NAT-PMP unterstützt und es aktiviert ist. Der externe Port kann zufällig sein. + + + Map port using NA&T-PMP + Port mit NA&T-PMP erfassen + Accept connections from outside. Eingehende Verbindungen annehmen. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: Separaten SOCKS&5-Proxy verwenden, um Gegenstellen über versteckte Tor-Dienste zu erreichen: + + Options set in this dialog are overridden by the command line or in the configuration file: + In diesem Dialog eingestellte Optionen werden in der Kommandozeile oder in der Konfigurationsdatei überschrieben: + Hide the icon from the system tray. Verberge Symbol im Infobereich. @@ -1474,6 +1674,10 @@ &Network &Netzwerk + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + Die Aktivierung von Pruning reduziert den für die Speicherung von Transaktionen benötigten Speicherplatz erheblich. Dennoch werden alle Blöcke vollständig validiert. Wird diese Einstellung rückgängig gemacht, muss die gesamte Blockchain erneut heruntergeladen werden. + Map port using &UPnP Portweiterleitung via &UPnP @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits Dezimalziffern - - Active command-line options that override above options: - Aktive Kommandozeilenoptionen, die obige Konfiguration überschreiben: - Reset all client options to default. Setzt die Clientkonfiguration auf Standardwerte zurück. @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 Abruf-URL der Zahlungsanforderung ist ungültig: %1 + + Cannot process payment request because BIP70 support was not compiled in. + Zahlungsanforderung kann nicht bearbeitet werden, weil die BIP70-Unterstützung nicht einkompiliert wurde. + Invalid payment address %1 Ungültige Zahlungsadresse %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ Empfangen + + Proposal + + Passing +%1 + Zugestimmt +%1 + + + Needs additional %1 votes + Benötigt zusätzliche %1 Stimmen + + + + ProposalModel + + Yes + Ja + + + No + Nein + + + Hash + Hash + + + Title + Titel + + + Start + Start + + + End + Ende + + + Amount + Menge + + + Active + Aktiv + + + Status + Status + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) Startbildschirm beim Starten anzeigen (Standard: %u) + + Error: Specified data directory "%1" does not exist. + Fehler: Das angegebene Datenverzeichnis "%1" existiert nicht. + + + Error: Cannot parse configuration file: %1. + Fehler: Die Konfigurationsdatei kann nicht geparst werden: %1. + + + Error: %1 + Fehler: %1 + + + Error: Failed to load application fonts. + Fehler: Das Laden der Anwendungsschriftarten ist fehlgeschlagen. + + + Error: Specified font-family invalid. Valid values: %1. + Fehler: Die angegebene Schriftfamilie ist ungültig. Gültige Werte: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + Fehler: Angegebenes Schriftgewicht-normal ungültig. Gültiger Bereich %1 bis %2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + Fehler: Angegebenes Schriftgewicht-fett ungültig. Gültiger Bereich %1 bis %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + Fehler: Angegebener Schriftgrad ungültig. Gültiger Bereich %1 bis %2. + + + Error: Invalid -custom-css-dir path. + Fehler: Ungültiger -custom-css-dir Pfad. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + Fehler: %1 CSS-Datei(en) fehlen im Pfad -custom-css-dir. + %1 didn't yet exit safely... %1 wurde noch nicht sicher beendet... @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ unbekannt - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - Fehler: Angegebenes Datenverzeichnis "%1" existiert nicht. - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - Fehler: Konfigurationsdatei kann nicht analysiert werden: %1. Bitte nur "Schlüssel=Wert"-Syntax verwenden. - - - Error: %1 - Fehler: %1 - - - Error: Failed to load application fonts. - Fehler: Anwendungsschrift konnte nicht geladen werden - - - Error: Specified font-family invalid. Valid values: %1. - Fehler: Angegebene Schriftfamilie ungültig. Gültige Werte: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - Fehler: Angegebene Schriftstärke Normal ungültig. Gültige Werte: %1 bis %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - Fehler: Angegebene Schriftstärke Fett ungültig. Gültige Werte: %1 bis %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - Fehler: Angegebene Schriftgröße ungültig. Gültige Werte: %1 bis %2. - - - Error: Invalid -custom-css-dir path. - Fehler: Ungültiger -custom-css-dir Pfad. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - Fehler: %1 CSS Datei(en) fehlen im -custom-css-dir Pfad. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image Grafik &kopieren + + Resulting URI too long, try to reduce the text for label / message. + Die URI ist zu lang, reduziere den Text für die Beschriftung/Nachricht. + + + Error encoding URI into QR Code. + Fehler beim Kodieren von URIs in QR-Codes. + + + QR code support not available. + Unterstützung für QR-Codes nicht verfügbar. + Save QR Code QR-Code speichern @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file Debugprotokolldatei - - Current number of blocks - Aktuelle Anzahl Blöcke - Client version Clientversion - - Using BerkeleyDB version - Verwendete BerkeleyDB-Version - Block chain Blockkette @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 Dateien der Blockkette erneut durchsuchen 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + Mit den Schaltflächen unten kannst du die Wallet mit Kommandozeilenoptionen neu starten, um die Wallet zu reparieren und Probleme mit beschädigten Blockchain-Dateien oder fehlenden/gelöschten Transaktionen zu beheben. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: Blockchain erneut nach fehlenden Wallet-Transaktionen seit Erstellzeitpunkt der Wallet durchsuchen. @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir Datenverzeichnis + + To specify a non-default location of the data directory use the '%1' option. + Wenn du einen anderen Speicherort für das Datenverzeichnis angeben möchtest, verwende die Option "%1". + + + Blocksdir + Blocksdir + + + To specify a non-default location of the blocks directory use the '%1' option. + Wenn du einen anderen Ort als das Standardverzeichnis für die Blöcke angeben möchtest, verwende die Option "%1". + + + Current block height + Aktuelle Blockhöhe + Last block hash Letzter Blockhash + + Latest ChainLocked block hash + Letzter ChainLocked Block Hash + + + Latest ChainLocked block height + Letzte ChainLocked Blockhöhe + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. Öffnet die %1-Debugprotokolldatei aus dem aktuellen Datenverzeichnis. Dies kann bei großen Protokolldateien einige Sekunden dauern. @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair &Wallet-Reparatur - - Salvage wallet - Wallet Datenwiederherstellungen - Recover transactions 1 Transaktion wiederherstellen 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format Wallet-Format aktualisieren - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - Diese Buttons starten die Wallet mit Kommandozeilen-Parametern zur Reparatur von etwaigen Fehlern. - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet: versucht private Schlüssel aus einer beschädigten wallet.dat wiederherzustellen - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1: Transaktion wiederherstellen (Metadaten, z.B. Kontoinhaber, behalten) @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ &Betrag: - &Request payment - &Zahlung anfordern + &Create new receiving address + &Erstelle eine neue Empfangsadresse Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI Kopiere URI + + Copy address + Adresse kopieren + Copy label Bezeichnung kopieren @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet Wallet - - Resulting URI too long, try to reduce the text for label / message. - Resultierende URI ist zu lang, bitte den Text für Bezeichnung/Nachricht kürzen. - - - Error encoding URI into QR Code. - Beim Enkodieren der URI in den QR-Code ist ein Fehler aufgetreten. - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... Auswählen... - - collapse fee-settings - Gebühreneinstellungen reduzieren - Confirmation time target: Bestätigungsziel: @@ -2879,6 +3142,10 @@ https://www.transifex.com/projects/p/dash/ Note: Not enough data for fee estimation, using the fallback fee instead. Hinweis: Es sind nicht genug Daten vorhanden, um die Gebühr zu berechnen, weswegen die Ersatzgebühr verwendet wird. + + Hide transaction fee settings + Einstellungen für Transaktionsgebühren ausblenden + Hide Verbergen @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? Wollen Sie die Überweisung ausführen? - - are added as transaction fee - werden als Transaktionsgebühr hinzugefügt - - - Total Amount = <b>%1</b><br />= %2 - Gesamtbetrag = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(%1 von %2 Einträgen angezeigt)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds beliebiger verfügbarer Coins + + Transaction fee + Transaktionsgebühr + (%1 transactions have higher fees usually due to no change output being allowed) (%1-Transaktionen fordern in der Regel eine höhere Gebühr, da kein Wechselgeld zulässig ist) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended Warnung: %1 mit %2 oder mehr Inputs zu verwenden mindert die Privatsphäre und ist nicht empfohlen + + Click to learn more + Klick für mehr Informationen + + + Total Amount + Gesamtbetrag + + + or + oder + Confirm send coins Überweisung bestätigen @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! Transaktionserstellung fehlgeschlagen! - - The transaction was rejected with the following reason: %1 - Die Transaktion wurde aus folgendem Grund abgelehnt: %1 - A fee higher than %1 is considered an absurdly high fee. Gebühren höher als %1 sind extrem überhöht. @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - Dies ist eine normale Überweisung. - Pay &To: E&mpfänger: @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: Betra&g: + + The amount to send in the selected unit + Der Betrag, der in der gewählten Einheit gesendet werden soll + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Die Gebühr wird von der versendeten Summe abgezogen, daher wird der Empfänger einen niedrigeren Betrag erhalten, als Sie im Feld "Betrag" angegeben haben. Bei mehreren Empfängern wird die Gebühre gleichmäßig auf alle Empfänger aufgeteilt. @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - Ja + Send + Senden @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with Dash-Adresse, mit der die Nachricht signiert worden ist + + The signed message to verify + Die signierte Nachricht zum Prüfen + + + The signature given when the message was signed + Die bei der Unterzeichnung der Nachricht angegebene Signatur + Verify the message to ensure it was signed with the specified Dash address Die Nachricht verifizieren, um sicherzustellen, dass diese mit der angegebenen Dash-Adresse signiert wurde @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size Gesamtgröße der Transaktion + + (Certificate was not verified) + (Zertifikat wurde nicht verifiziert) + Merchant Händler @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ Kopiere vollständige Transaktionsdetails - Edit label - Bezeichnung bearbeiten + Edit address label + Adresslabel bearbeiten Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ Angezeigte Einheit. Anklicken, um andere Einheit zu wählen. + + WalletController + + Close wallet + Wallet schließen + + + Are you sure you wish to close the wallet <i>%1</i>? + Bist du sicher, dass du die Wallet schließen willst <i>%1</i> schließen willst? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + Wenn die Wallet zu lange geschlossen bleibt, kann das dazu führen, dass die gesamte Kette neu synchronisiert werden muss, wenn Pruning aktiviert ist. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins Dash überweisen + + default wallet + default wallet + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) Fehler: Abhören nach eingehenden Verbindungen fehlgeschlagen (Fehler %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + Gebührenberechnung fehlgeschlagen. Fallbackfee ist deaktiviert. Warte ein paar Blöcke oder aktiviere -fallbackfee. + + + 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 + Die Fehlermeldung kann auftreten, wenn diese Wallet nicht sauber heruntergefahren wurde und zuletzt mit einem Build mit einer neueren Version von Berkeley DB geladen wurde. In diesem Fall verwende bitte die Software, mit der diese Wallet zuletzt geladen wurde + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications Dies ist eine Vorab-Testversion - Verwendung auf eigene Gefahr - nicht für Mining- oder Handelsanwendungen nutzen! @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. Fehler beim Lesen der Datenbank, Anwendung wird heruntergefahren. - - Error - Fehler - - - Error: Disk space is low! - Fehler: Zu wenig freier Speicherplatz auf dem Datenträger! - Failed to listen on any port. Use -listen=0 if you want this. Fehler, es konnte kein Port abgehört werden. Wenn dies so gewünscht wird -listen=0 verwenden. @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. Eingabe überschreitet maximale Größe. - - Failed to load fulfilled requests cache from - Cache für erfüllte Anfragen konnte nicht geladen werden aus - - - Failed to load governance cache from - Cache für Governance konnte nicht geladen werden aus - - - Failed to load masternode cache from - Cache für Masternodes konnte nicht geladen werden aus - Found enough users, signing ( waiting %s ) Genug Partner gefunden, signiere ( warte %s ) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? Fehlerhafter oder kein Genesis-Block gefunden. Falsches Datenverzeichnis für das Netzwerk? - - Information - Hinweis - Input is not valid. Eintrag ist nicht gültig. @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. Unbekannte Rückantwort. - - Unsupported argument -benchmark ignored, use -debug=bench. - Veraltete Option -benchmark wird ignoriert, bitte -debug=bench verwenden. - - - Unsupported argument -debugnet ignored, use -debug=net. - Veraltete Option -debugnet wird ignoriert, bitte -debug=net verwenden. - - - Unsupported argument -tor found, use -onion. - Veraltete Option -tor wird nicht unterstützt, bitte -onion benutzen. - User Agent comment (%s) contains unsafe characters. Der "User Agent"-Text (%s) enthält unsichere Zeichen. @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s ist untätig. - - %s request incomplete: %s - %s-Anfrage unvollständig: %s - Can't mix while sync in progress. Währen der Synchronisierung kann nicht gemixt werden. @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! Die Datei %s beinhaltet alle privaten Schlüssel der Wallet. Diese sollten niemals weitergegeben werden! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - Die -masternode Option wird nicht mehr unterstützt und daher ignoriert -masternodeblsprivkey reicht aus, um diese Node als Masternode zu starten. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. Datensicherung fehlgeschlagen, da diese Datei bereits existiert. Dies kann vorkommen, wenn das Wallet innerhalb von 60 Sekunden neu gestartet wurde. Sie können ohne Probleme weiterarbeiten, falls das so von Ihnen gewollt war. @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. Die Gesamtlänge des Versions-Namens (%i) überschreitet die erlaubte Maximallänge (%i). Bitte verringern Sie Anzahl oder Größe der Eingaben für die Kommandozeilenoption -uacomments. - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Parameter -socks wird nicht mehr unterstützt. Setzen der SOCKS-Version ist nicht mehr möglich, es werden nur noch SOCKS5 Proxies unterstützt. - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - Obsolete Option -whitelistalwaysrelay wird ignoriert, benutzen Sie -whitelistrelay und/oder -whitelistforcerelay. - WARNING! Failed to replenish keypool, please unlock your wallet to do so. WARNUNG! Erzeugen neuer Schlüssel ist fehlgeschlagen, bitte entsperren Sie Ihre Wallet um dies zu ermöglichen. @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. Das Wallet ist abgesperrt, das Erzeugen neuer Schlüssel ist nicht möglich! Automatische Datensicherungen und Mixing sind deaktiviert. Bitte entsperren Sie Ihre Wallet um dies zu ermöglichen. - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - Warning: es wird eine unbekannt Block-Version gemined. Es werden unbekannte/ungültige Blockregeln angewandt. - You need to rebuild the database using -reindex to change -timestampindex Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um -timestampindex zu verändern @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um zurück in den nicht abgeschnittenen/pruned Modus zu gehen. Dies wird die gesamte Blockchain downloaden - -litemode is deprecated. - -litemode ist veraltet. + %s failed + %s fehlgeschlagen -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled Automatische Datensicherungen sind deaktiviert. + + Cannot set -peerblockfilters without -blockfilterindex. + Kann -peerblockfilters nicht ohne -blockfilterindex setzen. + + + Config setting for %s only applied on %s network when in [%s] section. + Konfigurationseinstellung für %s wird nur im %s-Netzwerk angewendet, wenn es sich im [%s]-Abschnitt befindet. + + + Could not find asmap file %s + Konnte die asmap-Datei %s nicht finden + + + Could not parse asmap file %s + Konnte die asmap-Datei %s nicht parsen + ERROR! Failed to create automatic backup FEHLER! Die automatische Datensicherung ist fehlgeschlagen + + Error loading %s: Private keys can only be disabled during creation + Ladefehler %s: Private Schlüssel können nur bei der Erstellung deaktiviert werden + Error upgrading evo database Fehler bei der Aktualisierung der Evo-Datenbank @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details Fehler: ein nicht-behebbarer interner Fehler ist aufgetreten, Details sind in der Datei debug.log + + Error: Disk space is low for %s + Fehler: Geringer Speicherplatz für %s + Error: failed to add socket to epollfd (epoll_ctl returned error %s) Fehler: Hinzufügung eines Sockets zu epollfd fehlgeschlagen (epoll_ctl meldet Fehler %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. Maximale Zahl an Versuchen überschritten. - - Failed to clear fulfilled requests cache at - Cache für erfüllte Anfragen konnte nicht geleert werden bei - - - Failed to clear governance cache at - Cache für Governance konnte nicht geleert werden bei - - - Failed to clear masternode cache at - Cache für Masternode konnte nicht geleert werden bei - Failed to commit EvoDB Festlegen von EvoDB fehlgeschlagen @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s Löschen einer alten Datensicherung ist fehlgeschlagen, Fehler: %s - - Failed to load sporks cache from - Sporks Cache konnte nicht geladen werden aus - Failed to rescan the wallet during initialization Rescan der Wallet während der Initialisierung fehlgeschlagen + + Invalid P2P permission: '%s' + Ungültige P2P-Erlaubnis: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' Ungültiger Betrag für -fallbackfee=<amount>: '%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. Ungültiger masternodeblsprivkey. Weitere Informationen befinden sich in der Dokumentation. - - It has been replaced by -disablegovernance. - Es wurde durch -disablegovernance ersetzt. - - - Its replacement -disablegovernance has been forced instead. - Der Ersatz -disablegovernance wurde stattdessen durchgeführt. - Loading block index... Lade Blockindex... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. Prune/Abschneiden kann nicht mit einem negativen Wert konfiguriert werden. + + Prune mode is incompatible with -blockfilterindex. + Der Prune-Modus kann nicht mit -blockfilterindex kombiniert werden. + Prune mode is incompatible with -disablegovernance=false. Prune ist zu -disablegovernance=false nicht kompatibel. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... Alte Blocks werden abgeschnitten/pruned... + + Section [%s] is not recognized. + Abschnitt [%s] wird nicht erkannt. + Specified -walletdir "%s" does not exist Spezifizierte -walletdir "%s" existiert nicht @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... Synchronisiere Blockchain... + + The specified config file %s does not exist + + Angegebene Konfigurationsdatei %s existiert nicht + + The wallet will avoid paying less than the minimum relay fee. Das Wallet verhindert Zahlungen, die die Mindesttransaktionsgebühr nicht berücksichtigen. @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. Kann auf diesem Computer nicht an %s binden. Evtl. wurde %s bereits gestartet. + + Unable to create the PID file '%s': %s + PID-Datei '%s' kann nicht erstellt werden: %s + Unable to generate initial keys Initiale Schlüssel konnten nicht generiert werden - Upgrading UTXO database - Aktualisierung der UTXO Datenbank + Unknown -blockfilterindex value %s. + Nicht bekannter -blockfilterindex Wert %s. - Wallet %s resides outside wallet directory %s - Wallet %s liegt außerhalb des Wallet-Verzeichnisses %s + Upgrading UTXO database + Aktualisierung der UTXO Datenbank Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um -spentindex zu verändern - - You need to rebuild the database using -reindex to change -txindex - Sie müssen die Datenbank mit Hilfe von -reindex neu aufbauen, um -txindex zu verändern - no mixing available. Mixing nicht verfügbar. @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. Details finden Sie in debug.log - - Dash Core - Dash Core - The %s developers Die %s-Entwickler @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ Blöcke können nicht wiederholt werden. Sie müssen die Datenbank mit Hilfe von -reindex-chainstate neu aufbauen. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - Warnung: wallet beschädigt, Datenrettung erfolgreich! Original %s wurde als %s in %s gespeichert. Falls Ihr Kontostand oder Transaktionen nicht korrekt sind, sollten Sie von einer Datensicherung wiederherstellen. + Warning: Private keys detected in wallet {%s} with disabled private keys + Warnung: In Wallet {%s} mit deaktivierten privaten Schlüsseln wurden private Schlüssel entdeckt %d of last 100 blocks have unexpected version Bei %d der letzten 100 Blöcke handelt es sich um unerwartete Versionen - - %s corrupt, salvage failed - %s beschädigt, Datenrettung fehlgeschlagen - %s is not a valid backup folder! %s ist kein gültiger Backup-Ordner! + + %s is only allowed with a single wallet file + %s ist nur mit einer einzigen Wallet-Datei erlaubt + %s is set very high! %s wurde sehr hoch eingestellt! + + %s request incomplete: + %s Anfrage unvollständig: + -devnet can only be specified once -devnet kann nur einmal angegeben werden @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified -rpcport muss angegeben werden, wenn -devnet und -server angeben wurden + + A fatal internal error occurred, see debug.log for details + Schwerwiegender interner Fehler aufgetreten, siehe debug.log für Details + Cannot resolve -%s address: '%s' Kann Adresse in -%s nicht auflösen: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) Urheberrecht (C) + + Disk space is too low! + Speicherplatz ist zu gering! + Error loading %s Fehler beim Laden von %s @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) Fehler: Hinzufügung eines Sockets zu kqueuefd fehlgeschlagen (kevent meldet Fehler %s) + + Failed to clear fulfilled requests cache at %s + Fehler beim Löschen des Cache für erfüllte Anfragen bei %s + + + Failed to clear governance cache at %s + Fehler beim Löschen des Governance-Cache bei %s + + + Failed to clear masternode cache at %s + Fehler beim Löschen des Masternode-Cache bei %s + Failed to find mixing queue to join Keine Warteschlage zum mischen gefunden + + Failed to load fulfilled requests cache from %s + Fehler beim Laden des Cache für erfüllte Anfragen von %s + + + Failed to load governance cache from %s + Fehler beim Laden des Governance-Cache von %s + + + Failed to load masternode cache from %s + Fehler beim Laden des Masternode-Cache von %s + + + Failed to load sporks cache from %s + Fehler beim Laden des Sporks-Cache von %s + Failed to start a new mixing queue Keine Warteschlange konnte zum mischen gestartet werden @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. Das letzte Queue wurde vor zu kurzer Zeit erstellt. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s korrumpiert. Verwende das Wallet-Tool dash-wallet, um es zu retten, oder stelle ein Backup wieder her. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + Schlüssel zum Ändern der Adresse kann nicht erzeugt werden. Im internen Keypool sind keine Schlüssel vorhanden und es können keine Schlüssel erzeugt werden. + Last successful action was too recent. Letzte erfolgreiche Transaktion ist noch zu neu. @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. Transaktion ungültig. - - Transaction too large for fee policy - Transaktion ist für die Gebührenrichtlinie zu groß - Unable to bind to %s on this computer (bind returned error %s) Kann auf diesem Computer nicht an %s binden (von bind zurückgegebener Fehler: %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. Nicht unterstützte Protokollkategorie %s=%s. + + Upgrading txindex database + Aktualisierung der txindex-Datenbank + Verifying blocks... Verifiziere Blöcke... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. Wallet gesperrt. - - Warning - Warnung - - - Warning: %s is deprecated, please use %s instead - Warnung: %s ist veraltet, verwende %s stattdessen - Warning: can't use %s and %s together, will prefer %s Warnung: %s und %s können nicht zusammen verwendet werden, %s wird bevorzugt diff --git a/src/qt/locale/dash_zh_CN.ts b/src/qt/locale/dash_zh_CN.ts index eed5ed503b..a4d618e516 100644 --- a/src/qt/locale/dash_zh_CN.ts +++ b/src/qt/locale/dash_zh_CN.ts @@ -1,4 +1,4 @@ - + AddressBookPage @@ -78,8 +78,8 @@ 这些是您要付款过去的Dash地址。在付款之前,务必要检查金额和收款地址是否正确。 - These are your Dash addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - 这些是您用来收款的Dash地址。建议在每次交易时,都使用一个新的收款地址。 + These are your Dash addresses for receiving payments. Use the 'Create new receiving address' button in the receive tab to create new addresses. + 这些是用于接收付款的Dash地址. 使用接收标签中的 '创建新接收地址' 按钮来创建新地址. &Copy Address @@ -191,13 +191,9 @@ 重复新密码 - Show password + Show passphrase 显示密码 - - Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. - 输入钱包的新密码。<br/>使用的密码请至少包含<b>10个以上随机字符</b>,或者是<b>8个以上的单词</b>。 - Encrypt wallet 加密钱包 @@ -226,10 +222,6 @@ Change passphrase 更改密码 - - Enter the old passphrase and new passphrase to the wallet. - 请输入钱包的旧密码和新密码。 - Confirm wallet encryption 确认加密钱包 @@ -246,6 +238,30 @@ Wallet encrypted 钱包已加密 + + 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>. + 输入钱包的新密码. <br/>密码请用<b>十个或更多随机字符</b>, 或<b>8个以上的单词</b>. + + + Enter the old passphrase and new passphrase for the wallet. + 输入钱包的旧密码和新密码. + + + Remember that encrypting your wallet cannot fully protect your funds from being stolen by malware infecting your computer. + 切记, 加密您的钱包并不能完全防止您的资金被感染您电脑的恶意软件窃取. + + + Wallet to be encrypted + 钱包需要加密 + + + Your wallet is about to be encrypted. + 您的钱包即将被加密. + + + Your wallet is now encrypted. + 您的钱包现已被加密. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. Previous backups of the unencrypted wallet file contain the same HD seed and still have full access to all your funds just like the new, encrypted wallet. 重要提示:请用新生成的加密钱包文件替换旧的钱包备份文件。先前未加密的旧钱包备份文件含有同样的HD种子,能够像新加密的钱包一样获取您的资金,而无需输入密码。 @@ -311,18 +327,6 @@ A fatal error occurred. Dash Core can no longer continue safely and will quit. 发生严重错误。Dash Core钱包不再能安全地运行下去,程序将会关闭。 - - Dash Core - Dash Core - - - Wallet - 钱包 - - - Node - 节点 - &Overview 概况(&O) @@ -347,6 +351,50 @@ Request payments (generates QR codes and dash: URIs) 请求付款(生成二维码和Dash付款协议的URI) + + &Sending addresses + &发送地址 + + + &Receiving addresses + &收款地址 + + + Open Wallet + 打开钱包 + + + Open a wallet + 打开一个钱包 + + + Close Wallet... + 关闭钱包... + + + Close wallet + 关闭钱包 + + + No wallets available + 没有可用的钱包 + + + &Window + &窗口 + + + Minimize + 最小化 + + + Zoom + 放大 + + + Main Window + 主窗口 + &Transactions 交易记录(&T) @@ -371,10 +419,6 @@ Quit application 退出程序 - - Show information about Dash Core - 显示关于Dash Core信息 - About &Qt 关于 &Qt @@ -449,7 +493,7 @@ Sign messages with your Dash addresses to prove you own them - 使用您的达市币地址进行消息签名以证明对此地址的所有权 + 使用您的Dash地址进行消息签名以证明对此地址的所有权 &Verify message... @@ -515,18 +559,10 @@ Show automatically created wallet backups 显示自动创建的钱包备份 - - &Sending addresses... - 付款地址(&S)... - Show the list of used sending addresses and labels 显示用过的发送地址和标签的列表 - - &Receiving addresses... - 收款地址(&R)... - Show the list of used receiving addresses and labels 显示用过的接收地址和标签的列表 @@ -547,6 +583,10 @@ Show the %1 help message to get a list with possible Dash command-line options 显示 %1 帮助信息,获取可用命令行选项列表 + + default wallet + 默认钱包 + %1 client %1 客戶 @@ -565,6 +605,18 @@ &File 文件(&F) + + Show information about %1 + 显示有关%1的相关信息 + + + Create Wallet... + 创建钱包... + + + Create a new wallet + 创建一个新钱包 + %1 &information %1 &信息 @@ -577,10 +629,6 @@ &Settings 设置(&S) - - &Tools - 工具(&T) - &Help 帮助(&H) @@ -589,6 +637,14 @@ Tabs toolbar 分页工具栏 + + &Governance + &治理 + + + View Governance Proposals + 查看治理提案 + %n active connection(s) to Dash network %n个有效的Dash网络连接 @@ -653,10 +709,18 @@ Error 错误 + + Error: %1 + 错误: %1 + Warning 警告 + + Warning: %1 + 警告: %1 + Information 信息 @@ -739,6 +803,14 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> 钱包已被<b>加密</b>,当前为<b>锁定</b>状态 + + Proxy is <b>enabled</b>: %1 + 代理服务器 <b>已启用</b>: %1 + + + Original message: + 原始信息: + CoinControlDialog @@ -935,6 +1007,60 @@ 不可用 + + CreateWalletActivity + + Creating Wallet <b>%1</b>... + 正在创建钱包 <b>%1</b>... + + + Create wallet failed + 创建钱包失败 + + + Create wallet warning + 创建钱包警告 + + + + CreateWalletDialog + + Create Wallet + 创建钱包 + + + Wallet Name + 钱包名称 + + + Encrypt the wallet. The wallet will be encrypted with a passphrase of your choice. + 加密钱包. 钱包将以您选择的密码进行加密. + + + Encrypt Wallet + 加密钱包 + + + 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. + 禁用此钱包的私钥. 禁用私钥的钱包将没有私钥, 且不能有HD种子或导入私钥. 这个选项适用于仅用于观察的钱包. + + + Disable Private Keys + 禁用私钥 + + + 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. + 创建一个空白钱包. 空白钱包初始没有私钥或脚本. 随后可以导入私钥或地址, 或可以设置HD种子. + + + Make Blank Wallet + 创建空白钱包 + + + Create + 创建 + + EditAddressDialog @@ -974,8 +1100,12 @@ 输入的地址“%1”不是有效的Dash地址。 - The entered address "%1" is already in the address book. - 输入的地址“%1”已经存在于地址簿中。 + Address "%1" already exists as a receiving address with label "%2" and so cannot be added as a sending address. + 地址 "%1" 已作为带有标签 "%2" 的接收地址存在, 因此无法被添加为发送地址. + + + The entered address "%1" is already in the address book with label "%2". + 输入的地址 "%1" 已经在地址簿中存在, 标签为 "%2". Could not unlock wallet. @@ -1009,16 +1139,39 @@ 无法在此创建数据目录。 + + GovernanceList + + Form + 表格 + + + Filter List: + 筛选列表: + + + Filter propsal list + 筛选提案列表 + + + Proposal Count: + 提案数量: + + + Filter by Title + 按标题筛选 + + + Proposal Info: %1 + 提案信息: %1 + + HelpMessageDialog version 版本 - - (%1-bit) - (%1 位) - About %1 關於 %1 @@ -1080,7 +1233,7 @@ %1 will download and store a copy of the Dash block chain. - %1 将会下载并存储比特币区块链。 + %1 将会下载并存储Dash区块链. The wallet will also be stored in this directory. @@ -1113,10 +1266,6 @@ Status 状态 - - 0 - 0 - Filter List: 筛选列表: @@ -1277,8 +1426,8 @@ 隐藏 - Unknown. Syncing Headers (%1)... - 未知状态. 同步区块头部 (%1)... + Unknown. Syncing Headers (%1, %2%)... + 未知状态. 同步区块头部 (%1, %2%)... @@ -1304,6 +1453,25 @@ 选择需要打开的付款请求文件 + + OpenWalletActivity + + Open wallet failed + 打开钱包失败 + + + Open wallet warning + 打开钱包警告 + + + default wallet + 默认钱包 + + + Opening Wallet <b>%1</b>... + 正在打开钱包 <b>%1</b>... + + OptionsDialog @@ -1318,10 +1486,6 @@ Size of &database cache 数据库缓存大小(&D) - - MB - MB - Number of script &verification threads 脚本& 验证 进程数 @@ -1338,6 +1502,22 @@ &Appearance &外观 + + Prune &block storage to + 修剪&区块存储到 + + + GB + GB + + + Reverting this setting requires re-downloading the entire blockchain. + 还原此设置需要重新下载整个区块链. + + + MiB + MiB + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. 显示其他标签,在第一个子标签列出所有您的主节点<br/>在第二个子标签列出所有网络上的主节点。 @@ -1346,6 +1526,14 @@ Show Masternodes Tab 显示主节点标签页 + + Show additional tab listing governance proposals. + 显示列出治理提案的其他标签页. + + + Show Governance Tab + 显示治理标签页 + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. 如果您禁用还未确认的零钱,那么交易中找零的零钱<br/>至少需要1个确认才能使用。<br/>这也会影响余额的计算。 @@ -1402,6 +1590,14 @@ Automatically open the Dash Core client port on the router. This only works when your router supports UPnP and it is enabled. 自动在路由器打开Dash Core客户端端口。此项只在路由器支持UPnP且开启时有效。 + + Automatically open the Bitcoin client port on the router. This only works when your router supports NAT-PMP and it is enabled. The external port could be random. + 自动打开路由器上Bitcoin客户端端口. 这仅在您的路由器支持NAT-PMP并且已启用时才有效. 外部端口可以是随机的. + + + Map port using NA&T-PMP + 使用NA&T-PMP映射端口 + Accept connections from outside. 接受来自外部的连接. @@ -1426,6 +1622,10 @@ Use separate SOCKS&5 proxy to reach peers via Tor hidden services: 使用独立的SOCK&5代理服务器, 并通过Tor隐藏服务到对等用户群: + + Options set in this dialog are overridden by the command line or in the configuration file: + 此对话框中设置的选项被命令行或配置文件覆盖: + Hide the icon from the system tray. 隐藏系统托盘中的图标. @@ -1468,12 +1668,16 @@ This setting determines the amount of individual masternodes that an input will be mixed through.<br/>More rounds of mixing gives a higher degree of privacy, but also costs more in fees. - 此选项用以调整进行混币操作的主节点数量。<br/>越多的循环次数提供了更高级别的匿名性,同时也会花费更多的手续费。 + 此选项用以调整进行混币操作的主节点数量。<br/>越多的循环次数提供了更高级别的隐私保护,同时也会花费更多的手续费。 &Network 网络(&N) + + Enabling pruning significantly reduces the disk space required to store transactions. All blocks are still fully validated. Reverting this setting requires re-downloading the entire blockchain. + 启用修剪会显著减少用于存储交易的磁盘空间. 所有区块仍然经过充分验证. 恢复此设置需要重新下载整个区块链. + Map port using &UPnP 使用UPnP映射端口(&U) @@ -1556,10 +1760,6 @@ https://www.transifex.com/projects/p/dash/ Decimal digits 小数位数 - - Active command-line options that override above options: - 有效的命令行参数覆盖上述选项: - Reset all client options to default. 恢复客户端的缺省设置。 @@ -1850,6 +2050,10 @@ https://www.transifex.com/projects/p/dash/ Payment request fetch URL is invalid: %1 付款请求URI链接非法:%1 + + Cannot process payment request because BIP70 support was not compiled in. + 无法处理付款请求因为未编译BIP70支持. + Invalid payment address %1 无效的付款地址 %1 @@ -1950,6 +2154,56 @@ https://www.transifex.com/projects/p/dash/ 已接收 + + Proposal + + Passing +%1 + 通过 +%1 + + + Needs additional %1 votes + 需要额外的 %1 票 + + + + ProposalModel + + Yes + 赞成 + + + No + 反对 + + + Hash + 哈希值 + + + Title + 标题 + + + Start + 开始 + + + End + 结束 + + + Amount + 金额 + + + Active + 活跃的 + + + Status + 状态 + + QObject @@ -1992,6 +2246,46 @@ https://www.transifex.com/projects/p/dash/ Show splash screen on startup (default: %u) 显示启动画面(默认:%u) + + Error: Specified data directory "%1" does not exist. + 错误: 指定的数据目录 "%1" 不存在. + + + Error: Cannot parse configuration file: %1. + 错误: 无法解析配置文件: %1. + + + Error: %1 + 错误: %1 + + + Error: Failed to load application fonts. + 错误: 无法加载应用程序字体. + + + Error: Specified font-family invalid. Valid values: %1. + 错误: 指定的字体系列无效. 有效值: %1. + + + Error: Specified font-weight-normal invalid. Valid range %1 to %2. + 错误: 指定的字体粗细正常无效. 有效范围 %1 到%2. + + + Error: Specified font-weight-bold invalid. Valid range %1 to %2. + 错误: 指定的字体粗体无效. 有效范围 %1 到 %2. + + + Error: Specified font-scale invalid. Valid range %1 to %2. + 错误: 指定的字体大小无效. 有效范围%1 至 %2. + + + Error: Invalid -custom-css-dir path. + 错误: 无效的 -custom-css-dir 路径. + + + Error: %1 CSS file(s) missing in -custom-css-dir path. + 错误: -custom-css-dir 路径下%1 CSS file(s)丢失. + %1 didn't yet exit safely... %1 尚未安全退出 @@ -2093,49 +2387,6 @@ https://www.transifex.com/projects/p/dash/ 未知 - - QObject::QObject - - Error: Specified data directory "%1" does not exist. - 错误:指定的数据目录“%1”不存在。 - - - Error: Cannot parse configuration file: %1. Only use key=value syntax. - 错误:无法解析配置文件:%1。只接受 key=value语法。 - - - Error: %1 - 错误:%1 - - - Error: Failed to load application fonts. - 错误: 加载应用程序字体失败. - - - Error: Specified font-family invalid. Valid values: %1. - 错误: 指定的字体系列无效. 有效值: %1. - - - Error: Specified font-weight-normal invalid. Valid range %1 to %2. - 错误: 指定的字体粗细标准无效. 有效范围%1 至 %2. - - - Error: Specified font-weight-bold invalid. Valid range %1 to %2. - 错误: 指定的字体粗体无效. 有效范围%1 至 %2. - - - Error: Specified font-scale invalid. Valid range %1 to %2. - 错误: 指定的字体大小无效. 有效范围%1 至 %2. - - - Error: Invalid -custom-css-dir path. - 错误: 无效的 -custom-css-dir 路径. - - - Error: %1 CSS file(s) missing in -custom-css-dir path. - 错误: -custom-css-dir 路径下%1 CSS file(s)丢失. - - QRDialog @@ -2184,6 +2435,18 @@ https://www.transifex.com/projects/p/dash/ &Copy Image 复制图片(&C) + + Resulting URI too long, try to reduce the text for label / message. + 生成的URI 太长, 请试着精简标签或消息文本. + + + Error encoding URI into QR Code. + 将 URI转为二维码失败. + + + QR code support not available. + 二维码支持不可用. + Save QR Code 保存二维码 @@ -2239,18 +2502,10 @@ https://www.transifex.com/projects/p/dash/ Debug log file 调试日志文件 - - Current number of blocks - 当前数据块数量 - Client version 客户端版本 - - Using BerkeleyDB version - 使用 BerkeleyDB 版本 - Block chain 区块链 @@ -2339,6 +2594,10 @@ https://www.transifex.com/projects/p/dash/ Rescan blockchain files 2 重新扫描区块链文件 2 + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + 下面的按钮将使用命令行选项重新启动钱包, 以修复钱包, 修复损坏的区块链文件或丢失/超时的交易问题. + -rescan=1: Rescan the block chain for missing wallet transactions starting from wallet creation time. -rescan=1: 从钱包创建时开始重新扫描区块链以查找遗漏的钱包交易。 @@ -2359,10 +2618,34 @@ https://www.transifex.com/projects/p/dash/ Datadir 数据目录 + + To specify a non-default location of the data directory use the '%1' option. + 要指定的数据目录不是默认路径, 请使用 '%1' 选项. + + + Blocksdir + 区块目录 + + + To specify a non-default location of the blocks directory use the '%1' option. + 要指定的区块目录不是默认路径, 请使用 '%1' 选项. + + + Current block height + 当前区块高度 + Last block hash 最后区块的哈希值 + + Latest ChainLocked block hash + 最新链锁区块的哈希值 + + + Latest ChainLocked block height + 最新链锁区块的高度 + Open the %1 debug log file from the current data directory. This can take a few seconds for large log files. 打开当前目录中的%1调试日志文件。日志文件大的话可能要等上几秒钟。 @@ -2439,10 +2722,6 @@ https://www.transifex.com/projects/p/dash/ &Wallet Repair 钱包修复(&W) - - Salvage wallet - 抢救钱包 - Recover transactions 1 恢复交易 1 @@ -2455,14 +2734,6 @@ https://www.transifex.com/projects/p/dash/ Upgrade wallet format 升级钱包格式 - - The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. - 下面的按钮将重新启动钱包并使用命令行选项进行修复,解决损坏或丢失的区块链文件/超时的交易问题。 - - - -salvagewallet: Attempt to recover private keys from a corrupt wallet.dat. - -salvagewallet:尝试从已损坏的钱包文件中找回私钥。 - -zapwallettxes=1: Recover transactions from blockchain (keep meta-data, e.g. account owner). -zapwallettxes=1:从区块链恢复交易(保留交易描述信息,例如账户拥有者)。 @@ -2639,8 +2910,8 @@ https://www.transifex.com/projects/p/dash/ 总额(&A): - &Request payment - 请求付款(&R) + &Create new receiving address + &创建新的收款地址 Clear all fields of the form. @@ -2682,6 +2953,10 @@ https://www.transifex.com/projects/p/dash/ Copy URI 复制URI + + Copy address + 复制地址 + Copy label 复制标签 @@ -2745,14 +3020,6 @@ https://www.transifex.com/projects/p/dash/ Wallet 钱包 - - Resulting URI too long, try to reduce the text for label / message. - URI 太长,请试着精简标签或消息文本。 - - - Error encoding URI into QR Code. - 将 URI 转为二维码失败。 - RecentRequestsTableModel @@ -2851,10 +3118,6 @@ https://www.transifex.com/projects/p/dash/ Choose... 选择... - - collapse fee-settings - 收起手续费设置 - Confirmation time target: 确认时间目标: @@ -2873,12 +3136,16 @@ https://www.transifex.com/projects/p/dash/ 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. - 使用fallbackfee可能会导致发送一笔需要几个小时或几天(或永远不会)确认的交易. 建议手动选择手续费, 或者等待您完全验证整个区块链后。 + 使用fallbackfee可能会导致发送一笔需要几个小时或几天(或永远不会)确认的交易. 建议手动选择手续费, 或者等待您完全验证整个区块链后. Note: Not enough data for fee estimation, using the fallback fee instead. 注意: 没有足够数据用于费用测算, 将使用备选费用代替. + + Hide transaction fee settings + 隐藏交易手续费设置 + Hide 隐藏 @@ -2975,14 +3242,6 @@ https://www.transifex.com/projects/p/dash/ Are you sure you want to send? 您确定要发出吗? - - are added as transaction fee - 作为交易费被添加 - - - Total Amount = <b>%1</b><br />= %2 - 总额 = <b>%1</b><br />= %2 - <b>(%1 of %2 entries displayed)</b> <b>(在%2中%1个项目显示出来)</b> @@ -3003,6 +3262,10 @@ https://www.transifex.com/projects/p/dash/ any available funds 全部有效金额 + + Transaction fee + 交易手续费 + (%1 transactions have higher fees usually due to no change output being allowed) (%1交易的手续费更高通常由于输出不允许更改) @@ -3023,6 +3286,18 @@ https://www.transifex.com/projects/p/dash/ Warning: Using %1 with %2 or more inputs can harm your privacy and is not recommended 提醒: 使用 %1与%2或更多输入不利于您的隐私保护,并不推荐 + + Click to learn more + 点击了解更多 + + + Total Amount + 总金额 + + + or + + Confirm send coins 确认发送货币 @@ -3051,10 +3326,6 @@ https://www.transifex.com/projects/p/dash/ Transaction creation failed! 交易创建失败! - - The transaction was rejected with the following reason: %1 - 交易因以下原因拒绝:%1 - A fee higher than %1 is considered an absurdly high fee. 交易费一般不应超过 %1。 @@ -3094,10 +3365,6 @@ https://www.transifex.com/projects/p/dash/ SendCoinsEntry - - This is a normal payment. - 这是笔正常的支付。 - Pay &To: 付给(&T): @@ -3138,6 +3405,10 @@ https://www.transifex.com/projects/p/dash/ A&mount: 金额(&M) + + The amount to send in the selected unit + 在所选单位中发送的金额 + The fee will be deducted from the amount being sent. The recipient will receive a lower amount of Dash than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 手续费将从发送金额中扣除。接收者将收到的Dash金额将会比您在金额字段中输入的金额为少。如果选择了多个收款人,该费用将会被平均摊分。 @@ -3182,8 +3453,8 @@ https://www.transifex.com/projects/p/dash/ SendConfirmationDialog - Yes - + Send + 发送 @@ -3271,6 +3542,14 @@ https://www.transifex.com/projects/p/dash/ The Dash address the message was signed with 已签名的地址 + + The signed message to verify + 要验证的签名消息 + + + The signature given when the message was signed + 签名消息时所用的签名 + Verify the message to ensure it was signed with the specified Dash address 验证信息用来确保此被签署信息对应相对的Dash地址 @@ -3512,6 +3791,10 @@ https://www.transifex.com/projects/p/dash/ Transaction total size 交易总大小 + + (Certificate was not verified) + (证书未验证) + Merchant 商店 @@ -3806,8 +4089,8 @@ https://www.transifex.com/projects/p/dash/ 复制完整交易详情 - Edit label - 编辑标签 + Edit address label + 编辑地址标签 Show transaction details @@ -3889,6 +4172,21 @@ https://www.transifex.com/projects/p/dash/ 金额显示单位。单击选择其他单位。 + + WalletController + + Close wallet + 关闭钱包 + + + Are you sure you wish to close the wallet <i>%1</i>? + 您确定要关闭钱包吗<i>%1</i> ? + + + Closing the wallet for too long can result in having to resync the entire chain if pruning is enabled. + 如果启用修剪后, 关闭钱包太久可能会导致必须重新同步整个区块链. + + WalletFrame @@ -3902,6 +4200,10 @@ https://www.transifex.com/projects/p/dash/ Send Coins 发送Dash + + default wallet + 默认钱包 + WalletView @@ -3952,6 +4254,14 @@ https://www.transifex.com/projects/p/dash/ Error: Listening for incoming connections failed (listen returned error %s) 错误:监听外来连接失败(监听回馈错误 %s) + + Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee. + 费用估算失败. 备用费用已禁用. 请等待几个区块或启用-fallbackfee。 + + + 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 + 如果此前包未完全关闭并且上次使用较新版本的Berkeley DB的构建加载, 则可能发生此错误. 如果是这样, 请使用上次加载此钱包的软件. + This is a pre-release test build - use at your own risk - do not use for mining or merchant applications 这是一个预发布测试版本 - 您自己承担风险使用 - 采矿商或交易商不要使用本应用程序 @@ -4012,14 +4322,6 @@ https://www.transifex.com/projects/p/dash/ Error reading from database, shutting down. 读取数据库错误,正在关闭。 - - Error - 错误 - - - Error: Disk space is low! - 错误:磁盘空间不够! - Failed to listen on any port. Use -listen=0 if you want this. 监听端口失败。如果想使用此项,可设定-listen=0。 @@ -4056,18 +4358,6 @@ https://www.transifex.com/projects/p/dash/ Entry exceeds maximum size. 条目超过最大值。 - - Failed to load fulfilled requests cache from - 无法加载完成请求缓存 - - - Failed to load governance cache from - 无法加载治理缓存 - - - Failed to load masternode cache from - 无法加载主节点缓存 - Found enough users, signing ( waiting %s ) 用户数已满足,开始签名 (等待 %s) @@ -4092,10 +4382,6 @@ https://www.transifex.com/projects/p/dash/ Incorrect or no genesis block found. Wrong datadir for network? 不正确或没有找到创世区块。错误的数据目录? - - Information - 信息 - Input is not valid. 输入是无效的。 @@ -4176,18 +4462,6 @@ https://www.transifex.com/projects/p/dash/ Unknown response. 未知响应。 - - Unsupported argument -benchmark ignored, use -debug=bench. - 忽略不支持的选项 -benchmark,使用 -debug=bench - - - Unsupported argument -debugnet ignored, use -debug=net. - 忽略不支持的选项 -debugnet,使用 -debug=net。 - - - Unsupported argument -tor found, use -onion. - 忽略不支持的选项 -tor,使用 -oinon - User Agent comment (%s) contains unsafe characters. 用户代理评论(%s)包含不安全的字符。 @@ -4212,10 +4486,6 @@ https://www.transifex.com/projects/p/dash/ %s is idle. %s处于空闲状态. - - %s request incomplete: %s - %s 请求未完成: %s - Can't mix while sync in progress. 无法在同步过程中进行混合。 @@ -4232,10 +4502,6 @@ https://www.transifex.com/projects/p/dash/ %s file contains all private keys from this wallet. Do not share it with anyone! %s 文件包含此钱包中的所有私钥。不要与任何人分享! - - -masternode option is deprecated and ignored, specifying -masternodeblsprivkey is enough to start this node as a masternode. - -masternode选项已被弃用并忽略, 指定-masternodeblsprivkey即可将此节点激活为主节点. - Failed to create backup, file already exists! This could happen if you restarted wallet in less than 60 seconds. You can continue if you are ok with this. 无法创建备份,文件已经存在!如果您在60秒内重新启动钱包,则可能发生这种情况。如果您觉得这样没问题的话,您可以继续。 @@ -4268,14 +4534,6 @@ https://www.transifex.com/projects/p/dash/ Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. 网络版本字符串的总长度 (%i) 超过最大长度 (%i) 了。请减少 uacomment 参数的数量或大小。 - - Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - 找到不再支持的 -socks 参数。现在只支持 SOCKS5 协议的代理服务器,因此不可以指定 SOCKS 协议版本。 - - - Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/or -whitelistforcerelay. - 一个不被支持的参数 -whitelistalwaysrelay 被忽略了。请使用 -whitelistrelay 和/或 -whitelistforcerelay。 - WARNING! Failed to replenish keypool, please unlock your wallet to do so. 警告!无法补充公钥池,请解锁您的钱包。 @@ -4284,10 +4542,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked, can't replenish keypool! Automatic backups and mixing are disabled, please unlock your wallet to replenish keypool. 钱包被锁定,无法补充keypool!自动备份和混合功能被禁用,请解锁您的钱包以补充keypool。 - - Warning: Unknown block versions being mined! It's possible unknown rules are in effect - 警告:未知的区块版本被挖出!未知规则可能已生效 - You need to rebuild the database using -reindex to change -timestampindex 您需要通过使用-reindex改变-timestampindex来重新建立数据库 @@ -4297,8 +4551,8 @@ https://www.transifex.com/projects/p/dash/ 您需要使用 -reindex 重新构建数据库以返回未修剪的模式。这将重新下载整个区块链 - -litemode is deprecated. - -litemode 已被弃用. + %s failed + %s 失败 -maxmempool must be at least %d MB @@ -4308,10 +4562,30 @@ https://www.transifex.com/projects/p/dash/ Automatic backups disabled 自动备份已停用 + + Cannot set -peerblockfilters without -blockfilterindex. + 不能在没有 -blockfilterindex的情况下设置 -peerblockfilters. + + + Config setting for %s only applied on %s network when in [%s] section. + %s的配置设置仅在 [%s] 部分中应用于 %s网络. + + + Could not find asmap file %s + 无法找到asmap文件 %s + + + Could not parse asmap file %s + 无法解析asmap文件 %s + ERROR! Failed to create automatic backup 错误!无法创建自动备份 + + Error loading %s: Private keys can only be disabled during creation + 加载 %s时出错: 私钥只能在创建期间禁用 + Error upgrading evo database 升级evo数据库出错 @@ -4320,6 +4594,10 @@ https://www.transifex.com/projects/p/dash/ Error: A fatal internal error occurred, see debug.log for details 错误:发生了致命的内部错误,详情见 debug.log 文件 + + Error: Disk space is low for %s + 错误: %s 磁盘空间不足 + Error: failed to add socket to epollfd (epoll_ctl returned error %s) 错误: 无法添加socket到epollfd (epoll_ctl 返回错误 %s) @@ -4328,18 +4606,6 @@ https://www.transifex.com/projects/p/dash/ Exceeded max tries. 超过最大尝试次数. - - Failed to clear fulfilled requests cache at - 无法清除位于缓存中的已完成请求 - - - Failed to clear governance cache at - 无法清除位于缓存中的治理项目 - - - Failed to clear masternode cache at - 无法清除缓存中的主节点 - Failed to commit EvoDB 无法提交EvoDB @@ -4356,14 +4622,14 @@ https://www.transifex.com/projects/p/dash/ Failed to delete backup, error: %s 无法删除备份,错误:%s - - Failed to load sporks cache from - 从... 读取叉勺缓存失败 - Failed to rescan the wallet during initialization 在初始化时无法重新扫描钱包 + + Invalid P2P permission: '%s' + 无效的 P2P 权限: '%s' + Invalid amount for -fallbackfee=<amount>: '%s' 设定-fallbackfee=<amount>的金额无效:'%s' @@ -4372,14 +4638,6 @@ https://www.transifex.com/projects/p/dash/ Invalid masternodeblsprivkey. Please see documentation. 无效的 masternodeblsprivkey。请阅读文档。 - - It has been replaced by -disablegovernance. - 它已被 -disablegovernance代替. - - - Its replacement -disablegovernance has been forced instead. - 代替命令 -disablegovernance已被强制执行. - Loading block index... 正在读取区块索引... @@ -4432,6 +4690,10 @@ https://www.transifex.com/projects/p/dash/ Prune cannot be configured with a negative value. 修剪不能设置为负数。 + + Prune mode is incompatible with -blockfilterindex. + 修剪模式与 -blockfilterindex不兼容. + Prune mode is incompatible with -disablegovernance=false. 修剪模式与 -disablegovernance=false 不兼容. @@ -4444,6 +4706,10 @@ https://www.transifex.com/projects/p/dash/ Pruning blockstore... 正在修剪区块存储... + + Section [%s] is not recognized. + 片段 [%s]无法被识别. + Specified -walletdir "%s" does not exist 指定的 -walletdir "%s" 不存在 @@ -4460,6 +4726,12 @@ https://www.transifex.com/projects/p/dash/ Synchronizing blockchain... 正在同步区块链... + + The specified config file %s does not exist + + 指定的配置文件 %s 不存在 + + The wallet will avoid paying less than the minimum relay fee. 钱包避免低于最小交易费的支付 @@ -4500,17 +4772,21 @@ https://www.transifex.com/projects/p/dash/ Unable to bind to %s on this computer. %s is probably already running. 无法在本机绑定 %s 端口。%s 可能已经在运行。 + + Unable to create the PID file '%s': %s + 无法创建PID文件 '%s': %s + Unable to generate initial keys 无法生成初始密钥 - Upgrading UTXO database - 升级UTXO数据库 + Unknown -blockfilterindex value %s. + 未知 -blockfilterindex 值 %s. - Wallet %s resides outside wallet directory %s - 钱包 %s 在钱包目录 %s 外面 + Upgrading UTXO database + 升级UTXO数据库 Wallet needed to be rewritten: restart %s to complete @@ -4536,10 +4812,6 @@ https://www.transifex.com/projects/p/dash/ You need to rebuild the database using -reindex to change -spentindex 您需要通过使用-reindex改变-spentindex来重新建立数据库 - - You need to rebuild the database using -reindex to change -txindex - 您需要通过使用-reindex改变-txindex来重新建立数据库 - no mixing available. 无法进行混合。 @@ -4548,10 +4820,6 @@ https://www.transifex.com/projects/p/dash/ see debug.log for details. 详细信息请参阅debug.log。 - - Dash Core - Dash Core - The %s developers %s 开发人员 @@ -4605,25 +4873,29 @@ https://www.transifex.com/projects/p/dash/ 无法重播区块. 您需要使用 -reindex-chainstate命令来重建数据库. - Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; if your balance or transactions are incorrect you should restore from a backup. - 警告:钱包文件损坏,但数据被救回!原始的钱包文件%s已经重命名为%s并存储到%s目录下 。如果您的账户余额或者交易记录不正确,请使用您的钱包备份文件恢复。 + Warning: Private keys detected in wallet {%s} with disabled private keys + 警告: 钱包 {%s}中检测到已禁用私钥的私钥 %d of last 100 blocks have unexpected version 最近100个区块中的 %d 个区块有意外版本 - - %s corrupt, salvage failed - %s 已损坏,抢救备份失败 - %s is not a valid backup folder! %s 不是一个有效的备份文件夹! + + %s is only allowed with a single wallet file + %s 仅允许用于单个钱包文件 + %s is set very high! %s非常高! + + %s request incomplete: + %s 请求不完整: + -devnet can only be specified once -devnet 只能被指定一次 @@ -4636,6 +4908,10 @@ https://www.transifex.com/projects/p/dash/ -rpcport must be specified when -devnet and -server are specified 当 -devnet 和 -server 被指定时, 必须指定 -rpcport + + A fatal internal error occurred, see debug.log for details + 发生了严重的内部错误, 请参阅debug.log了解详细信息 + Cannot resolve -%s address: '%s' 无法解析 - %s 地址: '%s' @@ -4652,6 +4928,10 @@ https://www.transifex.com/projects/p/dash/ Copyright (C) 版权 (C) + + Disk space is too low! + 磁盘空间太小! + Error loading %s 载入 %s 时发生错误 @@ -4680,10 +4960,38 @@ https://www.transifex.com/projects/p/dash/ Error: failed to add socket to kqueuefd (kevent returned error %s) 错误: 无法添加socket到kqueuefd (kevent 返回错误 %s) + + Failed to clear fulfilled requests cache at %s + 未能在 %s 清除已完成的请求缓存 + + + Failed to clear governance cache at %s + 无法清除 %s 的治理缓存 + + + Failed to clear masternode cache at %s + 在 %s 清除主节点缓存失败 + Failed to find mixing queue to join 无法找到混币队列并加入 + + Failed to load fulfilled requests cache from %s + 无法从 %s 加载已完成的请求缓存 + + + Failed to load governance cache from %s + 无法从 %s 加载治理缓存 + + + Failed to load masternode cache from %s + 无法从 %s 加载主节点缓存 + + + Failed to load sporks cache from %s + 无法从 %s 加载叉勺缓存 + Failed to start a new mixing queue 无法开始一个新的混币队列 @@ -4752,6 +5060,14 @@ https://www.transifex.com/projects/p/dash/ Last queue was created too recently. 上一次队列才被创建. + + %s corrupt. Try using the wallet tool dash-wallet to salvage or restoring a backup. + %s 已损坏. 请尝试使用钱包工具 dash-wallet 来挽救或恢复备份. + + + Can't generate a change-address key. No keys in the internal keypool and can't generate any keys. + 无法生成找零地址密钥. 内部密钥池中没有密钥, 也无法生成任何密钥. + Last successful action was too recent. 上一次成功操作才完成。 @@ -4792,10 +5108,6 @@ https://www.transifex.com/projects/p/dash/ Transaction not valid. 交易无效。 - - Transaction too large for fee policy - 根据交易手续费准则,本交易过大 - Unable to bind to %s on this computer (bind returned error %s) 无法绑定此计算机上的%s (绑定返回错误 %s) @@ -4824,6 +5136,10 @@ https://www.transifex.com/projects/p/dash/ Unsupported logging category %s=%s. 不支持的日志记录类别 %s=%s. + + Upgrading txindex database + 正在升级交易指数数据库 + Verifying blocks... 验证区块中... @@ -4836,14 +5152,6 @@ https://www.transifex.com/projects/p/dash/ Wallet is locked. 钱包被锁定。 - - Warning - 警告 - - - Warning: %s is deprecated, please use %s instead - 警告: %s 已过时, 请使用 %s - Warning: can't use %s and %s together, will prefer %s 警告: 无法同时使用%s和%s, 将优先使用%s From e0e4d5d327caa637c53c550f4804310424ec8a27 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sat, 13 Aug 2022 19:10:32 +0300 Subject: [PATCH 66/74] fix(llmq): Drop quorum members cache on undo (#4964) This should help with v18 migration for nodes that failed to update in time. Still have to invalidate/reconsider the pre-fork quorum cycle start block to recalculate quorum members but it's better than having to reindex the whole chain. # Conflicts: # src/llmq/utils.cpp # src/llmq/utils.h --- src/llmq/blockprocessor.cpp | 2 ++ src/llmq/utils.cpp | 23 ++++++++++++++--------- src/llmq/utils.h | 4 ++-- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/llmq/blockprocessor.cpp b/src/llmq/blockprocessor.cpp index 535319dd32..78846222cb 100644 --- a/src/llmq/blockprocessor.cpp +++ b/src/llmq/blockprocessor.cpp @@ -286,6 +286,8 @@ bool CQuorumBlockProcessor::UndoBlock(const CBlock& block, const CBlockIndex* pi { AssertLockHeld(cs_main); + CLLMQUtils::PreComputeQuorumMembers(pindex, true); + std::multimap qcs; CValidationState dummy; if (!GetCommitmentsFromBlock(block, pindex, qcs, dummy)) { diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 8d0dd79e75..36c6edbead 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -30,16 +30,16 @@ namespace llmq CCriticalSection cs_llmq_vbc; VersionBitsCache llmq_versionbitscache; -void CLLMQUtils::PreComputeQuorumMembers(const CBlockIndex* pQuorumBaseBlockIndex) +void CLLMQUtils::PreComputeQuorumMembers(const CBlockIndex* pQuorumBaseBlockIndex, bool reset_cache) { for (const Consensus::LLMQParams& params : CLLMQUtils::GetEnabledQuorumParams(pQuorumBaseBlockIndex->pprev)) { if (llmq::CLLMQUtils::IsQuorumRotationEnabled(params.type, pQuorumBaseBlockIndex) && (pQuorumBaseBlockIndex->nHeight % params.dkgInterval == 0)) { - CLLMQUtils::GetAllQuorumMembers(params.type, pQuorumBaseBlockIndex); + CLLMQUtils::GetAllQuorumMembers(params.type, pQuorumBaseBlockIndex, reset_cache); } } } -std::vector CLLMQUtils::GetAllQuorumMembers(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex) +std::vector CLLMQUtils::GetAllQuorumMembers(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex, bool reset_cache) { static CCriticalSection cs_members; static std::map, StaticSaltedHasher>> mapQuorumMembers GUARDED_BY(cs_members); @@ -54,7 +54,9 @@ std::vector CLLMQUtils::GetAllQuorumMembers(Consensus::LLM if (mapQuorumMembers.empty()) { InitQuorumsCache(mapQuorumMembers); } - if (mapQuorumMembers[llmqType].get(pQuorumBaseBlockIndex->GetBlockHash(), quorumMembers)) { + if (reset_cache) { + mapQuorumMembers[llmqType].clear(); + } else if (mapQuorumMembers[llmqType].get(pQuorumBaseBlockIndex->GetBlockHash(), quorumMembers)) { return quorumMembers; } } @@ -84,11 +86,14 @@ std::vector CLLMQUtils::GetAllQuorumMembers(Consensus::LLM * Since mapQuorumMembers stores Quorum members per block hash, and we don't know yet the block hashes of blocks for all quorumIndexes (since these blocks are not created yet) * We store them in a second cache mapIndexedQuorumMembers which stores them by {CycleQuorumBaseBlockHash, quorumIndex} */ - if (LOCK(cs_indexed_members); mapIndexedQuorumMembers[llmqType].get(std::pair(pCycleQuorumBaseBlockIndex->GetBlockHash(), quorumIndex), quorumMembers)) { - LOCK(cs_members); - mapQuorumMembers[llmqType].insert(pQuorumBaseBlockIndex->GetBlockHash(), quorumMembers); - return quorumMembers; - } + if (reset_cache) { + LOCK(cs_indexed_members); + mapIndexedQuorumMembers[llmqType].clear(); + } else if (LOCK(cs_indexed_members); mapIndexedQuorumMembers[llmqType].get(std::pair(pCycleQuorumBaseBlockIndex->GetBlockHash(), quorumIndex), quorumMembers)) { + LOCK(cs_members); + mapQuorumMembers[llmqType].insert(pQuorumBaseBlockIndex->GetBlockHash(), quorumMembers); + return quorumMembers; + } auto q = ComputeQuorumMembersByQuarterRotation(llmqType, pCycleQuorumBaseBlockIndex); LOCK(cs_indexed_members); diff --git a/src/llmq/utils.h b/src/llmq/utils.h index 264984c50e..be002feda9 100644 --- a/src/llmq/utils.h +++ b/src/llmq/utils.h @@ -52,9 +52,9 @@ class CLLMQUtils { public: // includes members which failed DKG - static std::vector GetAllQuorumMembers(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex); + static std::vector GetAllQuorumMembers(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex, bool reset_cache = false); - static void PreComputeQuorumMembers(const CBlockIndex* pQuorumBaseBlockIndex); + static void PreComputeQuorumMembers(const CBlockIndex* pQuorumBaseBlockIndex, bool reset_cache = false); static std::vector ComputeQuorumMembers(Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex); static std::vector> ComputeQuorumMembersByQuarterRotation(Consensus::LLMQType llmqType, const CBlockIndex* pCycleQuorumBaseBlockIndex); From c6cc5d2e90deeaf78a98b55c60fcd3f29d7e2213 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Sat, 13 Aug 2022 16:25:53 -0400 Subject: [PATCH 67/74] chore: enable DIP0024 hard fork on mainnet (#4968) --- src/chainparams.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index d12e96298c..09022898e0 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -242,8 +242,8 @@ public: // Deployment of Quorum Rotation DIP and decreased proposal fee (Values to be determined) consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].bit = 7; - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nStartTime = 999999999999ULL; // TODO ENABLE BEFORE FINAL RELEASE - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nTimeout = 999999999999ULL; // TODO ENABLE BEFORE FINAL RELEASE + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nStartTime = 1660521600; // Tuesday, August 15, 2022 12:00:00 AM + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nTimeout = 1692057600; // Tuesday, August 15, 2023 12:00:00 AM consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nWindowSize = 4032; consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdStart = 3226; // 80% of 4032 consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nThresholdMin = 2420; // 60% of 4032 From 26a22471ff99af47351cb7340dc5eb307cf19f0f Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 15 Aug 2022 20:32:15 +0300 Subject: [PATCH 68/74] doc: Add v18.0.0 release notes (#4955) * doc: archive v0.17.0.3 release notes * [WIP] doc: Add v18.0 release notes * Apply suggestions from code review Co-authored-by: thephez Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> * Update doc/release-notes.md Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> * Update dip0024 hf date * Update text for network improvements * Update wallet changes * fix date for rotation signaling * more text about multi wallet support Co-authored-by: thephez * change where the "now" is in a sentence * Revert "more text about multi wallet support" This reverts commit ee2022bae5cb130848be5f49991b9bf253b95193. * Update doc/release-notes.md Co-authored-by: TheLazieR Yip * Update doc/release-notes.md Co-authored-by: TheLazieR Yip * avoid potential dead links Co-authored-by: thephez * Update doc/release-notes.md Co-authored-by: thephez Co-authored-by: thephez Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Co-authored-by: QuantumExplorer Co-authored-by: TheLazieR Yip --- doc/release-notes.md | 261 ++++++++++++++++-- .../dash/release-notes-0.17.0.3.md | 132 +++++++++ 2 files changed, 371 insertions(+), 22 deletions(-) create mode 100644 doc/release-notes/dash/release-notes-0.17.0.3.md diff --git a/doc/release-notes.md b/doc/release-notes.md index f97b31a690..c8d7d35450 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,11 +1,14 @@ -Dash Core version 0.17.0.3 -========================== +Dash Core version v18.0.0 +========================= Release is now available from: -This is a new hotfix release. +This is a new major version release, bringing new features, various bugfixes +and other improvements. + +This release is mandatory for all nodes. Please report bugs using the issue tracker at github: @@ -34,13 +37,13 @@ possible with a reindex (or reindex-chainstate). Downgrade warning ----------------- -### Downgrade to a version < 0.14.0.3 +### Downgrade to a version < v18.0.0 -Downgrading to a version older than 0.14.0.3 is no longer supported due to -changes in the "evodb" database format. If you need to use an older version, -you must either reindex or re-sync the whole chain. +Downgrading to a version older than v18.0.0 is not supported due to changes in +the indexes database folder. If you need to use an older version, you must +either reindex or re-sync the whole chain. -### Downgrade of masternodes to < 0.17.0.2 +### Downgrade of masternodes to < v18.0.0 Starting with the 0.16 release, masternodes verify the protocol version of other masternodes. This results in PoSe punishment/banning for outdated masternodes, @@ -50,33 +53,246 @@ is not recommended. Notable changes =============== -This release adds some missing translations and help strings. It also fixes -a couple of build issues and a rare crash on some linux systems. +Quorum rotation +-------------- +InstantSend quorums will now use a new quorum type and a new algorithm for +establishing quorums. The upcoming DIP-0024 will provide comprehensive details. -0.17.0.3 Change log -=================== +Quorum rotation is activated via a BIP9 style hard fork that will begin +signalling on August 15, 2022 using bit 7. New quorums will start forming in +1152-1440 block range after the activation. Any nodes that do not upgrade by +that time will diverge from the rest of the network. -See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.2...dashpay:v0.17.0.3). +Deterministic InstantSend +------------------------- +Deterministically verifying InstantSend locks at any point in the future has +been added to support Dash Platform. This update introduces versioning to +InstantSend messages and adds quorum information to them. While the previous +design was sufficient for core chain payments, the platform chain will benefit +from this enhanced verification capability. Details about deterministic +InstantSend are provided in [DIP-0022](https://github.com/dashpay/dips/blob/master/dip-0022.md). -- [`6a54af0df7`](https://github.com/dashpay/dash/commit/6a54af0df7) Bump to v0.17.0.3 -- [`97e8461234`](https://github.com/dashpay/dash/commit/97e8461234) doc: Archive v0.17.0.2 release notes -- [`96c041896b`](https://github.com/dashpay/dash/commit/96c041896b) feat: add tor entrypoint script for use in dashmate (#4182) -- [`3661f36bbd`](https://github.com/dashpay/dash/commit/3661f36bbd) Merge #14416: Fix OSX dmg issue (10.12 to 10.14) (#4177) -- [`4f4bda0557`](https://github.com/dashpay/dash/commit/4f4bda0557) depends: Undefine `BLSALLOC_SODIUM` in `bls-dash.mk` (#4176) -- [`575e0a3070`](https://github.com/dashpay/dash/commit/575e0a3070) qt: Add `QFont::Normal` as a supported font weight when no other font weights were found (#4175) -- [`ce4a73b790`](https://github.com/dashpay/dash/commit/ce4a73b790) rpc: Fix `upgradetohd` help text (#4170) -- [`2fa8ddf160`](https://github.com/dashpay/dash/commit/2fa8ddf160) Translations 202105 (add missing) (#4169) +Deterministic InstantSend will be activated with the DIP0024 hard fork. + +Governance +---------- +Several improvements have been made to Dash’s DAO governance system. +The governance proposal fee has been reduced from 5 Dash to 1 Dash following +a vote by masternode owners to do so. For improved security and flexibility, +proposal payouts to pay-to-script-hash (P2SH) addresses are now supported. + +These changes will be activated with the DIP0024 hard fork. + +Governance proposals can now be viewed in GUI Governance tab (must be enabled +in Preferences first). + +Initial Enhanced Hard Fork support +---------------------------------- +The masternode hard fork signal special transaction has been added as the first +step in enabling an improved hard fork mechanism. This enhancement enables +future hard forks to be activated quickly and safely without any +“race conditions” if miners and masternodes update at significantly different +speeds. Effectively there will be a masternode signal on chain in addition to +the miner one to ensure smooth transitions. Details of the enhanced hard fork +system are provided in [DIP-0023](https://github.com/dashpay/dips/blob/master/dip-0023.md). + +Network improvements +-------------------- +We implemented and backported implementations of several improvement proposals. +You can read more about implemented changes in the following documents: +- [`DIP-0025`](https://gist.github.com/thephez/6c4c2a7747298e8b3e528c0c4e98a68c): Compressed headers. +- [`BIP 155`](https://github.com/bitcoin/bips/blob/master/bip-0155.mediawiki): The 'addrv2' and 'sendaddrv2' messages which enable relay of Tor V3 addresses (and other networks). +- [`BIP 158`](https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki): Compact Block Filters for Light Clients. + +KeePass support removed +----------------------- +Please make sure to move your coins to a wallet with a regular passphrase. + +Wallet changes +-------------- +We continued backporting wallet functionality updates. Most notable changes +are: +- Added support for empty, encrypted-on-creation and watch-only wallets. +- Wallets can now be created, opened and closed via a GUI menu. +- No more `salvagewallet` option in cmd-line and Repair tab in GUI. Check the +`salvage` command in the `dash-wallet` tool. + +Indexes +------- +The transaction index is moved into `indexes/` folder. The migration of the old +data is done on the first run and does not require reindexing. Note that the data +in the old path is removed which means that this change is not backwards +compatible and you'll have to reindex the whole blockchain if you decide to +downgrade to a pre-v18.0.0 version. + +Remote Procedure Call (RPC) Changes +----------------------------------- +Most changes here were introduced through Bitcoin backports mostly related to +the deprecation of wallet accounts in DashCore v0.17 and introduction of PSBT +format. + +The new RPCs are: +- `combinepsbt` +- `converttopsbt` +- `createpsbt` +- `decodepsbt` +- `deriveaddresses` +- `finalizepsbt` +- `getblockfilter` +- `getdescriptorinfo` +- `getnodeaddresses` +- `getrpcinfo` +- `joinpsbts` +- `listwalletdir` +- `quorum rotationinfo` +- `scantxoutset` +- `submitheader` +- `testmempoolaccept` +- `utxoupdatepsbt` +- `walletcreatefundedpsbt` +- `walletprocesspsbt` + +The removed RPCs are: +- `estimatefee` +- `getinfo` +- `getreceivedbyaccount` +- `keepass` +- `listaccounts` +- `listreceivedbyaccount` +- `move` +- `resendwallettransactions` +- `sendfrom` +- `signrawtransaction` + +Changes in existing RPCs introduced through bitcoin backports: +- The `testnet` field in `dash-cli -getinfo` has been renamed to `chain` and +now returns the current network name as defined in BIP70 (main, test, regtest). +- Added `window_final_block_height` in `getchaintxstats` +- Added `feerate_percentiles` object with feerates at the 10th, 25th, 50th, +75th, and 90th percentile weight unit instead of `medianfeerate` in +`getblockstats` +- In `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and +`getrawmempool` RPCs, to be consistent with the returned value and other RPCs +such as `getrawtransaction`, `vsize` has been added and `size` is now +deprecated. `size` will only be returned if `dashd` is started with +`-deprecatedrpc=size`. +- Added `loaded` in mempool related RPCs indicates whether the mempool is fully +loaded or not +- Added `localservicesnames` in `getnetworkinfo` list the services the node +offers to the network, in human-readable form (in addition to an already +existing `localservices` hex string) +- Added `hwm` in `getzmqnotifications` +- `createwallet` can create blank, encrypted or watch-only wallets now. +- Added `private_keys_enabled` in `getwalletinfo` +- Added `solvable`, `desc`, `ischange` and `hdmasterfingerprint` in `getaddressinfo` +- Added `desc` in `listunspent` + +Dash-specific changes in existing RPCs: +- Added `quorumIndex` in `quorum getinfo` and `quorum memberof` +- In rpc `masternodelist` with parameters `full`, `info` and `json` the PoS penalty score of the MN will be returned. For `json` parameter, the field `pospenaltyscore` was added. + +Please check `help ` for more detailed information on specific RPCs. + +Command-line options +-------------------- +Most changes here were introduced through Bitcoin backports. + +New cmd-line options: +- `asmap` +- `avoidpartialspends` +- `blockfilterindex` +- `blocksonly` +- `llmqinstantsenddip0024` +- `llmqtestinstantsendparams` +- `maxuploadtarget` +- `natpmp` +- `peerblockfilters` +- `powtargetspacing` +- `stdinwalletpassphrase` +- `zmqpubhashchainlock` +- `zmqpubrawchainlock` + +The option to set the PUB socket's outbound message high water mark +(SNDHWM) may be set individually for each notification: +- `-zmqpubhashtxhwm=n` +- `-zmqpubhashblockhwm=n` +- `-zmqpubhashchainlockhwm=n` +- `-zmqpubhashtxlockhwm=n` +- `-zmqpubhashgovernancevotehwm=n` +- `-zmqpubhashgovernanceobjecthwm=n` +- `-zmqpubhashinstantsenddoublespendhwm=n` +- `-zmqpubhashrecoveredsighwm=n` +- `-zmqpubrawblockhwm=n` +- `-zmqpubrawtxhwm=n` +- `-zmqpubrawchainlockhwm=n` +- `-zmqpubrawchainlocksighwm=n` +- `-zmqpubrawtxlockhwm=n` +- `-zmqpubrawtxlocksighwm=n` +- `-zmqpubrawgovernancevotehwm=n` +- `-zmqpubrawgovernanceobjecthwm=n` +- `-zmqpubrawinstantsenddoublespendhwm=n` +- `-zmqpubrawrecoveredsighwm=n` + +Removed cmd-line options: +- `keepass` +- `keepassport` +- `keepasskey` +- `keepassid` +- `keepassname` +- `salvagewallet` + +Changes in existing cmd-line options: + +Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for +more information. + +Backports from Bitcoin Core +--------------------------- +This release introduces over 1000 updates from Bitcoin v0.18/v0.19/v0.20 as well as numerous updates from Bitcoin v0.21 and more recent versions. This includes multi-wallet support in the GUI, support for partially signed transactions (PSBT), Tor version 3 support, and a number of other updates that will benefit Dash users. Bitcoin changes that do not align with Dash’s product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on what’s included in Bitcoin, please refer to their release notes – v0.18, v0.19, v0.20. + +Miscellaneous +------------- +A lot of refactoring, code cleanups and other small fixes were done in this release. + +v18.0.0 Change log +================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.3...dashpay:v18.0.0). Credits ======= Thanks to everyone who directly contributed to this release: +- AJ ONeal (coolaj86) +- Christian Fifi Culp (christiancfifi) - dustinface (xdustinface) +- gabriel-bjg +- Holger Schinzel (schinzelh) +- humbleDasher +- Kittywhiskers Van Gogh (kittywhiskers) +- Konstantin Akimov (knst) +- ktechmidas +- linuxsh2 +- Munkybooty +- Nathan Marley (nmarley) +- Odysseas Gabrielides (ogabrielides) +- PastaPastaPasta +- pravblockc +- rkarthik2k21 +- Stefan (5tefan) - strophy +- TheLazieR Yip (thelazier) +- thephez - UdjinM6 +- Vijay (vijaydasmp) +- Vlad K (dzutto) -As well as everyone that submitted issues and reviewed pull requests. +As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release. Notable mentions include: + +- Samuel Westrich (quantumexplorer) +- Virgile Bartolo +- xkcd Older releases ============== @@ -101,6 +317,7 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. These release are considered obsolete. Old release notes can be found here: +- [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021 - [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 - [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 - [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020 diff --git a/doc/release-notes/dash/release-notes-0.17.0.3.md b/doc/release-notes/dash/release-notes-0.17.0.3.md new file mode 100644 index 0000000000..f97b31a690 --- /dev/null +++ b/doc/release-notes/dash/release-notes-0.17.0.3.md @@ -0,0 +1,132 @@ +Dash Core version 0.17.0.3 +========================== + +Release is now available from: + + + +This is a new hotfix release. + +Please report bugs using the issue tracker at github: + + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or +dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation and you were +using version < 0.13 you will have to reindex (start with -reindex-chainstate +or -reindex) to make sure your wallet has all the new data synced. Upgrading +from version 0.13 should not require any additional actions. + +When upgrading from a version prior to 0.14.0.3, the +first startup of Dash Core will run a migration process which can take a few +minutes to finish. After the migration, a downgrade to an older version is only +possible with a reindex (or reindex-chainstate). + +Downgrade warning +----------------- + +### Downgrade to a version < 0.14.0.3 + +Downgrading to a version older than 0.14.0.3 is no longer supported due to +changes in the "evodb" database format. If you need to use an older version, +you must either reindex or re-sync the whole chain. + +### Downgrade of masternodes to < 0.17.0.2 + +Starting with the 0.16 release, masternodes verify the protocol version of other +masternodes. This results in PoSe punishment/banning for outdated masternodes, +so downgrading even prior to the activation of the introduced hard-fork changes +is not recommended. + +Notable changes +=============== + +This release adds some missing translations and help strings. It also fixes +a couple of build issues and a rare crash on some linux systems. + +0.17.0.3 Change log +=================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.2...dashpay:v0.17.0.3). + +- [`6a54af0df7`](https://github.com/dashpay/dash/commit/6a54af0df7) Bump to v0.17.0.3 +- [`97e8461234`](https://github.com/dashpay/dash/commit/97e8461234) doc: Archive v0.17.0.2 release notes +- [`96c041896b`](https://github.com/dashpay/dash/commit/96c041896b) feat: add tor entrypoint script for use in dashmate (#4182) +- [`3661f36bbd`](https://github.com/dashpay/dash/commit/3661f36bbd) Merge #14416: Fix OSX dmg issue (10.12 to 10.14) (#4177) +- [`4f4bda0557`](https://github.com/dashpay/dash/commit/4f4bda0557) depends: Undefine `BLSALLOC_SODIUM` in `bls-dash.mk` (#4176) +- [`575e0a3070`](https://github.com/dashpay/dash/commit/575e0a3070) qt: Add `QFont::Normal` as a supported font weight when no other font weights were found (#4175) +- [`ce4a73b790`](https://github.com/dashpay/dash/commit/ce4a73b790) rpc: Fix `upgradetohd` help text (#4170) +- [`2fa8ddf160`](https://github.com/dashpay/dash/commit/2fa8ddf160) Translations 202105 (add missing) (#4169) + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- dustinface (xdustinface) +- strophy +- UdjinM6 + +As well as everyone that submitted issues and reviewed pull requests. + +Older releases +============== + +Dash was previously known as Darkcoin. + +Darkcoin tree 0.8.x was a fork of Litecoin tree 0.8, original name was XCoin +which was first released on Jan/18/2014. + +Darkcoin tree 0.9.x was the open source implementation of masternodes based on +the 0.8.x tree and was first released on Mar/13/2014. + +Darkcoin tree 0.10.x used to be the closed source implementation of Darksend +which was released open source on Sep/25/2014. + +Dash Core tree 0.11.x was a fork of Bitcoin Core tree 0.9, +Darkcoin was rebranded to Dash. + +Dash Core tree 0.12.0.x was a fork of Bitcoin Core tree 0.10. + +Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. + +These release are considered obsolete. Old release notes can be found here: + +- [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 +- [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 +- [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020 +- [v0.16.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.0.1.md) released September/30/2020 +- [v0.15.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.15.0.0.md) released Febrary/18/2020 +- [v0.14.0.5](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.5.md) released December/08/2019 +- [v0.14.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.4.md) released November/22/2019 +- [v0.14.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.3.md) released August/15/2019 +- [v0.14.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.2.md) released July/4/2019 +- [v0.14.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.1.md) released May/31/2019 +- [v0.14.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.md) released May/22/2019 +- [v0.13.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.3.md) released Apr/04/2019 +- [v0.13.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.md) released Mar/15/2019 +- [v0.13.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.md) released Feb/9/2019 +- [v0.13.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.md) released Jan/14/2019 +- [v0.12.3.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018 +- [v0.12.3.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.3.md) released Sep/19/2018 +- [v0.12.3.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.2.md) released Jul/09/2018 +- [v0.12.3.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.1.md) released Jul/03/2018 +- [v0.12.2.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.3.md) released Jan/12/2018 +- [v0.12.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017 +- [v0.12.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.md) released Nov/08/2017 +- [v0.12.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.1.md) released Feb/06/2017 +- [v0.12.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.0.md) released Aug/15/2015 +- [v0.11.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.2.md) released Mar/04/2015 +- [v0.11.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015 +- [v0.11.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015 +- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014 +- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014 From 269fba2819548aa403ebde0ab3eca5b89516811e Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Mon, 15 Aug 2022 13:33:36 -0400 Subject: [PATCH 69/74] chore: set _CLIENT_VERSION_IS_RELEASE to true, drop RC (#4959) --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 173f0737a6..20a683906c 100644 --- a/configure.ac +++ b/configure.ac @@ -2,8 +2,8 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_RC, 12) -define(_CLIENT_VERSION_IS_RELEASE, false) +define(_CLIENT_VERSION_RC, 0) +define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]]) From 6f40461bb79cf43fe86210f811e37bea5a7d0dac Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 17 Aug 2022 16:45:04 +0300 Subject: [PATCH 70/74] fix: Allow triggers with p2sh after DIP0024 (#4973) --- src/governance/classes.cpp | 22 +++++++++++----------- src/governance/governance.cpp | 4 +++- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/governance/classes.cpp b/src/governance/classes.cpp index a682c0c096..938c4e145f 100644 --- a/src/governance/classes.cpp +++ b/src/governance/classes.cpp @@ -527,6 +527,9 @@ void CSuperblock::ParsePaymentSchedule(const std::string& strPaymentAddresses, c AMOUNTS = [AMOUNT1|2|3|4|5|6] */ + // TODO: script addresses limit here and cs_main lock in + // CGovernanceManager::InitOnLoad()once DIP0024 is active + bool fAllowScript = (VersionBitsTipState(Params().GetConsensus(), Consensus::DEPLOYMENT_DIP0024) == ThresholdState::ACTIVE); for (int i = 0; i < (int)vecParsed1.size(); i++) { CTxDestination dest = DecodeDestination(vecParsed1[i]); if (!IsValidDestination(dest)) { @@ -535,18 +538,15 @@ void CSuperblock::ParsePaymentSchedule(const std::string& strPaymentAddresses, c LogPrintf("%s\n", ostr.str()); throw std::runtime_error(ostr.str()); } - /* - TODO - - There might be an issue with multisig in the coinbase on mainnet, we will add support for it in a future release. - - Post 12.3+ (test multisig coinbase transaction) - */ - const CScriptID *scriptID = boost::get(&dest); - if (scriptID) { - std::ostringstream ostr; - ostr << "CSuperblock::ParsePaymentSchedule -- Script addresses are not supported yet : " << vecParsed1[i]; - LogPrintf("%s\n", ostr.str()); - throw std::runtime_error(ostr.str()); + if (!fAllowScript) { + const CScriptID *scriptID = boost::get(&dest); + if (scriptID) { + std::ostringstream ostr; + ostr << "CSuperblock::ParsePaymentSchedule -- Script addresses are not supported yet : " << vecParsed1[i]; + LogPrintf("%s\n", ostr.str()); + throw std::runtime_error(ostr.str()); + } } CAmount nAmount = ParsePaymentAmount(vecParsed2[i]); diff --git a/src/governance/governance.cpp b/src/governance/governance.cpp index 2b6c107233..4a351f8257 100644 --- a/src/governance/governance.cpp +++ b/src/governance/governance.cpp @@ -1094,7 +1094,9 @@ void CGovernanceManager::AddCachedTriggers() void CGovernanceManager::InitOnLoad() { - LOCK(cs); + // TODO: drop cs_main here and script addresses limit in + // CSuperblock::ParsePaymentSchedule() once DIP0024 is active + LOCK2(cs_main, cs); int64_t nStart = GetTimeMillis(); LogPrintf("Preparing masternode indexes and governance triggers...\n"); RebuildIndexes(); From 747475b55f4cc719f93115f06c70cfd1cef64d72 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 17 Aug 2022 17:37:07 +0300 Subject: [PATCH 71/74] fix(gitian): Fetch tags while cloning the repo via `gbuild` (#4976) Should fix version numbers for releases/candidates --- contrib/gitian-build.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/gitian-build.py b/contrib/gitian-build.py index 9b599e52fb..b45abecb34 100755 --- a/contrib/gitian-build.py +++ b/contrib/gitian-build.py @@ -61,13 +61,13 @@ def build(): if args.linux: print('\nCompiling ' + args.version + ' Linux') - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-linux.yml']) + subprocess.check_call(['bin/gbuild', '--fetch-tags', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-linux.yml']) subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-linux', '--destination', '../gitian.sigs/', '../dash/contrib/gitian-descriptors/gitian-linux.yml']) subprocess.check_call('mv build/out/dashcore-*.tar.gz build/out/src/dashcore-*.tar.gz ../dashcore-binaries/'+args.version, shell=True) if args.windows: print('\nCompiling ' + args.version + ' Windows') - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-win.yml']) + subprocess.check_call(['bin/gbuild', '--fetch-tags', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-win.yml']) subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-win-unsigned', '--destination', '../gitian.sigs/', '../dash/contrib/gitian-descriptors/gitian-win.yml']) subprocess.check_call('mv build/out/dashcore-*-win-unsigned.tar.gz inputs/', shell=True) subprocess.check_call('mv build/out/dashcore-*.zip build/out/dashcore-*.exe build/out/src/dashcore-*.tar.gz ../dashcore-binaries/'+args.version, shell=True) @@ -76,7 +76,7 @@ def build(): print('\nCompiling ' + args.version + ' MacOS') subprocess.check_call(['wget', '-N', '-P', 'inputs', 'https://bitcoincore.org/depends-sources/sdks/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz']) subprocess.check_output(["echo 'be17f48fd0b08fb4dcd229f55a6ae48d9f781d210839b4ea313ef17dd12d6ea5 inputs/Xcode-12.1-12A7403-extracted-SDK-with-libcxx-headers.tar.gz' | sha256sum -c"], shell=True) - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-osx.yml']) + subprocess.check_call(['bin/gbuild', '--fetch-tags', '-j', args.jobs, '-m', args.memory, '--commit', 'dash='+args.commit, '--url', 'dash='+args.url, '../dash/contrib/gitian-descriptors/gitian-osx.yml']) subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-osx-unsigned', '--destination', '../gitian.sigs/', '../dash/contrib/gitian-descriptors/gitian-osx.yml']) subprocess.check_call('mv build/out/dashcore-*-osx-unsigned.tar.gz inputs/', shell=True) subprocess.check_call('mv build/out/dashcore-*.tar.gz build/out/dashcore-*.dmg build/out/src/dashcore-*.tar.gz ../dashcore-binaries/'+args.version, shell=True) From 53a6888ec9beda6bab0fb18bf61e1322f1d34809 Mon Sep 17 00:00:00 2001 From: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com> Date: Wed, 17 Aug 2022 12:19:35 -0400 Subject: [PATCH 72/74] doc: update release notes slightly (#4972) --- doc/release-notes.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index c8d7d35450..0dbb116f7f 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -29,10 +29,11 @@ using version < 0.13 you will have to reindex (start with -reindex-chainstate or -reindex) to make sure your wallet has all the new data synced. Upgrading from version 0.13 should not require any additional actions. -When upgrading from a version prior to 0.14.0.3, the -first startup of Dash Core will run a migration process which can take a few -minutes to finish. After the migration, a downgrade to an older version is only -possible with a reindex (or reindex-chainstate). +When upgrading from a version prior to 18.0.0, the +first startup of Dash Core will run a migration process which can take anywhere +from a few minutes to thirty minutes to finish. After the migration, a +downgrade to an older version is only possible with a reindex +(or reindex-chainstate). Downgrade warning ----------------- From 6a57fa0c688fd3bbe872e6434d74779f2221f219 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 17 Aug 2022 19:19:02 +0300 Subject: [PATCH 73/74] backport: macos code signing (dashpay#4978) --- .../gitian-descriptors/gitian-osx-signer.yml | 18 ++++++++-- contrib/gitian-descriptors/gitian-osx.yml | 2 -- contrib/macdeploy/detached-sig-apply.sh | 36 ++----------------- contrib/macdeploy/detached-sig-create.sh | 35 ++++-------------- 4 files changed, 24 insertions(+), 67 deletions(-) diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml index 71e71d8f92..886d6553c0 100644 --- a/contrib/gitian-descriptors/gitian-osx-signer.yml +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml @@ -8,9 +8,13 @@ architectures: packages: - "faketime" - "xorriso" +- "python3-pip" remotes: - "url": "https://github.com/dashpay/dash-detached-sigs.git" "dir": "signature" +- "url": "https://github.com/achow101/signapple.git" + "dir": "signapple" + "commit": "8a945a2e7583be2665cf3a6a89d665b70ecd1ab6" files: - "dashcore-osx-unsigned.tar.gz" script: | @@ -31,11 +35,19 @@ script: | chmod +x ${WRAP_DIR}/${prog} done - UNSIGNED=dashcore-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=dashcore-osx-unsigned.tar.gz + UNSIGNED_APP=dist/Dash-Qt.app SIGNED=dashcore-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}/xorrisofs -D -l -V "${OSX_VOLNAME}" -no-pad -r -dir-mode 0755 -o uncompressed.dmg signed-app ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index 1660bc8d3a..2c768a8432 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -156,8 +156,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 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 diff --git a/contrib/macdeploy/detached-sig-apply.sh b/contrib/macdeploy/detached-sig-apply.sh index af2b11fa0d..ae83ccc3e1 100755 --- a/contrib/macdeploy/detached-sig-apply.sh +++ b/contrib/macdeploy/detached-sig-apply.sh @@ -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 " @@ -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}" diff --git a/contrib/macdeploy/detached-sig-create.sh b/contrib/macdeploy/detached-sig-create.sh index 5f4421e5f4..9361b141e4 100755 --- a/contrib/macdeploy/detached-sig-create.sh +++ b/contrib/macdeploy/detached-sig-create.sh @@ -8,44 +8,21 @@ set -e ROOTDIR=dist BUNDLE="${ROOTDIR}/Dash-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 " - echo "example: $0 -s MyIdentity" + echo "usage: $0 " + echo "example: $0 " exit 1 fi -rm -rf ${TEMPDIR} ${TEMPLIST} +rm -rf ${TEMPDIR} mkdir -p ${TEMPDIR} -${CODESIGN} -f --file-list ${TEMPLIST} -o runtime "$@" "${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}" From 75298fce5e7d5e7b960c3772f8331d3e321529d3 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 17 Aug 2022 19:40:59 +0300 Subject: [PATCH 74/74] chore: bump version to 18.0.1 (#4980) --- configure.ac | 2 +- doc/man/dash-cli.1 | 6 +++--- doc/man/dash-qt.1 | 6 +++--- doc/man/dash-tx.1 | 6 +++--- doc/man/dash-wallet.1 | 6 +++--- doc/man/dashd.1 | 6 +++--- doc/release-notes.md | 16 ++++++++-------- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/configure.ac b/configure.ac index 20a683906c..58665dd3aa 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 0) -define(_CLIENT_VERSION_BUILD, 0) +define(_CLIENT_VERSION_BUILD, 1) define(_CLIENT_VERSION_RC, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2022) diff --git a/doc/man/dash-cli.1 b/doc/man/dash-cli.1 index ec1d4b0de0..c44bc35ea6 100644 --- a/doc/man/dash-cli.1 +++ b/doc/man/dash-cli.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH DASH-CLI "1" "August 2022" "dash-cli v18.0.0" "User Commands" +.TH DASH-CLI "1" "August 2022" "dash-cli v18.0.1" "User Commands" .SH NAME -dash-cli \- manual page for dash-cli v18.0.0 +dash-cli \- manual page for dash-cli v18.0.1 .SH SYNOPSIS .B dash-cli [\fI\,options\/\fR] \fI\, \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR @@ -15,7 +15,7 @@ dash-cli \- manual page for dash-cli v18.0.0 .B dash-cli [\fI\,options\/\fR] \fI\,help Get help for a command\/\fR .SH DESCRIPTION -Dash Core RPC client version v18.0.0 +Dash Core RPC client version v18.0.1 .SH OPTIONS .HP \-? diff --git a/doc/man/dash-qt.1 b/doc/man/dash-qt.1 index 5c32bd4ce1..1823372d05 100644 --- a/doc/man/dash-qt.1 +++ b/doc/man/dash-qt.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH DASH-QT "1" "August 2022" "dash-qt v18.0.0" "User Commands" +.TH DASH-QT "1" "August 2022" "dash-qt v18.0.1" "User Commands" .SH NAME -dash-qt \- manual page for dash-qt v18.0.0 +dash-qt \- manual page for dash-qt v18.0.1 .SH SYNOPSIS .B dash-qt [\fI\,command-line options\/\fR] .SH DESCRIPTION -Dash Core version v18.0.0 +Dash Core version v18.0.1 .SH OPTIONS .HP \-? diff --git a/doc/man/dash-tx.1 b/doc/man/dash-tx.1 index 0917d29178..c3920f0279 100644 --- a/doc/man/dash-tx.1 +++ b/doc/man/dash-tx.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH DASH-TX "1" "August 2022" "dash-tx v18.0.0" "User Commands" +.TH DASH-TX "1" "August 2022" "dash-tx v18.0.1" "User Commands" .SH NAME -dash-tx \- manual page for dash-tx v18.0.0 +dash-tx \- manual page for dash-tx v18.0.1 .SH SYNOPSIS .B dash-tx [\fI\,options\/\fR] \fI\, \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR @@ -9,7 +9,7 @@ dash-tx \- manual page for dash-tx v18.0.0 .B dash-tx [\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR .SH DESCRIPTION -Dash Core dash\-tx utility version v18.0.0 +Dash Core dash\-tx utility version v18.0.1 .SH OPTIONS .HP \-? diff --git a/doc/man/dash-wallet.1 b/doc/man/dash-wallet.1 index 394a46b1fd..754a853c84 100644 --- a/doc/man/dash-wallet.1 +++ b/doc/man/dash-wallet.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH DASH-WALLET "1" "August 2022" "dash-wallet v18.0.0" "User Commands" +.TH DASH-WALLET "1" "August 2022" "dash-wallet v18.0.1" "User Commands" .SH NAME -dash-wallet \- manual page for dash-wallet v18.0.0 +dash-wallet \- manual page for dash-wallet v18.0.1 .SH DESCRIPTION -Dash Core dash\-wallet version v18.0.0 +Dash Core dash\-wallet version v18.0.1 .PP wallet\-tool is an offline tool for creating and interacting with Dash Core wallet files. By default wallet\-tool will act on wallets in the default mainnet wallet directory in the datadir. diff --git a/doc/man/dashd.1 b/doc/man/dashd.1 index 0a2b8a5202..8edc954822 100644 --- a/doc/man/dashd.1 +++ b/doc/man/dashd.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH DASHD "1" "August 2022" "dashd v18.0.0" "User Commands" +.TH DASHD "1" "August 2022" "dashd v18.0.1" "User Commands" .SH NAME -dashd \- manual page for dashd v18.0.0 +dashd \- manual page for dashd v18.0.1 .SH SYNOPSIS .B dashd [\fI\,options\/\fR] \fI\,Start Dash Core Daemon\/\fR .SH DESCRIPTION -Dash Core Daemon version v18.0.0 +Dash Core Daemon version v18.0.1 .SH OPTIONS .HP \-? diff --git a/doc/release-notes.md b/doc/release-notes.md index 0dbb116f7f..eed0aab8cd 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,4 +1,4 @@ -Dash Core version v18.0.0 +Dash Core version v18.0.1 ========================= Release is now available from: @@ -29,7 +29,7 @@ using version < 0.13 you will have to reindex (start with -reindex-chainstate or -reindex) to make sure your wallet has all the new data synced. Upgrading from version 0.13 should not require any additional actions. -When upgrading from a version prior to 18.0.0, the +When upgrading from a version prior to 18.0.1, the first startup of Dash Core will run a migration process which can take anywhere from a few minutes to thirty minutes to finish. After the migration, a downgrade to an older version is only possible with a reindex @@ -38,13 +38,13 @@ downgrade to an older version is only possible with a reindex Downgrade warning ----------------- -### Downgrade to a version < v18.0.0 +### Downgrade to a version < v18.0.1 -Downgrading to a version older than v18.0.0 is not supported due to changes in +Downgrading to a version older than v18.0.1 is not supported due to changes in the indexes database folder. If you need to use an older version, you must either reindex or re-sync the whole chain. -### Downgrade of masternodes to < v18.0.0 +### Downgrade of masternodes to < v18.0.1 Starting with the 0.16 release, masternodes verify the protocol version of other masternodes. This results in PoSe punishment/banning for outdated masternodes, @@ -124,7 +124,7 @@ The transaction index is moved into `indexes/` folder. The migration of the old data is done on the first run and does not require reindexing. Note that the data in the old path is removed which means that this change is not backwards compatible and you'll have to reindex the whole blockchain if you decide to -downgrade to a pre-v18.0.0 version. +downgrade to a pre-v18.0.1 version. Remote Procedure Call (RPC) Changes ----------------------------------- @@ -255,10 +255,10 @@ Miscellaneous ------------- A lot of refactoring, code cleanups and other small fixes were done in this release. -v18.0.0 Change log +v18.0.1 Change log ================== -See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.3...dashpay:v18.0.0). +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.3...dashpay:v18.0.1). Credits =======