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.

119 lines
3.8 KiB

# Initial set up
This page describes all required steps to run TESTCOIN, <i>a run-time fork</i> of the Hush source code, other resources to have a look:
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
- 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