Frequently Asked Questions
Hey! Thanks for running a DAPS full node.
Building a fully private network isn’t easy, so it’s best to learn a little about this node software and some of the processes associated with the many functions that are included. Here are some main topics for troubleshooting:
- Connections to the Network
- Sending/Receiving Transactions
- Coin Transactions not Scanned
- Crash or Freeze
Before you continue:
- Make sure you are at the latest software version. Currently 184.108.40.206
- The console is opened by pressing F1
- The debug log is located in these locations:
Mac: ~/Library/Application Support/DAPSCoin
There could be a few reasons for this:
- Check if you have any addnode= lines in your dapscoin.conf. If you do, make sure they haven’t been added before version 220.127.116.11, as these may be older nodes and either are not active or have changed locations.
- Type clearbanned into the console. This will clear all banned nodes, to make sure you or your node has not accidentally banned another node that is currently synced on the correct chain.
- Add current addnode= lines to the dapscoin.conf, or enter them in the console. For the dapscoin.conf:
To add nodes to console, use this format, replacing with the IPs listed above. This method does not save added nodes between launches, only the current session:
- You are on a fork and cannot find peers on the same fork. Please go to the Fork section.
Keep in mind that this is a peer to peer, decentralized network. This means that it works more like BitTorrent than direct downloading from a website. Sometimes it will take some time to connect, other times it won’t. Connections depend on your IP location, time of day, whether or not you use a VPN and the IPv6 and UPnP settings of your router and ISP.
I can’t send transactions!
Sending transactions requires being synced fully to the correct chain with 1 or more peers. If you are still having an issue, check these possible issues:
- More than 50 UTXOs! A UTXO stands for Unspent Transaction Output. This roughly means, “there are coins in this address that have not been sent to a different address yet”. The node software has a built-in limit of 50 UTXOs as outputs, so that a single transaction (plus decoys) does not overflow the node’s memory. If you’ve received many staking or Masternode rewards, then it is likely that the number of reward UTXOs exceed this limit. To consolidate these, send a transaction to yourself of 17900 DAPS. This will combine 50 reward UTXOs to 2 UTXOs at most. You can repeat this as many times as necessary. Check the number of UTXOs by typing listunspent into the console. Version 1.0.5 is equipped with coin control, available on the send tab. Coin control will list all subaddresses generated by the Master Stealth Address and their amounts.
- Not enough reserve! This message presents itself when the wallet does not see funds available for sending in any addresses. The first possible reason depends on if you have auto consolidation enabled (automatically disabled in a wallet that is controlling Masternodes). If you just received a staking reward, and your wallet has consolidated the transaction, the funds will not be available to send for 101 confirmations (1 block after a staking reward has fully matured for spending). The second reason could be that all coins are either staking or locked in the masternode.conf. If you have just removed a Masternode, make sure you delete the entry in the masternode.conf file while the wallet is closed.
- Crash while sending! Upgrade to the latest version. If problem persists, log a report with an admin.
The Bootstrap is a full copy of the DAPS blockchain, packaged in the blocks folder and chainstate folder. When you add only the blocks folder, the wallet needs to index all the blocks into a database. This process creates the chainstate and database folders. If you include the chainstate folder, the index time is lowered significantly.
You may need to use the bootstrap process after a database corruption or wallet.dat corruption. You will know if the bootstrap works when the wallet opens at a different block height than before you used it, or asking what the latest block height of the bootstrap is. Using the latest bootstrap will ensure that you are not on any fork that originated at block lower than the bootstrap height.
- Why so slow? Syncing from zero, while possible, will currently take several days to a week. This also does not guarantee that you will not end up on a fork. Bootstrapping with only the blocks folder could take a day or less. To understand why this process takes so long, we have to look at some privacy features. DAPS uses Ring Confidental Transactons (RingCT). This means that for every transaction, there are 11-15 decoy transactions created. For each of these transactions and decoys, another layer of privacy is added, called “Bulletproofs”. These are non-interactive zero-knowledge proofs that show that any given transaction is in a range, without knowing the amount. There are two main parts of the bootstrap process, block indexing (before entering password) and transaction scanning (after entering password). The block indexing phase takes every transaction and decoy, along with their cryptographic proofs, and loads it into a database. This could take a while. Then, after entering your password, you wallet needs to scan all of the blocks, and try to decode every single transaction and decoy until it finds one it can read, and adds it to your wallet.dat. These processes are heavy on the CPU, and take a while to complete on any computer. Even if it says “not responding”, it is still working. You can check the progress of both parts with the debug log file. The reason it appears to freeze is due to the Windows OS not receiving input from the program when it calls PeekMessage(). This will be optimized in future updates.
Pro Tip: Once a week, or whenever you want, safely close the software and make a copy of the entire DAPSCoin folder as a personal bootstrap.
Forks 🍴 ??
A “fork” is a competing, incompatible copy of a blockchain on the same network. Forks happen all the time in every blockchain, and are a normal part of consensus. Most forks will be reconciled in a few blocks, and the node will abandon its fork in favor of the longer chain. A 1-block fork is called an “orphaned block”, and all blocks built on that will be an “orphaned chain”. However, there are occasions when a fork is not abandoned, but is agreed upon to be valid by more than one node. In this case they continue adding blocks, not switching to the longer chain or becoming the longer chain that the majority of nodes does not agree is the longest. If this happens for more than 101 blocks, then the fork will become persistent. Until all network participants discover they are on a fork and take measures to get off of it, the two will exist, incompatible. This could cause transaction issues, as coins sent to a node on one chain will never appear to a node on a different chain.
My coins are missing!
Your coins aren’t missing. They can only be where they were, or where they were sent to. There are a few reasons why they aren’t appearing in your wallet or an exchange or service provider’s wallet. While it may be scary, they can be found with a few questions.
- I bootstrapped and now they’re gone! Run this command in the console, replacing <#> with the desire block number. If you don’t know the block number where you received your first transaction, use 1 to scan all blocks
- I recovered with my mnemonic phrase and now they’re gone! The cause of this is currently unknown, but can be solved by using a backup wallet.dat. You may also have luck in the wallet repair tab of the console — use the “Rescan Blockchain Files” button. If you have or fixed this issue, please tell an admin what you have tried so far, or what worked for you.
- I sent from my wallet to a service and they aren’t there! or I sent from a service to my wallet and they aren’t there! First, check if you are on a fork. If you are, you will need to bootstrap, or invalidate the forked block. Then, if wallet to service, resend the transaction. If service to wallet, rescan recent blocks. If neither method worked, contact an admin
- I sent from a service to a service and they aren’t there! In this case, the DAPS team has limited ability for troubleshooting. Contact an admin immediately so we can double check if the services are on a fork, and send the transaction hash for the service to check.
My wallet is Frozen or Crashed!
I understand that this is frustrating, please bear with us as we debug the software. Usually after a crash or force close, the database or wallet.dat will be corrupted, so be prepared with copies of the whole DAPSCoin folder or the latest bootstrap and a backup of your wallet.dat.
- Frozen! First we need to check if it is truly frozen. Open the debug log and see if lines are still being added. In order to check, scroll to the bottom of the file and make a note of those lines. Then reload the file and scroll to the bottom (if using notepad), or press Ctrl + r (if using Notepad++). If lines are being added, then it is not frozen. If lines have not been added after 5-10 minutes, then you may need to force close the program (ask an admin before you do this, please, unless you know what you are doing). Then please describe what was happening before it froze.
- Crashed! Make sure you are running the latest version. Please describe the problem to an admin, and make sure you are prepared to send the debug log so we can find some clues as well. Let us know if the problem is recurring or reproducible.