more bitcoin->dash fixes

This commit is contained in:
UdjinM6 2015-04-06 00:56:58 +03:00
parent 8bd7e1d181
commit fabca0a428
41 changed files with 244 additions and 929 deletions

View File

@ -26,7 +26,7 @@ matrix:
include: include:
- compiler: ": ARM" - compiler: ": ARM"
env: HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat" env: HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat"
- compiler: ": bitcoind" - compiler: ": dashd"
env: HOST=x86_64-unknown-linux-gnu PACKAGES="bc" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat CPPFLAGS=-DDEBUG_LOCKORDER" env: HOST=x86_64-unknown-linux-gnu PACKAGES="bc" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat CPPFLAGS=-DDEBUG_LOCKORDER"
- compiler: ": No wallet" - compiler: ": No wallet"
env: HOST=x86_64-unknown-linux-gnu DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat" env: HOST=x86_64-unknown-linux-gnu DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat"
@ -55,8 +55,8 @@ script:
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make distdir PACKAGE=bitcoin VERSION=$HOST - make distdir PACKAGE=dash VERSION=$HOST
- cd bitcoin-$HOST - cd dash-$HOST
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false) - ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false ) - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib

View File

@ -356,7 +356,6 @@ SOURCES += src/activemasternode.cpp \
src/allocators.cpp \ src/allocators.cpp \
src/amount.cpp \ src/amount.cpp \
src/base58.cpp \ src/base58.cpp \
src/bitcoin-tx.cpp \
src/bloom.cpp \ src/bloom.cpp \
src/chain.cpp \ src/chain.cpp \
src/chainparams.cpp \ src/chainparams.cpp \

View File

@ -1,12 +1,12 @@
# bash programmable completion for bitcoind(1) and bitcoin-cli(1) # bash programmable completion for dashd(1) and dash-cli(1)
# Copyright (c) 2012,2014 Christian von Roques <roques@mti.ag> # Copyright (c) 2012,2014 Christian von Roques <roques@mti.ag>
# Distributed under the MIT/X11 software license, see the accompanying # Distributed under the MIT/X11 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.
have bitcoind && { have dashd && {
# call $bitcoind for RPC # call $dashd for RPC
_bitcoin_rpc() { _dash_rpc() {
# determine already specified args necessary for RPC # determine already specified args necessary for RPC
local rpcargs=() local rpcargs=()
for i in ${COMP_LINE}; do for i in ${COMP_LINE}; do
@ -16,23 +16,23 @@ _bitcoin_rpc() {
;; ;;
esac esac
done done
$bitcoind "${rpcargs[@]}" "$@" $dashd "${rpcargs[@]}" "$@"
} }
# Add bitcoin accounts to COMPREPLY # Add dash accounts to COMPREPLY
_bitcoin_accounts() { _dash_accounts() {
local accounts local accounts
accounts=$(_bitcoin_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}') accounts=$(_dash_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}')
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) ) COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) )
} }
_bitcoind() { _dashd() {
local cur prev words=() cword local cur prev words=() cword
local bitcoind local dashd
# save and use original argument to invoke bitcoind # save and use original argument to invoke dashd
# bitcoind might not be in $PATH # dashd might not be in $PATH
bitcoind="$1" dashd="$1"
COMPREPLY=() COMPREPLY=()
_get_comp_words_by_ref -n = cur prev words cword _get_comp_words_by_ref -n = cur prev words cword
@ -53,7 +53,7 @@ _bitcoind() {
if ((cword > 3)); then if ((cword > 3)); then
case ${words[cword-3]} in case ${words[cword-3]} in
addmultisigaddress) addmultisigaddress)
_bitcoin_accounts _dash_accounts
return 0 return 0
;; ;;
getbalance|gettxout|importaddress|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock) getbalance|gettxout|importaddress|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
@ -74,7 +74,7 @@ _bitcoind() {
return 0 return 0
;; ;;
move|setaccount) move|setaccount)
_bitcoin_accounts _dash_accounts
return 0 return 0
;; ;;
esac esac
@ -90,7 +90,7 @@ _bitcoind() {
return 0 return 0
;; ;;
getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany) getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany)
_bitcoin_accounts _dash_accounts
return 0 return 0
;; ;;
esac esac
@ -114,12 +114,12 @@ _bitcoind() {
# only parse --help if senseful # only parse --help if senseful
if [[ -z "$cur" || "$cur" =~ ^- ]]; then if [[ -z "$cur" || "$cur" =~ ^- ]]; then
helpopts=$($bitcoind --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' ) helpopts=$($dashd --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
fi fi
# only parse help if senseful # only parse help if senseful
if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then
commands=$(_bitcoin_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }') commands=$(_dash_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }')
fi fi
COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) ) COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) )
@ -133,7 +133,7 @@ _bitcoind() {
esac esac
} }
complete -F _bitcoind bitcoind bitcoin-cli complete -F _dashd dashd dash-cli
} }
# Local variables: # Local variables:

View File

@ -1,10 +1,10 @@
.TH BITCOIN-QT "1" "April 2013" "bitcoin-qt 1" .TH DASH-QT "1" "March 2015" "dash-qt 1"
.SH NAME .SH NAME
bitcoin-qt \- peer-to-peer network based digital currency dash-qt \- peer-to-peer network based digital currency
.SH DESCRIPTION .SH DESCRIPTION
.SS "Usage:" .SS "Usage:"
.IP .IP
bitcoin\-qt [command\-line options] dash\-qt [command\-line options]
.SH OPTIONS .SH OPTIONS
.TP .TP
\-? \-?
@ -14,7 +14,7 @@ This help message
Specify configuration file (default: dash.conf) Specify configuration file (default: dash.conf)
.TP .TP
\fB\-pid=\fR<file> \fB\-pid=\fR<file>
Specify pid file (default: bitcoind.pid) Specify pid file (default: dashd.pid)
.TP .TP
\fB\-gen\fR \fB\-gen\fR
Generate coins Generate coins

View File

@ -1,14 +1,14 @@
.TH BITCOIND "1" "January 2011" "bitcoind 3.19" .TH DASHD "1" "January 2011" "dashd 3.19"
.SH NAME .SH NAME
bitcoind \- peer-to-peer network based digital currency Dash \- peer-to-peer network based digital currency
.SH SYNOPSIS .SH SYNOPSIS
bitcoin [options] <command> [params] dashd [options] <command> [params]
.TP .TP
bitcoin [options] help <command> \- Get help for a command dashd [options] help <command> \- Get help for a command
.SH DESCRIPTION .SH DESCRIPTION
This manual page documents the bitcoind program. Bitcoin is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages: This manual page documents the dashd program. Dash is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages:
Bitcoins can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Bitcoin systems money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks. Dash can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Dash systems money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks.
.SH OPTIONS .SH OPTIONS
.TP .TP
@ -84,14 +84,14 @@ This help message
\fBbackupwallet 'destination'\fR \fBbackupwallet 'destination'\fR
Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename. Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename.
.TP .TP
\fBgetaccount 'bitcoinaddress'\fR \fBgetaccount 'dashaddress'\fR
Returns the account associated with the given address. Returns the account associated with the given address.
.TP .TP
\fBsetaccount 'bitcoinaddress' ['account']\fR \fBsetaccount 'dashaddress' ['account']\fR
Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account']. Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account'].
.TP .TP
\fBgetaccountaddress 'account'\fR \fBgetaccountaddress 'account'\fR
Returns a new bitcoin address for 'account'. Returns a new dash address for 'account'.
.TP .TP
\fBgetaddressesbyaccount 'account'\fR \fBgetaddressesbyaccount 'account'\fR
Returns the list of addresses associated with the given 'account'. Returns the list of addresses associated with the given 'account'.
@ -112,7 +112,7 @@ Returns the number of connections to other nodes.
Returns the proof-of-work difficulty as a multiple of the minimum difficulty. Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
.TP .TP
\fBgetgenerate\fR \fBgetgenerate\fR
Returns boolean true if server is trying to generate bitcoins, false otherwise. Returns boolean true if server is trying to generate DASH, false otherwise.
.TP .TP
\fBsetgenerate 'generate' ['genproclimit']\fR \fBsetgenerate 'generate' ['genproclimit']\fR
Generation is limited to ['genproclimit'] processors, \-1 is unlimited. Generation is limited to ['genproclimit'] processors, \-1 is unlimited.
@ -124,13 +124,13 @@ Returns a recent hashes per second performance measurement while generating.
Returns an object containing server information. Returns an object containing server information.
.TP .TP
\fBgetnewaddress 'account'\fR \fBgetnewaddress 'account'\fR
Returns a new bitcoin address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'. Returns a new dash address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'.
.TP .TP
\fBgetreceivedbyaccount 'account' ['minconf=1']\fR \fBgetreceivedbyaccount 'account' ['minconf=1']\fR
Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations. Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations.
.TP .TP
\fBgetreceivedbyaddress 'bitcoinaddress' ['minconf=1']\fR \fBgetreceivedbyaddress 'dashaddress' ['minconf=1']\fR
Returns the total amount received by 'bitcoinaddress' in transactions with at least ['minconf'] confirmations. Returns the total amount received by 'dashaddress' in transactions with at least ['minconf'] confirmations.
.TP .TP
\fBgettransaction 'txid'\fR \fBgettransaction 'txid'\fR
Returns information about a specific transaction, given hexadecimal transaction ID. Returns information about a specific transaction, given hexadecimal transaction ID.
@ -148,7 +148,7 @@ List commands, or get help for a command.
.TP .TP
\fBlistaccounts ['minconf=1']\fR \fBlistaccounts ['minconf=1']\fR
List accounts and their current balances. List accounts and their current balances.
*note: requires bitcoin 0.3.20 or later. *note: requires dash 0.3.20 or later.
.TP .TP
\fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR \fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR
['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing: ['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing:
@ -177,26 +177,26 @@ Returns a list of the last ['count'] transactions for 'account' \- for all accou
"message" : message associated with transaction (only for send). "message" : message associated with transaction (only for send).
"to" : message-to associated with transaction (only for send). "to" : message-to associated with transaction (only for send).
*note: requires bitcoin 0.3.20 or later. *note: requires dash 0.3.20 or later.
.TP .TP
\fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR \fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR
Moves funds between accounts. Moves funds between accounts.
.TP .TP
\fBsendfrom* <'account'> <'bitcoinaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR \fBsendfrom* <'account'> <'dashaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR
Sends amount from account's balance to 'bitcoinaddress'. This method will fail if there is less than amount bitcoins with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success. Sends amount from account's balance to 'dashaddress'. This method will fail if there is less than amount DASH with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success.
.TP .TP
\fBsendtoaddress 'bitcoinaddress' 'amount' ['comment'] ['comment-to']\fR \fBsendtoaddress 'dashaddress' 'amount' ['comment'] ['comment-to']\fR
Sends amount from the server's available balance to 'bitcoinaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success. Sends amount from the server's available balance to 'dashaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success.
.TP .TP
\fBstop\fR \fBstop\fR
Stops the bitcoin server. Stops the dash server.
.TP .TP
\fBvalidateaddress 'bitcoinaddress'\fR \fBvalidateaddress 'dashaddress'\fR
Checks that 'bitcoinaddress' looks like a proper bitcoin address. Returns an object containing: Checks that 'dashaddress' looks like a proper Dash address. Returns an object containing:
"isvalid" : true or false. "isvalid" : true or false.
"ismine" : true if the address is in the server's wallet. "ismine" : true if the address is in the server's wallet.
"address" : bitcoinaddress. "address" : dashaddress.
*note: ismine and address are only returned if the address is valid. *note: ismine and address are only returned if the address is valid.

View File

@ -1,5 +1,5 @@
--- ---
name: "bitcoin-dmg-signer" name: "dash-dmg-signer"
suites: suites:
- "precise" - "precise"
architectures: architectures:
@ -10,7 +10,7 @@ packages:
reference_datetime: "2013-06-01 00:00:00" reference_datetime: "2013-06-01 00:00:00"
remotes: [] remotes: []
files: files:
- "bitcoin-osx-unsigned.tar.gz" - "dash-osx-unsigned.tar.gz"
- "signature.tar.gz" - "signature.tar.gz"
script: | script: |
WRAP_DIR=$HOME/wrapped WRAP_DIR=$HOME/wrapped
@ -28,10 +28,10 @@ script: |
chmod +x ${WRAP_DIR}/${prog} chmod +x ${WRAP_DIR}/${prog}
done done
UNSIGNED=bitcoin-osx-unsigned.tar.gz UNSIGNED=dash-osx-unsigned.tar.gz
SIGNED=bitcoin-osx-signed.dmg SIGNED=dash-osx-signed.dmg
tar -xf ${UNSIGNED} tar -xf ${UNSIGNED}
./detached-sig-apply.sh ${UNSIGNED} signature.tar.gz ./detached-sig-apply.sh ${UNSIGNED} signature.tar.gz
${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Bitcoin-Qt" -no-pad -r -apple -o uncompressed.dmg signed-app ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Dash-Qt" -no-pad -r -apple -o uncompressed.dmg signed-app
${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED}

View File

@ -1,5 +1,5 @@
--- ---
name: "bitcoin-osx-0.10" name: "dash-osx-0.12"
enable_cache: true enable_cache: true
suites: suites:
- "precise" - "precise"
@ -20,8 +20,8 @@ packages:
- "libbz2-dev" - "libbz2-dev"
reference_datetime: "2013-06-01 00:00:00" reference_datetime: "2013-06-01 00:00:00"
remotes: remotes:
- "url": "https://github.com/bitcoin/bitcoin.git" - "url": "https://github.com/dashpay/dash.git"
"dir": "bitcoin" "dir": "dash"
files: files:
- "MacOSX10.7.sdk.tar.gz" - "MacOSX10.7.sdk.tar.gz"
script: | script: |
@ -68,7 +68,7 @@ script: |
done done
export PATH=${WRAP_DIR}:${PATH} export PATH=${WRAP_DIR}:${PATH}
cd bitcoin cd dash
BASEPREFIX=`pwd`/depends BASEPREFIX=`pwd`/depends
mkdir -p ${BASEPREFIX}/SDKs mkdir -p ${BASEPREFIX}/SDKs
@ -83,14 +83,14 @@ script: |
./autogen.sh ./autogen.sh
./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
make dist make dist
SOURCEDIST=`echo bitcoin-*.tar.gz` SOURCEDIST=`echo dash-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find dash-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"
@ -120,7 +120,7 @@ script: |
popd popd
make deploy make deploy
${WRAP_DIR}/dmg dmg Bitcoin-Qt.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg ${WRAP_DIR}/dmg dmg Dash-Qt.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg
cd installed cd installed
find . -name "lib*.la" -delete find . -name "lib*.la" -delete

View File

@ -65,7 +65,7 @@ script: |
done done
export PATH=${WRAP_DIR}:${PATH} export PATH=${WRAP_DIR}:${PATH}
cd bitcoin cd dash
BASEPREFIX=`pwd`/depends BASEPREFIX=`pwd`/depends
# Build dependencies for each host # Build dependencies for each host
for i in $HOSTS; do for i in $HOSTS; do
@ -83,7 +83,7 @@ script: |
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$SOURCEDIST tar xf ../$SOURCEDIST
find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST find dash-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"

View File

@ -1,9 +1,9 @@
Sample configuration files for: Sample configuration files for:
SystemD: bitcoind.service SystemD: dashd.service
Upstart: bitcoind.conf Upstart: dashd.conf
OpenRC: bitcoind.openrc OpenRC: dashd.openrc
bitcoind.openrcconf dashd.openrcconf
have been made available to assist packagers in creating node packages here. have been made available to assist packagers in creating node packages here.

View File

@ -1,27 +0,0 @@
# /etc/conf.d/bitcoind: config file for /etc/init.d/bitcoind
# Config file location
#BITCOIND_CONFIGFILE="/etc/bitcoin/bitcoin.conf"
# What directory to write pidfile to? (created and owned by $BITCOIND_USER)
#BITCOIND_PIDDIR="/var/run/bitcoind"
# What filename to give the pidfile
#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/bitcoind.pid"
# Where to write bitcoind data (be mindful that the blockchain is large)
#BITCOIND_DATADIR="/var/lib/bitcoind"
# User and group to own bitcoind process
#BITCOIND_USER="bitcoin"
#BITCOIND_GROUP="bitcoin"
# Path to bitcoind executable
#BITCOIND_BIN="/usr/bin/bitcoind"
# Nice value to run bitcoind under
#BITCOIND_NICE=0
# Additional options (avoid -conf and -datadir, use flags above)
BITCOIND_OPTS="-disablewallet"

View File

@ -1,22 +0,0 @@
[Unit]
Description=Bitcoin's distributed currency daemon
After=network.target
[Service]
User=bitcoin
Group=bitcoin
Type=forking
PIDFile=/var/lib/bitcoind/bitcoind.pid
ExecStart=/usr/bin/bitcoind -daemon -pid=/var/lib/bitcoind/bitcoind.pid \
-conf=/etc/bitcoin/bitcoin.conf -datadir=/var/lib/bitcoind -disablewallet
Restart=always
PrivateTmp=true
TimeoutStopSec=60s
TimeoutStartSec=2s
StartLimitInterval=120s
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View File

@ -1,16 +1,16 @@
description "Bitcoin Core Daemon" description "Dash Core Daemon"
start on runlevel [2345] start on runlevel [2345]
stop on starting rc RUNLEVEL=[016] stop on starting rc RUNLEVEL=[016]
env BITCOIND_BIN="/usr/bin/bitcoind" env BITCOIND_BIN="/usr/bin/dashd"
env BITCOIND_USER="bitcoin" env BITCOIND_USER="dash"
env BITCOIND_GROUP="bitcoin" env BITCOIND_GROUP="dash"
env BITCOIND_PIDDIR="/var/run/bitcoind" env BITCOIND_PIDDIR="/var/run/dashd"
# upstart can't handle variables constructed with other variables # upstart can't handle variables constructed with other variables
env BITCOIND_PIDFILE="/var/run/bitcoind/bitcoind.pid" env BITCOIND_PIDFILE="/var/run/dashd/dashd.pid"
env BITCOIND_CONFIGFILE="/etc/bitcoin/bitcoin.conf" env BITCOIND_CONFIGFILE="/etc/dash/dash.conf"
env BITCOIND_DATADIR="/var/lib/bitcoind" env BITCOIND_DATADIR="/var/lib/dashd"
expect fork expect fork
@ -20,12 +20,12 @@ kill timeout 60
pre-start script pre-start script
# this will catch non-existent config files # this will catch non-existent config files
# bitcoind will check and exit with this very warning, but it can do so # dashd will check and exit with this very warning, but it can do so
# long after forking, leaving upstart to think everything started fine. # long after forking, leaving upstart to think everything started fine.
# since this is a commonly encountered case on install, just check and # since this is a commonly encountered case on install, just check and
# warn here. # warn here.
if ! grep -qs '^rpcpassword=' "$BITCOIND_CONFIGFILE" ; then if ! grep -qs '^rpcpassword=' "$BITCOIND_CONFIGFILE" ; then
echo "ERROR: You must set a secure rpcpassword to run bitcoind." echo "ERROR: You must set a secure rpcpassword to run dashd."
echo "The setting must appear in $BITCOIND_CONFIGFILE" echo "The setting must appear in $BITCOIND_CONFIGFILE"
echo echo
echo "This password is security critical to securing wallets " echo "This password is security critical to securing wallets "
@ -38,7 +38,7 @@ pre-start script
echo "It is also recommended that you also set alertnotify so you are " echo "It is also recommended that you also set alertnotify so you are "
echo "notified of problems:" echo "notified of problems:"
echo echo
echo "ie: alertnotify=echo %%s | mail -s \"Bitcoin Alert\"" \ echo "ie: alertnotify=echo %%s | mail -s \"Dash Alert\"" \
"admin@foo.com" "admin@foo.com"
echo echo
exit 1 exit 1

View File

@ -2,24 +2,24 @@
# backward compatibility for existing gentoo layout # backward compatibility for existing gentoo layout
# #
if [ -d "/var/lib/bitcoin/.bitcoin" ]; then if [ -d "/var/lib/dash/.dash" ]; then
BITCOIND_DEFAULT_DATADIR="/var/lib/bitcoin/.bitcoin" BITCOIND_DEFAULT_DATADIR="/var/lib/dash/.dash"
else else
BITCOIND_DEFAULT_DATADIR="/var/lib/bitcoind" BITCOIND_DEFAULT_DATADIR="/var/lib/dashd"
fi fi
BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/bitcoin/bitcoin.conf} BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/dash/dash.conf}
BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/bitcoind} BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/dashd}
BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/bitcoind.pid} BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/dashd.pid}
BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}} BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}}
BITCOIND_USER=${BITCOIND_USER:-bitcoin} BITCOIND_USER=${BITCOIND_USER:-dash}
BITCOIND_GROUP=${BITCOIND_GROUP:-bitcoin} BITCOIND_GROUP=${BITCOIND_GROUP:-dash}
BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/bitcoind} BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/dashd}
name="Bitcoin Core Daemon" name="Dash Core Daemon"
description="Bitcoin crypto-currency p2p network daemon" description="Dash crypto-currency p2p network daemon"
command="/usr/bin/bitcoind" command="/usr/bin/dashd"
command_args="-pid=\"${BITCOIND_PIDFILE}\" \ command_args="-pid=\"${BITCOIND_PIDFILE}\" \
-conf=\"${BITCOIND_CONFIGFILE}\" \ -conf=\"${BITCOIND_CONFIGFILE}\" \
-datadir=\"${BITCOIND_DATADIR}\" \ -datadir=\"${BITCOIND_DATADIR}\" \
@ -65,7 +65,7 @@ checkconfig()
{ {
if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then
eerror "" eerror ""
eerror "ERROR: You must set a secure rpcpassword to run bitcoind." eerror "ERROR: You must set a secure rpcpassword to run dashd."
eerror "The setting must appear in ${BITCOIND_CONFIGFILE}" eerror "The setting must appear in ${BITCOIND_CONFIGFILE}"
eerror "" eerror ""
eerror "This password is security critical to securing wallets " eerror "This password is security critical to securing wallets "
@ -78,7 +78,7 @@ checkconfig()
eerror "It is also recommended that you also set alertnotify so you are " eerror "It is also recommended that you also set alertnotify so you are "
eerror "notified of problems:" eerror "notified of problems:"
eerror "" eerror ""
eerror "ie: alertnotify=echo %%s | mail -s \"Bitcoin Alert\"" \ eerror "ie: alertnotify=echo %%s | mail -s \"Dash Alert\"" \
"admin@foo.com" "admin@foo.com"
eerror "" eerror ""
return 1 return 1

View File

@ -0,0 +1,27 @@
# /etc/conf.d/dashd: config file for /etc/init.d/dashd
# Config file location
#BITCOIND_CONFIGFILE="/etc/dash/dash.conf"
# What directory to write pidfile to? (created and owned by $BITCOIND_USER)
#BITCOIND_PIDDIR="/var/run/dashd"
# What filename to give the pidfile
#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/dashd.pid"
# Where to write dashd data (be mindful that the blockchain is large)
#BITCOIND_DATADIR="/var/lib/dashd"
# User and group to own dashd process
#BITCOIND_USER="dash"
#BITCOIND_GROUP="dash"
# Path to dashd executable
#BITCOIND_BIN="/usr/bin/dashd"
# Nice value to run dashd under
#BITCOIND_NICE=0
# Additional options (avoid -conf and -datadir, use flags above)
BITCOIND_OPTS="-disablewallet"

View File

@ -0,0 +1,22 @@
[Unit]
Description=Dash's distributed currency daemon
After=network.target
[Service]
User=dash
Group=dash
Type=forking
PIDFile=/var/lib/dashd/dashd.pid
ExecStart=/usr/bin/dashd -daemon -pid=/var/lib/dashd/dashd.pid \
-conf=/etc/dash/dash.conf -datadir=/var/lib/dashd -disablewallet
Restart=always
PrivateTmp=true
TimeoutStopSec=60s
TimeoutStartSec=2s
StartLimitInterval=120s
StartLimitBurst=5
[Install]
WantedBy=multi-user.target

View File

@ -5,7 +5,7 @@ UNSIGNED=$1
SIGNATURE=$2 SIGNATURE=$2
ARCH=x86_64 ARCH=x86_64
ROOTDIR=dist ROOTDIR=dist
BUNDLE=${ROOTDIR}/Bitcoin-Qt.app BUNDLE=${ROOTDIR}/Dash-Qt.app
TEMPDIR=signed.temp TEMPDIR=signed.temp
OUTDIR=signed-app OUTDIR=signed-app

View File

@ -2,7 +2,7 @@
set -e set -e
ROOTDIR=dist ROOTDIR=dist
BUNDLE=${ROOTDIR}/Bitcoin-Qt.app BUNDLE=${ROOTDIR}/Dash-Qt.app
CODESIGN=codesign CODESIGN=codesign
TEMPDIR=sign.temp TEMPDIR=sign.temp
TEMPLIST=${TEMPDIR}/signatures.txt TEMPLIST=${TEMPDIR}/signatures.txt

View File

@ -1,117 +1,5 @@
Dash Core tree 0.11.x release notes can be found here: Dash Core tree 0.11.x release notes can be found here:
- [v0.11.0](release-notes/release-notes-0.11.0.md) released Jan/15/2015 - [v0.11.0](release-notes/release-notes-0.11.0.md) released Jan/15/2015
- [v0.11.1](release-notes/release-notes-0.11.1.md) released Feb/10/2015. - [v0.11.1](release-notes/release-notes-0.11.1.md) released Feb/10/2015.
- [v0.11.2](release-notes/release-notes-0.11.2.md) not released yet. - [v0.11.2](release-notes/release-notes-0.11.2.md) released Mar/25/2015.
- [v0.12.0](release-notes/release-notes-0.12.0.md) not released yet.
***TODO***
Bitcoin Core version 0.10.1 is now available from:
https://bitcoin.org/bin/0.10.1/
This is a new minor version release, bringing bug fixes and translation
updates. If you are using 0.10.0, it is recommended to upgrade to this
version.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
Upgrading and downgrading
=========================
How to Upgrade
--------------
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrade warning
------------------
Because release 0.10.0 and later makes use of headers-first synchronization and
parallel block download (see further), the block files and databases are not
backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
* Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
* The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes
===============
0.10.1 Change log
=================
Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
- `7f502be` fix crash: createmultisig and addmultisigaddress
Block (database) and transaction handling:
- `1d2cdd2` Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates
- `c91c660` fix InvalidateBlock to repopulate setBlockIndexCandidates
- `002c8a2` fix possible block db breakage during re-index
P2P protocol and network code:
- `78f64ef` don't trickle for whitelisted nodes
- `ca301bf` Reduce fingerprinting through timestamps in 'addr' messages.
- `200f293` Ignore getaddr messages on Outbound connections.
- `d5d8998` Limit message sizes before transfer
- `aeb9279` Better fingerprinting protection for non-main-chain getdatas.
Validation:
- `d148f62` Acquire CCheckQueue's lock to avoid race condition
Build system:
- `8752b5c` 0.10 fix for crashes on OSX 10.6
Wallet:
- N/A
GUI:
- `2c08406` some mac specifiy cleanup (memory handling, unnecessary code)
- `81145a6` fix OSX dock icon window reopening
- `786cf72` fix a issue where "command line options"-action overwrite "Preference"-action (on OSX)
Tests:
- `1117378` add RPC test for InvalidateBlock
Miscellaneous:
- `c9e022b` Initialization: set Boost path locale in main thread
- `23126a0` Sanitize command strings before logging them.
Credits
=======
Thanks to everyone who contributed to this release:
- Alex Morcos
- Cory Fields
- dexX7
- fsb4000
- Gregory Maxwell
- Ivan Pustogarov
- Jonas Schnelli
- Pieter Wuille
- Ruben de Vries
- Suhas Daftuar
- Wladimir J. van der Laan
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).

View File

@ -0,0 +1,60 @@
*This is a draft!*
0.12.0 Release notes
====================
Dash Core version 0.11.2 is now available from:
https://dashpay.io/downloads
Please report bugs using the issue tracker at github:
https://github.com/dashpay/dash/issues
How to Upgrade
--------------
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or
dashd/dash-qt (on Linux).
Downgrade warning
------------------
Because release 0.12.0 and later makes use of headers-first synchronization and
parallel block download (see further), the block files and databases are not
backwards-compatible with pre-0.12 versions of Dash Core or other software:
* Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
* The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
0.12.0 changelog
----------------
Bitcoin Core version 0.10.1
Credits
--------
Thanks to who contributed to this release, at least:
- *to do ..*
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/dash/).

View File

@ -6,13 +6,13 @@ and tests weren't explicitly disabled.
After configuring, they can be run with 'make check'. After configuring, they can be run with 'make check'.
To run the bitcoind tests manually, launch src/test/test_dash . To run the dashd tests manually, launch src/test/test_dash .
To add more bitcoind tests, add `BOOST_AUTO_TEST_CASE` functions to the existing To add more dashd tests, add `BOOST_AUTO_TEST_CASE` functions to the existing
.cpp files in the test/ directory or add new .cpp files that .cpp files in the test/ directory or add new .cpp files that
implement new BOOST_AUTO_TEST_SUITE sections. implement new BOOST_AUTO_TEST_SUITE sections.
To run the bitcoin-qt tests manually, launch src/qt/test/bitcoin-qt_test To run the dash-qt tests manually, launch src/qt/test/dash-qt_test
To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and To add more dash-qt tests, add them to the `src/qt/test/` directory and
the `src/qt/test/test_main.cpp` file. the `src/qt/test/test_main.cpp` file.

View File

@ -32,7 +32,7 @@
<string>Dash-Qt</string> <string>Dash-Qt</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>org.dashfoundation.Dash-Qt</string> <string>io.dashpay.Dash-Qt</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
<array> <array>
@ -40,7 +40,7 @@
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>CFBundleURLName</key> <key>CFBundleURLName</key>
<string>io.dash.DarkcoinPayment</string> <string>io.dash.DashPayment</string>
<key>CFBundleURLSchemes</key> <key>CFBundleURLSchemes</key>
<array> <array>
<string>dash</string> <string>dash</string>

View File

@ -117,17 +117,17 @@ def main():
g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n') g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n')
g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n') g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n')
g.write('/**\n') g.write('/**\n')
g.write(' * List of fixed seed nodes for the bitcoin network\n') g.write(' * List of fixed seed nodes for the dash network\n')
g.write(' * AUTOGENERATED by share/seeds/generate-seeds.py\n') g.write(' * AUTOGENERATED by share/seeds/generate-seeds.py\n')
g.write(' *\n') g.write(' *\n')
g.write(' * Each line contains a 16-byte IPv6 address and a port.\n') g.write(' * Each line contains a 16-byte IPv6 address and a port.\n')
g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n') g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n')
g.write(' */\n') g.write(' */\n')
with open(os.path.join(indir,'nodes_main.txt'),'r') as f: with open(os.path.join(indir,'nodes_main.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_main', 8333) process_nodes(g, f, 'pnSeed6_main', 9999)
g.write('\n') g.write('\n')
with open(os.path.join(indir,'nodes_test.txt'),'r') as f: with open(os.path.join(indir,'nodes_test.txt'),'r') as f:
process_nodes(g, f, 'pnSeed6_test', 18333) process_nodes(g, f, 'pnSeed6_test', 19999)
g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n') g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n')
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -1,633 +0,0 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "base58.h"
#include "clientversion.h"
#include "primitives/block.h" // for MAX_BLOCK_SIZE
#include "primitives/transaction.h"
#include "core_io.h"
#include "coins.h"
#include "keystore.h"
#include "script/script.h"
#include "script/sign.h"
#include "ui_interface.h" // for _(...)
#include "univalue/univalue.h"
#include "util.h"
#include "utilstrencodings.h"
#include "utilmoneystr.h"
#include <stdio.h>
#include <boost/algorithm/string.hpp>
#include <boost/assign/list_of.hpp>
using namespace boost::assign;
using namespace std;
static bool fCreateBlank;
static map<string,UniValue> registers;
CClientUIInterface uiInterface;
static bool AppInitRawTx(int argc, char* argv[])
{
//
// Parameters
//
ParseParameters(argc, argv);
// Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)
if (!SelectParamsFromCommandLine()) {
fprintf(stderr, "Error: Invalid combination of -regtest and -testnet.\n");
return false;
}
fCreateBlank = GetBoolArg("-create", false);
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help"))
{
// First part of help message is specific to this utility
std::string strUsage = _("Bitcoin Core bitcoin-tx utility version") + " " + FormatFullVersion() + "\n\n" +
_("Usage:") + "\n" +
" bitcoin-tx [options] <hex-tx> [commands] " + _("Update hex-encoded bitcoin transaction") + "\n" +
" bitcoin-tx [options] -create [commands] " + _("Create hex-encoded bitcoin transaction") + "\n" +
"\n";
fprintf(stdout, "%s", strUsage.c_str());
strUsage = _("Options:") + "\n";
strUsage += " -? " + _("This help message") + "\n";
strUsage += " -create " + _("Create new, empty TX.") + "\n";
strUsage += " -json " + _("Select JSON output") + "\n";
strUsage += " -txid " + _("Output only the hex-encoded transaction id of the resultant transaction.") + "\n";
strUsage += " -regtest " + _("Enter regression test mode, which uses a special chain in which blocks can be solved instantly.") + "\n";
strUsage += " -testnet " + _("Use the test network") + "\n";
strUsage += "\n";
fprintf(stdout, "%s", strUsage.c_str());
strUsage = _("Commands:") + "\n";
strUsage += " delin=N " + _("Delete input N from TX") + "\n";
strUsage += " delout=N " + _("Delete output N from TX") + "\n";
strUsage += " in=TXID:VOUT " + _("Add input to TX") + "\n";
strUsage += " locktime=N " + _("Set TX lock time to N") + "\n";
strUsage += " nversion=N " + _("Set TX version to N") + "\n";
strUsage += " outaddr=VALUE:ADDRESS " + _("Add address-based output to TX") + "\n";
strUsage += " outscript=VALUE:SCRIPT " + _("Add raw script output to TX") + "\n";
strUsage += " sign=SIGHASH-FLAGS " + _("Add zero or more signatures to transaction") + "\n";
strUsage += " This command requires JSON registers:\n";
strUsage += " prevtxs=JSON object\n";
strUsage += " privatekeys=JSON object\n";
strUsage += " See signrawtransaction docs for format of sighash flags, JSON objects.\n";
strUsage += "\n";
fprintf(stdout, "%s", strUsage.c_str());
strUsage = _("Register Commands:") + "\n";
strUsage += " load=NAME:FILENAME " + _("Load JSON file FILENAME into register NAME") + "\n";
strUsage += " set=NAME:JSON-STRING " + _("Set register NAME to given JSON-STRING") + "\n";
strUsage += "\n";
fprintf(stdout, "%s", strUsage.c_str());
return false;
}
return true;
}
static void RegisterSetJson(const string& key, const string& rawJson)
{
UniValue val;
if (!val.read(rawJson)) {
string strErr = "Cannot parse JSON for key " + key;
throw runtime_error(strErr);
}
registers[key] = val;
}
static void RegisterSet(const string& strInput)
{
// separate NAME:VALUE in string
size_t pos = strInput.find(':');
if ((pos == string::npos) ||
(pos == 0) ||
(pos == (strInput.size() - 1)))
throw runtime_error("Register input requires NAME:VALUE");
string key = strInput.substr(0, pos);
string valStr = strInput.substr(pos + 1, string::npos);
RegisterSetJson(key, valStr);
}
static void RegisterLoad(const string& strInput)
{
// separate NAME:FILENAME in string
size_t pos = strInput.find(':');
if ((pos == string::npos) ||
(pos == 0) ||
(pos == (strInput.size() - 1)))
throw runtime_error("Register load requires NAME:FILENAME");
string key = strInput.substr(0, pos);
string filename = strInput.substr(pos + 1, string::npos);
FILE *f = fopen(filename.c_str(), "r");
if (!f) {
string strErr = "Cannot open file " + filename;
throw runtime_error(strErr);
}
// load file chunks into one big buffer
string valStr;
while ((!feof(f)) && (!ferror(f))) {
char buf[4096];
int bread = fread(buf, 1, sizeof(buf), f);
if (bread <= 0)
break;
valStr.insert(valStr.size(), buf, bread);
}
if (ferror(f)) {
string strErr = "Error reading file " + filename;
throw runtime_error(strErr);
}
fclose(f);
// evaluate as JSON buffer register
RegisterSetJson(key, valStr);
}
static void MutateTxVersion(CMutableTransaction& tx, const string& cmdVal)
{
int64_t newVersion = atoi64(cmdVal);
if (newVersion < 1 || newVersion > CTransaction::CURRENT_VERSION)
throw runtime_error("Invalid TX version requested");
tx.nVersion = (int) newVersion;
}
static void MutateTxLocktime(CMutableTransaction& tx, const string& cmdVal)
{
int64_t newLocktime = atoi64(cmdVal);
if (newLocktime < 0LL || newLocktime > 0xffffffffLL)
throw runtime_error("Invalid TX locktime requested");
tx.nLockTime = (unsigned int) newLocktime;
}
static void MutateTxAddInput(CMutableTransaction& tx, const string& strInput)
{
// separate TXID:VOUT in string
size_t pos = strInput.find(':');
if ((pos == string::npos) ||
(pos == 0) ||
(pos == (strInput.size() - 1)))
throw runtime_error("TX input missing separator");
// extract and validate TXID
string strTxid = strInput.substr(0, pos);
if ((strTxid.size() != 64) || !IsHex(strTxid))
throw runtime_error("invalid TX input txid");
uint256 txid(strTxid);
static const unsigned int minTxOutSz = 9;
static const unsigned int maxVout = MAX_BLOCK_SIZE / minTxOutSz;
// extract and validate vout
string strVout = strInput.substr(pos + 1, string::npos);
int vout = atoi(strVout);
if ((vout < 0) || (vout > (int)maxVout))
throw runtime_error("invalid TX input vout");
// append to transaction input list
CTxIn txin(txid, vout);
tx.vin.push_back(txin);
}
static void MutateTxAddOutAddr(CMutableTransaction& tx, const string& strInput)
{
// separate VALUE:ADDRESS in string
size_t pos = strInput.find(':');
if ((pos == string::npos) ||
(pos == 0) ||
(pos == (strInput.size() - 1)))
throw runtime_error("TX output missing separator");
// extract and validate VALUE
string strValue = strInput.substr(0, pos);
CAmount value;
if (!ParseMoney(strValue, value))
throw runtime_error("invalid TX output value");
// extract and validate ADDRESS
string strAddr = strInput.substr(pos + 1, string::npos);
CBitcoinAddress addr(strAddr);
if (!addr.IsValid())
throw runtime_error("invalid TX output address");
// build standard output script via GetScriptForDestination()
CScript scriptPubKey = GetScriptForDestination(addr.Get());
// construct TxOut, append to transaction output list
CTxOut txout(value, scriptPubKey);
tx.vout.push_back(txout);
}
static void MutateTxAddOutScript(CMutableTransaction& tx, const string& strInput)
{
// separate VALUE:SCRIPT in string
size_t pos = strInput.find(':');
if ((pos == string::npos) ||
(pos == 0))
throw runtime_error("TX output missing separator");
// extract and validate VALUE
string strValue = strInput.substr(0, pos);
CAmount value;
if (!ParseMoney(strValue, value))
throw runtime_error("invalid TX output value");
// extract and validate script
string strScript = strInput.substr(pos + 1, string::npos);
CScript scriptPubKey = ParseScript(strScript); // throws on err
// construct TxOut, append to transaction output list
CTxOut txout(value, scriptPubKey);
tx.vout.push_back(txout);
}
static void MutateTxDelInput(CMutableTransaction& tx, const string& strInIdx)
{
// parse requested deletion index
int inIdx = atoi(strInIdx);
if (inIdx < 0 || inIdx >= (int)tx.vin.size()) {
string strErr = "Invalid TX input index '" + strInIdx + "'";
throw runtime_error(strErr.c_str());
}
// delete input from transaction
tx.vin.erase(tx.vin.begin() + inIdx);
}
static void MutateTxDelOutput(CMutableTransaction& tx, const string& strOutIdx)
{
// parse requested deletion index
int outIdx = atoi(strOutIdx);
if (outIdx < 0 || outIdx >= (int)tx.vout.size()) {
string strErr = "Invalid TX output index '" + strOutIdx + "'";
throw runtime_error(strErr.c_str());
}
// delete output from transaction
tx.vout.erase(tx.vout.begin() + outIdx);
}
static const unsigned int N_SIGHASH_OPTS = 6;
static const struct {
const char *flagStr;
int flags;
} sighashOptions[N_SIGHASH_OPTS] = {
{"ALL", SIGHASH_ALL},
{"NONE", SIGHASH_NONE},
{"SINGLE", SIGHASH_SINGLE},
{"ALL|ANYONECANPAY", SIGHASH_ALL|SIGHASH_ANYONECANPAY},
{"NONE|ANYONECANPAY", SIGHASH_NONE|SIGHASH_ANYONECANPAY},
{"SINGLE|ANYONECANPAY", SIGHASH_SINGLE|SIGHASH_ANYONECANPAY},
};
static bool findSighashFlags(int& flags, const string& flagStr)
{
flags = 0;
for (unsigned int i = 0; i < N_SIGHASH_OPTS; i++) {
if (flagStr == sighashOptions[i].flagStr) {
flags = sighashOptions[i].flags;
return true;
}
}
return false;
}
uint256 ParseHashUO(map<string,UniValue>& o, string strKey)
{
if (!o.count(strKey))
return 0;
return ParseHashUV(o[strKey], strKey);
}
vector<unsigned char> ParseHexUO(map<string,UniValue>& o, string strKey)
{
if (!o.count(strKey)) {
vector<unsigned char> emptyVec;
return emptyVec;
}
return ParseHexUV(o[strKey], strKey);
}
static void MutateTxSign(CMutableTransaction& tx, const string& flagStr)
{
int nHashType = SIGHASH_ALL;
if (flagStr.size() > 0)
if (!findSighashFlags(nHashType, flagStr))
throw runtime_error("unknown sighash flag/sign option");
vector<CTransaction> txVariants;
txVariants.push_back(tx);
// mergedTx will end up with all the signatures; it
// starts as a clone of the raw tx:
CMutableTransaction mergedTx(txVariants[0]);
bool fComplete = true;
CCoinsView viewDummy;
CCoinsViewCache view(&viewDummy);
if (!registers.count("privatekeys"))
throw runtime_error("privatekeys register variable must be set.");
bool fGivenKeys = false;
CBasicKeyStore tempKeystore;
UniValue keysObj = registers["privatekeys"];
fGivenKeys = true;
for (unsigned int kidx = 0; kidx < keysObj.count(); kidx++) {
if (!keysObj[kidx].isStr())
throw runtime_error("privatekey not a string");
CBitcoinSecret vchSecret;
bool fGood = vchSecret.SetString(keysObj[kidx].getValStr());
if (!fGood)
throw runtime_error("privatekey not valid");
CKey key = vchSecret.GetKey();
tempKeystore.AddKey(key);
}
// Add previous txouts given in the RPC call:
if (!registers.count("prevtxs"))
throw runtime_error("prevtxs register variable must be set.");
UniValue prevtxsObj = registers["prevtxs"];
{
for (unsigned int previdx = 0; previdx < prevtxsObj.count(); previdx++) {
UniValue prevOut = prevtxsObj[previdx];
if (!prevOut.isObject())
throw runtime_error("expected prevtxs internal object");
map<string,UniValue::VType> types = map_list_of("txid", UniValue::VSTR)("vout",UniValue::VNUM)("scriptPubKey",UniValue::VSTR);
if (!prevOut.checkObject(types))
throw runtime_error("prevtxs internal object typecheck fail");
uint256 txid = ParseHashUV(prevOut["txid"], "txid");
int nOut = atoi(prevOut["vout"].getValStr());
if (nOut < 0)
throw runtime_error("vout must be positive");
vector<unsigned char> pkData(ParseHexUV(prevOut["scriptPubKey"], "scriptPubKey"));
CScript scriptPubKey(pkData.begin(), pkData.end());
{
CCoinsModifier coins = view.ModifyCoins(txid);
if (coins->IsAvailable(nOut) && coins->vout[nOut].scriptPubKey != scriptPubKey) {
string err("Previous output scriptPubKey mismatch:\n");
err = err + coins->vout[nOut].scriptPubKey.ToString() + "\nvs:\n"+
scriptPubKey.ToString();
throw runtime_error(err);
}
if ((unsigned int)nOut >= coins->vout.size())
coins->vout.resize(nOut+1);
coins->vout[nOut].scriptPubKey = scriptPubKey;
coins->vout[nOut].nValue = 0; // we don't know the actual output value
}
// if redeemScript given and private keys given,
// add redeemScript to the tempKeystore so it can be signed:
if (fGivenKeys && scriptPubKey.IsPayToScriptHash() &&
prevOut.exists("redeemScript")) {
UniValue v = prevOut["redeemScript"];
vector<unsigned char> rsData(ParseHexUV(v, "redeemScript"));
CScript redeemScript(rsData.begin(), rsData.end());
tempKeystore.AddCScript(redeemScript);
}
}
}
const CKeyStore& keystore = tempKeystore;
bool fHashSingle = ((nHashType & ~SIGHASH_ANYONECANPAY) == SIGHASH_SINGLE);
// Sign what we can:
for (unsigned int i = 0; i < mergedTx.vin.size(); i++) {
CTxIn& txin = mergedTx.vin[i];
const CCoins* coins = view.AccessCoins(txin.prevout.hash);
if (!coins || !coins->IsAvailable(txin.prevout.n)) {
fComplete = false;
continue;
}
const CScript& prevPubKey = coins->vout[txin.prevout.n].scriptPubKey;
txin.scriptSig.clear();
// Only sign SIGHASH_SINGLE if there's a corresponding output:
if (!fHashSingle || (i < mergedTx.vout.size()))
SignSignature(keystore, prevPubKey, mergedTx, i, nHashType);
// ... and merge in other signatures:
BOOST_FOREACH(const CTransaction& txv, txVariants) {
txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, txv.vin[i].scriptSig);
}
if (!VerifyScript(txin.scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, MutableTransactionSignatureChecker(&mergedTx, i)))
fComplete = false;
}
if (fComplete) {
// do nothing... for now
// perhaps store this for later optional JSON output
}
tx = mergedTx;
}
static void MutateTx(CMutableTransaction& tx, const string& command,
const string& commandVal)
{
if (command == "nversion")
MutateTxVersion(tx, commandVal);
else if (command == "locktime")
MutateTxLocktime(tx, commandVal);
else if (command == "delin")
MutateTxDelInput(tx, commandVal);
else if (command == "in")
MutateTxAddInput(tx, commandVal);
else if (command == "delout")
MutateTxDelOutput(tx, commandVal);
else if (command == "outaddr")
MutateTxAddOutAddr(tx, commandVal);
else if (command == "outscript")
MutateTxAddOutScript(tx, commandVal);
else if (command == "sign")
MutateTxSign(tx, commandVal);
else if (command == "load")
RegisterLoad(commandVal);
else if (command == "set")
RegisterSet(commandVal);
else
throw runtime_error("unknown command");
}
static void OutputTxJSON(const CTransaction& tx)
{
UniValue entry(UniValue::VOBJ);
TxToUniv(tx, 0, entry);
string jsonOutput = entry.write(4);
fprintf(stdout, "%s\n", jsonOutput.c_str());
}
static void OutputTxHash(const CTransaction& tx)
{
string strHexHash = tx.GetHash().GetHex(); // the hex-encoded transaction hash (aka the transaction id)
fprintf(stdout, "%s\n", strHexHash.c_str());
}
static void OutputTxHex(const CTransaction& tx)
{
string strHex = EncodeHexTx(tx);
fprintf(stdout, "%s\n", strHex.c_str());
}
static void OutputTx(const CTransaction& tx)
{
if (GetBoolArg("-json", false))
OutputTxJSON(tx);
else if (GetBoolArg("-txid", false))
OutputTxHash(tx);
else
OutputTxHex(tx);
}
static string readStdin()
{
char buf[4096];
string ret;
while (!feof(stdin)) {
size_t bread = fread(buf, 1, sizeof(buf), stdin);
ret.append(buf, bread);
if (bread < sizeof(buf))
break;
}
if (ferror(stdin))
throw runtime_error("error reading stdin");
boost::algorithm::trim_right(ret);
return ret;
}
static int CommandLineRawTx(int argc, char* argv[])
{
string strPrint;
int nRet = 0;
try {
// Skip switches; Permit common stdin convention "-"
while (argc > 1 && IsSwitchChar(argv[1][0]) &&
(argv[1][1] != 0)) {
argc--;
argv++;
}
CTransaction txDecodeTmp;
int startArg;
if (!fCreateBlank) {
// require at least one param
if (argc < 2)
throw runtime_error("too few parameters");
// param: hex-encoded bitcoin transaction
string strHexTx(argv[1]);
if (strHexTx == "-") // "-" implies standard input
strHexTx = readStdin();
if (!DecodeHexTx(txDecodeTmp, strHexTx))
throw runtime_error("invalid transaction encoding");
startArg = 2;
} else
startArg = 1;
CMutableTransaction tx(txDecodeTmp);
for (int i = startArg; i < argc; i++) {
string arg = argv[i];
string key, value;
size_t eqpos = arg.find('=');
if (eqpos == string::npos)
key = arg;
else {
key = arg.substr(0, eqpos);
value = arg.substr(eqpos + 1);
}
MutateTx(tx, key, value);
}
OutputTx(tx);
}
catch (boost::thread_interrupted) {
throw;
}
catch (std::exception& e) {
strPrint = string("error: ") + e.what();
nRet = EXIT_FAILURE;
}
catch (...) {
PrintExceptionContinue(NULL, "CommandLineRawTx()");
throw;
}
if (strPrint != "") {
fprintf((nRet == 0 ? stdout : stderr), "%s\n", strPrint.c_str());
}
return nRet;
}
int main(int argc, char* argv[])
{
SetupEnvironment();
try {
if(!AppInitRawTx(argc, argv))
return EXIT_FAILURE;
}
catch (std::exception& e) {
PrintExceptionContinue(&e, "AppInitRawTx()");
return EXIT_FAILURE;
} catch (...) {
PrintExceptionContinue(NULL, "AppInitRawTx()");
return EXIT_FAILURE;
}
int ret = EXIT_FAILURE;
try {
ret = CommandLineRawTx(argc, argv);
}
catch (std::exception& e) {
PrintExceptionContinue(&e, "CommandLineRawTx()");
} catch (...) {
PrintExceptionContinue(NULL, "CommandLineRawTx()");
}
return ret;
}

View File

@ -9,8 +9,8 @@
#include <vector> #include <vector>
/** /**
* CBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) * CBaseChainParams defines the base parameters (shared between dash-cli and dashd)
* of a given instance of the Bitcoin system. * of a given instance of the Dash system.
*/ */
class CBaseChainParams class CBaseChainParams
{ {

View File

@ -7,6 +7,7 @@
* Each line contains a 16-byte IPv6 address and a port. * Each line contains a 16-byte IPv6 address and a port.
* IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly. * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.
*/ */
// ***TODO*** REGENERATE
static SeedSpec6 pnSeed6_main[] = { static SeedSpec6 pnSeed6_main[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x21,0xc5,0x6e}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x21,0xc5,0x6e}, 8333},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x22,0xb4,0xf5}, 8333}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,0x22,0xb4,0xf5}, 8333},

View File

@ -10,10 +10,10 @@
/** /**
* Name of client reported in the 'version' message. Report the same name * Name of client reported in the 'version' message. Report the same name
* for both bitcoind and bitcoin-core, to make it harder for attackers to * for both dashd and dash-qt, to make it harder for attackers to
* target servers or GUI users specifically. * target servers or GUI users specifically.
*/ */
const std::string CLIENT_NAME("Dash"); const std::string CLIENT_NAME("Dash Core");
/** /**
* Client version number * Client version number

View File

@ -71,9 +71,9 @@ static bool AppInitRPC(int argc, char* argv[])
std::string strUsage = _("Dash Core RPC client version") + " " + FormatFullVersion() + "\n"; std::string strUsage = _("Dash Core RPC client version") + " " + FormatFullVersion() + "\n";
if (!mapArgs.count("-version")) { if (!mapArgs.count("-version")) {
strUsage += "\n" + _("Usage:") + "\n" + strUsage += "\n" + _("Usage:") + "\n" +
" bitcoin-cli [options] <command> [params] " + _("Send command to Dash Core") + "\n" + " dash-cli [options] <command> [params] " + _("Send command to Dash Core") + "\n" +
" bitcoin-cli [options] help " + _("List commands") + "\n" + " dash-cli [options] help " + _("List commands") + "\n" +
" bitcoin-cli [options] help <command> " + _("Get help for a command") + "\n"; " dash-cli [options] help <command> " + _("Get help for a command") + "\n";
strUsage += "\n" + HelpMessageCli(); strUsage += "\n" + HelpMessageCli();
} }

View File

@ -47,10 +47,10 @@ static bool AppInitRawTx(int argc, char* argv[])
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help")) if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help"))
{ {
// First part of help message is specific to this utility // First part of help message is specific to this utility
std::string strUsage = _("Bitcoin Core bitcoin-tx utility version") + " " + FormatFullVersion() + "\n\n" + std::string strUsage = _("Dash Core dash-tx utility version") + " " + FormatFullVersion() + "\n\n" +
_("Usage:") + "\n" + _("Usage:") + "\n" +
" bitcoin-tx [options] <hex-tx> [commands] " + _("Update hex-encoded bitcoin transaction") + "\n" + " dash-tx [options] <hex-tx> [commands] " + _("Update hex-encoded dash transaction") + "\n" +
" bitcoin-tx [options] -create [commands] " + _("Create hex-encoded bitcoin transaction") + "\n" + " dash-tx [options] -create [commands] " + _("Create hex-encoded dash transaction") + "\n" +
"\n"; "\n";
fprintf(stdout, "%s", strUsage.c_str()); fprintf(stdout, "%s", strUsage.c_str());
@ -555,7 +555,7 @@ static int CommandLineRawTx(int argc, char* argv[])
if (argc < 2) if (argc < 2)
throw runtime_error("too few parameters"); throw runtime_error("too few parameters");
// param: hex-encoded bitcoin transaction // param: hex-encoded dash transaction
string strHexTx(argv[1]); string strHexTx(argv[1]);
if (strHexTx == "-") // "-" implies standard input if (strHexTx == "-") // "-" implies standard input
strHexTx = readStdin(); strHexTx = readStdin();

View File

@ -357,7 +357,7 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle)
showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this); showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this);
showHelpMessageAction->setMenuRole(QAction::NoRole); showHelpMessageAction->setMenuRole(QAction::NoRole);
showHelpMessageAction->setStatusTip(tr("Show the Bitcoin Core help message to get a list with possible Dash command-line options")); showHelpMessageAction->setStatusTip(tr("Show the Dash Core help message to get a list with possible Dash command-line options"));
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
@ -804,7 +804,7 @@ void BitcoinGUI::setNumBlocks(int count)
void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret) void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret)
{ {
QString strTitle = tr("Dash"); // default title QString strTitle = tr("Dash Core"); // default title
// Default to information icon // Default to information icon
int nMBoxIcon = QMessageBox::Information; int nMBoxIcon = QMessageBox::Information;
int nNotifyIcon = Notificator::Information; int nNotifyIcon = Notificator::Information;

View File

@ -593,7 +593,7 @@ int main(int argc, char *argv[])
/// 7a. parse masternode.conf /// 7a. parse masternode.conf
string strErr; string strErr;
if(!masternodeConfig.read(strErr)) { if(!masternodeConfig.read(strErr)) {
QMessageBox::critical(0, QObject::tr("Dash"), QMessageBox::critical(0, QObject::tr("Dash Core"),
QObject::tr("Error reading masternode configuration file: %1").arg(strErr.c_str())); QObject::tr("Error reading masternode configuration file: %1").arg(strErr.c_str()));
return false; return false;
} }

View File

@ -48,7 +48,7 @@
<item row="6" column="0"> <item row="6" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="toolTip"> <property name="toolTip">
<string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</string> <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Dash network.</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Message:</string> <string>&amp;Message:</string>
@ -71,7 +71,7 @@
<item row="6" column="2"> <item row="6" column="2">
<widget class="QLineEdit" name="reqMessage"> <widget class="QLineEdit" name="reqMessage">
<property name="toolTip"> <property name="toolTip">
<string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</string> <string>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Dash network.</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -904,7 +904,7 @@
<item> <item>
<widget class="QCheckBox" name="checkBoxMinimumFee"> <widget class="QCheckBox" name="checkBoxMinimumFee">
<property name="toolTip"> <property name="toolTip">
<string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</string> <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</string>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
@ -917,7 +917,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</string> <string>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</string>
</property> </property>
<property name="text"> <property name="text">
<string>(read the tooltip)</string> <string>(read the tooltip)</string>

View File

@ -29,7 +29,7 @@ class QUrl;
class QWidget; class QWidget;
QT_END_NAMESPACE QT_END_NAMESPACE
/** Utility functions used by the Bitcoin Qt UI. /** Utility functions used by the Dash Qt UI.
*/ */
namespace GUIUtil namespace GUIUtil
{ {
@ -37,14 +37,14 @@ namespace GUIUtil
QString dateTimeStr(const QDateTime &datetime); QString dateTimeStr(const QDateTime &datetime);
QString dateTimeStr(qint64 nTime); QString dateTimeStr(qint64 nTime);
// Render Bitcoin addresses in monospace font // Render Dash addresses in monospace font
QFont bitcoinAddressFont(); QFont bitcoinAddressFont();
// Set up widgets for address and amounts // Set up widgets for address and amounts
void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent); void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent);
void setupAmountWidget(QLineEdit *widget, QWidget *parent); void setupAmountWidget(QLineEdit *widget, QWidget *parent);
// Parse "bitcoin:" URI into recipient object, return true on successful parsing // Parse "dash:" URI into recipient object, return true on successful parsing
bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out); bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out);
bool parseBitcoinURI(QString uri, SendCoinsRecipient *out); bool parseBitcoinURI(QString uri, SendCoinsRecipient *out);
QString formatBitcoinURI(const SendCoinsRecipient &info); QString formatBitcoinURI(const SendCoinsRecipient &info);

View File

@ -13,7 +13,7 @@
- (NSString *)__bundleIdentifier - (NSString *)__bundleIdentifier
{ {
if (self == [NSBundle mainBundle]) { if (self == [NSBundle mainBundle]) {
return @"org.bitcoinfoundation.Bitcoin-Qt"; return @"io.dashpay.Dash-Qt";
} else { } else {
return [self __bundleIdentifier]; return [self __bundleIdentifier];
} }

View File

@ -6,7 +6,7 @@
#define BITCOIN_QT_PAYMENTSERVER_H #define BITCOIN_QT_PAYMENTSERVER_H
// This class handles payment requests from clicking on // This class handles payment requests from clicking on
// bitcoin: URIs // dash: URIs
// //
// This is somewhat tricky, because we have to deal with // This is somewhat tricky, because we have to deal with
// the situation where the user clicks on a link during // the situation where the user clicks on a link during

View File

@ -53,7 +53,7 @@ private:
Qt::SortOrder order; Qt::SortOrder order;
}; };
/** Model for list of recently generated payment requests / bitcoin: URIs. /** Model for list of recently generated payment requests / dash: URIs.
* Part of wallet model. * Part of wallet model.
*/ */
class RecentRequestsTableModel: public QAbstractTableModel class RecentRequestsTableModel: public QAbstractTableModel

View File

@ -65,7 +65,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) :
} else { } else {
setWindowTitle(tr("Command-line options")); setWindowTitle(tr("Command-line options"));
QString header = tr("Usage:") + "\n" + QString header = tr("Usage:") + "\n" +
" bitcoin-qt [" + tr("command-line options") + "] " + "\n"; " dash-qt [" + tr("command-line options") + "] " + "\n";
QString coreOptions = QString::fromStdString(HelpMessage(HMM_BITCOIN_QT)); QString coreOptions = QString::fromStdString(HelpMessage(HMM_BITCOIN_QT));

View File

@ -305,7 +305,7 @@ WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransact
return TransactionCreationFailed; return TransactionCreationFailed;
} }
// reject insane fee > 0.1 bitcoin // reject insane fee > 0.1 DASH
if (nFeeRequired > 10000000) if (nFeeRequired > 10000000)
return InsaneFee; return InsaneFee;
} }

View File

@ -168,7 +168,7 @@ Value importaddress(const Array& params, bool fHelp)
std::vector<unsigned char> data(ParseHex(params[0].get_str())); std::vector<unsigned char> data(ParseHex(params[0].get_str()));
script = CScript(data.begin(), data.end()); script = CScript(data.begin(), data.end());
} else { } else {
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address or script"); throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Dash address or script");
} }
string strLabel = ""; string strLabel = "";

View File

@ -2,7 +2,7 @@
// Distributed under the MIT/X11 software license, see the accompanying // Distributed under the MIT/X11 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.
#define BOOST_TEST_MODULE Bitcoin Test Suite #define BOOST_TEST_MODULE Dash Test Suite
#include "main.h" #include "main.h"
#include "random.h" #include "random.h"

View File

@ -97,7 +97,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime)
if (!fMatch) if (!fMatch)
{ {
fDone = true; fDone = true;
string strMessage = _("Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly."); string strMessage = _("Warning: Please check that your computer's date and time are correct! If your clock is wrong Dash Core will not work properly.");
strMiscWarning = strMessage; strMiscWarning = strMessage;
LogPrintf("*** %s\n", strMessage); LogPrintf("*** %s\n", strMessage);
uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_WARNING); uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_WARNING);