Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
243 lines (165 sloc) 9.49 KB

Graft Supernode Public RTA Testnet July 2019 - Simple step-by-step Supernode setup instructions


by: yidakee (aka el_duderino_007)

General considerations

  • 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.

Requirements

  • 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

URL Specs Bandwidth Storage Price/month
https://vultr.com 2vCPU 4GB 3 TB 60GB $20
https://digitalocean.com 2vCPU 4GB 4 TB 80GB $100 Free Trial
https://www.hetzner.com/ 2vCPU 4GB 20TB 80TB 8,90€
https://contabo.com/ 4 CPU 8GB Unlimited 200 GB 4,99€
https://www.linode.com/ 2vCPU 4GB 4TB 80GB $20
https://www.ovh.com/ 2vCPU 7GB ? 50GB $26.40
https://www.scaleway.com 2vCPU 8GB ? 80GB 15.99€
https://www.leaseweb.com 2vCPU 4GB 8TB 80GB 17.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, ssh into 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

2

  • 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.
    cd rta_beta20190722_1
    ls -la
  • 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 ~/.graft/testnet/
    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 forget to save before exiting the wallet, for faster loading next time

  • Now we're ready to edit the Supernode config.inifile.
    cd ~/test-sn
    nano config.ini
  • You'll need to edit 2 entires. Here is how it looks unedited
    data-dir=
    wallet-public-address=
  • This is how it should look.
    data-dir=~/test-sn/
    wallet-public-address=Fxxxxxx
  • 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 screen so 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 CTRL+A+D

  • You can check the "health" of your Supernode by issuing the following command
    curl http://localhost:28690/debug/supernode_list/1

Alternatively, you can also use a web browser by replacing localhost with your server's IP address http://xx.xx.xx.xx:28690/debug/supernode_list/1

  • I advise installing JSON Formatter for Chrome, to be able to view the list output in a friendlier way https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa?hl=en

  • 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 id_key and Signature.

  • 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 save before exiting, for faster loading next time

  • Next, open two Terminal windows, one for each wallet, and navigate to where rta-wallet-cli and 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

For example, ./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://54.88.179.186:8081


You can’t perform that action at this time.