docs: rebrand documentation, packaging, and helper scripts to DragonX
The docs/packaging were largely un-rebranded Hush3 content, with several docs stating facts that are wrong for DragonX. This rewrites them against the verified DragonX source state. Corrections (not just branding): - PoW: RandomX (CPU), not Equihash/ASIC — README, overview.md, randomx.md - Privacy: private from genesis (ac_private=1, Sapling@height1), not "as of block 340000" — overview.md, payment-api.md - Removed the false "coinbase must be shielded" consensus claim (shield-coinbase.md, payment-api.md); coinbase is directly spendable - Fixed default fee 0.0001 (was 0.0010000, 10x); stratum port 22769 (was 19031) - datadir ~/.hush/DRAGONX, DRAGONX.conf, dragonxd/dragonx-cli/dragonx-tx, git.dragonx.is throughout; branch model dev->dragonx - Softened the inherited dPoW reorg claim (no live DragonX notary infra) Packaging: fix build-debian-package.sh + gen-manpages.sh to use the dragonx binaries/manpages; rename bash-completions to dragonx*; drop hush-arrakis-chain from the package. Keep /usr/share/hush (hardcoded in the binary for params). Also: README links/logo, ObsidianDragon + SilentDragonXAndroid wallets, networking/init/dev-process/contrib/util rebrand, and leftover helper scripts. Delete legacy duplicates (hushd.* init/service, HUSH3.conf examples, OLD_WALLETS.md, hsc.md) and rename hush-uri.bat -> dragonx-uri.bat. Out of scope (noted, not changed): historical changelog/copyright, the Hush mainnet airdrop snapshot, seed data files, depends/ source mirrors, and the in-code strCurrencyUnits="HUSH". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
# Hush Contrib
|
||||
# DragonX Contrib
|
||||
|
||||
This is mostly very old stuff inherited from Bitcoin and Zcash!
|
||||
This directory contains various supporting tools and scripts. Much of this is
|
||||
old material inherited from the Bitcoin/Zcash/Komodo/Hush lineage, so not every
|
||||
script is guaranteed to work. Please fix bugs and report anything you find.
|
||||
|
||||
Do not expect all scripts to work!
|
||||
|
||||
Please fix bugs and report things you find.
|
||||
|
||||
# Hush Tools
|
||||
# DragonX Tools
|
||||
|
||||
## block\_time.pl
|
||||
|
||||
Estimate when a Hush block will happen.
|
||||
Estimate when a DragonX block will happen.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -19,65 +17,49 @@ Example:
|
||||
## gen-zaddrs.pl
|
||||
|
||||
Generate zaddrs in bulk, by default 50 at a time. Prints out a zaddr one per line.
|
||||
Useful on a fully-private chain where shielded addresses are the norm.
|
||||
|
||||
Example:
|
||||
|
||||
./contrib/gen-zaddrs.pl # generate 50 zaddrs
|
||||
./contrib/gen-zaddrs.pl 500 # generate 500 zaddrs
|
||||
|
||||
|
||||
## Wallet Tools
|
||||
|
||||
### [BitRPC](/contrib/bitrpc) ###
|
||||
Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
|
||||
|
||||
### [SpendFrom](/contrib/spendfrom) ###
|
||||
|
||||
Use the raw transactions API to send coins received on a particular
|
||||
address (or addresses).
|
||||
|
||||
## Repository Tools
|
||||
|
||||
### [Developer tools](/contrib/devtools) ###
|
||||
Specific tools for developers working on this repository.
|
||||
Contains the script `github-merge.sh` for merging github pull requests securely and signing them using GPG.
|
||||
### [Verify-Commits](/contrib/verify-commits)
|
||||
Tool to verify that merge commits were signed by a developer.
|
||||
|
||||
### [Verify-Commits](/contrib/verify-commits) ###
|
||||
Tool to verify that every merge commit was signed by a developer using the above `github-merge.sh` script.
|
||||
|
||||
### [Linearize](/contrib/linearize) ###
|
||||
### [Linearize](/contrib/linearize)
|
||||
Construct a linear, no-fork, best version of the blockchain.
|
||||
|
||||
### [Qos](/contrib/qos) ###
|
||||
### [Qos](/contrib/qos)
|
||||
A Linux bash script that sets up traffic control (tc) to limit the outgoing
|
||||
bandwidth for connections to the DragonX network. This lets you run an
|
||||
always-on dragonxd instance and have another local dragonxd connect to it and
|
||||
receive blocks from it.
|
||||
|
||||
A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Bitcoin network. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.
|
||||
|
||||
### [Seeds](/contrib/seeds) ###
|
||||
Utility to generate the pnSeed[] array that is compiled into the client.
|
||||
### [Seeds](/contrib/seeds)
|
||||
Utility to generate the seed node array that is compiled into the client.
|
||||
|
||||
## Build Tools and Keys
|
||||
|
||||
### [Debian](/contrib/debian) ###
|
||||
Contains files used to package bitcoind/bitcoin-qt
|
||||
for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here.
|
||||
### [Debian](/contrib/debian)
|
||||
Contains files used to package dragonxd for Debian-based Linux systems.
|
||||
|
||||
### [Gitian-descriptors](/contrib/gitian-descriptors) ###
|
||||
Gavin's notes on getting gitian builds up and running using KVM.
|
||||
### [Gitian-descriptors](/contrib/gitian-descriptors)
|
||||
Legacy notes on getting gitian builds running. Note that the real DragonX build
|
||||
path is `./build.sh` together with the `depends/` system; gitian is legacy.
|
||||
|
||||
### [Gitian-downloader](/contrib/gitian-downloader)
|
||||
Various PGP files of core developers.
|
||||
Various PGP files of developers.
|
||||
|
||||
### [MacDeploy](/contrib/macdeploy) ###
|
||||
Scripts and notes for Mac builds.
|
||||
### [MacDeploy](/contrib/macdeploy)
|
||||
Scripts and notes for Mac builds.
|
||||
|
||||
## Test and Verify Tools
|
||||
## Test and Verify Tools
|
||||
|
||||
### [TestGen](/contrib/testgen) ###
|
||||
Utilities to generate test vectors for the data-driven Bitcoin tests.
|
||||
### [TestGen](/contrib/testgen)
|
||||
Utilities to generate test vectors for the data-driven base58 tests.
|
||||
|
||||
### [Test Patches](/contrib/test-patches) ###
|
||||
These patches are applied when the automated pull-tester
|
||||
tests each pull and when master is tested using jenkins.
|
||||
|
||||
### [Verify SF Binaries](/contrib/verifysfbinaries) ###
|
||||
This script attempts to download and verify the signature file SHA256SUMS.asc from SourceForge.
|
||||
### [Verify SF Binaries](/contrib/verifysfbinaries)
|
||||
Legacy SourceForge-era signature verification script (unused for DragonX).
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
my $cli = "./src/hush-cli";
|
||||
my $cli = "./src/dragonx-cli";
|
||||
my $coin = shift || '';
|
||||
unless (-e $cli) {
|
||||
die "$cli does not exist, aborting";
|
||||
|
||||
@@ -8,17 +8,17 @@ use strict;
|
||||
# Given a block height, estimate when it will happen
|
||||
my $block = shift || die "Usage: $0 123";
|
||||
my $coin = shift || '';
|
||||
my $hush = "./src/hush-cli";
|
||||
unless (-e $hush) {
|
||||
die "$hush does not exist, aborting";
|
||||
my $cli = "./src/dragonx-cli";
|
||||
unless (-e $cli) {
|
||||
die "$cli does not exist, aborting";
|
||||
}
|
||||
if ($coin) {
|
||||
$hush .= " -ac_name=$coin";
|
||||
$cli .= " -ac_name=$coin";
|
||||
}
|
||||
my $blockcount = qx{$hush getblockcount};
|
||||
my $blockcount = qx{$cli getblockcount};
|
||||
|
||||
unless ($blockcount = int($blockcount)) {
|
||||
print "Invalid response from $hush\n";
|
||||
print "Invalid response from $cli\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ if ($block <= $blockcount) {
|
||||
my $diff = $block - $blockcount;
|
||||
# TODO: support custom blocktimes
|
||||
# assumes HACs use default blocktime of 60s
|
||||
my $minpb = $coin ? 1 : 1.25; # 75s in minutes for HUSH3
|
||||
my $minpb = $coin ? 1 : 0.6; # 36s in minutes for DragonX
|
||||
my $minutes = $diff*$minpb;
|
||||
my $seconds = $minutes*60;
|
||||
my $now = time;
|
||||
@@ -38,7 +38,7 @@ if ($block <= $blockcount) {
|
||||
if ($coin) {
|
||||
print "$coin Block $block will happen at roughly:\n";
|
||||
} else {
|
||||
print "Hush Block $block will happen at roughly:\n";
|
||||
print "DragonX Block $block will happen at roughly:\n";
|
||||
}
|
||||
print "$ldate Eastern # $then\n";
|
||||
print "$gmdate GMT # $then\n";
|
||||
|
||||
@@ -11,7 +11,7 @@ from hashlib import sha256
|
||||
# based on https://github.com/KMDLabs/pos64staker/blob/master/stakerlib.py#L89
|
||||
def addr_convert(prefix, address, prefix_bytes):
|
||||
rmd160_dict = {}
|
||||
# ZEC/HUSH/etc have 2 prefix bytes, BTC/KMD only have 1
|
||||
# ZEC/DRAGONX/etc have 2 prefix bytes, BTC/KMD only have 1
|
||||
# NOTE: any changes to this code should be verified against https://dexstats.info/addressconverter.php
|
||||
ripemd = b58decode_check(address).hex()[2*prefix_bytes:]
|
||||
net_byte = prefix + ripemd
|
||||
@@ -23,7 +23,7 @@ def addr_convert(prefix, address, prefix_bytes):
|
||||
return(final.decode())
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
sys.exit('Usage: %s hushv2address' % sys.argv[0])
|
||||
sys.exit('Usage: %s dragonxv2address' % sys.argv[0])
|
||||
|
||||
address = sys.argv[1]
|
||||
# convert given address to a KMD address
|
||||
|
||||
@@ -1,209 +0,0 @@
|
||||
## HUSH3.conf configuration file. Lines beginning with # are comments.
|
||||
|
||||
# Network-related settings:
|
||||
|
||||
# Run a regression test network
|
||||
#regtest=0
|
||||
# Run a test node (which means you can mine with no peers)
|
||||
#testnode=1
|
||||
|
||||
#set a custom client name/user agent
|
||||
#clientName=GoldenSandtrout
|
||||
|
||||
# Rescan from block height
|
||||
#rescan=123
|
||||
|
||||
# Connect via a SOCKS5 proxy
|
||||
#proxy=127.0.0.1:9050
|
||||
|
||||
# Automatically create Tor hidden service
|
||||
#listenonion=1
|
||||
|
||||
#Use separate SOCKS5 proxy to reach peers via Tor hidden services
|
||||
#onion=1.2.3.4:9050
|
||||
|
||||
# Only connect to nodes in network <net> (ipv4, ipv6, onion or i2p)"));
|
||||
#onlynet=<net>
|
||||
|
||||
#Tor control port to use if onion listening enabled
|
||||
#torcontrol=127.0.0.1:9051
|
||||
|
||||
# Bind to given address and always listen on it. Use [host]:port notation for IPv6
|
||||
#bind=<addr>
|
||||
|
||||
# Bind to given address and allowlist peers connecting to it. Use [host]:port notation for IPv6
|
||||
#allowbind=<addr>
|
||||
|
||||
##############################################################
|
||||
## Quick Primer on addnode vs connect ##
|
||||
## Let's say for instance you use addnode=4.2.2.4 ##
|
||||
## addnode will connect you to and tell you about the ##
|
||||
## nodes connected to 4.2.2.4. In addition it will tell ##
|
||||
## the other nodes connected to it that you exist so ##
|
||||
## they can connect to you. ##
|
||||
## connect will not do the above when you 'connect' to it. ##
|
||||
## It will *only* connect you to 4.2.2.4 and no one else.##
|
||||
## ##
|
||||
## So if you're behind a firewall, or have other problems ##
|
||||
## finding nodes, add some using 'addnode'. ##
|
||||
## ##
|
||||
## If you want to stay private, use 'connect' to only ##
|
||||
## connect to "trusted" nodes. ##
|
||||
## ##
|
||||
## If you run multiple nodes on a LAN, there's no need for ##
|
||||
## all of them to open lots of connections. Instead ##
|
||||
## 'connect' them all to one node that is port forwarded ##
|
||||
## and has lots of connections. ##
|
||||
## Thanks goes to [Noodle] on Freenode. ##
|
||||
##############################################################
|
||||
|
||||
# Use as many addnode= settings as you like to connect to specific peers
|
||||
#addnode=69.164.218.197
|
||||
#addnode=10.0.0.2:8233
|
||||
|
||||
# Alternatively use as many connect= settings as you like to connect ONLY to specific peers
|
||||
#connect=69.164.218.197
|
||||
#connect=10.0.0.1:8233
|
||||
|
||||
# Listening mode, enabled by default except when 'connect' is being used
|
||||
#listen=1
|
||||
|
||||
# Maximum number of inbound+outbound connections.
|
||||
#maxconnections=
|
||||
|
||||
#
|
||||
# JSON-RPC options (for controlling a running hushd process)
|
||||
#
|
||||
|
||||
# server=1 tells node to accept JSON-RPC commands (set as default if not specified)
|
||||
#server=1
|
||||
|
||||
# Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6.
|
||||
# This option can be specified multiple times (default: bind to all interfaces)
|
||||
#rpcbind=<addr>
|
||||
|
||||
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
|
||||
# These will automatically be created for you
|
||||
#rpcuser=user
|
||||
#rpcpassword=supersecretpassword
|
||||
|
||||
# How many seconds node will wait for a complete RPC HTTP request.
|
||||
# after the HTTP connection is established.
|
||||
#rpcclienttimeout=30
|
||||
|
||||
# By default, only RPC connections from localhost are allowed.
|
||||
# Specify as many rpcallowip= settings as you like to allow connections from other hosts,
|
||||
# either as a single IPv4/IPv6 or with a subnet specification.
|
||||
|
||||
# NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED,
|
||||
# because the rpcpassword is transmitted over the network unencrypted and also because anyone
|
||||
# that can authenticate on the RPC port can steal your keys + take over the account running hushd
|
||||
|
||||
#rpcallowip=10.1.1.34/255.255.255.0
|
||||
#rpcallowip=1.2.3.4/24
|
||||
#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96
|
||||
|
||||
# Listen for RPC connections on this TCP port:
|
||||
#rpcport=1234
|
||||
|
||||
# You can use hushd to send commands to hushd
|
||||
# running on another host using this option:
|
||||
#rpcconnect=127.0.0.1
|
||||
|
||||
# Transaction Fee
|
||||
|
||||
# Send transactions as zero-fee transactions if possible (default: 0)
|
||||
#sendfreetransactions=0
|
||||
|
||||
# Create transactions that have enough fees (or priority) so they are likely to # begin confirmation within n blocks (default: 1).
|
||||
# This setting is overridden by the -paytxfee option.
|
||||
#txconfirmtarget=n
|
||||
|
||||
# Miscellaneous options
|
||||
|
||||
# Enable mining at startup
|
||||
#gen=1
|
||||
|
||||
# Set the number of threads to be used for mining (-1 = all cores).
|
||||
#genproclimit=1
|
||||
|
||||
# Specify a different Equihash solver (e.g. "tromp") to try to mine
|
||||
# faster when gen=1.
|
||||
#equihashsolver=default
|
||||
|
||||
# Pre-generate this many public/private key pairs, so wallet backups will be valid for
|
||||
# both prior transactions and several dozen future transactions.
|
||||
#keypool=100
|
||||
|
||||
# Pay an optional transaction fee every time you send a tx. Transactions with fees
|
||||
# are more likely than free transactions to be included in generated blocks, so may
|
||||
# be validated sooner. This setting does not affect private transactions created with
|
||||
# 'z_sendmany'.
|
||||
#paytxfee=0.00
|
||||
|
||||
#Rewind the chain to specific block height. This is useful for creating snapshots at a given block height.
|
||||
#rewind=555
|
||||
|
||||
#Stop the chain a specific block height. This is useful for creating snapshots at a given block height.
|
||||
#stopat=1000000
|
||||
|
||||
#Set an address to use as change address for all transactions. This value must be set to a 33 byte pubkey. All mined coins will also be sent to this address.
|
||||
#pubkey=027dc7b5cfb5efca96674b45e9fda18df069d040b9fd9ff32c35df56005e330392
|
||||
|
||||
# Disable clearnet (ipv4 and ipv6) connections to this node
|
||||
#clearnet=0
|
||||
|
||||
# Disable ipv4
|
||||
#disableipv4=1
|
||||
# Disable ipv6
|
||||
#disableipv6=1
|
||||
|
||||
# Enable transaction index
|
||||
#txindex=1
|
||||
# Enable address index
|
||||
#addressindex=1
|
||||
# Enable timestamp index
|
||||
#timestampindex=1
|
||||
# Enable spent index
|
||||
#spentindex=1
|
||||
|
||||
# Enable shielded stats index
|
||||
#zindex=1
|
||||
|
||||
# Attempt to salvage a corrupt wallet
|
||||
# salvagewallet=1
|
||||
|
||||
# Mine all blocks to this address (not good for your privacy and not recommended!)
|
||||
# Disallowed if clearnet=0
|
||||
# mineraddress=XXX
|
||||
|
||||
# Disable wallet
|
||||
#disablewallet=1
|
||||
|
||||
# Allow mining to an address that is not in the current wallet
|
||||
#minetolocalwallet=0
|
||||
|
||||
# Delete all wallet transactions
|
||||
#zapwallettxes=1
|
||||
|
||||
# Enable sapling consolidation
|
||||
# consolidation=1
|
||||
|
||||
# Enable stratum server
|
||||
# stratum=1
|
||||
|
||||
# Run a command each time a new block is seen
|
||||
# %s in command is replaced by block hash
|
||||
#blocknotify=/my/awesome/script.sh %s
|
||||
|
||||
# Run a command when wallet gets a new tx
|
||||
# %s in command is replaced with txid
|
||||
#walletnotify=/my/cool/script.sh %s
|
||||
|
||||
# Run a command when tx expires
|
||||
# %s in command is replaced with txid
|
||||
#txexpirynotify=/my/elite/script.sh %s
|
||||
|
||||
# Execute this commend to send a tx
|
||||
# %s is replaced with tx hex
|
||||
#txsend=/send/it.sh %s
|
||||
@@ -1 +0,0 @@
|
||||
DEBIAN/examples/HUSH3.conf
|
||||
@@ -1,3 +0,0 @@
|
||||
usr/bin/hushd
|
||||
usr/bin/hush-cli
|
||||
usr/bin/hush-tx
|
||||
@@ -1,3 +0,0 @@
|
||||
DEBIAN/manpages/hush-cli.1
|
||||
DEBIAN/manpages/hush-tx.1
|
||||
DEBIAN/manpages/hushd.1
|
||||
@@ -1,11 +1,11 @@
|
||||
# bash programmable completion for hush-cli(1)
|
||||
# bash programmable completion for dragonx-cli(1)
|
||||
# Copyright (c) 2012-2016 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-2020 The Hush developers
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
# call $hush-cli for RPC
|
||||
_hush_rpc() {
|
||||
# call $dragonx-cli for RPC
|
||||
_dragonx_rpc() {
|
||||
# determine already specified args necessary for RPC
|
||||
local rpcargs=()
|
||||
for i in ${COMP_LINE}; do
|
||||
@@ -15,25 +15,25 @@ _hush_rpc() {
|
||||
;;
|
||||
esac
|
||||
done
|
||||
$hush_cli "${rpcargs[@]}" "$@"
|
||||
$dragonx_cli "${rpcargs[@]}" "$@"
|
||||
}
|
||||
|
||||
# Add wallet accounts to COMPREPLY
|
||||
_hush_accounts() {
|
||||
_dragonx_accounts() {
|
||||
local accounts
|
||||
# Accounts are deprecated in hush
|
||||
#accounts=$(_hush_rpc listaccounts | awk -F '"' '{ print $2 }')
|
||||
# Accounts are deprecated in dragonx
|
||||
#accounts=$(_dragonx_rpc listaccounts | awk -F '"' '{ print $2 }')
|
||||
accounts="\\\"\\\""
|
||||
COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) )
|
||||
}
|
||||
|
||||
_hush_cli() {
|
||||
_dragonx_cli() {
|
||||
local cur prev words=() cword
|
||||
local hush_cli
|
||||
local dragonx_cli
|
||||
|
||||
# save and use original argument to invoke hush-cli for -help, help and RPC
|
||||
# as hush-cli might not be in $PATH
|
||||
hush_cli="$1"
|
||||
# save and use original argument to invoke dragonx-cli for -help, help and RPC
|
||||
# as dragonx-cli might not be in $PATH
|
||||
dragonx_cli="$1"
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -n = cur prev words cword
|
||||
@@ -63,7 +63,7 @@ _hush_cli() {
|
||||
if ((cword > 3)); then
|
||||
case ${words[cword-3]} in
|
||||
addmultisigaddress)
|
||||
_hush_accounts
|
||||
_dragonx_accounts
|
||||
return 0
|
||||
;;
|
||||
getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock)
|
||||
@@ -92,7 +92,7 @@ _hush_cli() {
|
||||
return 0
|
||||
;;
|
||||
move|setaccount)
|
||||
_hush_accounts
|
||||
_dragonx_accounts
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
@@ -108,7 +108,7 @@ _hush_cli() {
|
||||
return 0
|
||||
;;
|
||||
getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany)
|
||||
_hush_accounts
|
||||
_dragonx_accounts
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
@@ -132,12 +132,12 @@ _hush_cli() {
|
||||
|
||||
# only parse -help if senseful
|
||||
if [[ -z "$cur" || "$cur" =~ ^- ]]; then
|
||||
helpopts=$($hush_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
|
||||
helpopts=$($dragonx_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
|
||||
fi
|
||||
|
||||
# only parse help if senseful
|
||||
if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then
|
||||
commands=$(_hush_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }')
|
||||
commands=$(_dragonx_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }')
|
||||
fi
|
||||
|
||||
COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) )
|
||||
@@ -150,7 +150,7 @@ _hush_cli() {
|
||||
;;
|
||||
esac
|
||||
} &&
|
||||
complete -F _hush_cli hush-cli
|
||||
complete -F _dragonx_cli dragonx-cli
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
@@ -1,15 +1,15 @@
|
||||
# bash programmable completion for hush-tx(1)
|
||||
# bash programmable completion for dragonx-tx(1)
|
||||
# Copyright (c) 2016 The Bitcoin Core developers
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
_hush_tx() {
|
||||
_dragonx_tx() {
|
||||
local cur prev words=() cword
|
||||
local hush_tx
|
||||
local dragonx_tx
|
||||
|
||||
# save and use original argument to invoke hush-tx for -help
|
||||
# save and use original argument to invoke dragonx-tx for -help
|
||||
# it might not be in $PATH
|
||||
hush_tx="$1"
|
||||
dragonx_tx="$1"
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -n =: cur prev words cword
|
||||
@@ -27,15 +27,15 @@ _hush_tx() {
|
||||
|
||||
if [[ "$cword" == 1 || ( "$prev" != "-create" && "$prev" == -* ) ]]; then
|
||||
# only options (or an uncompletable hex-string) allowed
|
||||
# parse hush-tx -help for options
|
||||
# parse dragonx-tx -help for options
|
||||
local helpopts
|
||||
helpopts=$($hush_tx -help | sed -e '/^ -/ p' -e d )
|
||||
helpopts=$($dragonx_tx -help | sed -e '/^ -/ p' -e d )
|
||||
COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
|
||||
else
|
||||
# only commands are allowed
|
||||
# parse -help for commands
|
||||
local helpcmds
|
||||
helpcmds=$($hush_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^ [a-z]/ p' -e d )
|
||||
helpcmds=$($dragonx_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^ [a-z]/ p' -e d )
|
||||
COMPREPLY=( $( compgen -W "$helpcmds" -- "$cur" ) )
|
||||
fi
|
||||
|
||||
@@ -46,7 +46,7 @@ _hush_tx() {
|
||||
|
||||
return 0
|
||||
} &&
|
||||
complete -F _hush_tx hush-tx
|
||||
complete -F _dragonx_tx dragonx-tx
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
@@ -8,8 +8,8 @@ Exit
|
||||
:RegExport
|
||||
Set RegFile="%Temp%\~etsaclu.tmp"
|
||||
|
||||
Set "hush=%~dp0"
|
||||
set "hush=%hush:\=\\%"
|
||||
Set "dragonx=%~dp0"
|
||||
set "dragonx=%dragonx:\=\\%"
|
||||
|
||||
If Exist %RegFile% (
|
||||
Attrib -R -S -H %RegFile% & Del /F /Q %RegFile%
|
||||
@@ -17,19 +17,19 @@ If Exist %RegFile% (
|
||||
)
|
||||
> %RegFile% Echo Windows Registry Editor Version 5.00
|
||||
>> %RegFile% Echo.
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\hush]
|
||||
>> %RegFile% Echo @="URL:hush protocol"
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\dragonx]
|
||||
>> %RegFile% Echo @="URL:dragonx protocol"
|
||||
>> %RegFile% Echo "URL Protocol"=""
|
||||
>> %RegFile% Echo.
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\hush\DefaultIcon]
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\dragonx\DefaultIcon]
|
||||
>> %RegFile% Echo @="silentdragon.exe"
|
||||
>> %RegFile% Echo.
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\hush\Shell]
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\dragonx\Shell]
|
||||
>> %RegFile% Echo.
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\hush\Shell\Open]
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\dragonx\Shell\Open]
|
||||
>> %RegFile% Echo.
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\hush\Shell\Open\Command]
|
||||
>> %RegFile% Echo @="%hush%silentdragon.exe \"%%1\""
|
||||
>> %RegFile% Echo [HKEY_CLASSES_ROOT\dragonx\Shell\Open\Command]
|
||||
>> %RegFile% Echo @="%dragonx%silentdragon.exe \"%%1\""
|
||||
|
||||
Start /Wait %systemroot%\Regedit.exe /S %RegFile%
|
||||
Del %RegFile%
|
||||
@@ -1,17 +1,17 @@
|
||||
# bash programmable completion for hushd(1)
|
||||
# bash programmable completion for dragonxd(1)
|
||||
# Copyright (c) 2012-2017 The Bitcoin Core developers
|
||||
# Copyright (c) 2016-2017 The Zcash developers
|
||||
# Copyright (c) 2018 The Hush developers
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
_hushd() {
|
||||
_dragonxd() {
|
||||
local cur prev words=() cword
|
||||
local hushd
|
||||
local dragonxd
|
||||
|
||||
# save and use original argument to invoke hushd for -help
|
||||
# save and use original argument to invoke dragonxd for -help
|
||||
# it might not be in $PATH
|
||||
hushd="$1"
|
||||
dragonxd="$1"
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -n = cur prev words cword
|
||||
@@ -35,7 +35,7 @@ _hushd() {
|
||||
# only parse -help if senseful
|
||||
if [[ -z "$cur" || "$cur" =~ ^- ]]; then
|
||||
local helpopts
|
||||
helpopts=$($hushd -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
|
||||
helpopts=$($dragonxd -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
|
||||
COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) )
|
||||
fi
|
||||
|
||||
@@ -47,7 +47,7 @@ _hushd() {
|
||||
;;
|
||||
esac
|
||||
} &&
|
||||
complete -F _hushd hushd
|
||||
complete -F _dragonxd dragonxd
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
@@ -11,19 +11,19 @@
|
||||
|
||||
BRANCH=$1
|
||||
|
||||
git clone https://git.hush.is/hush/hush3
|
||||
cd hush3
|
||||
git clone https://git.dragonx.is/DragonX/dragonx
|
||||
cd dragonx
|
||||
git checkout $BRANCH
|
||||
# You need 2GB of RAM per core, don't use too many
|
||||
# (GB of RAM)/2 - 1 is the optimal core count for compiling Hush
|
||||
# (GB of RAM)/2 - 1 is the optimal core count for compiling DragonX
|
||||
# `nproc` tells you how many cores you have
|
||||
JOBS=$2
|
||||
JOBZ=$(nproc) # if build.sh fails, we can use many more jobs with make
|
||||
# Want to fix this parrallel-only build system bug we inherited ? you are a new hush dev
|
||||
# Want to fix this parrallel-only build system bug we inherited ? you are a new DragonX dev
|
||||
# Sometimes the parrallel build fails because of a race condition, so
|
||||
# we do it a few times to Make Really Sure
|
||||
./build.sh -j$JOBS;make -j$JOBZ;make -j$JOBZ;make -j$JOBZ
|
||||
./src/hushd &> hush.log &
|
||||
# You can give the entire or parts of this file to Hush developers for debugging,
|
||||
./src/dragonxd &> dragonx.log &
|
||||
# You can give the entire or parts of this file to DragonX developers for debugging,
|
||||
# but there is a lot of metadata!!! We don't want any more than we need to fix bugz
|
||||
tail -f hush.log
|
||||
tail -f dragonx.log
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
my $hush = "./src/hush-cli";
|
||||
my $znew = "$hush z_getnewaddress";
|
||||
my $cli = "./src/dragonx-cli";
|
||||
my $znew = "$cli z_getnewaddress";
|
||||
my $count = 1;
|
||||
my $howmany = shift || 50;
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
### Gavin's notes on getting gitian builds up and running using KVM:###
|
||||
### Notes on getting gitian builds up and running using KVM:###
|
||||
|
||||
Note: These are legacy notes inherited from upstream. The real, supported DragonX
|
||||
build path is `./build.sh` together with the `depends/` system; gitian is legacy
|
||||
and is retained here only for historical reference.
|
||||
|
||||
These instructions distilled from:
|
||||
[ https://help.ubuntu.com/community/KVM/Installation]( https://help.ubuntu.com/community/KVM/Installation)
|
||||
@@ -20,7 +24,7 @@ Sanity checks:
|
||||
|
||||
Once you've got the right hardware and software:
|
||||
|
||||
git clone git://github.com/bitcoin/bitcoin.git
|
||||
git clone https://git.dragonx.is/DragonX/dragonx.git
|
||||
git clone git://github.com/devrandom/gitian-builder.git
|
||||
mkdir gitian-builder/inputs
|
||||
cd gitian-builder/inputs
|
||||
@@ -62,5 +66,5 @@ Here's a description of Gavin's setup on OSX 10.6:
|
||||
5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above:
|
||||
|
||||
export USE_LXC=1
|
||||
git clone git://github.com/bitcoin/bitcoin.git
|
||||
git clone https://git.dragonx.is/DragonX/dragonx.git
|
||||
... etc
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
Sample configuration files for:
|
||||
|
||||
SystemD: hushd.service
|
||||
Upstart: hushd.conf
|
||||
OpenRC: hushd.openrc
|
||||
hushd.openrcconf
|
||||
CentOS: hushd.init
|
||||
SystemD: dragonxd.service
|
||||
Upstart: dragonxd.conf
|
||||
OpenRC: dragonxd.openrc
|
||||
dragonxd.openrcconf
|
||||
CentOS: dragonxd.init
|
||||
|
||||
have been made available to assist packagers in creating node packages here.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
description "Hush Daemon"
|
||||
description "DragonX Daemon"
|
||||
|
||||
start on runlevel [2345]
|
||||
stop on starting rc RUNLEVEL=[016]
|
||||
@@ -9,7 +9,7 @@ env HUSHD_GROUP="hush"
|
||||
env HUSHD_PIDDIR="/var/run/dragonxd"
|
||||
# upstart can't handle variables constructed with other variables
|
||||
env HUSHD_PIDFILE="/var/run/dragonxd/dragonxd.pid"
|
||||
env HUSHD_CONFIGFILE="/etc/hush/hush.conf"
|
||||
env HUSHD_CONFIGFILE="/etc/dragonx/DRAGONX.conf"
|
||||
env HUSHD_DATADIR="/var/lib/dragonxd"
|
||||
|
||||
expect fork
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# dragonxd The hush core server.
|
||||
# dragonxd The DragonX core server.
|
||||
#
|
||||
#
|
||||
# chkconfig: 345 80 20
|
||||
|
||||
@@ -8,7 +8,7 @@ else
|
||||
HUSHD_DEFAULT_DATADIR="/var/lib/dragonxd"
|
||||
fi
|
||||
|
||||
HUSHD_CONFIGFILE=${HUSHD_CONFIGFILE:-/etc/hush/hush.conf}
|
||||
HUSHD_CONFIGFILE=${HUSHD_CONFIGFILE:-/etc/dragonx/DRAGONX.conf}
|
||||
HUSHD_PIDDIR=${HUSHD_PIDDIR:-/var/run/dragonxd}
|
||||
HUSHD_PIDFILE=${HUSHD_PIDFILE:-${HUSHD_PIDDIR}/dragonxd.pid}
|
||||
HUSHD_DATADIR=${HUSHD_DATADIR:-${HUSHD_DEFAULT_DATADIR}}
|
||||
@@ -18,8 +18,8 @@ HUSHD_BIN=${HUSHD_BIN:-/usr/bin/dragonxd}
|
||||
HUSHD_NICE=${HUSHD_NICE:-${NICELEVEL:-0}}
|
||||
HUSHD_OPTS="${HUSHD_OPTS:-${HUSH_OPTS}}"
|
||||
|
||||
name="Hush Full Node Daemon"
|
||||
description="Hush cryptocurrency P2P network daemon"
|
||||
name="DragonX Full Node Daemon"
|
||||
description="DragonX cryptocurrency P2P network daemon"
|
||||
|
||||
command="/usr/bin/dragonxd"
|
||||
command_args="-pid=\"${HUSHD_PIDFILE}\" \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# /etc/conf.d/dragonxd: config file for /etc/init.d/dragonxd
|
||||
|
||||
# Config file location
|
||||
#HUSHD_CONFIGFILE="/etc/hush/hush.conf"
|
||||
#HUSHD_CONFIGFILE="/etc/dragonx/DRAGONX.conf"
|
||||
|
||||
# What directory to write pidfile to? (created and owned by $HUSHD_USER)
|
||||
#HUSHD_PIDDIR="/var/run/dragonxd"
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
[Unit]
|
||||
Description=Hush: Speak And Transact Freely
|
||||
Description=DragonX: private RandomX-mined full node
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
# The 'hush' service user/group is intentional for packaging compatibility;
|
||||
# renaming it is a separate decision.
|
||||
User=hush
|
||||
Group=hush
|
||||
|
||||
Type=forking
|
||||
PIDFile=/var/lib/dragonxd/dragonxd.pid
|
||||
ExecStart=/usr/bin/dragonxd -daemon -pid=/var/lib/dragonxd/dragonxd.pid \
|
||||
-conf=/etc/hush/hush.conf -datadir=/var/lib/dragonxd -disablewallet
|
||||
-conf=/etc/dragonx/DRAGONX.conf -datadir=/var/lib/dragonxd -disablewallet
|
||||
|
||||
Restart=always
|
||||
PrivateTmp=true
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
description "Hush Daemon"
|
||||
|
||||
start on runlevel [2345]
|
||||
stop on starting rc RUNLEVEL=[016]
|
||||
|
||||
env HUSHD_BIN="/usr/bin/hushd"
|
||||
env HUSHD_USER="hush"
|
||||
env HUSHD_GROUP="hush"
|
||||
env HUSHD_PIDDIR="/var/run/hushd"
|
||||
# upstart can't handle variables constructed with other variables
|
||||
env HUSHD_PIDFILE="/var/run/hushd/hushd.pid"
|
||||
env HUSHD_CONFIGFILE="/etc/hush/hush.conf"
|
||||
env HUSHD_DATADIR="/var/lib/hushd"
|
||||
|
||||
expect fork
|
||||
|
||||
respawn
|
||||
respawn limit 5 120
|
||||
kill timeout 60
|
||||
|
||||
pre-start script
|
||||
# this will catch non-existent config files
|
||||
# hushd will check and exit with this very warning, but it can do so
|
||||
# long after forking, leaving upstart to think everything started fine.
|
||||
# since this is a commonly encountered case on install, just check and
|
||||
# warn here.
|
||||
if ! grep -qs '^rpcpassword=' "$HUSHD_CONFIGFILE" ; then
|
||||
echo "ERROR: You must set a secure rpcpassword to run hushd."
|
||||
echo "The setting must appear in $HUSHD_CONFIGFILE"
|
||||
echo
|
||||
echo "This password is security critical to securing wallets "
|
||||
echo "and must not be the same as the rpcuser setting."
|
||||
echo "You can generate a suitable random password using the following"
|
||||
echo "command from the shell:"
|
||||
echo
|
||||
echo "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$HUSHD_PIDDIR"
|
||||
chmod 0755 "$HUSHD_PIDDIR"
|
||||
chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_PIDDIR"
|
||||
chown $HUSHD_USER:$HUSHD_GROUP "$HUSHD_CONFIGFILE"
|
||||
chmod 0660 "$HUSHD_CONFIGFILE"
|
||||
end script
|
||||
|
||||
exec start-stop-daemon \
|
||||
--start \
|
||||
--pidfile "$HUSHD_PIDFILE" \
|
||||
--chuid $HUSHD_USER:$HUSHD_GROUP \
|
||||
--exec "$HUSHD_BIN" \
|
||||
-- \
|
||||
-pid="$HUSHD_PIDFILE" \
|
||||
-conf="$HUSHD_CONFIGFILE" \
|
||||
-datadir="$HUSHD_DATADIR" \
|
||||
-disablewallet \
|
||||
-daemon
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# hushd The hush core server.
|
||||
#
|
||||
#
|
||||
# chkconfig: 345 80 20
|
||||
# description: hushd
|
||||
# processname: hushd
|
||||
#
|
||||
|
||||
# Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
# you can override defaults in /etc/sysconfig/hushd, see below
|
||||
if [ -f /etc/sysconfig/hushd ]; then
|
||||
. /etc/sysconfig/hushd
|
||||
fi
|
||||
|
||||
RETVAL=0
|
||||
|
||||
prog=hushd
|
||||
# you can override the lockfile via HUSHD_LOCKFILE in /etc/sysconfig/hushd
|
||||
lockfile=${HUSHD_LOCKFILE-/var/lock/subsys/hushd}
|
||||
|
||||
# hushd defaults to /usr/bin/hushd, override with HUSHD_BIN
|
||||
hushd=${HUSHD_BIN-/usr/bin/hushd}
|
||||
|
||||
# hushd opts default to -disablewallet, override with HUSHD_OPTS
|
||||
hushd_opts=${HUSHD_OPTS--disablewallet}
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
daemon $DAEMONOPTS $hushd $hushd_opts
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && touch $lockfile
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc $prog
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f $lockfile
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: service $prog {start|stop|status|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
|
||||
# backward compatibility for existing gentoo layout
|
||||
#
|
||||
if [ -d "/var/lib/hush/.hush" ]; then
|
||||
HUSHD_DEFAULT_DATADIR="/var/lib/hush/.hush"
|
||||
else
|
||||
HUSHD_DEFAULT_DATADIR="/var/lib/hushd"
|
||||
fi
|
||||
|
||||
HUSHD_CONFIGFILE=${HUSHD_CONFIGFILE:-/etc/hush/hush.conf}
|
||||
HUSHD_PIDDIR=${HUSHD_PIDDIR:-/var/run/hushd}
|
||||
HUSHD_PIDFILE=${HUSHD_PIDFILE:-${HUSHD_PIDDIR}/hushd.pid}
|
||||
HUSHD_DATADIR=${HUSHD_DATADIR:-${HUSHD_DEFAULT_DATADIR}}
|
||||
HUSHD_USER=${HUSHD_USER:-${HUSH_USER:-hush}}
|
||||
HUSHD_GROUP=${HUSHD_GROUP:-hush}
|
||||
HUSHD_BIN=${HUSHD_BIN:-/usr/bin/hushd}
|
||||
HUSHD_NICE=${HUSHD_NICE:-${NICELEVEL:-0}}
|
||||
HUSHD_OPTS="${HUSHD_OPTS:-${HUSH_OPTS}}"
|
||||
|
||||
name="Hush Full Node Daemon"
|
||||
description="Hush cryptocurrency P2P network daemon"
|
||||
|
||||
command="/usr/bin/hushd"
|
||||
command_args="-pid=\"${HUSHD_PIDFILE}\" \
|
||||
-conf=\"${HUSHD_CONFIGFILE}\" \
|
||||
-datadir=\"${HUSHD_DATADIR}\" \
|
||||
-daemon \
|
||||
${HUSHD_OPTS}"
|
||||
|
||||
required_files="${HUSHD_CONFIGFILE}"
|
||||
start_stop_daemon_args="-u ${HUSHD_USER} \
|
||||
-N ${HUSHD_NICE} -w 2000"
|
||||
pidfile="${HUSHD_PIDFILE}"
|
||||
|
||||
# The retry schedule to use when stopping the daemon. Could be either
|
||||
# a timeout in seconds or multiple signal/timeout pairs (like
|
||||
# "SIGKILL/180 SIGTERM/300")
|
||||
retry="${HUSHD_SIGTERM_TIMEOUT}"
|
||||
|
||||
depend() {
|
||||
need localmount net
|
||||
}
|
||||
|
||||
# verify
|
||||
# 1) that the datadir exists and is writable (or create it)
|
||||
# 2) that a directory for the pid exists and is writable
|
||||
# 3) ownership and permissions on the config file
|
||||
start_pre() {
|
||||
checkpath \
|
||||
-d \
|
||||
--mode 0750 \
|
||||
--owner "${HUSHD_USER}:${HUSHD_GROUP}" \
|
||||
"${HUSHD_DATADIR}"
|
||||
|
||||
checkpath \
|
||||
-d \
|
||||
--mode 0755 \
|
||||
--owner "${HUSHD_USER}:${HUSHD_GROUP}" \
|
||||
"${HUSHD_PIDDIR}"
|
||||
|
||||
checkpath -f \
|
||||
-o ${HUSHD_USER}:${HUSHD_GROUP} \
|
||||
-m 0660 \
|
||||
${HUSHD_CONFIGFILE}
|
||||
|
||||
checkconfig || return 1
|
||||
}
|
||||
|
||||
checkconfig()
|
||||
{
|
||||
if ! grep -qs '^rpcpassword=' "${HUSHD_CONFIGFILE}" ; then
|
||||
eerror ""
|
||||
eerror "ERROR: You must set a secure rpcpassword to run hushd."
|
||||
eerror "The setting must appear in ${HUSHD_CONFIGFILE}"
|
||||
eerror ""
|
||||
eerror "This password is security critical to securing wallets "
|
||||
eerror "and must not be the same as the rpcuser setting."
|
||||
eerror "You can generate a suitable random password using the following"
|
||||
eerror "command from the shell:"
|
||||
eerror ""
|
||||
eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"
|
||||
eerror ""
|
||||
eerror ""
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# /etc/conf.d/hushd: config file for /etc/init.d/hushd
|
||||
|
||||
# Config file location
|
||||
#HUSHD_CONFIGFILE="/etc/hush/hush.conf"
|
||||
|
||||
# What directory to write pidfile to? (created and owned by $HUSHD_USER)
|
||||
#HUSHD_PIDDIR="/var/run/hushd"
|
||||
|
||||
# What filename to give the pidfile
|
||||
#HUSHD_PIDFILE="${HUSHD_PIDDIR}/hushd.pid"
|
||||
|
||||
# Where to write hushd data (be mindful that the blockchain is large)
|
||||
#HUSHD_DATADIR="/var/lib/hushd"
|
||||
|
||||
# User and group to own hushd process
|
||||
#HUSHD_USER="hush"
|
||||
#HUSHD_GROUP="hush"
|
||||
|
||||
# Path to hushd executable
|
||||
#HUSHD_BIN="/usr/bin/hushd"
|
||||
|
||||
# Nice value to run hushd under
|
||||
#HUSHD_NICE=0
|
||||
|
||||
# Additional options (avoid -conf and -datadir, use flags above)
|
||||
HUSHD_OPTS="-disablewallet"
|
||||
|
||||
# The timeout in seconds OpenRC will wait for hushd to terminate
|
||||
# after a SIGTERM has been raised.
|
||||
# Note that this will be mapped as argument to start-stop-daemon's
|
||||
# '--retry' option, which means you can specify a retry schedule
|
||||
# here. For more information see man 8 start-stop-daemon.
|
||||
HUSHD_SIGTERM_TIMEOUT=60
|
||||
@@ -1,22 +0,0 @@
|
||||
[Unit]
|
||||
Description=Hush: Speak And Transact Freely
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=hush
|
||||
Group=hush
|
||||
|
||||
Type=forking
|
||||
PIDFile=/var/lib/hushd/hushd.pid
|
||||
ExecStart=/usr/bin/hushd -daemon -pid=/var/lib/hushd/hushd.pid \
|
||||
-conf=/etc/hush/hush.conf -datadir=/var/lib/hushd -disablewallet
|
||||
|
||||
Restart=always
|
||||
PrivateTmp=true
|
||||
TimeoutStopSec=60s
|
||||
TimeoutStartSec=2s
|
||||
StartLimitInterval=120s
|
||||
StartLimitBurst=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,9 +1,5 @@
|
||||
### MacDeploy ###
|
||||
|
||||
For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
|
||||
|
||||
sudo easy_install argparse
|
||||
|
||||
This script should not be run manually, instead, after building as usual:
|
||||
|
||||
make deploy
|
||||
@@ -11,5 +7,4 @@ This script should not be run manually, instead, after building as usual:
|
||||
During the process, the disk image window will pop up briefly where the fancy
|
||||
settings are applied. This is normal, please do not interfere.
|
||||
|
||||
When finished, it will produce `Bitcoin-Core.dmg`.
|
||||
|
||||
When finished, it will produce `DragonX.dmg`.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
### Qos ###
|
||||
|
||||
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Hush network. It limits outbound TCP traffic with a source or destination port of 18030, but not if the destination IP is within a LAN (defined as 192.168.x.x).
|
||||
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the DragonX network. It limits outbound TCP traffic with a source or destination port of 18030, but not if the destination IP is within a LAN (defined as 192.168.x.x).
|
||||
|
||||
This means one can have an always-on hushd instance running, and another local hushd/bitcoin-qt instance which connects to this node and receives blocks from it.
|
||||
This means one can have an always-on dragonxd instance running, and another local dragonxd instance which connects to this node and receives blocks from it.
|
||||
|
||||
@@ -3,22 +3,23 @@
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
# This script is used to generate the checkpoint data used by the SilentDragon Android SDK
|
||||
# https://git.hush.is/fekt/hush-android-wallet-sdk/src/branch/main/sdk-lib/src/main/assets/co.electriccoin.zcash/checkpoint/mainnet
|
||||
# This script is used to generate the checkpoint data used by the SilentDragonX Android SDK
|
||||
# https://git.dragonx.is/DragonX/SilentDragonXAndroid
|
||||
# (checkpoint format follows the upstream co.electriccoin.zcash/checkpoint/mainnet layout)
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
my $hush = "./src/hush-cli";
|
||||
my $getblock= "$hush getblock";
|
||||
my $gethash = "$hush getblockhash";
|
||||
my $gettree = "$hush getblockmerkletree";
|
||||
my $cli = "./src/dragonx-cli";
|
||||
my $getblock= "$cli getblock";
|
||||
my $gethash = "$cli getblockhash";
|
||||
my $gettree = "$cli getblockmerkletree";
|
||||
my $start = shift || 1390000;
|
||||
my $end = shift || 1422000;
|
||||
my $stride = shift || 10000;
|
||||
|
||||
my $blocks = qx{$hush getblockcount};
|
||||
my $blocks = qx{$cli getblockcount};
|
||||
if($?) {
|
||||
print "ERROR, is hushd running? exiting...\n";
|
||||
print "ERROR, is dragonxd running? exiting...\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
# Distributed under the GPLv3 software license, see the accompanying
|
||||
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
|
||||
# This script is used to generate the data used by the silentdragonlite-cli checkpoints.rs file
|
||||
# This script is used to generate the data used by a light-wallet checkpoints.rs file.
|
||||
# The checkpoint format follows the upstream silentdragonlite-cli reference:
|
||||
# https://git.hush.is/hush/silentdragonlite-cli/src/branch/master/lib/src/lightclient/checkpoints.rs#L24
|
||||
|
||||
use warnings;
|
||||
@@ -12,16 +13,16 @@ use strict;
|
||||
# call this script like this to generate checkpoints for another chain:
|
||||
# CLI=./src/hac-cli ./contrib/sdl_checkpoints.pl ...
|
||||
|
||||
my $hush = $ENV{CLI} || "./src/hush-cli";
|
||||
my $gethash = "$hush getblockhash";
|
||||
my $gettree = "$hush getblockmerkletree";
|
||||
my $cli = $ENV{CLI} || "./src/dragonx-cli";
|
||||
my $gethash = "$cli getblockhash";
|
||||
my $gettree = "$cli getblockmerkletree";
|
||||
my $start = shift || 300000;
|
||||
my $end = shift || 840000;
|
||||
my $stride = shift || 10000;
|
||||
|
||||
my $blocks = qx{$hush getblockcount};
|
||||
my $blocks = qx{$cli getblockcount};
|
||||
if($?) {
|
||||
print "ERROR, is hushd running? exiting...\n";
|
||||
print "ERROR, is dragonxd running? exiting...\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
# Seeds
|
||||
|
||||
Utility to generate the seeds.txt list that is compiled into the client
|
||||
(see [src/chainparamsseeds.h](hush/hush3/src/branch/master/src/chainparamsseeds.h) and other utilities in [contrib/seeds](hush/hush3/src/branch/master/contrib/seeds/)).
|
||||
(see [src/chainparamsseeds.h](../../src/chainparamsseeds.h) and other utilities in [contrib/seeds](.)).
|
||||
|
||||
## Updating seeds
|
||||
|
||||
Update [contrib/seeds/nodes_main.txt](hush/hush3/src/branch/master/contrib/seeds/nodes_main.txt) and run `make seeds` in the hush root directory of this repo (not the directory of this README) to update [src/chainparamsseeds.h](hush/hush3/src/branch/master/src/chainparamsseeds.h) then commit the result.
|
||||
|
||||
|
||||
Update [contrib/seeds/nodes_main.txt](nodes_main.txt) and run `make seeds` in the DragonX root directory of this repo (not the directory of this README) to update [src/chainparamsseeds.h](../../src/chainparamsseeds.h) then commit the result.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
### TestGen ###
|
||||
|
||||
Utilities to generate test vectors for the data-driven Hush tests.
|
||||
Utilities to generate test vectors for the data-driven DragonX tests.
|
||||
|
||||
Usage:
|
||||
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
### Verify SF Binaries ###
|
||||
This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.
|
||||
|
||||
This is a legacy SourceForge-era script inherited from upstream and is not used
|
||||
for DragonX releases. It originally attempted to download a signature file
|
||||
`SHA256SUMS.asc` from an upstream release host and verify the binaries listed in
|
||||
it.
|
||||
|
||||
For DragonX, release artifacts and checksums are published via the DragonX
|
||||
project host at https://git.dragonx.is/DragonX and https://dragonx.is . The
|
||||
script would need to be pointed at those locations before it could be useful; it
|
||||
is retained here only for historical reference.
|
||||
|
||||
It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file.
|
||||
|
||||
The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
|
||||
The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
|
||||
|
||||
Reference in New Issue
Block a user