Skip to main content

ELL Blog

Awesome Monero

Table of Contents

If you want to know why I believe in Monero, feel free to read Why monero is the best crypto CURRENCY.

Wallets

  1. Feather Wallet
    • Desktop
    • Small UI but at least the wallet works
  2. Monerujo
    • Android
    • Best mobile wallet
  3. Monero GUI
    • Desktop
    • Annoyingly doesn’t open monero URIs in existing
  4. Stack Wallet
    • Annoyingly doesn’t support monero URIs
  5. Cake Wallet
    • Mobile and Desktop
    • Although the app is very polished, it was prone to crash for me
    • Annoyingly doesn’t support monero URIs
Other wallets that I do not recommend
  • Trust Wallet
    • Mobile and Cross Platform Desktop
    • Proprietary
    • Multi coin wallet
  • MyMonero
    • Mobile and Cross Platform Desktop
    • Desktop app hasn’t been updated since November 2022
    • Android app hasn’t been updated since September 2023
    • Uses a different way to sync wallet, I can’t recommend it
    • Can corrupt the wallet save file, just not good for beginners

Monero Payment Gateways

For this section, I will list both the ideal way and the easier ways to accept Monero. I will rank the items based on open-source (and thus self-hosted) and the ability to accept only monero. The ease of deployment will be used as a tie-breaker.

Security notes: (a) a good monero gateway must handle timelocks. (b) As a bonus, instructions should prevent unauthorized access to the password file that will be passed to monero-wallet-rpc. I’m not sure if it’s overkill, but if someone stole your ssh private key, you would want them to need your server’s user password too in order to read the file, whereas you don’t want to force the monero-wallet-rpc program to require a password. (c) it would be good to provide some form of auto-update mechanism whenever Monero updates to reduce downtime.

  1. MoneroPay
    • Pro: never had a time-lock bug
    • Pro: similar to Stripe’s API (REST + webhook architecture)
    • Con: Does not forward mempool detections (I will try to contribute this myself)
    • Con: deployment instructions are not service based (manual only)
  2. BtcPay
    • The biggest pain point of BtcPay is that all these tutorials force you to accept Bitcoin, which is definitely not what I’m about. Bitcoin has significant privacy issues making it very unattractive to me from the beginning of my Crypto experience. I definitely dislike that the tutorials, including this one by Seth, force you to accept Bitcoin. It’s ridiculous. The other thing, is that you are forced to use the “BTCPAY” branding.
  3. bitpay
    • Proprietary processing
    • Percentage fees
  4. NOWPayments
    • Proprietary processing
    • Percentage fees
    • The only reason I put it below bitpay is because it confuses first time crypto-currency users. If you want to send 4 XMR, the receiver gets 4 XMR, however the sender pays a network fee. Therefore, you spend more than 4 XMR, and the receiver receives exactly 4 XMR. Only in the case where there are not enough funds is it possible for the receiver to receive less than 4 XMR. NOWPayments fear mongers saying that you have to send enough to cover the fees. This confuses users because now users may believe they need to send more than 4 XMR and that the fee is taken from the amount being sent.

Proof of Concepts

  • Custom Python Implementation
    • Concise code to adapt to any language
    • Untested support for mempool (if it doesn’t work, it’s the fault of monero-wallet-rpc)
    • No timelock bug (my code always considered the possibility of rogue actors)
    • Live on lenerva.com/store. The reason I put it in proof-of-concept is because I bundle the processing code with my backend, thereby making this a stingy solution. There’s also no monero-wallet-rpc update mechanism and it’s not dockerized. monero-pay was implemented thinking of the bigger picture, whereas I was thinking of tailoring.
  • HotShop by CryptoGrampy
    • Small business types of shops that don’t have an integrated inventory-POS software
    • Unsure if timelock issue is taken care of
    • Unsure if mempool is seen
  • AcceptXMR
    • Unsure if mempool is seen

CMS Integration

that uses CMS or ecommerce plugins: WordPress, Shopify, WooCommerce, Clover.

  • Shopify: TODO, however it’s just BtcPay
  • WordPress without WooCommerce: TODO, however it’s also BtcPay
  • WordPress with WooCommerce: TODO, however it’s also BtcPay

Point of Sale Integrations

This section will be on how to integrate Monero processing in stores that already use a POS system such as Square and Clover. This section is empty because apparently only I care to think of closing this gap in terms of usability. The work for Clover would involve Android development.

Funding Monero Projects

Monero Libraries

Exchanges and Swap Services

Deploying Monero Node on VPS

I recommend finding a server with 300GB+ SSD storage using serverhunter. Alternative, you can use OVHCloud or Vultr.

  • Ansible Playbooks
    • I will make my own since these are unmaintained and require a lot of maintenance.
    • Ideally you just need docker-monero-node and every time you get notified that Monero has updated, you can just run the same ansible playbook with a password and without changing anything. A password will be required to inject ENV variables.
    • lalvarezguillen/monerod-node-vps
    • Al13n0/monero-nodes-ansible

Blockchain Explorer

What’s Missing