Graft Supernode Public RTA Testnet July 2019 - Simple step-by-step Supernode setup instructions
by: yidakee (aka el_duderino_007)
This is different from the previous RTA Alpha testnet. If you have wallets with funds from the RTA Alpha testnet, these will not show up on Public RTA Testnet.
You can use your current Main net server, no need to spend extra for a dedicated server. Just be sure there are no conflicting directory names, and that you are not using port
28690on your main net config.
Currently, RTA flow does not work with a multi testnet Supernode setup on the same server. RTA flow is quite taxing on the server, so for the sake of a fruitful testnet there is no support for RTA on multi-SN setup. It is expected that testers submit log files and bug reports, so this will expedite development. Moving forward, this setup will be reviewed
However, this guide presumes a completely fresh install
This is a bare minimum install recommended for linux newbies and troubleshooting purposes.
This setup is only for Testnet
This guide is not intended for linux educational purposes, rather a simple copy/paste procedure to get your Supernode up an running and see it working properly and learn basic Supernode management, and later be able to follow more advanced setup guides.
- Any modern machine with at least 4GB RAM 2 CPUs -
- Current bandwidgth consuption = unknown at this moment
- VPS (virtual private server) recommended.
Brief list of VPS poviders
|https://vultr.com||2vCPU 4GB||3 TB||60GB||$20|
|https://digitalocean.com||2vCPU 4GB||4 TB||80GB||$100 Free Trial|
|https://contabo.com/||4 CPU 8GB||Unlimited||200 GB||4,99€|
Link to Digital Ocean free $100 Trial (must provide Credit Card) - https://try.digitalocean.com/performance/
Start by selecting a VPS provider, spin up a node selecting Ubuntu 18.04.
Once you’ve fired up your node,
sshinto the server and perform typical maintenance
sudo apt-get update && sudo apt-get upgrade -y
Lets add a dependency
sudo apt install libsodium23 libnorm1
- If this window shows up, select the first option
- We will now download and unpack the latest Graft testnet binaires. Everything is included
wget http://graftmainnet.s3.us-east-2.amazonaws.com/rta-devnet-0719/rta_beta20190722_1.tar.gz tar -zxvf rta_beta20190722_1.tar.gz
- Next, lets enter the directory where the GraftNetwork & Supernode binaries where decompressed into, and have a look inside.
- Lets create the graftnoded data dir and download the blockchain for faster sync on first start
cd mkdir -p ~/.graft/testnet/
- Now we're going to download the latest blockchain snapshot in place
cd /.graft/testnet/ wget http://graftmainnet.s3.us-east-2.amazonaws.com/rta-devnet-0719/lmdb.tar.gz tar -zxvf lmdb.tar.gz
- Next, we need to copy the graft.conf file with instructions for graftnoded over to
cp ~/rta_beta20190722_1/node_data/testnet/graft.conf graft.conf
- Great! We're almost done. Now we need to set up your testnet Supernode.
Please do not run multiple Supernodes on the same server. So we're going to prepare 1 directory with all the files needed.
cd mkdir -p test-sn cd test-sn cp ~/rta_beta20190722_1/supernode supernode cp ~/rta_beta20190722_1/config.ini config.ini cp -r ~/rta_beta20190722_1/graftlets graftlets
- Inside the directory, there is a file called
config.ini. We'll need to edit this file. We need to add a Supernode wallet address, change the http port and tell the Supernode its working directory. For that, we first need to create a wallet address. So lets do that first.
cd rta_beta20190722_1 ./graft-wallet-cli --testnet --daemon-address localhost:28681
Follow the instructions. Don't forget to copy both the wallet address and mnemonic seed phrase
for future recovery. Double check the wallet address is testnet and starts with an
F. Also, don't
save before exiting the wallet, for faster loading next time
- Now we're ready to edit the Supernode
cd ~/test-sn nano config.ini
- You'll need to edit 2 entires. Here is how it looks unedited
- This is how it should look.
- We're almost done! We can now start up
graftnodedto start blockchain sync, and once that is done we can start up the Supernodes. It is advised to run
screenso that when you run
graftnoded, if you accidentally close the Terminal window it won't close the process, and you can resume it at a later stage.
cd ~/rta_beta20190722_1 screen -S graftnonded ./graftnoded --testnet --config-file ~/.graft/testnet/graft.conf --confirm-external-bind --log-level 2,net.p2p:TRACE
Let it run for about 5 minutes, and then type
status. When you see that you're 100% sync'ed, then you can
start the Supernodes. It should look something like this
Height: 378406/378406 (100.0%) on testnet, not mining, net hash 14 H/s, difficulty 1767, v15, up to date, 5(out)+4(in) connections, uptime 0d 0h 2m 7s
If it is not 100%, just let it run a little longer and check back a little later.
- Now that we are up fully sync'ed, let start the Supernode. Although it is not staked yet, it can start communicating with the network. We'll create a new screen for each Supernode for easier management.
cd ~/test-sn/ screen -S sn ./supernode
To exit screen without closing the window and opening a new one, just type
- You can check the "health" of your Supernode by issuing the following command
Alternatively, you can also use a web browser by replacing
localhost with your server's IP address
I advise installing JSON Formatter for Chrome, to be able to view the list output in a friendlier way
Alright, now you can request testnet coins to fund your testnet Supernode! Head over to the
Testnet group on Telegram https://t.me/joinchat/GM66WUXOQ56d0YV7RkqleA
To stake and activate your Supernode, you need to get the
You find this by using with the following command
curl --request GET http://localhost:28690/dapi/v2.0/cryptonode/getwalletaddress
As a reminder, the syntax for staking is
stake_transfer <SUPERNODE_WALLET_PULIC_ADDRESS> <STAKE_AMOUNT> <LOCK_BLOCKS_COUNT> <SUPERNODE_PUBLIC_ID_KEY> <SUPERNODE_SIGNATURE>
- When your first Supernode is actively staked, you will be ready to test RTA transactions!
Testing RTA transactions
(placeholder to embed video)
All you need are a working wallet. Lets call this the
Customerwallet. So go ahead and create it, and send a few coins over to this Customer wallet. Same procedure to create the Supernode wallet, with one added step. Once inside the Customer wallet, we need to reduce the password confirmation level by running
set ask-password 0- Don't forget to
savebefore exiting, for faster loading next time
Next, open two Terminal windows, one for each wallet, and navigate to where
rta-wallet-cliand the wallets are located. Lets fire up the Customer wallet. Let it open, refresh the balance, but don't
Press <Return> to continue..just yet
cd ~/rta_beta20190722_1 ./rta-wallet-cli --wallet-path Customer
- On the other Terminal window, lets open the Point-of-Sale wallet
POS, and set up a sale. For this we need to give the binary the POS wallet address and amount
./rta-pos-cli --wallet-address Fxxxxx --amount X
./rta-pos-cli --wallet-address F7MWRHch2bCQdfAHtg1MM31WbYvLRwPfK8ZTQgmTEHVKauUAT3nb9MG77nkxHWhbVAYvNTWyg7Xp66GhL8fABRW5B2isEJD --amount 5
Congratulations! You've performed an RTA transaction.
Note: RTA transactions are currently tx input dependent. Meaning, to perform many RTA transactions in a a row you'll need lots of in dividual "transaction in" (unspent outputs) in your wallet. The easiest way is to send back you yourself multiple transactions. For example, say you have a balance of 100 test-Graft on your Customer wallet. From that wallet, send back to yourself multiple times 1 Graft, 2 Graft, 3 Graft, etc. You can check how many inputs you have by entering the command. Now you should be able to perform multiple RTX transactin in a row.
Here is the RTA Explorer should you need it - http://126.96.36.199:8081