You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.9 KiB

Initial set up

This page describes all required steps to run TESTCOIN, mostly a copy-paste from:

https://git.hush.is/hush/hsc-creator/src/branch/master/docs.md and https://hush.is/hsc-creator and https://git.hush.is/hush/hush-smart-chains

2 static IPs are needed, we can use sudo ufw allow from IP2 on a first node and sudo ufw allow from IP1 on a second node to make sure nodes can ping each other. To verify use ping IP2 and ping IP1

Install hush3

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib \
      autoconf libtool ncurses-dev unzip git python zlib1g-dev wget \
      bsdmainutils automake curl unzip nano libsodium-dev
git clone https://git.hush.is/hush/hush3
cd hush3
# Change the branch to duke
git checkout duke && git branch
./build.sh -j$(nproc)
cd src

Use of tmux

sudo apt install tmux -y

We do not want to lose our process and break our chain. So we can run the following:

tmux new-session -t NODE1 and tmux new-session -t NODE2 on our second node

It is better to have more than 2 nodes

Running a HSC

From your NODE1 run:

./hush-smart-chain -ac_name=TESTCOIN -ac_private=1 -ac_blocktime=260 -ac_halving=420000 -ac_reward=2400000000 -ac_supply=987318 -addnode=IP2 &

From your NODE2 run:

./hush-smart-chain -ac_name=TESTCOIN -ac_private=1 -ac_blocktime=260 -ac_halving=420000 -ac_reward=2400000000 -ac_supply=987318 -addnode=IP1 &

-ac_name=TESTCOIN - name

-ac_private=1 - full z2z privacy feature, just like Hush or ARRR

ac_supply=987318 - pre-mined supply

-ac_blocktime=260 + -ac_halving=420000 + -ac_reward=2400000000 makes TESTCOIN with block time of 260 seconds and halving every 420000 blocks with initial reward of 24 TESTCOINs.

Compare the magic number

Example: magic.c89b00b16, the string c89b00b16 will be different, but must be identical on both nodes

Before mining the pre-mined supply

All of the pre-mined coins are mined in the first block. Therefore, whichever machine executes the mining command will receive the entirely of the blockchain's pre-mined coin supply, as set in the ac_supply parameter. Upon mining the first block, these coins are available in the default wallet.dat file.

To collect all the mining rewards from the node to a single address, execute the following command:

# Get a new address
newaddress=$(./hush-cli -ac_name=TESTCOIN getnewaddress)

# Get the corresponding pubkey
pubkey=$(./hush-cli -ac_name=TESTCOIN validateaddress $newaddress | jq -r '.pubkey' )

# Indicate the pubkey to the daemon
./hush-cli -ac_name=TESTCOIN setpubkey $pubkey

Enable mining

./hush-cli -ac_name=TESTCOIN setgenerate true $(nproc)

Mining is prohibited by all VPS providers, so in that case it is safer to run with -j2(?) option instead of $(nproc), will be updated...

Verify if mining is working

After mining was enabled, you can check if the two nodes are connected by using the following command:

./hush-cli -ac_name=TESTCOIN getinfo | grep connections

Must be "connections": 1.

Useful RPC commands

All RPC commands for Hush can be used the same way for any HSC. The total list: https://faq.hush.is/rpc/coinsupply.html

Most useful:

./hush-cli -ac_name=TESTCOIN getinfo

TO-DO list

  • Figure out how to properly publish the source code of the new chain created. (can be very confused about this one)
  • Change all tickers from HUSH to TESTCOIN.
  • ac_? for the total supply.
  • Mining, will coolmine and/or luckpool support TESTCOIN? solo-mining docs from @jahway603
  • Wallets.
  • DPoW?
  • Specify the devReward wallet, so some portion of all mined coins can go to the devReward address.

The last response from @Duke regarding the last to-do mentioned above:

https://git.hush.is/hush/hush3/src/branch/master/src/hushd#L85

ac_founders and there is also ac_foundersreward

ac_script is the pubkey of the FR address

ac_perc is the percentage