すべてのプロバイダー

Monero

自分の Monero ノードを動かし、支払いはまっすぐあなたのウォレットへ入ります。間に座る会社はなく、当社さえも入りません。

必要なもの

フィールド何をするか
mint エンドポイント URLあなたのノードの公開アドレス発行ルート。当社は注文ごとに新しいアドレスを得るためにそれを呼びます。秘密ではありません。
webhook secretあなたのウォッチャーが署名し、当社が検証する共有のシークレット。あなたのウォレットには決して触れられません。秘密です。

この選択肢は、自分のノードを動かしたい人向けです。Monero ノード、閲覧専用ウォレット、そして自分のマシン上の小さな常時稼働のウォッチャーも動かします。このガイドはそのすべてを案内します。何も動かしたくない場合は、代わりにホスト型の暗号資産サービスを接続してください。

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.

各フィールドを尋ねる理由

mint エンドポイント URL

購入者が購入をクリックすると、当社は表示する新しいアドレスをあなたのノードに求めます。そのリクエストはこの一つの公開ルートに行きます。それはアドレスを返すだけで、それ以外は返しません。あなたのウォレットはその背後で非公開のままです。

webhook secret

あなたのウォッチャーは、署名付きのメッセージを送ることで当社に「この注文は支払い済み」と伝えます。この共有のシークレットにより、当社はそのメッセージが本当にあなたのウォッチャーから来たと確認でき、誰も支払い済みイベントを偽造できません。それは何も読めず、何も動かせません。

設定

  1. あなたが動かすもの

    3つ、すべて自分のマシン上で。公開の mint URL と共有のシークレットを除き、ここで当社に渡すものはありません。

    • Monero ノード(monerod)と閲覧専用ウォレット(monero-wallet-rpc)。非公開に保ちます。
    • mint エンドポイント:注文ごとに新しいアドレスを渡す、一つの小さな公開ルート。
    • ウォッチャー:あなたのウォレットを見張り、支払いが着地したときに当社に知らせる、ごく小さな常時稼働のプログラム。
  2. 閲覧専用ウォレットを作る

    閲覧専用ウォレットは、入金を見て、新しい受取アドレスを発行できますが、送金はできません。実際のウォレットのアドレスとその秘密の view key だけから作ります。それ以外は不要です。それが、動かす力を一切持たずにノードが支払いを検出できる仕組みです。

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

    プライマリアドレスと秘密の view key の入力を求めます。seed や spend key は決して入力せず、それらは別のマシンに置いてください。view-only と view-only.keys を書き出します。パスワードを設定し、次のステップのためにファイル(ウォレットの隣の wallet.password)に保存してください。

  3. Monero ノードを動かす

    デーモンが同期し、ブロックチェーンを保持します。自分で再起動するよう、サービス(systemd または Docker)として動かします。その RPC は 127.0.0.1:18081 で待ち受けます。

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

    剪定したノードはディスクの使用量を小さく保ちつつ、すべての入金を見られます。ノードはネットワークに到達しますが、公開には何も晒しません。

  4. ウォレット RPC を動かす

    閲覧専用ウォレットを開き、mint エンドポイントとウォッチャーに応答する2つ目のサービス。あなたのノードに向け、localhost にバインドします。これもサービスとして動かします。

    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

    ウォレット RPC を公開のインターネットに決して晒さないでください。localhost またはプライベートネットワークにバインドします。--disable-rpc-login は localhost 限定だからこそ問題ありません。他のどこからでも到達可能な場合は --rpc-login を使ってください。公開なのは下記の mint エンドポイントだけです。

  5. Coin Moebius Monero パッケージをインストールする

    アドレスの発行者、webhook の署名者、ウォッチャーを提供するので、書くコードはほとんどありません。最速の道は下記のすぐに動く例です。フォルダをコピーし、4つの値を埋めて、起動します。

    npm install @aquarian-metals/coin-moebius-monero
  6. webhook secret を生成する

    webhook に署名し検証する、強いランダムな値。作る方法は2つ、お好みで。ダッシュボードでプロバイダーを追加するときに「生成」をクリックする(ブラウザ内で動き、当社のサーバーでは決して動きません)か、下記のコマンドを自分で実行します。どちらでも、同じ値をウォッチャーとダッシュボードの両方に貼り付けます。

    openssl rand -hex 32
  7. mint エンドポイントを立ち上げる

    あなたのウォレットの前面に立つ、一つの公開 POST ルート。パッケージの createMoneroCreator を使って、注文ごとに新しいアドレスを発行します。これがインターネットに晒す唯一のもので、晒しても安全です。受取アドレスを返し、お金は一切動かしません。

    // 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

    価格の出どころはあなたが選びます。Coin Moebius は価格オラクルを決して呼びません。

  8. ウォッチャーを動かし、当社に向ける

    ウォッチャーは、数秒ごとにあなたのウォレットを確認し、支払いが確定したときに当社へメッセージを署名する、常時稼働のプログラムです。その webhook URL をプロジェクトのアドレス(下記)に、そのシークレットを生成した値に設定します。あなたのウォレットの隣で、systemd または 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();

    設計上、追いつき型です。しばらくオフラインでも、次の実行で見逃した支払いを見て、そのとき当社に伝えます。家庭のサーバーで十分で、完璧な稼働率は要りません。

  9. あなたの webhook URL

    ウォッチャーの webhookUrl をプロジェクトのアドレスに設定します。プロジェクトIDはダッシュボードのプロジェクト設定にあります。

    https://api.coinmoebius.com/webhook/monero/<your project id>
  10. ダッシュボードでつなぐ

    プロバイダーを追加し、「自分自身がプロバイダーになる」を選び、次に Monero。mint エンドポイント URL と webhook secret を貼り付けます。それが当社が保存するすべてで、どちらの値もあなたのウォレットには触れられません。

接続した後

自己ホストのノードにはサンドボックスが無いので、最初の少額の実支払いがテストになります。

  1. 商品を作り、プロジェクトに向けた買うボタンをページ(ローカルの HTML ファイルでも可)に置きます。
  2. 自分のウォレットから少額の Monero を支払います。
  3. 確認を待ちます。Monero は設計上、完全に確定するまで約20分かかります。
  4. 取引タブを開きます。新しい行が succeeded に達したら、mint エンドポイント、ウォッチャー、シークレットがすべて端から端まで機能しています。

トラブルシューティング

チェックアウトがすぐに失敗する。

あなたの mint エンドポイントに到達できませんでした。公開の https URL であること、そしてノードがオンラインであることを確認してください。ダッシュボードは保存時にこれを到達性のメッセージとして表示します。

購入者は支払ったのに、注文が保留のまま。

ウォッチャーが動いていないか、そのシークレットが一致していません。ウォッチャーのプロセスが立ち上がっていること、そしてその MONERO_HMAC_SECRET がダッシュボードに貼り付けた正確な値であることを確認してください。

支払いの表示に少し時間がかかった。

それは正常です。Monero はいくつものブロックにわたって確定します。ウォッチャーは成功を報告する前に10回の確認(約20分)を待ちます。

知っておくとよいこと

ホットなマシンには閲覧専用ウォレットを置く. ウォッチャーは入金を見られればよいだけです。spend key は別個のオフラインのマシンに置き、そこから資金を掃き出してください。

ウォレット RPC を決して晒さない. 公開なのは mint エンドポイントだけです。ウォレット RPC は常に localhost またはプライベートネットワークにバインドしてください。

ダウンタイムは安い. ウォッチャーは障害の後で追いつき、見逃した支払いを報告します。失われるものはありません。

シークレットのローテーション. 新しいシークレットをいつでも生成して、ウォッチャーとダッシュボードの両方に貼り付けます。

Monero circular economy

ご質問は? Join our Discord

プロバイダーをつなぐ準備はできましたか?

すでにお使いのプロバイダーを選んでください。購入者はあなたのアカウントを通して支払い、あなたは一つの買うボタンを保ちます。