Alle providers

Monero

U draait uw eigen Monero-node, en de betaling gaat rechtstreeks in uw wallet. Geen bedrijf zit ertussen, ook wij niet.

Wat u nodig hebt

VeldWat het doet
Mint-endpoint-URLDe publieke adres-mintroute van uw node. We roepen hem aan om een vers adres voor elke bestelling te krijgen. Niet geheim.
Webhook secretEen gedeeld secret waarmee uw watcher ondertekent en wij verifiëren. Het kan uw wallet nooit raken. Geheim.

Deze optie is voor mensen die hun eigen node willen draaien. U draait ook een Monero-node, een view-only wallet, en een kleine altijd-aan watcher op uw eigen machine. Deze gids loopt het allemaal door. Als u liever niets draait, verbind dan in plaats daarvan een gehoste crypto-dienst.

Money flow

Money

  1. Buyer

    Taps your Coin Moebius Buy Button and pays from their own wallet.

  2. Your product page

    Your Coin Moebius Buy Button asks Coin Moebius to start a checkout.

  3. Coin Moebius Messages only

    Gets a fresh address from your server and shows it to the buyer.

  4. Blockchain

    Carries the coins from the buyer straight to you.

    • Monero
    • Zano
    • Freedom Dollar
    • Bitcoin
    • Bitcoin Cash
  5. Your wallet

    Receives the coins.

  6. Your server

    Sees the payment land in your wallet and tells Coin Moebius the sale is paid. Your keys and balance never leave your server.

    Coin Moebius dashboardSale shows as paid.
  • No buyer data

    Card numbers never reach us. Buyer names, addresses and contact details are stripped before a sale is saved.

  • Where our bill comes in

    The payment goes to you. Our bill comes separately. On Flex, that bill is based on the sales you’ve made, at 2% + 20¢ each. Pro starts at $24 a month with 500 sales included, then a few cents for each extra sale. Business is $99 a month for unlimited sales. Your provider’s fees are separate from ours.

Waarom we om elk veld vragen

Mint-endpoint-URL

Wanneer een koper op Kopen klikt, vragen we uw node om een vers adres om ze te tonen. Dat verzoek gaat naar deze ene publieke route. Hij geeft een adres terug en niets anders; uw wallet blijft privé erachter.

Webhook secret

Uw watcher vertelt ons "deze bestelling is betaald" door ons een ondertekend bericht te sturen. Dit gedeelde secret laat ons bevestigen dat het bericht echt van uw watcher kwam, zodat niemand een betaald-event kan vervalsen. Het kan niets lezen en niets verplaatsen.

Instellen

  1. Wat u gaat draaien

    Drie dingen, allemaal op uw eigen machine. Niets hier wordt aan ons gegeven behalve de publieke mint-URL en het gedeelde secret.

    • Een Monero-node (monerod) en een view-only wallet (monero-wallet-rpc), privé gehouden.
    • Een mint-endpoint: één kleine publieke route die een vers adres per bestelling uitdeelt.
    • Een watcher: een piepklein altijd-aan programma dat uw wallet in de gaten houdt en ons vertelt wanneer een betaling binnenkomt.
  2. Maak een view-only wallet aan

    Een view-only wallet kan inkomende betalingen zien en verse ontvangstadressen minten, maar kan niet uitgeven. U bouwt hem uit het adres van uw echte wallet en zijn private view key, niets anders. Dat is wat uw node betalingen laat detecteren zonder ooit de macht te hebben ze te verplaatsen.

    monero-wallet-cli --generate-from-view-key ~/monero/view-only

    Het vraagt om uw primaire adres en uw private view key. Voer nooit uw seed of spend key in, houd die op een aparte machine. Het schrijft view-only en view-only.keys; stel een wachtwoord in en sla het op in een bestand (wallet.password, naast de wallet) voor de volgende stap.

  3. Draai uw Monero-node

    De daemon synchroniseert en houdt de blockchain. Draai hem als een service (systemd of Docker) zodat hij zichzelf herstart. Zijn RPC luistert op 127.0.0.1:18081.

    monerod --data-dir ~/.bitmonero --prune-blockchain --restricted-rpc

    Een pruned node houdt de schijfvoetafdruk klein en ziet nog steeds elke inkomende betaling. De node bereikt het netwerk maar stelt niets publiek bloot.

  4. Draai de wallet-RPC

    Een tweede service die de view-only wallet opent en de mint-endpoint en watcher beantwoordt. Richt hem op uw node en bind hem aan localhost. Draai hem ook als een service.

    monero-wallet-rpc \
      --wallet-file ~/monero/view-only \
      --password-file ~/monero/wallet.password \
      --rpc-bind-ip 127.0.0.1 --rpc-bind-port 18083 \
      --daemon-address 127.0.0.1:18081 --trusted-daemon \
      --disable-rpc-login

    Stel wallet-RPC nooit bloot aan het publieke internet; bind hem aan localhost of een privénetwerk. --disable-rpc-login is alleen prima omdat het localhost-only is; gebruik --rpc-login als hij van elders bereikbaar is. Alleen de mint-endpoint hieronder is publiek.

  5. Installeer het Coin Moebius Monero-pakket

    Het levert de address-minter, de webhook-ondertekenaar, en de watcher, zodat u bijna geen code schrijft. Het snelste pad is het kant-en-klare voorbeeld hieronder: kopieer de map, vul vier waarden in, en start het.

    npm install @aquarian-metals/coin-moebius-monero
  6. Genereer uw webhook secret

    Een sterke willekeurige waarde die de webhook ondertekent en verifieert. Twee manieren om er een te maken, uw keuze: klik op Genereren wanneer u de provider in het dashboard toevoegt (het draait in uw browser, nooit op onze servers), of voer het commando hieronder zelf uit. Hoe dan ook, plak dezelfde waarde in zowel uw watcher als het dashboard.

    openssl rand -hex 32
  7. Zet de mint-endpoint op

    Eén publieke POST-route die uw wallet afschermt. Hij gebruikt de createMoneroCreator van het pakket om een vers adres per bestelling te minten. Dit is het enige dat u blootstelt aan het internet, en het is veilig om bloot te stellen: het geeft een ontvangstadres terug en verplaatst geen geld.

    // POST /coin-moebius/monero/mint
    import { createMoneroCreator } from '@aquarian-metals/coin-moebius-monero/server';
    
    const mint = createMoneroCreator({
      walletRpcUrl: 'http://127.0.0.1:18083/json_rpc',
      store: myStore,
      xmrPerUnit: async (cur) => (cur === 'XMR' ? 1 : await myPriceFeed(cur)),
    });
    // return mint({ productId, amount, currency, metadata }) as JSON

    U kiest waar prijzen vandaan komen. Coin Moebius roept nooit een price oracle aan.

  8. Draai de watcher en richt hem op ons

    De watcher is het altijd-aan programma dat uw wallet elke paar seconden controleert en ons een bericht ondertekent wanneer een betaling bevestigt. Stel zijn webhook-URL in op uw projectadres (hieronder) en zijn secret op de waarde die u genereerde. Draai hem naast uw wallet, onder systemd of Docker.

    import { createMoneroIndexer } from '@aquarian-metals/coin-moebius-monero/server';
    
    const watcher = createMoneroIndexer({
      walletRpcUrl: 'http://127.0.0.1:18083/json_rpc',
      store: myStore,
      webhookUrl: process.env.MONERO_WEBHOOK_URL,   // your Coin Moebius URL, below
      hmacSecret: process.env.MONERO_HMAC_SECRET,   // the secret you generated
      requiredConfirmations: 10,
    });
    watcher.start();

    Het is inhalend van opzet. Als het een tijd offline is, ziet de volgende run de betalingen die het miste en vertelt het ons dan. Een thuisserver is prima; u hebt geen perfecte uptime nodig.

  9. Uw webhook-URL

    Stel de webhookUrl van de watcher in op uw projectadres. Uw project-id staat in de projectinstellingen in het dashboard.

    https://api.coinmoebius.com/webhook/monero/<your project id>
  10. Verbind in het dashboard

    Provider toevoegen, kies Wees uw eigen provider, dan Monero. Plak uw mint-endpoint-URL en het webhook secret. Dat is alles wat we opslaan, en geen van beide waarden kan uw wallet raken.

Nadat u verbindt

Er is geen sandbox voor een zelf gehoste node, dus uw eerste kleine echte betaling is de test:

  1. Maak een product aan en plaats de buy button op een pagina (een lokaal HTML-bestand werkt) gericht op uw project.
  2. Betaal een klein bedrag Monero vanuit uw eigen wallet.
  3. Wacht op bevestigingen. Monero duurt ongeveer twintig minuten om volledig te bevestigen, van opzet.
  4. Open het tabblad Transacties. Wanneer de nieuwe rij succeeded bereikt, werken uw mint-endpoint, watcher en secret allemaal end-to-end.

Problemen oplossen

Checkout mislukt meteen.

We konden uw mint-endpoint niet bereiken. Bevestig dat het een publieke https-URL is en dat uw node online is. Het dashboard toont dit als een bereikbaarheidsbericht wanneer u opslaat.

De koper betaalde maar de bestelling blijft in behandeling.

Ofwel de watcher draait niet, of zijn secret komt niet overeen. Bevestig dat het watcher-proces draait en dat zijn MONERO_HMAC_SECRET de exacte waarde is die u in het dashboard plakte.

De betaling duurde even om te verschijnen.

Dat is normaal. Monero bevestigt over meerdere blokken; de watcher wacht op tien bevestigingen (ongeveer twintig minuten) voordat hij succes rapporteert.

Goed om te weten

Houd een view-only wallet op de hot box. De watcher hoeft alleen inkomende betalingen te zien. Houd uw spend key op een aparte, offline machine en veeg het geld daarvandaan op.

Stel wallet-RPC nooit bloot. Alleen de mint-endpoint is publiek. Bind wallet-RPC altijd aan localhost of een privénetwerk.

Downtime is goedkoop. De watcher haalt na een storing in en rapporteert de betalingen die het miste. Er gaat niets verloren.

Het secret roteren. Genereer wanneer u maar wilt een nieuw secret, plak het dan in zowel de watcher als het dashboard.

Monero circular economy

Vragen? Join our Discord

Klaar om een provider te verbinden?

Kies de providers die u al gebruikt. Kopers betalen via uw accounts, en u houdt één buy button.