Some Dashification (#3513)

* Trivial Dashification

* Tweak getnetworkinfo and dumpwallet help text

We don't have RBF and Segwit

* CopyrightHolders should also check for missing "Dash Core" copyright
This commit is contained in:
UdjinM6 2020-06-11 11:39:04 +03:00 committed by Alexander Block
parent ab5aeed920
commit b4008ee4fc
37 changed files with 80 additions and 76 deletions

View File

@ -57,12 +57,12 @@ the pull request affects. Valid areas as:
- *Consensus* for changes to consensus critical code - *Consensus* for changes to consensus critical code
- *Docs* for changes to the documentation - *Docs* for changes to the documentation
- *Qt* for changes to bitcoin-qt - *Qt* for changes to dash-qt
- *Mining* for changes to the mining code - *Mining* for changes to the mining code
- *Net* or *P2P* for changes to the peer-to-peer network code - *Net* or *P2P* for changes to the peer-to-peer network code
- *RPC/REST/ZMQ* for changes to the RPC, REST or ZMQ APIs - *RPC/REST/ZMQ* for changes to the RPC, REST or ZMQ APIs
- *Scripts and tools* for changes to the scripts and tools - *Scripts and tools* for changes to the scripts and tools
- *Tests* for changes to the bitcoin unit tests or QA tests - *Tests* for changes to the unit tests or QA tests
- *Trivial* should **only** be used for PRs that do not change generated - *Trivial* should **only** be used for PRs that do not change generated
executable code. Notably, refactors (change of function arguments and code executable code. Notably, refactors (change of function arguments and code
reorganization) and changes in behavior should **not** be marked as trivial. reorganization) and changes in behavior should **not** be marked as trivial.

View File

@ -15,8 +15,8 @@ BITCOINQT=${BITCOINQT:-$SRCDIR/qt/dash-qt}
BTCVER=($($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }')) BTCVER=($($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }'))
# Create a footer file with copyright content. # Create a footer file with copyright content.
# This gets autodetected fine for bitcoind if --version-string is not set, # This gets autodetected fine for dashd if --version-string is not set,
# but has different outcomes for bitcoin-qt and bitcoin-cli. # but has different outcomes for dash-qt and dash-cli.
echo "[COPYRIGHT]" > footer.h2m echo "[COPYRIGHT]" > footer.h2m
$BITCOIND --version | sed -n '1!p' >> footer.h2m $BITCOIND --version | sed -n '1!p' >> footer.h2m

View File

@ -52,7 +52,7 @@ READELF_CMD = os.getenv('READELF', '/usr/bin/readelf')
CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt') CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt')
# Allowed NEEDED libraries # Allowed NEEDED libraries
ALLOWED_LIBRARIES = { ALLOWED_LIBRARIES = {
# bitcoind and bitcoin-qt # dashd and dash-qt
'libgcc_s.so.1', # GCC base support 'libgcc_s.so.1', # GCC base support
'libc.so.6', # C library 'libc.so.6', # C library
'libpthread.so.0', # threading 'libpthread.so.0', # threading
@ -61,7 +61,7 @@ ALLOWED_LIBRARIES = {
'librt.so.1', # real-time (clock) 'librt.so.1', # real-time (clock)
'ld-linux-x86-64.so.2', # 64-bit dynamic linker 'ld-linux-x86-64.so.2', # 64-bit dynamic linker
'ld-linux.so.2', # 32-bit dynamic linker 'ld-linux.so.2', # 32-bit dynamic linker
# bitcoin-qt only # dash-qt only
'libX11-xcb.so.1', # part of X11 'libX11-xcb.so.1', # part of X11
'libX11.so.6', # part of X11 'libX11.so.6', # part of X11
'libxcb.so.1', # part of X11 'libxcb.so.1', # part of X11

View File

@ -25,7 +25,7 @@
# Additional options (avoid -conf and -datadir, use flags above) # Additional options (avoid -conf and -datadir, use flags above)
#BITCOIND_OPTS="" #BITCOIND_OPTS=""
# The timeout in seconds OpenRC will wait for bitcoind to terminate # The timeout in seconds OpenRC will wait for dashd to terminate
# after a SIGTERM has been raised. # after a SIGTERM has been raised.
# Note that this will be mapped as argument to start-stop-daemon's # Note that this will be mapped as argument to start-stop-daemon's
# '--retry' option, which means you can specify a retry schedule # '--retry' option, which means you can specify a retry schedule

View File

@ -1,5 +1,5 @@
# bitcoind RPC settings (linearize-hashes) # dashd RPC settings (linearize-hashes)
rpcuser=someuser rpcuser=someuser
rpcpassword=somepassword rpcpassword=somepassword
host=127.0.0.1 host=127.0.0.1

View File

@ -1,7 +1,7 @@
# bitcoind RPC settings (linearize-hashes) # dashd RPC settings (linearize-hashes)
rpcuser=someuser rpcuser=someuser
rpcpassword=somepassword rpcpassword=somepassword
#datadir=~/.bitcoin #datadir=~/.dashcore
host=127.0.0.1 host=127.0.0.1
port=9998 port=9998

View File

@ -2,4 +2,4 @@
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Dash network. It limits outbound TCP traffic with a source or destination port of 9999, but not if the destination IP is within a LAN. This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Dash network. It limits outbound TCP traffic with a source or destination port of 9999, but not if the destination IP is within a LAN.
This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it. This means one can have an always-on dashd instance running, and another local dashd/dash-qt instance which connects to this node and receives blocks from it.

View File

@ -659,7 +659,7 @@ A few guidelines for introducing and reviewing new RPC interfaces:
- Try not to overload methods on argument type. E.g. don't make `getblock(true)` and `getblock("hash")` - Try not to overload methods on argument type. E.g. don't make `getblock(true)` and `getblock("hash")`
do different things. do different things.
- *Rationale*: This is impossible to use with `bitcoin-cli`, and can be surprising to users. - *Rationale*: This is impossible to use with `dash-cli`, and can be surprising to users.
- *Exception*: Some RPC calls can take both an `int` and `bool`, most notably when a bool was switched - *Exception*: Some RPC calls can take both an `int` and `bool`, most notably when a bool was switched
to a multi-value, or due to other historical reasons. **Always** have false map to 0 and to a multi-value, or due to other historical reasons. **Always** have false map to 0 and
@ -678,7 +678,7 @@ A few guidelines for introducing and reviewing new RPC interfaces:
- Add every non-string RPC argument `(method, idx, name)` to the table `vRPCConvertParams` in `rpc/client.cpp`. - Add every non-string RPC argument `(method, idx, name)` to the table `vRPCConvertParams` in `rpc/client.cpp`.
- *Rationale*: `bitcoin-cli` and the GUI debug console use this table to determine how to - *Rationale*: `dash-cli` and the GUI debug console use this table to determine how to
convert a plaintext command line to JSON. If the types don't match, the method can be unusable convert a plaintext command line to JSON. If the types don't match, the method can be unusable
from there. from there.
@ -700,7 +700,7 @@ A few guidelines for introducing and reviewing new RPC interfaces:
RPCs whose behavior does *not* depend on the current chainstate may omit this RPCs whose behavior does *not* depend on the current chainstate may omit this
call. call.
- *Rationale*: In previous versions of Bitcoin Core, the wallet was always - *Rationale*: In previous versions of Dash Core, the wallet was always
in-sync with the chainstate (by virtue of them all being updated in the in-sync with the chainstate (by virtue of them all being updated in the
same cs_main lock). In order to maintain the behavior that wallet RPCs same cs_main lock). In order to maintain the behavior that wallet RPCs
return results as of at least the highest best-known block an RPC return results as of at least the highest best-known block an RPC

View File

@ -45,7 +45,7 @@ operation.
By default, the ZeroMQ feature is automatically compiled in if the By default, the ZeroMQ feature is automatically compiled in if the
necessary prerequisites are found. To disable, use --disable-zmq necessary prerequisites are found. To disable, use --disable-zmq
during the *configure* step of building bitcoind: during the *configure* step of building dashd:
$ ./configure --disable-zmq (other options) $ ./configure --disable-zmq (other options)

View File

@ -127,7 +127,7 @@ bool AppInit(int argc, char* argv[])
} }
} }
// -server defaults to true for bitcoind but not for the GUI so do this here // -server defaults to true for dashd but not for the GUI so do this here
gArgs.SoftSetBoolArg("-server", true); gArgs.SoftSetBoolArg("-server", true);
// Set this early so that parameter interactions go to console // Set this early so that parameter interactions go to console
InitLogging(); InitLogging();

View File

@ -184,7 +184,7 @@ bool ShutdownRequested()
/** /**
* This is a minimally invasive approach to shutdown on LevelDB read errors from the * This is a minimally invasive approach to shutdown on LevelDB read errors from the
* chainstate, while keeping user interface out of the common library, which is shared * chainstate, while keeping user interface out of the common library, which is shared
* between bitcoind, and bitcoin-qt and non-server tools. * between dashd, and dash-qt and non-server tools.
*/ */
class CCoinsViewErrorCatcher final : public CCoinsViewBacked class CCoinsViewErrorCatcher final : public CCoinsViewBacked
{ {

View File

@ -31,7 +31,7 @@ void InitLogging();
//!Parameter interaction: change current parameters depending on various rules //!Parameter interaction: change current parameters depending on various rules
void InitParameterInteraction(); void InitParameterInteraction();
/** Initialize bitcoin core: Basic context setup. /** Initialize Dash Core: Basic context setup.
* @note This can be done before daemonization. Do not call Shutdown() if this function fails. * @note This can be done before daemonization. Do not call Shutdown() if this function fails.
* @pre Parameters should be parsed and config file should be read. * @pre Parameters should be parsed and config file should be read.
*/ */
@ -49,13 +49,13 @@ bool AppInitParameterInteraction();
*/ */
bool AppInitSanityChecks(); bool AppInitSanityChecks();
/** /**
* Lock bitcoin core data directory. * Lock Dash Core data directory.
* @note This should only be done after daemonization. Do not call Shutdown() if this function fails. * @note This should only be done after daemonization. Do not call Shutdown() if this function fails.
* @pre Parameters should be parsed and config file should be read, AppInitSanityChecks should have been called. * @pre Parameters should be parsed and config file should be read, AppInitSanityChecks should have been called.
*/ */
bool AppInitLockDataDirectory(); bool AppInitLockDataDirectory();
/** /**
* Bitcoin core main initialization. * Dash Core main initialization.
* @note This should only be done after daemonization. Call Shutdown() if this function fails. * @note This should only be done after daemonization. Call Shutdown() if this function fails.
* @pre Parameters should be parsed and config file should be read, AppInitLockDataDirectory should have been called. * @pre Parameters should be parsed and config file should be read, AppInitLockDataDirectory should have been called.
*/ */

View File

@ -13,7 +13,7 @@ class NetworkStyle;
/** Class for the splashscreen with information of the running client. /** Class for the splashscreen with information of the running client.
* *
* @note this is intentionally not a QSplashScreen. Bitcoin Core initialization * @note this is intentionally not a QSplashScreen. Dash Core initialization
* can take a long time, and in that case a progress window that cannot be * can take a long time, and in that case a progress window that cannot be
* moved around and minimized has turned out to be frustrating to the user. * moved around and minimized has turned out to be frustrating to the user.
*/ */

View File

@ -105,9 +105,9 @@ QModelIndex FindTx(const QAbstractItemModel& model, const uint256& txid)
// //
// This also requires overriding the default minimal Qt platform: // This also requires overriding the default minimal Qt platform:
// //
// src/qt/test/test_bitcoin-qt -platform xcb # Linux // src/qt/test/test_dash-qt -platform xcb # Linux
// src/qt/test/test_bitcoin-qt -platform windows # Windows // src/qt/test/test_dash-qt -platform windows # Windows
// src/qt/test/test_bitcoin-qt -platform cocoa # macOS // src/qt/test/test_dash-qt -platform cocoa # macOS
void TestGUI() void TestGUI()
{ {
// Set up wallet and chain with 105 blocks (5 mature blocks for spending). // Set up wallet and chain with 105 blocks (5 mature blocks for spending).

View File

@ -1182,7 +1182,7 @@ UniValue echo(const JSONRPCRequest& request)
"echo|echojson \"message\" ...\n" "echo|echojson \"message\" ...\n"
"\nSimply echo back the input arguments. This command is for testing.\n" "\nSimply echo back the input arguments. This command is for testing.\n"
"\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in" "\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in"
"bitcoin-cli and the GUI. There is no server-side difference." "dash-cli and the GUI. There is no server-side difference."
); );
return request.params; return request.params;
@ -1195,8 +1195,8 @@ static UniValue getinfo_deprecated(const JSONRPCRequest& request)
"\nThis call was removed in version 0.16.0. Use the appropriate fields from:\n" "\nThis call was removed in version 0.16.0. Use the appropriate fields from:\n"
"- getblockchaininfo: blocks, difficulty, chain\n" "- getblockchaininfo: blocks, difficulty, chain\n"
"- getnetworkinfo: version, protocolversion, timeoffset, connections, proxy, relayfee, warnings\n" "- getnetworkinfo: version, protocolversion, timeoffset, connections, proxy, relayfee, warnings\n"
"- getwalletinfo: balance, keypoololdest, keypoolsize, paytxfee, unlocked_until, walletversion\n" "- getwalletinfo: balance, privatesend_balance, keypoololdest, keypoolsize, paytxfee, unlocked_until, walletversion\n"
"\nbitcoin-cli has the option -getinfo to collect and format these in the old format." "\ndash-cli has the option -getinfo to collect and format these in the old format."
); );
} }

View File

@ -451,7 +451,7 @@ UniValue getnetworkinfo(const JSONRPCRequest& request)
" ,...\n" " ,...\n"
" ],\n" " ],\n"
" \"relayfee\": x.xxxxxxxx, (numeric) minimum relay fee for transactions in " + CURRENCY_UNIT + "/kB\n" " \"relayfee\": x.xxxxxxxx, (numeric) minimum relay fee for transactions in " + CURRENCY_UNIT + "/kB\n"
" \"incrementalfee\": x.xxxxxxxx, (numeric) minimum fee increment for mempool limiting or BIP 125 replacement in " + CURRENCY_UNIT + "/kB\n" " \"incrementalfee\": x.xxxxxxxx, (numeric) minimum fee increment for mempool limiting in " + CURRENCY_UNIT + "/kB\n"
" \"localaddresses\": [ (array) list of local addresses\n" " \"localaddresses\": [ (array) list of local addresses\n"
" {\n" " {\n"
" \"address\": \"xxxx\", (string) network address\n" " \"address\": \"xxxx\", (string) network address\n"

View File

@ -39,7 +39,7 @@ enum RPCErrorCode
// It should not be used for application-layer errors. // It should not be used for application-layer errors.
RPC_METHOD_NOT_FOUND = -32601, RPC_METHOD_NOT_FOUND = -32601,
RPC_INVALID_PARAMS = -32602, RPC_INVALID_PARAMS = -32602,
// RPC_INTERNAL_ERROR should only be used for genuine errors in bitcoind // RPC_INTERNAL_ERROR should only be used for genuine errors in dashd
// (for example datadir corruption). // (for example datadir corruption).
RPC_INTERNAL_ERROR = -32603, RPC_INTERNAL_ERROR = -32603,
RPC_PARSE_ERROR = -32700, RPC_PARSE_ERROR = -32700,

View File

@ -14,7 +14,7 @@ This class is aligned with the JSON standard, [RFC
## Library usage ## Library usage
This is a fork of univalue used by Bitcoin Core. It is not maintained for usage This is a fork of univalue used by Dash Core. It is not maintained for usage
by other projects. Notably, the API may break in non-backward-compatible ways. by other projects. Notably, the API may break in non-backward-compatible ways.
Other projects looking for a maintained library should use the upstream Other projects looking for a maintained library should use the upstream

View File

@ -589,7 +589,7 @@ public:
std::pair<bool,std::string> found_result(false, std::string()); std::pair<bool,std::string> found_result(false, std::string());
// We pass "true" to GetArgHelper in order to return the last // We pass "true" to GetArgHelper in order to return the last
// argument value seen from the command line (so "bitcoind -foo=bar // argument value seen from the command line (so "dashd -foo=bar
// -foo=baz" gives GetArg(am,"foo")=={true,"baz"} // -foo=baz" gives GetArg(am,"foo")=={true,"baz"}
found_result = GetArgHelper(am.m_override_args, arg, true); found_result = GetArgHelper(am.m_override_args, arg, true);
if (found_result.first) { if (found_result.first) {
@ -1370,6 +1370,10 @@ std::string CopyrightHolders(const std::string& strPrefix, unsigned int nStartYe
{ {
std::string strCopyrightHolders = strPrefix + strprintf(" %u-%u ", nStartYear, nEndYear) + strprintf(_(COPYRIGHT_HOLDERS), _(COPYRIGHT_HOLDERS_SUBSTITUTION)); std::string strCopyrightHolders = strPrefix + strprintf(" %u-%u ", nStartYear, nEndYear) + strprintf(_(COPYRIGHT_HOLDERS), _(COPYRIGHT_HOLDERS_SUBSTITUTION));
// Check for untranslated substitution to make sure Dash Core copyright is not removed by accident
if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Dash Core") == std::string::npos) {
strCopyrightHolders += "\n" + strPrefix + strprintf(" %u-%u ", 2014, nEndYear) + "The Dash Core developers";
}
// Check for untranslated substitution to make sure Bitcoin Core copyright is not removed by accident // Check for untranslated substitution to make sure Bitcoin Core copyright is not removed by accident
if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Bitcoin Core") == std::string::npos) { if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Bitcoin Core") == std::string::npos) {
strCopyrightHolders += "\n" + strPrefix + strprintf(" %u-%u ", 2009, nEndYear) + "The Bitcoin Core developers"; strCopyrightHolders += "\n" + strPrefix + strprintf(" %u-%u ", 2009, nEndYear) + "The Bitcoin Core developers";

View File

@ -825,7 +825,7 @@ UniValue dumpwallet(const JSONRPCRequest& request)
throw std::runtime_error( throw std::runtime_error(
"dumpwallet \"filename\"\n" "dumpwallet \"filename\"\n"
"\nDumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.\n" "\nDumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.\n"
"Imported scripts are included in the dumpfile, but corresponding BIP173 addresses, etc. may not be added automatically by importwallet.\n" "Imported scripts are included in the dumpfile too, their corresponding addresses will be added automatically by importwallet.\n"
"Note that if your wallet contains keys which are not derived from your HD seed (e.g. imported keys), these are not covered by\n" "Note that if your wallet contains keys which are not derived from your HD seed (e.g. imported keys), these are not covered by\n"
"only backing up the seed itself, and must be backed up too (e.g. ensure you back up the whole dumpfile).\n" "only backing up the seed itself, and must be backed up too (e.g. ensure you back up the whole dumpfile).\n"
"\nArguments:\n" "\nArguments:\n"

View File

@ -126,9 +126,9 @@ class BIP66Test(BitcoinTestFramework):
wait_until(lambda: "reject" in self.nodes[0].p2p.last_message.keys(), lock=mininode_lock) wait_until(lambda: "reject" in self.nodes[0].p2p.last_message.keys(), lock=mininode_lock)
with mininode_lock: with mininode_lock:
# We can receive different reject messages depending on whether # We can receive different reject messages depending on whether
# bitcoind is running with multiple script check threads. If script # dashd is running with multiple script check threads. If script
# check threads are not in use, then transaction script validation # check threads are not in use, then transaction script validation
# happens sequentially, and bitcoind produces more specific reject # happens sequentially, and dashd produces more specific reject
# reasons. # reasons.
assert self.nodes[0].p2p.last_message["reject"].code in [REJECT_INVALID, REJECT_NONSTANDARD] assert self.nodes[0].p2p.last_message["reject"].code in [REJECT_INVALID, REJECT_NONSTANDARD]
assert_equal(self.nodes[0].p2p.last_message["reject"].data, block.sha256) assert_equal(self.nodes[0].p2p.last_message["reject"].data, block.sha256)

View File

@ -87,14 +87,14 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
return utxo_hash return utxo_hash
except: except:
# An exception here should mean the node is about to crash. # An exception here should mean the node is about to crash.
# If bitcoind exits, then try again. wait_for_node_exit() # If dashd exits, then try again. wait_for_node_exit()
# should raise an exception if bitcoind doesn't exit. # should raise an exception if dashd doesn't exit.
self.wait_for_node_exit(node_index, timeout=10) self.wait_for_node_exit(node_index, timeout=10)
self.crashed_on_restart += 1 self.crashed_on_restart += 1
time.sleep(1) time.sleep(1)
# If we got here, bitcoind isn't coming back up on restart. Could be a # If we got here, dashd isn't coming back up on restart. Could be a
# bug in bitcoind, or we've gotten unlucky with our dbcrash ratio -- # bug in dashd, or we've gotten unlucky with our dbcrash ratio --
# perhaps we generated a test case that blew up our cache? # perhaps we generated a test case that blew up our cache?
# TODO: If this happens a lot, we should try to restart without -dbcrashratio # TODO: If this happens a lot, we should try to restart without -dbcrashratio
# and make sure that recovery happens. # and make sure that recovery happens.

View File

@ -88,7 +88,7 @@ class HTTPBasicsTest (BitcoinTestFramework):
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) conn.request('POST', '/', '{"method": "getbestblockhash"}', headers)
out1 = conn.getresponse().read() out1 = conn.getresponse().read()
assert(b'"error":null' in out1) assert(b'"error":null' in out1)
assert(conn.sock!=None) #connection must be closed because bitcoind should use keep-alive by default assert(conn.sock!=None) #connection must be closed because dashd should use keep-alive by default
# Check excessive request size # Check excessive request size
conn = http.client.HTTPConnection(urlNode2.hostname, urlNode2.port) conn = http.client.HTTPConnection(urlNode2.hostname, urlNode2.port)

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test mempool persistence. """Test mempool persistence.
By default, bitcoind will dump mempool on shutdown and By default, dashd will dump mempool on shutdown and
then reload it on startup. This can be overridden with then reload it on startup. This can be overridden with
the -persistmempool=0 command line option. the -persistmempool=0 command line option.
@ -103,7 +103,7 @@ class MempoolPersistTest(BitcoinTestFramework):
self.start_node(1, extra_args=[]) self.start_node(1, extra_args=[])
wait_until(lambda: len(self.nodes[1].getrawmempool()) == 5) wait_until(lambda: len(self.nodes[1].getrawmempool()) == 5)
self.log.debug("Prevent bitcoind from writing mempool.dat to disk. Verify that `savemempool` fails") self.log.debug("Prevent dashd from writing mempool.dat to disk. Verify that `savemempool` fails")
# to test the exception we are creating a tmp folder called mempool.dat.new # to test the exception we are creating a tmp folder called mempool.dat.new
# which is an implementation detail that could change and break this test # which is an implementation detail that could change and break this test
mempooldotnew1 = mempooldat1 + '.new' mempooldotnew1 = mempooldat1 + '.new'

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test multiwallet. """Test multiwallet.
Verify that a bitcoind node can load multiple wallet files Verify that a dashd node can load multiple wallet files
""" """
import os import os
import shutil import shutil

View File

@ -11,7 +11,7 @@ from test_framework.util import *
from test_framework.blocktools import create_block, create_coinbase from test_framework.blocktools import create_block, create_coinbase
from test_framework.script import CScript, OP_TRUE from test_framework.script import CScript, OP_TRUE
# TestNode: A peer we use to send messages to bitcoind, and store responses. # TestNode: A peer we use to send messages to dashd, and store responses.
class TestNode(P2PInterface): class TestNode(P2PInterface):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
@ -218,7 +218,7 @@ class CompactBlocksTest(BitcoinTestFramework):
#old_node.request_headers_and_sync(locator=[tip]) #old_node.request_headers_and_sync(locator=[tip])
#check_announcement_of_new_block(node, old_node, lambda p: "cmpctblock" in p.last_message) #check_announcement_of_new_block(node, old_node, lambda p: "cmpctblock" in p.last_message)
# This test actually causes bitcoind to (reasonably!) disconnect us, so do this last. # This test actually causes dashd to (reasonably!) disconnect us, so do this last.
def test_invalid_cmpctblock_message(self): def test_invalid_cmpctblock_message(self):
self.nodes[0].generate(101) self.nodes[0].generate(101)
block = self.build_block_on_tip(self.nodes[0]) block = self.build_block_on_tip(self.nodes[0])
@ -233,7 +233,7 @@ class CompactBlocksTest(BitcoinTestFramework):
assert_equal(int(self.nodes[0].getbestblockhash(), 16), block.hashPrevBlock) assert_equal(int(self.nodes[0].getbestblockhash(), 16), block.hashPrevBlock)
# Compare the generated shortids to what we expect based on BIP 152, given # Compare the generated shortids to what we expect based on BIP 152, given
# bitcoind's choice of nonce. # dashd's choice of nonce.
def test_compactblock_construction(self, node, test_node, version): def test_compactblock_construction(self, node, test_node, version):
# Generate a bunch of transactions. # Generate a bunch of transactions.
node.generate(101) node.generate(101)
@ -324,7 +324,7 @@ class CompactBlocksTest(BitcoinTestFramework):
header_and_shortids.shortids.pop(0) header_and_shortids.shortids.pop(0)
index += 1 index += 1
# Test that bitcoind requests compact blocks when we announce new blocks # Test that dashd requests compact blocks when we announce new blocks
# via header or inv, and that responding to getblocktxn causes the block # via header or inv, and that responding to getblocktxn causes the block
# to be successfully reconstructed. # to be successfully reconstructed.
def test_compactblock_requests(self, node, test_node): def test_compactblock_requests(self, node, test_node):
@ -494,7 +494,7 @@ class CompactBlocksTest(BitcoinTestFramework):
assert_equal(absolute_indexes, [6, 7, 8, 9, 10]) assert_equal(absolute_indexes, [6, 7, 8, 9, 10])
# Now give an incorrect response. # Now give an incorrect response.
# Note that it's possible for bitcoind to be smart enough to know we're # Note that it's possible for dashd to be smart enough to know we're
# lying, since it could check to see if the shortid matches what we're # lying, since it could check to see if the shortid matches what we're
# sending, and eg disconnect us for misbehavior. If that behavior # sending, and eg disconnect us for misbehavior. If that behavior
# change were made, we could just modify this test by having a # change were made, we could just modify this test by having a
@ -519,7 +519,7 @@ class CompactBlocksTest(BitcoinTestFramework):
assert_equal(int(node.getbestblockhash(), 16), block.sha256) assert_equal(int(node.getbestblockhash(), 16), block.sha256)
def test_getblocktxn_handler(self, node, test_node, version): def test_getblocktxn_handler(self, node, test_node, version):
# bitcoind will not send blocktxn responses for blocks whose height is # dashd will not send blocktxn responses for blocks whose height is
# more than 10 blocks deep. # more than 10 blocks deep.
MAX_GETBLOCKTXN_DEPTH = 10 MAX_GETBLOCKTXN_DEPTH = 10
chain_height = node.getblockcount() chain_height = node.getblockcount()

View File

@ -315,7 +315,7 @@ class FullBlockTest(BitcoinTestFramework):
b26 = self.update_block(26, []) b26 = self.update_block(26, [])
self.send_blocks([b26], False, 16, b'bad-cb-length', reconnect=True) self.send_blocks([b26], False, 16, b'bad-cb-length', reconnect=True)
# Extend the b26 chain to make sure bitcoind isn't accepting b26 # Extend the b26 chain to make sure dashd isn't accepting b26
b27 = self.next_block(27, spend=out[7]) b27 = self.next_block(27, spend=out[7])
self.send_blocks([b27], False) self.send_blocks([b27], False)
@ -327,7 +327,7 @@ class FullBlockTest(BitcoinTestFramework):
b28 = self.update_block(28, []) b28 = self.update_block(28, [])
self.send_blocks([b28], False, 16, b'bad-cb-length', reconnect=True) self.send_blocks([b28], False, 16, b'bad-cb-length', reconnect=True)
# Extend the b28 chain to make sure bitcoind isn't accepting b28 # Extend the b28 chain to make sure dashd isn't accepting b28
b29 = self.next_block(29, spend=out[7]) b29 = self.next_block(29, spend=out[7])
self.send_blocks([b29], False) self.send_blocks([b29], False)
@ -836,7 +836,7 @@ class FullBlockTest(BitcoinTestFramework):
assert_equal(len(b64a.serialize()), MAX_BLOCK_SIZE + 8) assert_equal(len(b64a.serialize()), MAX_BLOCK_SIZE + 8)
self.send_blocks([b64a], False, 1, b'error parsing message') self.send_blocks([b64a], False, 1, b'error parsing message')
# bitcoind doesn't disconnect us for sending a bloated block, but if we subsequently # dashd doesn't disconnect us for sending a bloated block, but if we subsequently
# resend the header message, it won't send us the getdata message again. Just # resend the header message, it won't send us the getdata message again. Just
# disconnect and reconnect and then call sync_blocks. # disconnect and reconnect and then call sync_blocks.
# TODO: improve this test to be less dependent on P2P DOS behaviour. # TODO: improve this test to be less dependent on P2P DOS behaviour.

View File

@ -55,7 +55,7 @@ class CLazyNode(P2PInterface):
# anyway, and eventually get disconnected. # anyway, and eventually get disconnected.
class CNodeNoVersionBan(CLazyNode): class CNodeNoVersionBan(CLazyNode):
# send a bunch of veracks without sending a message. This should get us disconnected. # send a bunch of veracks without sending a message. This should get us disconnected.
# NOTE: implementation-specific check here. Remove if bitcoind ban behavior changes # NOTE: implementation-specific check here. Remove if dashd ban behavior changes
def on_open(self): def on_open(self):
super().on_open() super().on_open()
for i in range(banscore): for i in range(banscore):

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test various net timeouts. """Test various net timeouts.
- Create three bitcoind nodes: - Create three dashd nodes:
no_verack_node - we never send a verack in response to their version no_verack_node - we never send a verack in response to their version
no_version_node - we never send a version (only a ping) no_version_node - we never send a version (only a ping)

View File

@ -2,13 +2,13 @@
# Copyright (c) 2015-2016 The Bitcoin Core developers # Copyright (c) 2015-2016 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying # Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test bitcoind with different proxy configuration. """Test dashd with different proxy configuration.
Test plan: Test plan:
- Start bitcoind's with different proxy configurations - Start dashd's with different proxy configurations
- Use addnode to initiate connections - Use addnode to initiate connections
- Verify that proxies are connected to, and the right connection command is given - Verify that proxies are connected to, and the right connection command is given
- Proxy configurations to test on bitcoind side: - Proxy configurations to test on dashd side:
- `-proxy` (proxy everything) - `-proxy` (proxy everything)
- `-onion` (proxy just onions) - `-onion` (proxy just onions)
- `-proxyrandomize` Circuit randomization - `-proxyrandomize` Circuit randomization
@ -18,8 +18,8 @@ Test plan:
- proxy on IPv6 - proxy on IPv6
- Create various proxies (as threads) - Create various proxies (as threads)
- Create bitcoinds that connect to them - Create dashds that connect to them
- Manipulate the bitcoinds using addnode (onetry) an observe effects - Manipulate the dashds using addnode (onetry) an observe effects
addnode connect to IPv4 addnode connect to IPv4
addnode connect to IPv6 addnode connect to IPv6
@ -95,7 +95,7 @@ class ProxyTest(BitcoinTestFramework):
node.addnode("15.61.23.23:1234", "onetry") node.addnode("15.61.23.23:1234", "onetry")
cmd = proxies[0].queue.get() cmd = proxies[0].queue.get()
assert(isinstance(cmd, Socks5Command)) assert(isinstance(cmd, Socks5Command))
# Note: bitcoind's SOCKS5 implementation only sends atyp DOMAINNAME, even if connecting directly to IPv4/IPv6 # Note: dashd's SOCKS5 implementation only sends atyp DOMAINNAME, even if connecting directly to IPv4/IPv6
assert_equal(cmd.atyp, AddressType.DOMAINNAME) assert_equal(cmd.atyp, AddressType.DOMAINNAME)
assert_equal(cmd.addr, b"15.61.23.23") assert_equal(cmd.addr, b"15.61.23.23")
assert_equal(cmd.port, 1234) assert_equal(cmd.port, 1234)
@ -109,7 +109,7 @@ class ProxyTest(BitcoinTestFramework):
node.addnode("[1233:3432:2434:2343:3234:2345:6546:4534]:5443", "onetry") node.addnode("[1233:3432:2434:2343:3234:2345:6546:4534]:5443", "onetry")
cmd = proxies[1].queue.get() cmd = proxies[1].queue.get()
assert(isinstance(cmd, Socks5Command)) assert(isinstance(cmd, Socks5Command))
# Note: bitcoind's SOCKS5 implementation only sends atyp DOMAINNAME, even if connecting directly to IPv4/IPv6 # Note: dashd's SOCKS5 implementation only sends atyp DOMAINNAME, even if connecting directly to IPv4/IPv6
assert_equal(cmd.atyp, AddressType.DOMAINNAME) assert_equal(cmd.atyp, AddressType.DOMAINNAME)
assert_equal(cmd.addr, b"1233:3432:2434:2343:3234:2345:6546:4534") assert_equal(cmd.addr, b"1233:3432:2434:2343:3234:2345:6546:4534")
assert_equal(cmd.port, 5443) assert_equal(cmd.port, 5443)

View File

@ -2,7 +2,7 @@
# Copyright (c) 2014-2016 The Bitcoin Core developers # Copyright (c) 2014-2016 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying # Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test running bitcoind with -reindex and -reindex-chainstate options. """Test running dashd with -reindex and -reindex-chainstate options.
- Start a single node and generate 3 blocks. - Start a single node and generate 3 blocks.
- Stop the node and restart it with -reindex. Verify that the node has reindexed up to block 3. - Stop the node and restart it with -reindex. Verify that the node has reindexed up to block 3.

View File

@ -2,7 +2,7 @@
# Copyright (c) 2014-2016 The Bitcoin Core developers # Copyright (c) 2014-2016 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying # Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test running bitcoind with the -rpcbind and -rpcallowip options.""" """Test running dashd with the -rpcbind and -rpcallowip options."""
import socket import socket
import sys import sys

View File

@ -19,7 +19,7 @@
# You should have received a copy of the GNU Lesser General Public License # You should have received a copy of the GNU Lesser General Public License
# along with this software; if not, write to the Free Software # along with this software; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""HTTP proxy for opening RPC connection to bitcoind. """HTTP proxy for opening RPC connection to dashd.
AuthServiceProxy has the following improvements over python-jsonrpc's AuthServiceProxy has the following improvements over python-jsonrpc's
ServiceProxy class: ServiceProxy class:

View File

@ -76,7 +76,7 @@ def get_filename(dirname, n_node):
def write_all_rpc_commands(dirname, node): def write_all_rpc_commands(dirname, node):
""" """
Write out a list of all RPC functions available in `bitcoin-cli` for Write out a list of all RPC functions available in `dash-cli` for
coverage comparison. This will only happen once per coverage coverage comparison. This will only happen once per coverage
directory. directory.

View File

@ -105,7 +105,7 @@ class BitcoinTestFramework():
parser.add_option("--pdbonfailure", dest="pdbonfailure", default=False, action="store_true", parser.add_option("--pdbonfailure", dest="pdbonfailure", default=False, action="store_true",
help="Attach a python debugger if test fails") help="Attach a python debugger if test fails")
parser.add_option("--usecli", dest="usecli", default=False, action="store_true", parser.add_option("--usecli", dest="usecli", default=False, action="store_true",
help="use bitcoin-cli instead of RPC for all commands") help="use dash-cli instead of RPC for all commands")
parser.add_option("--dashd-arg", dest="dashd_extra_args", default=[], type='string', action='append', parser.add_option("--dashd-arg", dest="dashd_extra_args", default=[], type='string', action='append',
help="Pass extra args to all dashd instances") help="Pass extra args to all dashd instances")
self.add_options(parser) self.add_options(parser)

View File

@ -82,7 +82,7 @@ class TestNode():
self.p2ps = [] self.p2ps = []
def __del__(self): def __del__(self):
# Ensure that we don't leave any bitcoind processes lying around after # Ensure that we don't leave any dashd processes lying around after
# the test ends # the test ends
if self.process and self.cleanup_on_exit: if self.process and self.cleanup_on_exit:
# Should only happen on test failure # Should only happen on test failure
@ -109,7 +109,7 @@ class TestNode():
if self.mocktime != 0: if self.mocktime != 0:
all_args = all_args + ["-mocktime=%d" % self.mocktime] all_args = all_args + ["-mocktime=%d" % self.mocktime]
# Delete any existing cookie file -- if such a file exists (eg due to # Delete any existing cookie file -- if such a file exists (eg due to
# unclean shutdown), it will get overwritten anyway by bitcoind, and # unclean shutdown), it will get overwritten anyway by dashd, and
# potentially interfere with our attempt to authenticate # potentially interfere with our attempt to authenticate
delete_cookie_file(self.datadir) delete_cookie_file(self.datadir)
self.process = subprocess.Popen(all_args, stderr=stderr, *args, **kwargs) self.process = subprocess.Popen(all_args, stderr=stderr, *args, **kwargs)
@ -245,17 +245,17 @@ class TestNodeCLIAttr:
return lambda: self(*args, **kwargs) return lambda: self(*args, **kwargs)
class TestNodeCLI(): class TestNodeCLI():
"""Interface to bitcoin-cli for an individual node""" """Interface to dash-cli for an individual node"""
def __init__(self, binary, datadir): def __init__(self, binary, datadir):
self.options = [] self.options = []
self.binary = binary self.binary = binary
self.datadir = datadir self.datadir = datadir
self.input = None self.input = None
self.log = logging.getLogger('TestFramework.bitcoincli') self.log = logging.getLogger('TestFramework.dashcli')
def __call__(self, *options, input=None): def __call__(self, *options, input=None):
# TestNodeCLI is callable with bitcoin-cli command-line options # TestNodeCLI is callable with dash-cli command-line options
cli = TestNodeCLI(self.binary, self.datadir) cli = TestNodeCLI(self.binary, self.datadir)
cli.options = [str(o) for o in options] cli.options = [str(o) for o in options]
cli.input = input cli.input = input
@ -274,18 +274,18 @@ class TestNodeCLI():
return results return results
def send_cli(self, command=None, *args, **kwargs): def send_cli(self, command=None, *args, **kwargs):
"""Run bitcoin-cli command. Deserializes returned string as python object.""" """Run dash-cli command. Deserializes returned string as python object."""
pos_args = [str(arg) for arg in args] pos_args = [str(arg) for arg in args]
named_args = [str(key) + "=" + str(value) for (key, value) in kwargs.items()] named_args = [str(key) + "=" + str(value) for (key, value) in kwargs.items()]
assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same bitcoin-cli call" assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same dash-cli call"
p_args = [self.binary, "-datadir=" + self.datadir] + self.options p_args = [self.binary, "-datadir=" + self.datadir] + self.options
if named_args: if named_args:
p_args += ["-named"] p_args += ["-named"]
if command is not None: if command is not None:
p_args += [command] p_args += [command]
p_args += pos_args + named_args p_args += pos_args + named_args
self.log.debug("Running bitcoin-cli command: %s" % command) self.log.debug("Running dash-cli command: %s" % command)
process = subprocess.Popen(p_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) process = subprocess.Popen(p_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
cli_stdout, cli_stderr = process.communicate(input=self.input) cli_stdout, cli_stderr = process.communicate(input=self.input)
returncode = process.poll() returncode = process.poll()

View File

@ -242,7 +242,7 @@ def main():
sys.exit(0) sys.exit(0)
if not (enable_wallet and enable_utils and enable_bitcoind): if not (enable_wallet and enable_utils and enable_bitcoind):
print("No functional tests to run. Wallet, utils, and bitcoind must all be enabled") print("No functional tests to run. Wallet, utils, and dashd must all be enabled")
print("Rerun `configure` with -enable-wallet, -with-utils and -with-daemon and rerun make") print("Rerun `configure` with -enable-wallet, -with-utils and -with-daemon and rerun make")
sys.exit(0) sys.exit(0)
@ -429,7 +429,7 @@ class TestHandler:
self.test_list = test_list self.test_list = test_list
self.flags = flags self.flags = flags
self.num_running = 0 self.num_running = 0
# In case there is a graveyard of zombie bitcoinds, we can apply a # In case there is a graveyard of zombie dashds, we can apply a
# pseudorandom offset to hopefully jump over them. # pseudorandom offset to hopefully jump over them.
# (625 is PORT_RANGE/MAX_NODES) # (625 is PORT_RANGE/MAX_NODES)
self.portseed_offset = int(time.time() * 1000) % 625 self.portseed_offset = int(time.time() * 1000) % 625
@ -538,7 +538,7 @@ class RPCCoverage():
Coverage calculation works by having each test script subprocess write Coverage calculation works by having each test script subprocess write
coverage files into a particular directory. These files contain the RPC coverage files into a particular directory. These files contain the RPC
commands invoked during testing, as well as a complete listing of RPC commands invoked during testing, as well as a complete listing of RPC
commands per `bitcoin-cli help` (`rpc_interface.txt`). commands per `dash-cli help` (`rpc_interface.txt`).
After all tests complete, the commands run are combined and diff'd against After all tests complete, the commands run are combined and diff'd against
the complete list to calculate uncovered RPC commands. the complete list to calculate uncovered RPC commands.