Vad du behöver
| Fält | Vad det gör |
|---|---|
| Mint endpoint URL | Din nods offentliga adress-mintningsväg. Vi anropar den för att få en ny adress för varje beställning. Inte hemlig. |
| Webhook secret | En delad hemlighet din bevakare signerar med och vi verifierar. Den kan aldrig röra din plånbok. Hemlig. |
Det här alternativet är för dig som vill köra din egen nod. Du kör också en Monero-nod, en view-only-plånbok och en liten alltid-på-bevakare på din egen maskin. Den här guiden går igenom allt. Om du hellre inte kör något, anslut en värdbaserad kryptotjänst istället.
Money flow
Money
Buyer
Taps your Coin Moebius Buy Button and pays from their own wallet.
Your product page
Your Coin Moebius Buy Button asks Coin Moebius to start a checkout.
Coin Moebius Messages only
Gets a fresh address from your server and shows it to the buyer.
Blockchain
Carries the coins from the buyer straight to you.
Your wallet
Receives the coins.
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.
Varför vi ber om varje fält
Mint endpoint URL
När en köpare klickar på Köp ber vi din nod om en ny adress att visa dem. Den förfrågan går till denna ena offentliga väg. Den lämnar tillbaka en adress och inget annat; din plånbok förblir privat bakom den.
Webhook secret
Din bevakare talar om för oss "den här beställningen är betald" genom att skicka oss ett signerat meddelande. Den här delade hemligheten låter oss bekräfta att meddelandet genuint kom från din bevakare, så att ingen kan förfalska en betald-händelse. Den kan inte läsa något och inte flytta något.
Sätt upp
- Vad du kommer att köra
Tre saker, alla på din egen maskin. Inget här ges till oss förutom den offentliga mint-URL:en och den delade hemligheten.
- En Monero-nod (monerod) och en view-only-plånbok (monero-wallet-rpc), hållna privata.
- En mint-endpoint: en liten offentlig väg som delar ut en ny adress per beställning.
- En bevakare: ett litet alltid-på-program som bevakar din plånbok och talar om för oss när en betalning landar.
- Skapa en view-only-plånbok
En view-only-plånbok kan se inkommande betalningar och minta nya mottagaradresser, men den kan inte spendera. Du bygger den från din riktiga plånboks adress och dess privata view key, inget annat. Det är vad som låter din nod upptäcka betalningar utan att någonsin ha makten att flytta dem.
monero-wallet-cli --generate-from-view-key ~/monero/view-onlyDen frågar efter din primära adress och din privata view key. Ange aldrig din seed eller spend key, håll dem på en separat maskin. Den skriver view-only och view-only.keys; sätt ett lösenord och spara det i en fil (wallet.password, bredvid plånboken) för nästa steg.
- Kör din Monero-nod
Daemonen synkar och håller blockkedjan. Kör den som en tjänst (systemd eller Docker) så att den startar om själv. Dess RPC lyssnar på 127.0.0.1:18081.
monerod --data-dir ~/.bitmonero --prune-blockchain --restricted-rpcEn beskuren nod håller diskavtrycket litet och ser ändå varje inkommande betalning. Noden når nätverket men exponerar inget offentligt.
- Kör wallet RPC
En andra tjänst som öppnar view-only-plånboken och svarar mint-endpointen och bevakaren. Peka den mot din nod och bind den till localhost. Kör den som en tjänst också.
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-loginExponera aldrig wallet RPC mot det offentliga internet; bind den till localhost eller ett privat nätverk. --disable-rpc-login är okej endast eftersom den är localhost-only; använd --rpc-login om den är nåbar någon annanstans ifrån. Endast mint-endpointen nedan är offentlig.
- Installera Coin Moebius Monero-paketet
Det tillhandahåller adress-mintaren, webhook-signeraren och bevakaren, så att du skriver nästan ingen kod. Den snabbaste vägen är det körklara exemplet nedan: kopiera mappen, fyll i fyra värden, och starta det.
npm install @aquarian-metals/coin-moebius-moneroPaketet på npm ↗Körklart exempel (nod, mint-endpoint, bevakare) ↗
- Generera din webhook-hemlighet
Ett starkt slumpmässigt värde som signerar och verifierar webhooken. Två sätt att skapa ett, ditt val: klicka på Generate när du lägger till leverantören i instrumentpanelen (det körs i din webbläsare, aldrig på våra servrar), eller kör kommandot nedan själv. Hur som helst, klistra in samma värde i både din bevakare och instrumentpanelen.
openssl rand -hex 32 - Sätt upp mint-endpointen
En offentlig POST-väg som fronterar din plånbok. Den använder paketets createMoneroCreator för att minta en ny adress per beställning. Detta är det enda du exponerar mot internet, och det är säkert att exponera: det returnerar en mottagaradress och flyttar inga pengar.
// 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 JSONDu väljer var priser kommer ifrån. Coin Moebius anropar aldrig ett pris-orakel.
- Kör bevakaren och peka den mot oss
Bevakaren är det alltid-på-program som kontrollerar din plånbok var några sekunder och signerar oss ett meddelande när en betalning bekräftas. Ställ in dess webhook-URL till din projektadress (nedan) och dess hemlighet till värdet du genererade. Kör den bredvid din plånbok, under systemd eller 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();Bevakarrecept: indexer.js + systemd-enhet + docker-compose ↗
Den är upphämtande av design. Om den är offline en stund ser nästa körning betalningarna den missade och talar om för oss då. En hemmaserver räcker; du behöver inte perfekt drifttid.
- Din webhook-URL
Ställ in bevakarens webhookUrl till din projektadress. Ditt projekt-id finns i projektinställningarna i instrumentpanelen.
https://api.coinmoebius.com/webhook/monero/<your project id> - Anslut i instrumentpanelen
Add provider, välj Be your own provider, sedan Monero. Klistra in din mint endpoint URL och webhook-hemligheten. Det är allt vi lagrar, och inget av värdena kan röra din plånbok.
Efter att du anslutit
Det finns ingen sandbox för en självhostad nod, så din första lilla riktiga betalning är testet:
- Skapa en produkt och placera köpknappen på en sida (en lokal HTML-fil fungerar) som pekar mot ditt projekt.
- Betala ett litet belopp Monero från din egen plånbok.
- Vänta på bekräftelser. Monero tar omkring tjugo minuter att bekräftas fullt ut, av design.
- Öppna Transaktioner-fliken. När den nya raden når succeeded fungerar din mint-endpoint, bevakare och hemlighet alla från början till slut.
Felsökning
Checkout misslyckas direkt.
Vi kunde inte nå din mint-endpoint. Bekräfta att det är en offentlig https-URL och att din nod är online. Instrumentpanelen visar detta som ett nåbarhetsmeddelande när du sparar.
Köparen betalade men beställningen förblir väntande.
Antingen körs inte bevakaren, eller så matchar dess hemlighet inte. Bekräfta att bevakarprocessen är uppe och att dess MONERO_HMAC_SECRET är det exakta värdet du klistrade in i instrumentpanelen.
Betalningen tog ett tag att visas.
Det är normalt. Monero bekräftas över flera block; bevakaren väntar på tio bekräftelser (omkring tjugo minuter) innan den rapporterar framgång.
Bra att veta
Håll en view-only-plånbok på den heta maskinen. Bevakaren behöver bara se inkommande betalningar. Håll din spend key på en separat, offline maskin och svep medel därifrån.
Exponera aldrig wallet RPC. Endast mint-endpointen är offentlig. Bind wallet RPC till localhost eller ett privat nätverk hela tiden.
Driftstopp är billigt. Bevakaren hämtar in efter ett avbrott och rapporterar betalningarna den missade. Inget går förlorat.
Rotera hemligheten. Generera en ny hemlighet när som helst, klistra sedan in den i både bevakaren och instrumentpanelen.
Monero circular economy
Frågor? Join our Discord