I reply to all queries on the forums and via email, once per day, Monday to Friday (not weekends).

If you are new here, please see some information on how to ask for support. Thank you!

alexg

Forum Replies Created

Viewing 15 posts - 46 through 60 (of 2,199 total)
  • Author
    Posts
  • in reply to: Using CoinPayments in the United States? #13105
    alexg
    Keymaster

    Hello @cima,

    The LND wallet adapter connects to the lnd daemon, which can be run on several platforms, but mostly Linux.

    The installation instructions are available here (and are also bundled in the plugin):

    lnd Wallet Adapter extension

    What’s important is that you set it up on a server, not your home machine. Do not attempt to install it without basic system administration skills. The installation is not easy, but not too hard either. I have provided full step-by-step instructions.

    Unlike other full node wallets, the litd bundle (which includes lnd), does not require much disk space or CPU. This means you will be able to run it even on a shared host, which will be more economical.

    If you have any more questions about this, please let me know, but please don’t post here in the general discussion. The support forum for the lnd Wallet adapter is here:

    lnd Wallet Adapter extension support

    Or you can email me with any questions.

    with regards

    in reply to: Gas question #13104
    alexg
    Keymaster

    Thank you very much for taking the time to post this info.

    Hopefully it will be useful to others.

    in reply to: Mass Withdrawals #13102
    alexg
    Keymaster

    For future reference, not that this has been implemented in version 6.0.0 of the plugin.

    https://github.com/dashed-slug/wallets/blob/6.0.0/adapters/abstract-wallet-adapter.php#L247-L307

    in reply to: Gas question #13097
    alexg
    Keymaster

    Hello,

    1. The “amount+fee” field is simply the withdrawal amount requested by the user, plus the withdrawal fee that will be charged to the user.

    In this case, the user will receive 1 BNB to the address they provide, and 1.001 BNB will be subtracted from their balance. The 0.001 BNB will be used by CoinPayments to cover the miner fee, plus any remaining fees that they keep for their platform.

    You cannot directly control “amount+fee”. Instead the user sets the amount, and the admin sets the fee. You can find the withdrawal fee when you go to the admin page for the BNB Currency:

    “Currencies” -> “BNB Coin (BSC Chain)” -> Edit -> “Fees” -> “Withdrawal fee”.

    In the case of the CoinPayments adapter, if you set the withdrawal fee too low, it will be set to the minimum allowed by CoinPayments, in this case 0.001.

    For example, if you were to set the withdrawal fee to 0.0005, it would be reset to 0.001 by the adapter’s cron job.

    On the other hand, if you were to set the withdrawal fee to 0.002, then CoinPayments will still charge your hot wallet balance 0.001 for the withdrawal, but your user balance would be charged 0.002 for the withdrawal. The remaining 0.001 would stay in your hot wallet but would not be counted towards the user’s balance, so it would be effectively yours. Note that the hot wallet balance is an asset to you in accounting terms, while the user balance is a liability to you.

    2. Gas management with CoinPayments is a very unfortunate development. I have tried to make this as easy as possible, but it’s still clunky. Let me explain.

    There are currencies that are native to their blockchain (Bitcoin, Ethereum, BNB, Tron, etc) and tokens, which are usually implemented on top of blockchains as smart contracts (ERC-20, BRC-20, etc).

    At first CoinPayments was useful for easily providing multiple currencies to the plugin, such as Litecoin, Dogecoin, etc. Then tokens became popular and things changed.

    When a user deposits a token to CoinPayments, the CoinPayments platform creates a new address (account in Ethereum lingo). The token is added to that account, and the plugin is notified to update its local balance.

    When CoinPayments is asked to withdraw a token from that address, gas must be paid. Gas can only be paid from the blockchain’s native currency (e.g. Ethereum), not from other tokens. For example, if you request to withdraw some USDT.ERC20, some ethereum must exist to convert to gas. The CoinPayments platform requires that at least 0.02 ETH exist on that specific address, not just in your CP account, for the withdrawal to proceed. This is because when this was programmed, 0.02 ETH was a reasonable fee to pay for transferring a token (today it’s about 32 USD which is too much). The CoinPayments platform requires this whether you request a withdrawal via the API, or directly via their admin pages. Go ahead and try it, you will receive a message to that effect.

    Once this happened, I implemented the following solution:

    For each token, the admin provides the contract address. The admin can also provide an etherscan and bnbscan API key to read the main currency balance for each address. If an address does not have enough of the native currency to allow for withdrawal of its tokens, then the wallet adapter’s cron job will transfer some of that currency to that address. This way, withdrawals can proceed. You can monitor the status of each deposit address when you go and edit an address via the admin screens.

    For example, let’s say you deposit 20 USDT.ERC20 to address 0xABCD. The plugin will use the etherscan API key you provided, to check the Ethereum balance of that address, and see that it is 0. It will then transfer 0.02 ETH to that address. Then, if the user requests a withdrawal of some USDT.ERC20, that withdrawal can proceed. Today, a token transfer will cost a lot less than 0.02 ETH, so most of the ETH will remain on that address, and will still be in your account. As an admin, you can go edit the deposit address 0xABCD and at the bottom of the page, you will see in a metabox, whether any funds on that address are ready to be withdrawn or not. The plugin will show you the balance of the native currency available on that address, and whether there’s anything stopping the user from requesting a withdrawal of the token on this address.

    Of course, this process is clunky and cumbersome. But I can’t think of any other solution given the situation. This is why I strongly recommend that the plugin is useful mostly for connecting to full node wallets (Bitcoin, Litecoin, Dogecoin, Monero, Bitcoin Lightning, etc). The CoinPayments adapter is less useful because of this CoinPayments limitation.

    In any case, if you set things up correctly, it should work OK for Ethereum and BSC. Gas management on Tron and other chains is not supported.

    If you want to learn more about gas management, you can check the CoinPayments adapter’s documentation, at:

    • “Wallets Admin Docs” -> “wallets-cp” -> “Installation instructions” -> “Configuring gas management”
    • “Wallets Admin Docs” -> “wallets-cp” -> “Troubleshooting” -> “Troubleshooting common issues” -> “Cannot withdraw any tokens (gas management issues)”

    To answer your question, if the token’s withdrawal fee is set as $0.3 under the Currency entry (it would not be set in dollars but in the native currency), and the actual gas fee was $0.1 (again, this would not be in dollars), then the remaining $0.02 would stay with your site. Since the hot wallet balance would decrease by only 0.1 but the user balance (a liability to you) would decrease by $0.3, that’s $0.2 that your site gains.

    If you are unsure about the difference between the hot wallet balance and the user balances, check the glossary section of the documentation or ask me. The hot wallet balance is the online funds, while the user balances are the funds that your site owes to the users.

    Hope this has answered your questions, please let me know if not, or if you have more questions.

    with regards,
    Alex

    in reply to: Question about USDT on TRC #13083
    alexg
    Keymaster

    Hello,

    Unfortunately assets on Tron network are not supported by this wallet adapter.

    The reason is that it would be very hard to implement gas management and there is not enough interest. (Incidentally, this is likely the reason why CP requires a deposit of 1 TRX on each deposit address.)

    Sorry to disappoint you.

    in reply to: Internal Transfer Confirmation Error #13041
    alexg
    Keymaster

    Hello,

    It sounds like you edited the plugin’s CSS files directly. It’s not a good practice to do that, for the reason you just described.

    There are two ways to add CSS rules and have them stay there. Which one you choose is up to you:

    1. Create a child theme for your theme. If you google “child theme”, there are multiple guides on how to do this. It’s super easy. Once you have a child theme, you can add all sorts of things on it that are specific to your site, including CSS rules and any random PHP functions that are only useful on your site.

    2. Use the Customizer. Go to Appearance -> Customize -> Additional CSS. Add your CSS rules there and hit “Publish”.

    When you add rules, make sure to observe rule specificity. You want your own rules to override the rules of the plugin, so your rules need to be more specific. Again, there’s multiple guides on the web on the topic. The one I usually recommend is this one: https://css-tricks.com/specifics-on-css-specificity/

    Hope this helps. Again, please open a new thread if you have other questions.

    with regards

    in reply to: Internal Transfer Confirmation Error #13039
    alexg
    Keymaster

    Hello,

    It looks like these are two unrelated errors:

    1. The first error is due to faulty HTML somewhere. Without looking at the page’s HTML, it’s impossible to say what. Did you edit the templates by any chance? If you want me to check the HTML, email me with a link to the page (and also let me know if you edited any php files).

    2. This is due to a transfer to, or from, a user who does not have the has_wallets capability. You should assign the has_wallets capability to the user role or roles that correspond with your users. See:

    Settings -> Bitcoin & Altcoin Wallets -> Capabilities – > General Capabilities

    For a discussion about capabilities, please read the documentation. You can find the documentation in the plugin, or at:

    https://github.com/dashed-slug/wallets/blob/6.1.8/docs/settings.md#capabilities-caps
    https://github.com/dashed-slug/wallets/blob/6.1.8/docs/frontend.md#uis-overview

    Hope this helps. Let me know if you have any more questions about any of this.

    P.S. In the future, can you please try to open a new thread for each new issue you encounter? These guidelines are for the benefit of others reading this forum. Thank you.

    in reply to: Internal Transfer Confirmation Error #13033
    alexg
    Keymaster

    I also tried to enter an exclusion in the “Public REST APIs” box:

    wp-json/wp/dswallets/v1/transactions/validate/<id>

    But it didn’t work. Perhaps you can ask them how to exclude a public GET endpoint such as:

    https://www.example.com/wp-json/dswallets/v1/transactions/validate/tKTENjpMfzZCtjaJ

    Then you wouldn’t have to turn the “Private REST APIs” setting off.

    in reply to: Internal Transfer Confirmation Error #13032
    alexg
    Keymaster

    Hello,

    I got a chance to install BuddyBoss and try this out.

    The problem you encountered occurs when the following setting is turned on:

    BuddyBoss -> Settings -> Privacy -> Private REST APIs

    If you turn this off, then validation links will work again.

    The response you got appears to me as if it’s canned. I am not sure if they checked their code. Did you explain to them everything I posted here, including the fact that the REST API of other plugins (Event Tickets and Registration) is affected? The plugin is actively disrupting access of other plugins to the WP REST API. If it’s a security feature then maybe it works as intended, but it seems a little strange to me.

    In any case, you can turn off this setting and use both plugins together.

    Hope this helps.

    with regards

    in reply to: Internal Transfer Confirmation Error #12992
    alexg
    Keymaster

    Hello,

    I could not see your screenshot because it’s too big for upload. Can you downscale it, or maybe copy the text?

    In any case, I already explained the situation to you: As far as I can tell, BuddyPoss seems to disallow all calls to the WP REST API except for a few ones that they need. Hence the problem with other plugins as well. It really seems like it’s something that they should fix, unless if I’m somehow mistaken, which is possible.

    What you should do is tell them what I told you. They should be able to either fix the issue, or at least explain to you why it’s not their fault. You can open an issue at their github.

    I don’t see how you can go around this as long as their plugin is enabled.

    in reply to: Internal Transfer Confirmation Error #12986
    alexg
    Keymaster

    Hello,

    Thank you for reporting this error.

    It looks like this error is related to BuddyBoss, since it has also been reported in the past for a completely different plugin (Event Tickets and Registration):

    https://wordpress.org/support/topic/error-when-connecting-to-stripe-or-paypal/

    The validation link is normally handled by a WP-REST API endpoint in the wallets plugin. It does not require you to be logged in or authenticated. The only requirement is that you are the bearer of the correct nonce.

    For some reason, BuddyBoss doesn’t like other plugins using the WP-REST API.

    This function removes all REST API endpoints, except for their own endpoings:

    https://github.com/buddyboss/buddyboss-platform/blob/2.3.90/src/bp-core/bp-core-functions.php#L6061-L6098

    This is hooked to rest_request_before_callbacks. See here:

    https://github.com/buddyboss/buddyboss-platform/blob/2.3.90/src/bp-core/bp-core-actions.php#L486

    So basically the BuddyBoss plugin doesn’t seem to allow other plugins to use the WordPress REST API. Not very nice of them. Please tell them.

    with regards

    in reply to: EVM Support? #12984
    alexg
    Keymaster

    Hello,

    Ethereum is an often requested feature, mainly because people want to offer ERC-20s.

    I have debated this back and forth for some time, and I have decided against it. I have ranted elsewhere on this forum on the difficulties, but to keep it short, the main problem is the accounts model. The plugin needs all the user funds to be in one pot, not on separate accounts, because:

    1. it does a lot of off-chain transactions, and
    2. it helps you do cold storage, so not all funds can be online

    In short, an Ethereum wallet would have to manage transfers of deposits to a central address, and that costs gas which has to be somehow managed and this is very flaky and hard to implement. But if someone is interested to implement a wallet adapter that does this, I am happy to provide help.

    If what you’re looking for is to introduce custom tokens, then this is not possible at the moment.

    I am planning to soon release LND support. After that, I will look into maybe integrating Tarot, which introduces custom tokens/assets on the Lightning network.

    If what you’re interested in is smart contracts, then this is definitely out of scope of this plugin, and would require a different plugin altogether.

    Thanks for understanding. Let me know if you have any more thoughts on this.

    with regards

    in reply to: Can this host live wallet? #12970
    alexg
    Keymaster

    Hello,

    This plugin holds user balances on its own DB-based ledger.

    It can interface with hot wallets such as Bitcoin core. The complete list of available wallet adapters is here: https://www.dashed-slug.net/howto-choose-between-available-wallet-adapters/

    Users can deposit and withdraw to and from the blockchain (including exchange wallets) using the UIs [wallets_deposit] and [wallets_withdraw]. You can see screenshots of the UIs here: https://wordpress.org/plugins/wallets/#screenshots

    If you are interested in connecting to a full node wallet, then you need to setup a Bitcoin core wallet on a server with sufficient resources (static public-facing IP, enough disk space for the blockchain, uninterrupted power supply). See: https://github.com/dashed-slug/wallets/blob/master/docs/install.md

    Note that there will soon be a new wallet adapter for this plugin, based on LND by Lightning Labs. This will allow you to offer deposit/withdraw functionality to Bitcoin Layer1 and Layer2 (lightning network). Since LND will be usable via a wallet adapter, there will be the possibility to back your Bitcoin (or Litecoin) wallets with a lightweight Neutrino client. This means that, even if you are not interested in Lightning integration, you can use this to offer Layer 1 Bitcoin services without requiring a server with a huge disk. Neutrino does not download the blockchain but instead uses Bloom filters.

    This new option will be available very soon. If you follow the dashed-slug on facebook or twitter, you will see the release announcement.

    Please let me know if you have more questions about the plugin. I reply to all queries once per day, Monday to Friday.

    with regards

    in reply to: Newbies #12956
    alexg
    Keymaster

    Hello. My apologies for the late reply. For some reason I didn’t see your question.

    You can head over to https://www.dashed-slug.net/dashed-slug/membership-plans/ and follow the instructions.

    Please let me know if you have any more questions.

    with regards

    in reply to: Using CoinPayments in the United States? #12953
    alexg
    Keymaster

    Hello,

    It’s true that CoinPayments is no longer available in the United States.

    You can use Bitcoin or Monero with your own full node, or with any full node that is compatible with one of these two technologies (Litecoin, Bitcoin cash, Dogecoin, etc), as described here: https://www.dashed-slug.net/howto-choose-between-available-wallet-adapters/

    There is no Kraken or Coinbase integration for technical reasons.

    There will not be any additinal support for ERC-20 tokens unfortunately. The only ERC-20 support is for a few select tokens via CoinPayments, and only if you are not based in one of the restricted countries.

    In a few days or a couple of weeks tops, I will be releasing a Bitcoin Lightning adapter I have been developing, which is compatible with lnd. The advantage here is that you can have Layer1 and/or Layer2 bitcoin transactions without setting up a Bitcoin core full node which requires a lot of resources. This is because lnd can be installed with a light neutrino client which is based on bloom filters. More on that on the blog on the time of the release. If you follow the dashed-slug on facebook or twitter you won’t miss it.

    Hope this helps. Please let me know if you have any more questions.

    with regards

Viewing 15 posts - 46 through 60 (of 2,199 total)