Alle Anbieter

Monero

Sie betreiben Ihren eigenen Monero-Knoten, und die Zahlung geht direkt in Ihr Wallet. Kein Unternehmen sitzt dazwischen, nicht einmal wir.

Was Sie brauchen

FeldWas es tut
Mint-Endpunkt-URLDie öffentliche Adress-Präge-Route Ihres Knotens. Wir rufen sie auf, um für jede Bestellung eine frische Adresse zu erhalten. Nicht geheim.
Webhook-SecretEin gemeinsames Geheimnis, mit dem Ihr Beobachter signiert und das wir verifizieren. Es kann Ihr Wallet nie berühren. Geheim.

Diese Option ist für Menschen, die ihren eigenen Knoten betreiben möchten. Sie betreiben außerdem einen Monero-Knoten, ein reines Sicht-Wallet und einen kleinen, dauerhaft laufenden Beobachter auf Ihrer eigenen Maschine. Diese Anleitung führt durch all das. Wenn Sie lieber nichts betreiben möchten, verbinden Sie stattdessen einen gehosteten Krypto-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.

  • No cut of your sales

    You pay a flat plan price. We never take a percentage of what you sell.

Warum wir nach jedem Feld fragen

Mint-Endpunkt-URL

Wenn ein Käufer Kaufen klickt, fragen wir Ihren Knoten nach einer frischen Adresse, um sie ihm zu zeigen. Diese Anfrage geht an diese eine öffentliche Route. Sie gibt eine Adresse zurück und sonst nichts; Ihr Wallet bleibt privat dahinter.

Webhook-Secret

Ihr Beobachter sagt uns "diese Bestellung ist bezahlt", indem er uns eine signierte Nachricht sendet. Dieses gemeinsame Geheimnis lässt uns bestätigen, dass die Nachricht echt von Ihrem Beobachter kam, sodass niemand ein bezahltes Ereignis fälschen kann. Es kann nichts lesen und nichts bewegen.

Einrichten

  1. Was Sie betreiben werden

    Drei Dinge, alle auf Ihrer eigenen Maschine. Nichts davon wird uns gegeben außer der öffentlichen Mint-URL und dem gemeinsamen Secret.

    • Ein Monero-Knoten (monerod) und ein reines Sicht-Wallet (monero-wallet-rpc), privat gehalten.
    • Ein Mint-Endpunkt: eine kleine öffentliche Route, die pro Bestellung eine frische Adresse ausgibt.
    • Ein Beobachter: ein winziges, dauerhaft laufendes Programm, das Ihr Wallet beobachtet und uns sagt, wenn eine Zahlung landet.
  2. Ein reines Sicht-Wallet erstellen

    Ein reines Sicht-Wallet kann eingehende Zahlungen sehen und frische Empfangsadressen prägen, aber es kann nicht ausgeben. Sie bauen es aus der Adresse Ihres echten Wallets und seinem privaten Sicht-Schlüssel, sonst nichts. Das ist es, was Ihren Knoten Zahlungen erkennen lässt, ohne je die Macht zu halten, sie zu bewegen.

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

    Es fragt nach Ihrer primären Adresse und Ihrem privaten Sicht-Schlüssel. Geben Sie nie Ihren Seed oder Spend Key ein, halten Sie diese auf einer separaten Maschine. Es schreibt view-only und view-only.keys; setzen Sie ein Passwort und speichern Sie es in einer Datei (wallet.password, neben dem Wallet) für den nächsten Schritt.

  3. Ihren Monero-Knoten betreiben

    Der Daemon synchronisiert und hält die Blockchain. Betreiben Sie ihn als Dienst (systemd oder Docker), sodass er von selbst neu startet. Sein RPC lauscht auf 127.0.0.1:18081.

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

    Ein beschnittener Knoten hält den Festplatten-Fußabdruck klein und sieht trotzdem jede eingehende Zahlung. Der Knoten erreicht das Netzwerk, gibt aber nichts Öffentliches preis.

  4. Das Wallet-RPC betreiben

    Ein zweiter Dienst, der das reine Sicht-Wallet öffnet und den Mint-Endpunkt und Beobachter bedient. Richten Sie ihn auf Ihren Knoten und binden Sie ihn an localhost. Betreiben Sie ihn ebenfalls als Dienst.

    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

    Setzen Sie das Wallet-RPC nie dem öffentlichen Internet aus; binden Sie es an localhost oder ein privates Netzwerk. --disable-rpc-login ist nur in Ordnung, weil es localhost-only ist; nutzen Sie --rpc-login, wenn es von anderswo erreichbar ist. Nur der Mint-Endpunkt unten ist öffentlich.

  5. Das Coin-Moebius-Monero-Paket installieren

    Es liefert den Adresspräger, den Webhook-Signierer und den Beobachter, sodass Sie fast keinen Code schreiben. Der schnellste Weg ist das einsatzbereite Beispiel unten: kopieren Sie den Ordner, füllen Sie vier Werte aus und starten Sie es.

    npm install @aquarian-metals/coin-moebius-monero
  6. Ihr Webhook-Secret erzeugen

    Ein starker Zufallswert, der den Webhook signiert und verifiziert. Zwei Wege, eines zu erstellen, Ihre Wahl: klicken Sie Erzeugen, wenn Sie den Anbieter im Dashboard hinzufügen (es läuft in Ihrem Browser, nie auf unseren Servern), oder führen Sie den Befehl unten selbst aus. So oder so fügen Sie denselben Wert in Ihren Beobachter und ins Dashboard ein.

    openssl rand -hex 32
  7. Den Mint-Endpunkt aufsetzen

    Eine öffentliche POST-Route, die Ihrem Wallet vorgelagert ist. Sie nutzt die createMoneroCreator des Pakets, um pro Bestellung eine frische Adresse zu prägen. Das ist das Einzige, was Sie dem Internet aussetzen, und es ist sicher auszusetzen: es gibt eine Empfangsadresse zurück und bewegt kein 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

    Sie wählen, woher die Preise kommen. Coin Moebius ruft nie ein Preis-Orakel auf.

  8. Den Beobachter betreiben und auf uns richten

    Der Beobachter ist das dauerhaft laufende Programm, das Ihr Wallet alle paar Sekunden prüft und uns eine Nachricht signiert, wenn eine Zahlung bestätigt. Setzen Sie seine Webhook-URL auf Ihre Projektadresse (unten) und sein Secret auf den Wert, den Sie erzeugt haben. Betreiben Sie ihn neben Ihrem Wallet, unter systemd oder 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();

    Er holt von Natur aus auf. Wenn er eine Zeit lang offline ist, sieht der nächste Lauf die verpassten Zahlungen und sagt es uns dann. Ein Heimserver reicht; Sie brauchen keine perfekte Verfügbarkeit.

  9. Ihre Webhook-URL

    Setzen Sie die webhookUrl des Beobachters auf Ihre Projektadresse. Ihre Projekt-ID steht in den Projekteinstellungen im Dashboard.

    https://api.coinmoebius.com/webhook/monero/<your project id>
  10. Im Dashboard verbinden

    Anbieter hinzufügen, wählen Sie Ihr eigener Anbieter sein, dann Monero. Fügen Sie Ihre Mint-Endpunkt-URL und das Webhook-Secret ein. Das ist alles, was wir speichern, und keiner der Werte kann Ihr Wallet berühren.

Nachdem Sie verbunden haben

Es gibt keinen Sandbox für einen selbst gehosteten Knoten, Ihre erste kleine echte Zahlung ist also der Test:

  1. Erstellen Sie ein Produkt und setzen Sie den Buy-Button auf eine Seite (eine lokale HTML-Datei reicht), die auf Ihr Projekt zeigt.
  2. Zahlen Sie einen kleinen Betrag Monero aus Ihrem eigenen Wallet.
  3. Warten Sie auf Bestätigungen. Monero braucht von Natur aus etwa zwanzig Minuten zur vollen Bestätigung.
  4. Öffnen Sie den Reiter Transaktionen. Wenn die neue Zeile succeeded erreicht, funktionieren Ihr Mint-Endpunkt, Beobachter und Secret alle von Ende zu Ende.

Fehlerbehebung

Der Checkout scheitert sofort.

Wir konnten Ihren Mint-Endpunkt nicht erreichen. Bestätigen Sie, dass es eine öffentliche https-URL ist und dass Ihr Knoten online ist. Das Dashboard zeigt dies beim Speichern als Erreichbarkeitsmeldung.

Der Käufer hat gezahlt, aber die Bestellung bleibt ausstehend.

Entweder läuft der Beobachter nicht, oder sein Secret stimmt nicht überein. Bestätigen Sie, dass der Beobachter-Prozess läuft und dass sein MONERO_HMAC_SECRET der genaue Wert ist, den Sie ins Dashboard eingefügt haben.

Die Zahlung brauchte eine Weile, bis sie erschien.

Das ist normal. Monero bestätigt über mehrere Blöcke; der Beobachter wartet auf zehn Bestätigungen (etwa zwanzig Minuten), bevor er Erfolg meldet.

Gut zu wissen

Halten Sie ein reines Sicht-Wallet auf der heißen Maschine. Der Beobachter muss nur eingehende Zahlungen sehen. Halten Sie Ihren Spend Key auf einer separaten, offline Maschine und schöpfen Sie Gelder von dort ab.

Setzen Sie das Wallet-RPC nie aus. Nur der Mint-Endpunkt ist öffentlich. Binden Sie das Wallet-RPC jederzeit an localhost oder ein privates Netzwerk.

Ausfallzeit ist günstig. Der Beobachter holt nach einem Ausfall auf und meldet die verpassten Zahlungen. Nichts geht verloren.

Das Secret rotieren. Erzeugen Sie jederzeit ein neues Secret, fügen Sie es dann sowohl in den Beobachter als auch ins Dashboard ein.

Monero circular economy

Fragen? Join our Discord

Bereit, einen Anbieter zu verbinden?

Wählen Sie die Anbieter, die Sie bereits nutzen. Käufer zahlen über Ihre Konten, und Sie behalten einen Buy-Button.