How does it work?

      With Reversecoin, you can create two different kinds of accounts: Standard Accounts and Vault Accounts. Standard accounts behave very much like your Bitcoin accounts and allow you to send and receive money for daily purposes. Vault accounts behave much like you bank savings account, where you can deposit large amount of coins and keep them safe from hackers. Each vault account has a configurable timeout and is backed by two key pairs, one online and one offline. You only need online keypair to transfer coins from vault. When you transfer your coins using online keypair, your transactions get confirmed after they live in blockchain for the timeout period.

      If someone steals your online key pair and transfers coins to them, the transactions will have to wait in block chain for the timeout period. During which, you can use your offline key pair and reverse those transactions and restore your coins to your other address. You can also use your offline key pair for immediate transfer of coins in your Vault, instead of waiting for timeout period. In a sentence, Vault account has the ease of use of hot wallets (online account) and security of cold wallets (offline accounts). We are also working on a monitoring service, to send you real-time alerts, when your coins are transferred from your addresses. To know more about Reversecoin, read our white paper or even better play with it, to see for yourself how Reversecoin works. In order to make it easy, the code is sandboxed and difficulty is reduced so that blocks are produced one every minute. Below is a brief tutorial to show how vaultcoin works. Please note that following tutorial has been tested to work on Ubuntu.

Tutorial

Installation on Ubuntu

 $ sudo apt-get install python-pip python-dev
 $ (sudo) pip install reversecoin

Configuration

 $ vim ~/.reversecoin.cfg
 $ vim ~/.reversecoin-miner.cfg

If the configuration files are missing, you can copy them from config files.
Copy config.cfg to ~/.reversecoin.cfg and miner.cfg to ~/.reversecoin-miner.cfg.

Start Reversecoin

General commands

Display general information
 $ rwallet info
Blocks: 14
Display account information
 $ rwallet account
Address:  1Fs3w4ocFYQfWHwwW1BmCt64Lzxhy949x8
Public key:  041710ff89c02 ...
Private key:  3082011302010 ...
Balance:  4999999974.0
Display balance
 $ rwallet balance
Accounts
1Fs3w4ocFYQfWHwwW1BmCt64Lzxhy949x8:  5000000000.0
16BWWhnwdRzEMHDegCcFSAmfXTpsjqQgEm:  5000000000.0
 ...

Vaults
	No vaults created yet!

Pending Transfers
	No pending transactions!

Display transactions received by an address
 $ rwallet received
Id: 1	16vG4kpi4Kwj7rCvcQRmndkASuhpiUkefb
Id: 2	16tVroAQYhkHxAEXKu2WUmUAKZdpoLnNTD
Id: 3	1CfzTkpb13AEjnaiNU7GRZoFPEPP6m4DML
Enter the id of the address to check received transactions: 1
16vG4kpi4Kwj7rCvcQRmndkASuhpiUkefb received 1 transaction(s)
Transaction 1
	txhash: 86984500261139323876473882090714817035950406287964486706826054079903609861629
	n: 0
	value: 5000000000

Send and receive coins using normal accounts

Create a new address
 $ rwallet newaddress
1B3gjZwmcT1gnRjM5Vsq3ejQrn5SxTWwMn
Send coins to an address
 $ rwallet send
Id: 1	16vG4kpi4Kwj7rCvcQRmndkASuhpiUkefb
Id: 2	1Nhq1uuA7wUtc28Jff1v3mtVhguYjnMHoK
Id: 3	1HQsyNzq7bBuVsHZ6P7iPaegRdijHAMHpC
Id: 4	1B3gjZwmcT1gnRjM5Vsq3ejQrn5SxTWwMn
Enter the id of the address to send coins to: 4
Enter the balance to transfer to address: 34
Transferring: 34 to: 1B3gjZwmcT1gnRjM5Vsq3ejQrn5SxTWwMn
Wait for a minute for the confirmation and check for updated balance
 $ rwallet balance
Accounts
1Fs3w4ocFYQfWHwwW1BmCt64Lzxhy949x8:  5000000000.0
16BWWhnwdRzEMHDegCcFSAmfXTpsjqQgEm:  5000000000.0
1B3gjZwmcT1gnRjM5Vsq3ejQrn5SxTWwMn:  34.0
...

Vaults
	No vaults created yet!

Pending Transfers
	No pending transactions!

Send and receive coins using vault accounts

First, lets create a vault
 $ rwallet vault_new
Creating new vault:
Address: 1HFDd3UBNjxUm7C1zkKxVC5bKvDFCN1JUc
Master Address: 1GqLygiFjnVLZ3FrmMuQrYvVgpNJTgbnMy
Vault Address: 4DmsKRg83o5twQxTQx7ZZSFYcsrpTHS92t
Now, lets deposit some amount into a vault
 $ rwallet vault_send
1: 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
2: 4PAisa72N4hFTPzXYcXFnarfQSNVndGF13
Please enter the index of the vault to transfer money to: 1
Enter the balance to transfer to vault: 42
Transfering 42 to vault 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
Wait a minute for the confirmation

Check the balance of vault accounts
 $ rwallet vault_balance
4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB: 42.0
4PAisa72N4hFTPzXYcXFnarfQSNVndGF13: 0.0
Display detailed vault information
 $ rwallet vault_info
Vaults
Vault Address: 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
	Balance: 42.0
	Address: 15MkohW6NsPi9tcuauxFuvkqoD3GJGdA1e
	Master Address: 18iZCwDajHjrpAirtRho7yG4YnZbuT4yvh
	timeout: 300 seconds (5 minutes)
	Received transactions:
		txhash: 96514527025978237138015757123231276653576463689488169168267055758937615537735	n: 0	value: 42
Withdraw coins from vault using online keys only
 $ rwallet vault_withdraw
Available vaults
Id: 1, Address: 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB, Balance: 42.0
Enter the id of the vault you want to transfer coins from: 1
Id: 1	1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv
Id: 2	15CXyWwfpdQWWDJLAR9iRE2i4HqmGvUeHt
Id: 3	1JAZpSBHLhzxTbLgknNsHdgm7dX5qMeLvp
Id: 4	16tVroAQYhkHxAEXKu2WUmUAKZdpoLnNTD
Enter the id of the address to send coins to: 1
Enter the balance to transfer from 4H7RkmGw9xmTWHRkpsX2R3BMvXDGk8q9rv to 1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv: 3
Transfering 3	from 4H7RkmGw9xmTWHRkpsX2R3BMvXDGk8q9rv	to 1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv
Wait a minute for the pending transactions to appear
 $ rwallet vault_pending
Pending Transfers
	Id:  1
		Input: 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
		Outputs:
			3 -> 1CrCnA1ToTin2MqBSKBY8rudUGxdC9qpj
			37 -> 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
If you want the transactions to go through, just wait for the confirmation period (5 minutes).

For overriding the transactions from vault
 $ rwallet vault_override
Pending Transfers
	Id:  1
		Input: 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
		Outputs:
			3 -> 1CrCnA1ToTin2MqBSKBY8rudUGxdC9qpj
			37 -> 4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
Enter the id of the vault transaction you want to override: 1
Fromaddress:  4HYNqEahenrvDLUCVevLm7v1HmV7f2tECB
Toaddress:  1sEDAwVcH2e5mFvjmWxXY13UCJQPqLP85
Overriding the transaction
If you want immediate transfer coins from your vault account
 $ rwallet vault_fast_withdraw
Available vaults
Id:  1 4H7RkmGw9xmTWHRkpsX2R3BMvXDGk8q9rv:  42.0
Enter the id of the vault you want to transfer balance from: 1
Id: 1	1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv
Id: 2	15CXyWwfpdQWWDJLAR9iRE2i4HqmGvUeHt
Id: 3	1JAZpSBHLhzxTbLgknNsHdgm7dX5qMeLvp
Id: 4	16tVroAQYhkHxAEXKu2WUmUAKZdpoLnNTD
Enter the id of the address to send coins to: 1
Enter the balance to transfer from 4H7RkmGw9xmTWHRkpsX2R3BMvXDGk8q9rv to 1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv: 3
Transfering 3 from address 4H7RkmGw9xmTWHRkpsX2R3BMvXDGk8q9rv to 1GA2CMyFM8LsGfKV3JxHcUBmLocWJ9irNv

To top