CredaCash Mining using the Exchange
Mining Overview
CredaCash currency can be mined by anyone. Mining is accomplished by using the CredaCash integrated peer-to-peer exchange to trade Bitcoin Cash (BCH) for CredaCash. This serves three important purposes:
– Provide access and liquidity for all users.
– Establish a market exchange rate.
– Ensure CredaCash currency goes to users who support the project and help grow the community.
Two billion units of CredaCash currency (20% of the total minted) have been allocated to mining. Exchange mining started in June 2024, with half (one billion units) scheduled to be mined in the first 3 years, another quarter (500 million units) in the next 3 years, another eighth (250 million units) in the following 3 years, etc.
The CredaCash software includes a script to make mining as easy as possible. The mining script creates offsetting buy and sell requests (wash trading), so ideally the miner’s Bitcoin Cash wallet balance remains roughly constant, while the CredaCash wallet balance grows through mining.
Mining Requirements
The following are required to mine CredaCash using the crosschain exchange:
– A computer (Windows or Linux). Almost any computer, new or old, is sufficient. A virtual server in the Amazon Web Services (AWS) “free tier” with a 20 GB virtual disk drive is also sufficient.
– An internet connection.
– Bitcoin Cash (BCH) to trade on the peer-to-peer exchange, which can be obtained from another exchange, cryptocurrency kiosk, or other source, as described below.
– CredaCash to trade on the peer-to-peer exchange, which can be obtained using BCH on the CredaCash exchange, as described below.
Step-by-Step Mining Instructions
The following step-by-step instructions describe how to mine CredaCash using the crosschain exchange. [The CredaCash testnet also supports mining testnet CredaCash by trading testnet CredaCash for testnet tBCH. This is an easy way to test mining without trading actual currency. Instructions for mining testnet CredaCash are in brackets.]
Run the CredaCash and Bitcoin Cash Node software
1. Download the CredaCash software from https://CredaCash.com/software/ and unzip into a convenient folder. For mining on mainnet, additionally compile the CredaCash executables from their source code, or obtain them from an origin that permits use in a production environment.
2. Run the CredaCash node software by double-clicking on the file ___start_local_node.bat [or __start_testnet_local_node.bat].
3. Run the Bitcoin Cash node software by double-clicking on the file _start_bitcoincash_node.bat [or _start_testnet_bitcoincash_node.bat].
Add BCH to the Bitcoin Cash Node wallet
4. Wait for the Bitcoin Cash node to fully synchronize, which is indicated when the new block announcements state “progress=1.000000”.
5. Obtain a Bitcoin Cash address by double-clicking on the file _bitcoincash_getnewaddress.bat [or _bitcoincash_testnet_getnewaddress.bat]. Highlight the generated address and press return to copy it to the clipboard.
6. Obtain Bitcoin Cash currency from another exchange, cryptocurrency kiosk, or other source, and send it to the address generated above. [Or obtain test BCH from the testnet4 fountain at https://tbch.googol.cash/. Before clicking Submit, make sure to click the testnet4 button, not testnet, and not chipnet. If successful, the fountain should indicate that it sent approximately 0.101 tbch-testnet4.]
7. After 20 minutes to an hour or more, BCH or tBCH should appear in your wallet. You can check by double-clicking on the file _bitcoincash_getbalance.bat [or _bitcoincash_testnet_getbalance.bat].
Start the CredaCash wallet and the exchange autopay script
8. Wait for the CredaCash node to fully synchronize, which is indicated when the new block announcement “age” value in the far right column is less than 400.
9. Open the CredaCash wallet by double-clicking on the file ___start_wallet_via_local_node.bat [or __start_testnet_wallet_via_local_node.bat].
10. Start the CredaCash exchange autopay script by double-clicking on the file _start_exchange_autopay_bitcoincash_core.bat [or _start_testnet_exchange_autopay_bitcoincash_core.bat]. When this script detects a buy match on the CredaCash exchange, it will pay the seller in Bitcoin Cash using the Bitcoin Cash wallet.
Obtain CredaCash currency
11. Check your CredaCash cryptocurrency using the wallet command “getbalance”. If you do not already have CredaCash cryptocurrency, you may obtain some as explained in the next two steps. [For the testnet, you can freely mint CredaCash testnet currency using the command “cc.mint”. Within a minute or so, the currency should appear in the CredaCash wallet when using the command “getbalance”.]
12. To obtain CredaCash cryptocurrency using BCH on the crosschain exchange, enter the command “cc.exchange_query_mining_info” in the CredaCash wallet. Then create a CredaCash buy request using the command
cc.crosschain_request_create "" nb <minamt> <maxamt> <rate> 0 bch
For minamt and maxamt, enter the “mining-match-average-amount” returned by “cc.exchange_query_mining_info”, or alternately, enter amounts that are between 20% and 200% of that amount. For <rate>, enter a rate that is greater than the “mining-match-average-rate” returned by “cc.exchange_query_mining_info”.
13. If a seller accepts that buy request, and if your BCH wallet contains sufficient BCH/tBCH (at least the match amount times the exchange rate) then the exchange autopay script will make payment in BCH/tBCH on the Bitcoin Cash blockchain, and after 12 confirmations [or 2 confirmations on testnet], the exchange autopay script will claim the payment on the CredaCash blockchain. It can take 2 to 4 hours or longer for the BCH payment to reach 12 confirmations. Shortly after that, the CredaCash amount will appear in your wallet when using the command “getbalance”.
Start Mining
14. Edit the configuration file exchange-pay-bitcoincash-core.conf [or exchange-pay-testnet-bitcoincash-core.conf] to set a minimum and maximum exchange rates in the “Mining” section. If either is set to zero, the script will use the market rate. The current market rate is the “mining-match-average-rate” value returned by the “cc.exchange_query_mining_info” command in the CredaCash wallet.
15. Double-click on the file “_start_exchange_mining.bat” [or _start_testnet_exchange_mining.bat] to start mining CredaCash. This script will first test that the autopay script is working. This initial test may take 2 to 4 hours or longer, but can be disabled by editing the mining configuration file. The script will then begin mining. For a description of how the mining process works, see the section below.
16. Leave the exchange mining script running for as long as you would like to mine CredaCash. After closing the exchange mining script, leave the CredaCash wallet, CredaCash node, and exchange autopay script running until all exchange matches have been paid and confirmed, which should take 2 to 4 hours, but may take as long as 12 hours. The console window of the exchange autopay script will regularly report on the amount of CredaCash locked in pending buy requests. When it reports this number is zero, then it is safe to close the CredaCash software. If for some reason the CredaCash wallet, CredaCash node, and/or exchange autopay script are stopped before that time, they can be restarted, and if the interruption lasts less than 2 hours, all pending exchange matches should still be fully settled.
Mining Script Operation
The mining script submits “mining trade” requests to the CredaCash exchange. A mining trade request is equivalent to a buy request and a sell request at the same rate. They will result in wash trading if the exchange has an equal number of buy and sell requests. If however there is an imbalance between buy and sell requests on the exchange, the wash trade requests might result in a net buy or sell. The exchange rate for that net buy or sell will be the rate contained in the mining trade request.
It is therefore important that the miner’s trade requests are submitted at an exchange rate the miner considers fair for either a buy or a sell. The script gives each miner the ability to set the minimum and maximum rate they believe provides a fair exchange of CredaCash for BCH. These values are set in the configuration file, as described in the instructions above. All exchange requests submitted by the script will always be within this range, and if they result in a net buy or sell, the exchange rate will be within this range that is chosen by the miner.
The mining script will take one of three actions during its operation:
– If either the CredaCash or BCH wallet does is not contain sufficient balance for an exchange trade, then the script will report this on the console and do nothing.
– If the maximum exchange rate set in the configuration file is too low for mining, the script will report this on the console and then submit exchange trade requests that attempt to push down the mining rate. This strategy will only be successful if the majority of other miners’ exchange ranges are within the chosen range. The only way to determine this is for the script to submit exchange requests and see if, over time, the mining rate drops to the chosen range.
– If the maximum exchange rate set in the configuration file is sufficient for mining, then the script will submit wash trade requests that will generally result in mining. The amount mined accrues after a trade is fully settled, which requires 12 confirmations on the BCH blockchain and can take 2 to 4 hours or more. After a mining amount accrues, it is reported by the mining script in the total amount mined. The net result should be that the miner’s CredaCash balance increases over time due to mining, while the BCH balance stays roughly the same from wash trading.