Skip to content

RTA Build and Installation Instructions

Ilya Kitaev edited this page Apr 12, 2020 · 5 revisions
RTA Testing Release 082019

Release notes:

RTA implements the RTA transaction validation flow as described in: https://github.com/graft-project/DesignDocuments/blob/develop/RFCs/%5BRFC-003-RTVF%5D-RTA-Transaction-Validation-Flow.md

Release includes the reference CLI apps (POS and wallet) to test the flow.

Known issues:

  • Disqualification transactions implementation not merged yet
  • RTA validation on cryptonode is shortcut temporarily

Building and installation

  1. Follow the instructions on how to build supernode in https://github.com/graft-project/graft-ng/wiki/Supernode-Install-&-Usage-Instruction, using develop branch

  2. Create directory e.g. $HOME/graft/rta-beta

mkdir -p $HOME/graft/rta-beta
  1. Copy binaries $BUILDDIR/supernode, $BUILDDIR/config.ini, $BUILDDIR/rta-pos-cli, $BUILDDIR/rta-wallet-cli, $BUILDDIR/BUILD/bin/* to $HOME/graft/rta-beta . Copy directory $BUILDDIR/graftlets to $HOME/graft/rta-beta

  2. run graftnoded: execute $HOME/graft/rta-beta/graftnoded --testnet; Make sure your graftnoded synced with public testnet network: http://testnet.graft.network

  3. Create wallet and request funds by contacting admins in the main TG group.

  4. Create wallets for supernode, PoS and Wallet

  5. Setup supernode using manual: https://github.com/graft-project/graft-ng/wiki/Supernode-Install-&-Usage-Instruction#graft-supernode-configuration

10.[optional] Send stake amount to supernode's wallet

  1. Send some amount to the Wallet's wallet

Running and testing

  1. Make sure cryptonode and supernode running, check your local supernode with request:
curl http://localhost:28690/debug/supernode_list/1

Make sure you see your supernode in the output

  1. Copy helper script to the directory where you copied binaries ($BINDIR), make sure it executable (chmod a+x test_runner.py). Use this script to automate rta-wallet-cli and rta-pos-cli apps:
./test_runner.py --wallet-path <path_to_your_clients_wallet> --pos-wallet <pos_wallet_address> [[--period XX] [--supernode-address=<your_supernode_address>] [--cryptonode-address=<your_cryptonode_address>]]]

period defines repeat interval in seconds, 120 seconds by default. Script will run both rta-wallet-cli and rta-pos-cli apps in parallel so they process rta transaction. Sale amount is 12.345 GRFT. It will be possible to specify sale amount in next versions.

Also you can run the same manually as described below. p.3,4,5 are optional in case you want to process it manually

  1. [optional] Open another terminal (or new window in tmux/screen), go to directory where you copied binaries ($BINDIR), copy wallet files you created previously here and run "rta-wallet-cli" like this:
./rta-wallet-cli --wallet-path <your-wallet-name> --cryptonode-address localhost:28881

By default it expects supernode available at localhost:28690, cryptonode's RPC at localhost:28681 (we need to explicitly specify cryptonode-address, to be fixed in next releases). It will open wallet, refresh it, print the balance and wait for a user pressed <Return> key to continue processing

  1. [optional] Open one more terminal (or new window in tmux/screen), pick wallet address you created for a PoS, go to directory with binaries ($BINDIR), and run:
./rta-pos-cli --wallet-address <wallet-address-PoS> --amount <sale-amount>

This will initiate the sale. Right after this switch to the terminal with "waiting" rta-wallet-cli app and press <Return>. This will process the payment.

  1. [optional] Next switch to the terminal with rta-pos-cli and see how Sale is processed.

Clone this wiki locally