Support » Plugin: Bitcoin and Altcoin Wallets » Missing deposits

  • Resolved eotwallet

    (@eotwallet)



    We are having some issues where incoming deposits are not showing up in the transaction history on the wallet. The transaction can be found on the blockchain, but the wallet where the transaction has been sent to has not been credited. No transaction is showing up in the history.

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author dashed-slug.net

    (@dashedslug)

    Hello,

    Have you set up a -walletnotify mechanism to notify the plugin on all incoming deposits? Or are you relying on the cron mechanism for transaction discovery?

    The cron mechanism is OK in most cases, but as you have a large number of transactions on your site it is possible that some deposits get lost. The cron mechanism relies on calls such as listtransactions and these calls only return the last few transactions. If you set up the -walletnotify mechanism then no transaction will be lost.

    Can you please do the following for me?

    1. Find the TXID for a transaction that is missing.

    2. Do the following call, either from your browser or from curl:

    https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/TXID

    The above assumes that your coin symbol is EOT and you should replace TXID with the actual ID.

    This will force the wallet to look at this transaction, and if its destination includes a user deposit address it will write a deposit transaction in the database.

    Hit this URL and let me know what you got back as a result and if the deposit was discovered.

    For this to happen automatically for every transaction, you should enter the following in your wallet’s .conf file, as initially instructed by the adapter:

    walletnotify=curl -s https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s >/dev/null

    You will need to restart your wallet after adding this to your .conf file.

    Hi I did not know about this. Is it possible to do -walletnotify when using coinpayments?

    eotwallet

    (@eotwallet)

    Hi,

    1. I have this walletnotify in the .conf file as was instructed.
    2. I did run this manually and the transaction is now recovered.

    So, even though I did have this walletnotify in my .conf file it did not happen automatically. The problem is that I don’t know how many other transactions is also missing.

    Regards,

    Plugin Author dashed-slug.net

    (@dashedslug)

    @clickforafrica To clarify, there is only a .conf file in full nodes, not when using the CoinPayments adapter. When using the CoinPayments coin adapter, if you are not getting deposits registered in the plugin, see the troubleshooting section on https://www.dashed-slug.net/bitcoin-altcoin-wallets-wordpress-plugin/coinpayments-adapter-extension/

    @eotwallet This is very strange. The wallet should be calling this URI several times, once for every time the confirmation count of a transaction changes. For each one transaction, the plugin will be notified many times, possibly hundreds of times. Even if a few calls fail due to networking issues, others should succeed. Can you check to see that the curl command succeeds when run from your server where the wallet is? For testing purposes you could try redirecting to a file rather than /dev/null. For example:

    walletnotify=curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s >~/walletnotify.log

    Note the -s (silent) is substituted by -v (verbose).

    Your file ~/walletnotify.log will then tell you if the calls succeed or if there is a problem.

    Additionally, you could pull all the transactions that have ever been relevant to your wallet. For Bitcoin, to get the last 100000 TXIDs, excluding duplicates, you would do:

    bitcoin-cli listtransactions "*" 100000 | grep txid | cut -d'"' -f4

    Once you verify that your command actually returns a list of TXIDs, to pass all of these to curl, you could do something like:

    bitcoin-cli listtransactions "*" 100000 | grep txid | cut -d'"' -f4 | uniq | xargs -I %s curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s

    Remember to substitute bitcoin-cli with the name of your wallet CLI.

    Transactions that are already known will not be duplicated but the ones that are not known will be inserted to the DB.

    Hope this helps.

    kind regards

    eotwallet

    (@eotwallet)

    Thanks,

    One problem is that I have 785,535 transactions in history. If I run this command
    listtransactions “*” 100000 | grep txid | cut -d'”‘ -f4 | uniq | xargs -I %s curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s

    The daemon server does not respond. I can at most do 50000.

    Plugin Author dashed-slug.net

    (@dashedslug)

    OK, then your situation is only a little bit more difficult, but not by much. If you do help listtransactions you will see that the second argument is “count” and the third is “skip”. So:

    To do the last 50000 transactions, you can do:

    listtransactions “*” 50000 | grep txid | cut -d'”‘ -f4 | uniq | xargs -I %s curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s

    And then to do the previous 50000 transactions, do:

    listtransactions “*” 50000 50000 | grep txid | cut -d'”‘ -f4 | uniq | xargs -I %s curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s

    And the previous 50000:

    listtransactions “*” 50000 100000 | grep txid | cut -d'”‘ -f4 | uniq | xargs -I %s curl -v https://www.eotwallet.com/wallets/api2/notify/EOT/wallet/%s

    and so on. Remember, this is for making sure that past deposits are recorded in the plugin.

    You also need to make sure that new transactions get recorded. See the discussion about walletnotify=... above.

Viewing 6 replies - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.