• v1.0.0 3e4301fe56

    btcbob released this 2026-10-08 23:20:19 +00:00 | 0 commits to master since this release

    The first release of dobbs-cart: a small (BOB) Dobbscoin shop in vanilla PHP and SQLite. Payments are read from your own Dobbscoin node, prices are set in USD and converted at the live wBOB rate, and the store never needs a private key of its own. A fork of xmr-cart 1.0.0, the Monero version.

    Install

    R=https://git.subgenius.finance/SubGeniusFinance/dobbs-cart/releases/download/v1.0.0
    curl -LO $R/dobbs-cart-1.0.0.tar.gz -LO $R/dobbs-cart-1.0.0.tar.gz.sha256
    sha256sum -c dobbs-cart-1.0.0.tar.gz.sha256
    tar xzf dobbs-cart-1.0.0.tar.gz && sudo mv dobbs-cart-1.0.0 /var/www/dobbs-cart
    cd /var/www/dobbs-cart && sudo ./install.sh
    

    (R=… just saves typing the long address twice.) Or clone the v1.0.0 tag.

    The installer checks PHP, then asks for:

    • the store name and URL
    • the admin email (all notifications to it, or split by type) and the From address
    • your node's RPC URL, user and password (it calls the node and shows height, peers and whether the wallet is enabled)
    • where order addresses come from
    • the price feed (it shows the live rate) or a fixed rate

    It writes config.php with fresh secrets and prints the nginx block, the cron lines and your setup key.

    Requirements: PHP 8.0+ with pdo_sqlite, curl, gd, gmp, mbstring; nginx or Apache; cron or a systemd timer; a Dobbscoin full node you run with server=1 and its wallet enabled.

    What's in 1.0.0

    Payments, from your own node

    • One address per order, from either:
      • rpc mode: the node wallet makes a fresh one per order (getnewaddress, labelled dobbs-cart #N).
      • pool mode: addresses from your own wallet, pasted into the admin and watched by the node, so no keys sit on the server.
    • A payment registers the moment it's in the mempool, and settlement looks every minute, so a slow or stalled chain can't expire an order that's been paid. Paid at 6 confirmations by default.
    • An unconfirmed payment the node stops reporting (double-spent or dropped) is forgotten instead of leaving the order stuck.
    • Encrypted node wallet? It works while locked, drawing on the keypool, and the store emails you when the keypool runs low.

    Pricing at the wBOB rate

    • USD price tags, converted at the deepest live wBOB pool on Gnosis (pools.json format, or any {"price_usd": x} feed), locked at checkout for the quote window.
    • wBOB liquidity is thin. A stale feed or a sudden 2× jump pauses checkout instead of mispricing, and manual_coin_rate lets you fix the rate yourself.

    Everything else from xmr-cart 1.0.0

    • Shop: a cart (several items, one order, one payment) with atomic stock reservation; share links, #anchors, and digital items with no shipping address.
    • Refunds: a required (BOB) return address, with Refund due tracking.
    • Notifications: new order, paid, refund due, node down, price down, low stock and keypool low go to you; a receipt and a shipped email with tracking go to the buyer.
    • Privacy: buyer details are erased on a schedule, uploads are re-encoded (no GPS), and the setup key, cookie-secret check and session handling all match xmr-cart 1.0.0.

    ⚠ (BOB) addresses share Bitcoin's format, so a BTC address passes as a valid return address. The store can't tell them apart.

    MIT licensed. See LICENSE and LICENSE-THIRD-PARTY.md.

    Downloads