CredaCash™ Quick Start Guide

CredaCash Quick Start Guide

Overview

The CredaCash software includes three components:

– Network node server (ccnode.exe) – The node server synchronizes to the blockchain and optionally provides transaction information to wallets. All of the information it provides is publicly available on the blockchain. It does not store any private information. The node server software runs on Windows, Linux, and similar operating systems. You can run your own node server, or use a public server if one is available. The advantages of running your own are greater privacy and security, while the advantages of using a public server are convenience and lower cost. Currently, there are no known public servers for mainnet, so you must run your own. That may change in the future. A public server is currently available however for testnet.

– Wallet (ccwallet.exe) – The wallet is required to send and receive transaction, and keep track of your assets and private spending keys. The wallet stores all of the private information it needs, while it connects to a network node to obtain blockchain data. The wallet can be used interactively from the command line, or from the Wallet GUI Application. It can also be controlled by other programs and scripts using JSON-RPC. The wallet runs on Windows, Linux, and similar operating systems.

– Wallet GUI Application (CredaCash_Wallet_GUI) – The Wallet GUI Application provides an optional graphical user interface for the wallet. It runs on Windows and Android, and possibly Linux and similar operating systems. The Wallet GUI Application can connect to a wallet running on the same machine, or it can connect to a wallet remotely using the Tor network.

Setup

Windows

Evaluation executables for Windows are available at https://CredaCash.com/software/. To use this software, download the zip file and extract the contents to any convenient directory. Each program is described below:

Network Node

To run a mainnet network node, double click on the file ___start_local_node.bat. (Or to run a testnet local node, double click on the file __start_testnet_local_node.bat.)

The network node will connect to the network via Tor and begin downloading blocks. Wait until the blockchain is fully synchronized, which may take a few hours.

Wallet

To open a mainnet wallet, double click on the file ___start_wallet_via_local_node.bat. (Or to open a testnet wallet, double click on the file __start_testnet_wallet_via_local_node.bat or __start_testnet_wallet_via_public_node.bat or __start_testnet_wallet_via_tor_and_public_node.bat.)

To check if the wallet can connect to the network node, enter the command “ping” at the command prompt. Note when using Tor, it may take 1-2 minutes for the first ping to complete.

Configuring the wallet for remote access

By default, the wallet can only be accessed by a program running on the same computer. It is possible however to setup remote access via the Tor network. To setup remote access, first close the wallet. Then edit the file ccwallet.conf as follows:

– Change the wallet-rpc-password to a random strong password.
– Remove the # mark from wallet-rpc-tor = 1.

Open the wallet again using the batch file. It should display an .onion address for RPC, such as:
RPC service enabled on xxxxxxxxxxxxxxxxxx.onion

Wallet GUI Application

The Wallet GUI Application for Windows is in a subdirectory named CredaCash_Wallet_GUI. To run it, open this folder and double-click on the exe file with the same name.

When first run, the application needs to be set up on the Settings tab. To access a wallet running on the same computer, click the button labelled “Reset to Mainnet” or “Reset to Testnet”, then click “Save” and “Ping Wallet” to test the settings.

To remotely access a wallet running on another computer, enter the wallet’s .onion address as the Hostname, and for Password, enter the “wallet-rpc-password” set in the ccwallet.conf file. Then click “Reset to Mainnet” and “Save”. Before clicking “Ping Wallet”, run the Tor application in the Tor subdirectory of the CredaCash Windows executables and wait for it to report “Bootstrapped 100%”.

Linux and similar Operating Systems

For Linux and similar operating systems, the software must be built from the source code at Github.

Android

The Wallet GUI Application can be used on Android to connect remotely to a wallet running on another machine. To set this up:

– On your Android device, install Orbot from the Google Play Store.
– Open Orbot, click “More” on the bottom menu bar, then click Orbot Settings. Check the box for “Power User Mode”, then go back to the main page, and click “Connect” and “Connect” again. Orbot should report “Connected”.
– Download and install the CredaCash Android APK at https://CredaCash.com/software/.
– Open the CredaCash app, and on the Settings tab, enter the wallet’s .onion address as the Hostname, and for Password, enter the “wallet-rpc-password” set in the ccwallet.conf file. Then click “Reset to Mainnet”, “Save”, and “Ping Wallet” to test the settings.

Note that in the future, the wallet itself may be able to run on the Android device, so a remote wallet would not be required.

Using the Wallet GUI Application

Wallet GUI Application has nine tabs labelled Settings, Status, Send, Receive, History, Buy, Sell, Mine, and Payments. (On testnet, there is also a Mint tab.)

The last four items — Buy, Sell, Mine, and Payments — involve the CredaCash integrated peer-to-peer crosschain exchange. This exchange allows users to buy, sell, and mine CredaCash using bitcoin (BTC) and Bitcoin Cash (BCH). This is how it works:

Users submit requests to buy or sell CredaCash for BTC or BCH at a specified exchange rate. Matches are detected by the CredaCash wallet. The buyer then has to (1) pay the seller in BTC or BCH; (2) wait for that payment to become confirmed on the bitcoin or Bitcoin Cash blockchain; then (3) claim the payment on the CredaCash blockchain. At that point, the trade is settled and the buyer receives the corresponding amount of CredaCash.

In order to ensure the buyer makes payment in BTC or BCH, a normal request, also called Simple Buy Request, contains a pledge amount equal to half of the match amount. If the buyer fails to make payment, the pledge is forfeit to the seller.

The pledge is denominated in CredaCash, and therefore, in order to make a Simple Buy Request, a prospective buyer must already hold CredaCash. A new user however will have an empty wallet that does not contain CredaCash. To accommodate this user, there is a special request called a Naked Buy Request. This request does not include a pledge, and therefore the buyer can abandon a match without cost. Knowing this, a prospective seller who submits a matching Naked Sell Request will likely want a higher exchange rate. The intent then is that buyers would normally trade using Simple Buy Requests with a more favorable exchange rate, and only use a Naked Buy Request to obtain an initial stake of CredaCash currency.

Buying CredaCash

To buy CredaCash:
– Navigate to the Buy tab.
– Select either BTC or BCH, whichever you would like to offer in trade.
– If your wallet currently contains no CredaCash, “Naked” will be checked by default.
– Enter the minimum and maximum amount of CredaCash you would like to request.
– Enter the maximum exchange rate you would be willing to accept. The exchange rate is BTC or BCH per unit of CredaCash. The recent average rate is shown at the top of the page. It is suggested that you offer that rate or higher, or for a Naked request, that rate multipled by 1.05 or higher.
– Check the balance of your BTC or BCH wallet. You may need as much as the maximum CredaCash amount multiplied by the exchange rate, plus the BTC/BCH transaction fee. If you don’t have enough BTC or BCH, you will have to decrease the maximum CredaCash amount.
– Enter the expiration time for your request in minutes, with a minimum of 2.5 and a maximum of 120.
– Click Submit.

If your request is successful, and if a seller submits a matching request, then the Payments menu item will flash red. This can occur up to 5 minutes or more after the expiration of your buy request. If this occurs:

– Navigate to the Payments tab.
– The app will show the amount of BTC or BCH owed, the payment address, and the deadline for payment.
– Click on the payment info to copy it to the clipboard, or click-and-hold to attempt to open your BTC or BCH wallet with the payment info prefilled for your approval.
– Make payment using your BTC or BCH wallet.
– The payment should appear in the CredaCash Wallet GUI Application within 1-2 minutes.
– After the payment reaches 12 confirmations on the BTC or BCH mainnet (or 2 on testnet), the Wallet GUI App will submit a claim for the payment, and sometime after that, the match status will be displayed as “Match fully paid and settled”, and the amount of CredaCash in the trade should appear in your wallet balance. This may take from 10 to 30 minutes or even longer after the payment reaches the required number of confirmations.
– IMPORTANT: Do not close the Wallet GUI Application until the match status is displayed as “Match fully paid and settled” or “Match expired”. This can take up to 12.5 hours on mainnet (or 2 hours on testnet). In addition, under Android, the Android operating system can hibernate the Wallet GUI Application when it is not actively used. It is therefore important to continue checking the payment status until it reaches its final state. One way to approach this would be to submit a buy request in the morning, and if there is a match, set an alarm to check back on the payment status in 10 hours. This should be sufficient to ensure the payment is claimed. If the payment is not successfully claimed, then you will lose the CredaCash that you were attempting to buy.

Selling CredaCash

To sell CredaCash:
– Navigate to the Buy tab.
– Select either BTC or BCH, whichever you would like to offer in trade.
– Check “Naked” if you would like your request to also match Naked Buy Requests which do not include a pledge amount.
– Enter the minimum and maximum amount of CredaCash you would like to sell. This must be less than the amount of CredaCash in your wallet.
– Enter the minimum exchange rate you would be willing to accept. The exchange rate is BTC or BCH per unit of CredaCash. The recent average rate is shown at the top of the page. It is suggested that you offer that rate or lower.
– Enter a unique newly generated address from your BTC or BCH wallet where a buyer can make payment for a match.
– Enter the expiration time for your request in minutes, with a minimum of 2.5 and a maximum of 120.
– Click Submit.

If your request is successful, and if a buyer submits a matching request and then makes payment in BTC or BCH, then the BTC or BCH amount will show up in your BTC or BCH wallet. If there is a match and the buyer does not make payment, then the request amount along with the buyer’s pledge amount (if any) will revert to you after 12 hours on mainnet, or 90 minutes on testnet.

Mining CredaCash

Mining CredaCash involves submitting a Mining Trade request, which is equivalent to a Simple Buy Request and a Simple Sell Request at the same exchange rate. This is the same as declaring “I would be willing to either buy or sell CredaCash at this rate”. If the buy side of the request matches a sell request, and certain other criteria are met (the request rate is greater than the average, and the match size is within a range of the average), then after the buyer pays and settles the trade, the buy request generates a mining amount. The mining amount adjusts to split the mining schedule between all miners, so it goes up when there are fewer miners, and down when there are more.

The buy request can match the miner’s own trade request, in which case the mining is the product of self-trading. It can also match another seller’s trade request, in which case the mining is the product of an actual trade. Just like a Simple Buy Request, the mining buy request includes a 50% pledge, and if the buyer fails to make payment in BTC or BCH, the pledge amount is forfeit to the seller.

If the required mining exchange rate is considered too high, a prospective miner can submit Mining Trade requests at a lower rate in order to push down the average rate, potentially into an acceptable range. Similarly, if the required request size is considered too large, a prospective miner can submit smaller requests to push down the average amount.

Users who wish to mine on an ongoing basis can use the command line wallet and python scripts to automate the mining process. For more information, see CredaCash Mining Using the Crosschain Exchange.

The Wallet GUI app can also be used to mine as follows:
– Navigate to the Mine tab.
– Enter the amount of CredaCash you would like to trade. In order to mine, the amount must be within the range shown on the Mine tab.
– Enter the exchange rate at which you would be willing to trade. In order to mine, the rate must be greater than the minimum rate shown on the Mine tab.
– Enter a unique newly generated address from your BCH wallet where a buyer can make payment for a match.
– Enter the expiration time for your request in minutes, with a minimum of 2.5 and a maximum of 120.
– Click Submit.

If your request is successful, and if the buy part of your request matches a sell request, then the Payments menu item will flash red. If this occurs, follow the payment steps shown in the “Buying CredaCash” section above.