13 Commits

Author SHA1 Message Date
c0decave
1a793e0f6d blk update 2021-05-22 15:19:31 +02:00
lateminer
10bb345e7e Merge branch 'master' into 'master'
Bump version to v2.13.2.8

See merge request blackcoin/blackcoin-more!19
2021-02-24 04:46:54 +00:00
Michel van Kessel
38938f1474 Bump version to 2.13.2.8 2021-02-23 22:33:31 +01:00
Michel van Kessel
d1f9ea9757 bump nMinimumChainWork (main and test) 2021-02-23 22:09:07 +01:00
Michel van Kessel
f8b5826a83 update seeds nodes 2021-02-23 22:02:35 +01:00
lateminer
b8c24546fe Merge branch 'master' into 'master'
Atomic Swap fix and ban forked clients

See merge request blackcoin/blackcoin-more!18
2021-02-23 19:27:49 +00:00
Michel van Kessel
574f2ffd73 ban clients with forked chains 2021-02-23 16:28:28 +01:00
Michel van Kessel
08a4ccb614 switch policy to (txout.IsDust(::minRelayTxFee)) 2021-02-21 17:31:29 +01:00
lateminer
06c8783f51 Merge branch 'master' into 'master'
Compile for latest MacOS Catalina (10.15.7)

See merge request blackcoin/blackcoin-more!17
2021-02-19 10:37:45 +00:00
Jonas Schnelli
51cc2791a7 macOS deploy: use the new plistlib API
See https://docs.python.org/3/library/plistlib.html.
The new API was added in 3.4 and old removed in 3.9.
2021-02-18 21:15:08 +01:00
Andrew Chow
3b2c73113e Add missing QPainterPath include
This is needed to compile with Qt 5.15.
2021-02-18 21:13:28 +01:00
lateminer
e12fd35094 Merge branch 'master' into 'master'
update find_bdb62 to allow bdb5.3

See merge request blackcoin/blackcoin-more!16
2021-02-06 11:03:42 +00:00
Michel van Kessel
e0cc50fcdc update find_bdb62 to allow bdb5.3
--with-incompatible-bdb now looks correctly for bdb5.3
2021-02-05 19:29:03 +01:00
16 changed files with 326 additions and 156 deletions

View File

@@ -1,4 +1,10 @@
# Changelog # Changelog
## v2.13.2.8 (2021-02-24)
- Immediately ban clients operating on forked chains older than nMaxReorganizationDepth
- Fixed IsDust() policy to allow atomic swaps
- Updated fixed seeds for mainnet and testnet
- Updated dependencies for MacOS
## v2.13.2.7 (2020-11-24) ## v2.13.2.7 (2020-11-24)
- Dust mitigation in mempool (by JJ12880 from Radium Core) - Dust mitigation in mempool (by JJ12880 from Radium Core)
- Compile on MacOS Catalina - Compile on MacOS Catalina

View File

@@ -3,68 +3,85 @@ dnl Distributed under the MIT software license, see the accompanying
dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
AC_DEFUN([BITCOIN_FIND_BDB62],[ AC_DEFUN([BITCOIN_FIND_BDB62],[
AC_MSG_CHECKING([for Berkeley DB C++ headers]) AC_ARG_VAR(BDB_CFLAGS, [C compiler flags for BerkeleyDB, bypasses autodetection])
BDB_CPPFLAGS= AC_ARG_VAR(BDB_LIBS, [Linker flags for BerkeleyDB, bypasses autodetection])
BDB_LIBS= if test "x$use_bdb" = "xno"; then
bdbpath=X use_bdb=no
bdb62path=X elif test "x$BDB_CFLAGS" = "x"; then
bdbdirlist= AC_MSG_CHECKING([for Berkeley DB C++ headers])
for _vn in 6.2 62 6 ''; do BDB_CPPFLAGS=
for _pfx in b lib ''; do bdbpath=X
bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" bdb62path=X
bdbdirlist=
for _vn in 6.2 62 6 5 5.3 ''; do
for _pfx in b lib ''; do
bdbdirlist="$bdbdirlist ${_pfx}db${_vn}"
done
done done
done for searchpath in $bdbdirlist ''; do
for searchpath in $bdbdirlist ''; do test -n "${searchpath}" && searchpath="${searchpath}/"
test -n "${searchpath}" && searchpath="${searchpath}/" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h>
#include <${searchpath}db_cxx.h> ]],[[
]],[[ #if !((DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR >= 2) || DB_VERSION_MAJOR < 6 || DB_VERSION_MAJOR > 6)
#if !((DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR >= 2) || DB_VERSION_MAJOR > 6) #error "failed to find bdb 6.2+"
#error "failed to find bdb 6.2+" #endif
#endif ]])],[
]])],[ if test "x$bdbpath" = "xX"; then
if test "x$bdbpath" = "xX"; then bdbpath="${searchpath}"
bdbpath="${searchpath}" fi
fi ],[
],[ continue
continue ])
]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h>
#include <${searchpath}db_cxx.h> ]],[[
]],[[ #if !(DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR == 2)
#if !(DB_VERSION_MAJOR == 6 && DB_VERSION_MINOR == 2) #error "failed to find bdb 6.2"
#error "failed to find bdb 6.2" #endif
#endif ]])],[
]])],[ bdb62path="${searchpath}"
bdb62path="${searchpath}" break
break ],[])
],[]) done
done if test "x$bdbpath" = "xX"; then
if test "x$bdbpath" = "xX"; then use_bdb=no
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
AC_MSG_ERROR([libdb_cxx headers missing,]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for BDB wallet support (--without-bdb to disable BDB wallet support)])
elif test "x$bdb62path" = "xX"; then elif test "x$bdb62path" = "xX"; then
BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 6.2])],[ AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 6.2])],[
AC_MSG_WARN([Found Berkeley DB other than 6.2; wallets opened by this build will not be portable!]) AC_MSG_WARN([Found Berkeley DB other than 6.2; BDB wallets opened by this build will not be portable!])
],[ ],[
AC_MSG_ERROR([Found Berkeley DB other than 6.2, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) AC_MSG_ERROR([Found Berkeley DB other than 6.2, required for portable BDB wallets (--with-incompatible-bdb to ignore or --without-bdb to disable BDB wallet support)])
]) ])
use_bdb=yes
else
BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx)
bdbpath="${bdb62path}"
use_bdb=yes
fi
else else
BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb62path}],db_cxx) BDB_CPPFLAGS=${BDB_CFLAGS}
bdbpath="${bdb62path}"
fi fi
AC_SUBST(BDB_CPPFLAGS) AC_SUBST(BDB_CPPFLAGS)
if test "x$use_bdb" = "xno"; then
# TODO: Ideally this could find the library version and make sure it matches the headers being used use_bdb=no
for searchlib in db_cxx-6.2 db_cxx; do elif test "x$BDB_LIBS" = "x"; then
AC_CHECK_LIB([$searchlib],[main],[ # TODO: Ideally this could find the library version and make sure it matches the headers being used
BDB_LIBS="-l${searchlib}" for searchlib in db_cxx db_cxx-6.2 db_cxx-5.3 db6_cxx db5_cxx; do
break AC_CHECK_LIB([$searchlib],[main],[
]) BDB_LIBS="-l${searchlib}"
done break
if test "x$BDB_LIBS" = "x"; then ])
AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) done
if test "x$BDB_LIBS" = "x"; then
AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for BDB wallet support (--without-bdb to disable BDB wallet support)])
fi
fi fi
AC_SUBST(BDB_LIBS) if test "x$use_bdb" != "xno"; then
]) AC_SUBST(BDB_LIBS)
AC_DEFINE([USE_BDB], [1], [Define if BDB support should be compiled in])
use_bdb=yes
fi
])

View File

@@ -3,9 +3,9 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 2) define(_CLIENT_VERSION_MAJOR, 2)
define(_CLIENT_VERSION_MINOR, 13) define(_CLIENT_VERSION_MINOR, 13)
define(_CLIENT_VERSION_REVISION, 2) define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 7) define(_CLIENT_VERSION_BUILD, 8)
define(_CLIENT_VERSION_IS_RELEASE, true) define(_CLIENT_VERSION_IS_RELEASE, true)
define(_COPYRIGHT_YEAR, 2020) define(_COPYRIGHT_YEAR, 2021)
define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS,[The %s developers])
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Blackcoin More]]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Blackcoin More]])
AC_INIT([Blackcoin More],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://gitlab.com/blackcoin/blackcoin-more],[blackcoin-more]) AC_INIT([Blackcoin More],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://gitlab.com/blackcoin/blackcoin-more],[blackcoin-more])

View File

@@ -1,15 +1,107 @@
#!/bin/bash #!/bin/bash
# original script from blackcoin.nl (https://blackcoin.nl/scripts-for-using-blackcoin-from-the-command-line-interface/)
# adjusted to my likes yikes!
# also i added several functions like setpassword, changepassword, balance and addr
# DONE
# ----
# * added unlock
# * added setpassword
# * added changepassword
# * added balance
# * added addr
# * added alladdr
# * added possiblity to use rpcuser/rpcpass
# * added fallback for default cookie usage
#
# FIXED
# -----
#
# TODO
#-----
# * change user/pass cmdline option
# * add cookie option
# * add datadir option
usage="Usage: blk [ info | stake | latest | dust ] \n \n # ATTENTION, you need to adjust those values
# the directory the blackcoin-cli is located at
bin_home="/home/blk/bin/"
# the directory specified with --datadir, if not specified default is $HOME/.blackmore
data_dir="/home/blk/.blackmore/"
# username
rpc_user="EXAMPLE_USER"
# password for RPC access
rpc_password=""
usage="Usage: blk [ info | unlock | stake | latest | dust | past24 | setpassword | changepassword | acctbalance | acctaddr | addrbalance | alladdr ] \n \n
info: Check basic info. \n info: Check basic info. \n
unlock: Unlock the wallet for transfer; Passes password without storing it in memory. \n
stake: Enables staking; Passes password without storing it in memory. \n stake: Enables staking; Passes password without storing it in memory. \n
latest: Compares latest block with the BlackcoinNL hosted block explorer. \n latest: Compares latest block with the BlackcoinNL hosted block explorer. \n
dust: Prunes dust from wallet. Dust is defined as less than .0001BLK. Requires jq. \n" dust: Prunes dust from wallet. Dust is defined as less than .0001BLK. Requires jq. \n
past24: Shows staking numbers from the past 24hrs. \n
setpassword: Set encryption password if wallet is *UNENCRYPTED*. \n
changepassword: change wallet password. \n
acctbalance: show balance of addresses derived from ACCOUNT name(using curl+cryptoid.info). \n
addrbalance: show balance of addresses derived from ADDRESS name(using curl+cryptoid.info). \n
alladdr: show all addr and balances \n
acctaddr: show addresses of wallet ACCOUNT name\n"
if [ $rpc_user = 'EXAMPLE_USER' ];then
echo 'No user given, using cookie.'
blkc="$bin_home/blackmore-cli"
else
echo 'Using rpc-user-authentication scheme'
blkc="$bin_home/blackmore-cli -rpcuser=$rpc_user -rpcpassword=$rpc_password -datadir=$data_dir"
fi
blkc='/usr/local/bin/blackmore-cli -datadir=/var/lib/.blackmore/'
case $1 in case $1 in
addrbalance )
if [ $# -ne 2 ]; then
echo 'No address give.'
echo 'Abort.'
exit
fi
addr=$2
bal=`curl "https://chainz.cryptoid.info/blk/api.dws?q=getbalance&a=$addr" 2>/dev/null`
echo "Address Balance"
echo "$addr $bal BLK"
;;
acctbalance ) account=''
myaddr=''
if [ $# -ne 2 ]; then
echo 'No accountname given, using default'
myaddr=`$blkc getaddressesbyaccount ""| jq .|grep \"B|sed -e 's/[ ",]//g'`
else
account=$2
myaddr=`$blkc getaddressesbyaccount "$account"| jq .|grep \"B|sed -e 's/[ ",]//g'`
fi
echo "Address Balance"
for item in $myaddr; do
bal=`curl "https://chainz.cryptoid.info/blk/api.dws?q=getbalance&a=$item" 2>/dev/null`
echo "$item $bal BLK"
done
;;
acctaddr ) account=''
myaddr=''
if [ $# -ne 2 ]; then
echo 'No accountname given, using default'
myaddr=`$blkc getaddressesbyaccount ""| jq .|grep \"B|sed -e 's/[ ",]//g'`
else
account=$2
echo $account
myaddr=`$blkc getaddressesbyaccount "$account"| jq .|grep \"B|sed -e 's/[ ",]//g'`
fi
echo 'Address'
for i in `echo $myaddr`; do echo $i; done
;;
alladdr ) $blkc listaddressgroupings
;;
info ) info )
$blkc getwalletinfo | egrep "balance|staked_balance|txcount|unconfirmed_balance|immature_balance|total_balance"; $blkc getwalletinfo | egrep "balance|staked_balance|txcount|unconfirmed_balance|immature_balance|total_balance";
$blkc getnetworkinfo | egrep "subversion|connections"; $blkc getnetworkinfo | egrep "subversion|connections";
@@ -18,7 +110,33 @@ info )
$blkc getstakinginfo | egrep "enabled|staking|netstakeweight|expectedtime"; $blkc getstakinginfo | egrep "enabled|staking|netstakeweight|expectedtime";
;; ;;
setpassword )
echo 'Set password for *UNENCRYPTED* wallet'
read -s BLKPW
$blkc encryptwallet $BLKPW
BLKPW=null
;;
changepassword )
echo 'Set new password, enter OLD password'
read -s BLKPWOLD
echo 'Set new password, enter NEW password'
read -s BLKPWNEW
$blkc walletpassphrasechange $BLKPWOLD $BLKPWNEW
BLKPWOLD=null
BLKPWNEW=null
;;
unlock )
echo 'ATTENTION! Unlocking Wallet!'
echo 'enter Blackcoin Password'
read -s BLKPW
$blkc walletpassphrase $BLKPW 99999999 false
BLKPW=null
;;
stake ) stake )
echo 'Change Wallet to STAKING ONLY'
echo 'enter Blackcoin Password' echo 'enter Blackcoin Password'
read -s BLKPW read -s BLKPW
$blkc walletpassphrase $BLKPW 99999999 true $blkc walletpassphrase $BLKPW 99999999 true
@@ -35,14 +153,25 @@ latest )
dust ) dust )
IFS=$'\n'; IFS=$'\n';
/usr/local/bin/blackmore-cli -datadir=/var/lib/.blackmore/ listtransactions "*" 99999 | jq -r '.[] | select(.category != "send") | select(.amount < .0001) | .txid' | uniq >txid.txt $blkc listtransactions "*" 99999 | jq -r '.[] | select(.category != "send") | select(.amount < .0001) | .txid' | uniq >txid.txt
while read line; do while read line; do
echo $line echo $line
/usr/local/bin/blackmore-cli -datadir=/var/lib/.blackmore/ removeprunedfunds $(echo $line) $blkc removeprunedfunds $(echo $line)
done < "txid.txt" done < "txid.txt"
;; ;;
past24 )
latest=$($blkc getblockcount)
since=$(expr $latest - 1350)
hash=$($blkc getblockhash $since)
past24=$($blkc listsinceblock $hash | jq -r '.[] | .[] | select(.confirmations > 0) | select(.amount = 0) .confirmations' 2> /dev/null | wc -l)
total=$($blkc getwalletinfo | jq -r ' .total_balance | round')
per10k=$(echo "scale=2; $past24/($total/10000)" | bc -l)
echo $past24 stakes over the past 24hrs... "$per10k" per 10k BLK...
;;
*) *)
echo -e $usage echo -e $usage
;; ;;

View File

@@ -552,7 +552,8 @@ if len(config.fancy) == 1:
sys.exit(1) sys.exit(1)
try: try:
fancy = plistlib.readPlist(p) with open(p, 'rb') as fp:
fancy = plistlib.load(fp, fmt=plistlib.FMT_XML)
except: except:
if verbose >= 1: if verbose >= 1:
sys.stderr.write("Error: Could not parse fancy disk image plist at \"%s\"\n" % (p)) sys.stderr.write("Error: Could not parse fancy disk image plist at \"%s\"\n" % (p))

View File

@@ -1,31 +1,43 @@
# List of fixed seed nodes for main network # List of fixed seed nodes for main network
# IPv4 nodes # IPv4 nodes
122.51.249.99 85.144.252.98
76.171.209.195 72.216.145.112
73.53.78.243 73.53.78.243
164.68.105.69 164.68.105.69
144.91.84.145
68.96.170.4
93.176.164.83
85.214.249.110
94.130.176.201
95.217.78.81
78.56.242.6
89.177.211.141
84.254.43.119
91.194.120.162
151.224.20.79
116.203.82.109 116.203.82.109
85.144.252.98 166.70.54.40
92.255.253.149 103.243.173.210
60.108.92.175 37.72.70.152
94.130.176.201
178.254.1.135
76.171.209.195
78.56.242.6
89.142.77.30
95.217.78.81
89.22.251.238
178.254.32.145
207.148.13.250
67.193.26.71
108.173.237.207 108.173.237.207
77.181.147.94 84.254.43.119
94.253.190.98 203.213.94.242
175.36.186.152
83.78.240.202
94.226.129.128
76.17.131.175
188.126.6.32
202.142.52.235
46.10.52.145
24.245.110.168
82.217.127.4
144.91.84.145
# IPv6 nodes # IPv6 nodes
[2a01:4f9:4a:1dee::2] [2a01:4f9:4a:1dee::2]
[2603:7000:ac40:1a6a:9535:aeeb:7135:eb4]
[2a01:d0:ffff:7094::2]
[2603:7000:ac40:1a6a:ec26:13df:e973:b124]
# Onion nodes # Onion nodes
vtrlmv3zqqqnfwfy.onion vtrlmv3zqqqnfwfy.onion

View File

@@ -1,14 +1,9 @@
# List of fixed seed nodes for testnet # List of fixed seed nodes for testnet
# IPv4 nodes # IPv4 nodes
212.200.52.123
85.144.252.98 85.144.252.98
51.15.112.23 51.15.112.23
161.97.80.103 97.113.73.134
173.249.22.241
85.214.249.110
164.68.105.69
68.96.170.4
# IPv6 nodes # IPv6 nodes
[2a01:4f9:4a:1dee::2] [2a01:4f9:4a:1dee::2]

View File

@@ -34,7 +34,7 @@ PROJECT_NAME = "Blackcoin More"
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 2.13.2.7 PROJECT_NUMBER = 2.13.2.8
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer # for a project that appears at the top of each page and should give viewer

View File

@@ -33,7 +33,7 @@ BIPs that are implemented by Bitcoin Core (up-to-date up to **v0.13.0**):
* [`BIP 147`](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki): NULLDUMMY softfork as of **v0.13.1** ([PR 8636](https://github.com/bitcoin/bitcoin/pull/8636) and [PR 8937](https://github.com/bitcoin/bitcoin/pull/8937)). * [`BIP 147`](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki): NULLDUMMY softfork as of **v0.13.1** ([PR 8636](https://github.com/bitcoin/bitcoin/pull/8636) and [PR 8937](https://github.com/bitcoin/bitcoin/pull/8937)).
* [`BIP 152`](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki): Compact block transfer and related optimizations are used as of **v0.13.0** ([PR 8068](https://github.com/bitcoin/bitcoin/pull/8068)). * [`BIP 152`](https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki): Compact block transfer and related optimizations are used as of **v0.13.0** ([PR 8068](https://github.com/bitcoin/bitcoin/pull/8068)).
BIPs disabled in Blackcoin More (up-to-date up to **v2.13.2.2**): BIPs disabled in Blackcoin More (up-to-date up to **v2.13.2.8**):
* [`BIP 68`](https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki) * [`BIP 68`](https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki)
* [`BIP 112`](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki) * [`BIP 112`](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki)
* [`BIP 113`](https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki) * [`BIP 113`](https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki)

View File

@@ -5,8 +5,8 @@ These are the dependencies currently used by Blackcoin More. You can find instru
| Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) | | Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) |
| --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- |
| Berkeley DB | [6.2.32.NC](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 6.2.x | No | | | | Berkeley DB | [6.2.38](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 6.2.x | No | | |
| Boost | [1.68.0](https://www.boost.org/users/download/) | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | No | | | | Boost | [1.71.0](https://www.boost.org/users/download/) | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | No | | |
| Clang | | [3.3+](https://llvm.org/releases/download.html) (C++11 support) | | | | | Clang | | [3.3+](https://llvm.org/releases/download.html) (C++11 support) | | | |
| D-Bus | [1.12.12](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.12) | | No | Yes | | | D-Bus | [1.12.12](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.12) | | No | Yes | |
| Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | | | Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | |
@@ -18,12 +18,12 @@ These are the dependencies currently used by Blackcoin More. You can find instru
| libjpeg | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L75) | | libjpeg | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L75) |
| libpng | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L74) | | libpng | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L74) |
| MiniUPnPc | [2.0.20180203](http://miniupnp.free.fr/files) | | No | | | | MiniUPnPc | [2.0.20180203](http://miniupnp.free.fr/files) | | No | | |
| OpenSSL | [1.0.2t](https://www.openssl.org/source) | | Yes | | | | OpenSSL | [1.0.2u](https://www.openssl.org/source) | | Yes | | |
| PCRE | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L66) | | PCRE | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L66) |
| protobuf | [2.6.1](https://github.com/google/protobuf/releases) | | No | | | | protobuf | [2.6.1](https://github.com/google/protobuf/releases) | | No | | |
| Python (tests) | | [3.4](https://www.python.org/downloads) | | | | | Python (tests) | | [3.6](https://www.python.org/downloads) | | | |
| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | | | qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | |
| Qt | [5.9.7](https://download.qt.io/official_releases/qt/) | [5.2](https://github.com/bitcoin/bitcoin/pull/14725) | No | | | | Qt | [5.9.9](https://download.qt.io/official_releases/qt/) | [5.2](https://github.com/bitcoin/bitcoin/pull/14725) | No | | |
| XCB | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L87) (Linux only) | | XCB | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L87) (Linux only) |
| xkbcommon | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L86) (Linux only) | | xkbcommon | | | | | [Yes](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/qt.mk#L86) (Linux only) |
| ZeroMQ | [4.3.1](https://github.com/zeromq/libzmq/releases) | 4.0.0 | No | | | | ZeroMQ | [4.3.1](https://github.com/zeromq/libzmq/releases) | 4.0.0 | No | | |
@@ -31,5 +31,7 @@ These are the dependencies currently used by Blackcoin More. You can find instru
Human help is also available from the following channels: Human help is also available from the following channels:
Keybase - https://keybase.io/team/blackcoin/ Discord - https://discord.gg/hjNUgWD
Gitter - https://gitter.im/BlackCoin_Hub/ Telegram - https://t.me/blackcoinnl
Keybase - https://keybase.io/team/blackcoin/

View File

@@ -121,7 +121,7 @@ public:
consensus.nStakeMinAge = 8 * 60 * 60; // 8 hours consensus.nStakeMinAge = 8 * 60 * 60; // 8 hours
// The best chain should have at least this much work. // The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000002e39410b632f6e755fc"); consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000002ef7a6c83f19a157178");
/** /**
* The message start string is designed to be unlikely to occur in normal data. * The message start string is designed to be unlikely to occur in normal data.
@@ -220,7 +220,7 @@ public:
nDefaultPort = 25714; nDefaultPort = 25714;
// The best chain should have at least this much work. // The best chain should have at least this much work.
consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000027eceae4ce45300bf6"); consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000028afadd1049e589cf2");
/* /*
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;

View File

@@ -1,48 +1,55 @@
#ifndef BITCOIN_CHAINPARAMSSEEDS_H #ifndef BITCOIN_CHAINPARAMSSEEDS_H
#define BITCOIN_CHAINPARAMSSEEDS_H #define BITCOIN_CHAINPARAMSSEEDS_H
/** /**
* List of fixed seed nodes for the bitcoin network * List of fixed seed nodes for the bitcoin network
* AUTOGENERATED by contrib/seeds/generate-seeds.py * AUTOGENERATED by contrib/seeds/generate-seeds.py
* *
* 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.
*/ */
static SeedSpec6 pnSeed6_main[] = { static SeedSpec6 pnSeed6_main[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x7a,0x33,0xf9,0x63}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x90,0xfc,0x62}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0xab,0xd1,0xc3}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x48,0xd8,0x91,0x70}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x49,0x35,0x4e,0xf3}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x49,0x35,0x4e,0xf3}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa4,0x44,0x69,0x45}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa4,0x44,0x69,0x45}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x5b,0x54,0x91}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x74,0xcb,0x52,0x6d}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x60,0xaa,0x04}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa6,0x46,0x36,0x28}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5d,0xb0,0xa4,0x53}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x67,0xf3,0xad,0xd2}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0xf9,0x6e}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x25,0x48,0x46,0x98}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x82,0xb0,0xc9}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0x82,0xb0,0xc9}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd9,0x4e,0x51}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x01,0x87}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x38,0xf2,0x06}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0xab,0xd1,0xc3}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0xb1,0xd3,0x8d}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4e,0x38,0xf2,0x06}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xfe,0x2b,0x77}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x8e,0x4d,0x1e}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5b,0xc2,0x78,0xa2}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5f,0xd9,0x4e,0x51}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x97,0xe0,0x14,0x4f}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x59,0x16,0xfb,0xee}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x74,0xcb,0x52,0x6d}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0xfe,0x20,0x91}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x90,0xfc,0x62}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcf,0x94,0x0d,0xfa}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5c,0xff,0xfd,0x95}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x43,0xc1,0x1a,0x47}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x3c,0x6c,0x5c,0xaf}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xad,0xed,0xcf}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0xad,0xed,0xcf}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x54,0xfe,0x2b,0x77}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4d,0xb5,0x93,0x5e}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xcb,0xd5,0x5e,0xf2}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xfd,0xbe,0x62}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xaf,0x24,0xba,0x98}, 15714},
{{0x2a,0x01,0x04,0xf9,0x00,0x4a,0x1d,0xee,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, 15714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x53,0x4e,0xf0,0xca}, 15714},
{{0xfd,0x87,0xd8,0x7e,0xeb,0x43,0xac,0xe2,0xb6,0x57,0x79,0x84,0x20,0xd2,0xd8,0xb8}, 15714} {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x5e,0xe2,0x81,0x80}, 15714},
}; {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x4c,0x11,0x83,0xaf}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0x7e,0x06,0x20}, 15714},
static SeedSpec6 pnSeed6_test[] = { {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xca,0x8e,0x34,0xeb}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xd4,0xc8,0x34,0x7b}, 25714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x2e,0x0a,0x34,0x91}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x90,0xfc,0x62}, 25714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x18,0xf5,0x6e,0xa8}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x0f,0x70,0x17}, 25714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x52,0xd9,0x7f,0x04}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa1,0x61,0x50,0x67}, 25714}, {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x90,0x5b,0x54,0x91}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xad,0xf9,0x16,0xf1}, 25714}, {{0x2a,0x01,0x04,0xf9,0x00,0x4a,0x1d,0xee,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0xd6,0xf9,0x6e}, 25714}, {{0x26,0x03,0x70,0x00,0xac,0x40,0x1a,0x6a,0x95,0x35,0xae,0xeb,0x71,0x35,0x0e,0xb4}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xa4,0x44,0x69,0x45}, 25714}, {{0x2a,0x01,0x00,0xd0,0xff,0xff,0x70,0x94,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, 15714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x44,0x60,0xaa,0x04}, 25714}, {{0x26,0x03,0x70,0x00,0xac,0x40,0x1a,0x6a,0xec,0x26,0x13,0xdf,0xe9,0x73,0xb1,0x24}, 15714},
{{0x2a,0x01,0x04,0xf9,0x00,0x4a,0x1d,0xee,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, 25714} {{0xfd,0x87,0xd8,0x7e,0xeb,0x43,0xac,0xe2,0xb6,0x57,0x79,0x84,0x20,0xd2,0xd8,0xb8}, 15714}
}; };
#endif // BITCOIN_CHAINPARAMSSEEDS_H
static SeedSpec6 pnSeed6_test[] = {
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x55,0x90,0xfc,0x62}, 25714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x33,0x0f,0x70,0x17}, 25714},
{{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x61,0x71,0x49,0x86}, 25714},
{{0x2a,0x01,0x04,0xf9,0x00,0x4a,0x1d,0xee,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, 25714}
};
#endif // BITCOIN_CHAINPARAMSSEEDS_H

View File

@@ -17,7 +17,7 @@
#define CLIENT_VERSION_MAJOR 2 #define CLIENT_VERSION_MAJOR 2
#define CLIENT_VERSION_MINOR 13 #define CLIENT_VERSION_MINOR 13
#define CLIENT_VERSION_REVISION 2 #define CLIENT_VERSION_REVISION 2
#define CLIENT_VERSION_BUILD 7 #define CLIENT_VERSION_BUILD 8
//! Set to true for release, false for prerelease or test build //! Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE true #define CLIENT_VERSION_IS_RELEASE true
@@ -26,7 +26,7 @@
* Copyright year (2009-this) * Copyright year (2009-this)
* Todo: update this when changing our copyright comments in the source * Todo: update this when changing our copyright comments in the source
*/ */
#define COPYRIGHT_YEAR 2020 #define COPYRIGHT_YEAR 2021
#endif //HAVE_CONFIG_H #endif //HAVE_CONFIG_H

View File

@@ -3653,7 +3653,7 @@ bool ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& sta
int nHeight = pindexPrev->nHeight+1; int nHeight = pindexPrev->nHeight+1;
if (chainActive.Height() - nHeight >= consensusParams.nMaxReorganizationDepth) if (chainActive.Height() - nHeight >= consensusParams.nMaxReorganizationDepth)
return state.DoS(1, error("%s: forked chain older than max reorganization depth (height %d)", __func__, nHeight)); return state.DoS(100, error("%s: forked chain older than max reorganization depth (height %d)", __func__, nHeight));
// Preliminary check difficulty in pos-only stage // Preliminary check difficulty in pos-only stage
if (chainActive.Height() > consensusParams.nLastPOWBlock && nHeight > consensusParams.nLastPOWBlock && block.nBits != GetNextTargetRequired(pindexPrev, &block, consensusParams, true)) if (chainActive.Height() > consensusParams.nLastPOWBlock && nHeight > consensusParams.nLastPOWBlock && block.nBits != GetNextTargetRequired(pindexPrev, &block, consensusParams, true))

View File

@@ -108,7 +108,7 @@ bool IsStandardTx(const CTransaction& tx, std::string& reason)
if (whichType == TX_NULL_DATA) if (whichType == TX_NULL_DATA)
nDataOut++; nDataOut++;
else if (txout.nValue == 0) { else if (txout.IsDust(::minRelayTxFee)) {
reason = "dust"; reason = "dust";
return false; return false;
} }
@@ -119,7 +119,7 @@ bool IsStandardTx(const CTransaction& tx, std::string& reason)
else if ((whichType == TX_MULTISIG) && (!fIsBareMultisigStd)) { else if ((whichType == TX_MULTISIG) && (!fIsBareMultisigStd)) {
reason = "bare-multisig"; reason = "bare-multisig";
return false; return false;
} else if (txout.nValue == 0) { } else if (txout.IsDust(::minRelayTxFee)) {
reason = "dust"; reason = "dust";
return false; return false;
} }

View File

@@ -6,6 +6,7 @@
#include "clientmodel.h" #include "clientmodel.h"
#include <QPainter> #include <QPainter>
#include <QPainterPath>
#include <QColor> #include <QColor>
#include <QTimer> #include <QTimer>