Skip to content

eurobuddha/multiMerch

Repository files navigation

multiMerch

A MiniDapp Generator for Multi-Product Marketplaces on the Minima Blockchain


Concept

multiMerch is a Node.js CLI tool that generates self-contained MiniDapp pairs (Shop + Inbox) for selling multiple unit-based products on the Minima blockchain. It is a direct evolution of miniMerch, scaled to handle a full product catalog while maintaining the clean, professional aesthetic.

The generated MiniDapps run entirely on Minima nodes — no servers, no middlemen, no centralized dependency.


Philosophy

The Freedom Ethos:

  • Sovereign infrastructure — vendors control their data, their shop, their business
  • No middlemen — peer-to-peer transactions on-chain, encrypted communication
  • Portable — the generated .mds.zip is the entire marketplace
  • Remixable — anyone can take the code, fork it, improve it, use it for their own purposes
  • Privacy by design — delivery addresses encrypted via Maxima ChainMail pattern

The Vision:

In a decentralized world, everyone can have their own eBay. Your own Facebook. Your own platform. Aggregators can exist as a convenience layer, but the power always stays with the individual. This is building blocks for a free world.


Core Principles

  1. Protocol over Product — We're building infrastructure others can use, not a hosted service
  2. Simplicity — The CLI is the core; GUI is convenience, not requirement
  3. Clean Aesthetics — Same professional look as miniMerch, scaled appropriately
  4. Mobile-First Responsive — Swipeable cards on mobile, grid on desktop
  5. Trustless — No server dependency; runs on the blockchain

What multiMerch Is

  • A generator that creates distributable MiniDapp bundles
  • A protocol seed that can be planted and will grow independently
  • A personal marketplace for selling multiple products
  • An educational codebase others can learn from and remix

What multiMerch Is NOT

  • A hosted web application
  • A centralized platform
  • A multi-vendor marketplace (single vendor per generated shop)
  • A blockchain other than Minima

Generated Output

File Purpose Runs On
multiShop_[name].mds.zip Shop for buyers Buyer's Minima node
multiShopInbox.mds.zip Inbox for vendor Vendor's Minima node

Features

Shop MiniDapp

  • Product catalog with multiple items
  • Category navigation (sidebar on desktop)
  • Image carousel per product (swipeable on mobile)
  • Product grid (4-col desktop, 2-col mobile)
  • Variant selection per product
  • Multi-item shopping cart (localStorage persistence)
  • Real-time cart total calculation
  • Shipping method selection
  • USDT and Minima payment options
  • Encrypted delivery address (ChainMail pattern)
  • Order confirmation with TX ID

Inbox MiniDapp

  • Receive encrypted multi-item orders
  • View full order details (all items, quantities, prices)
  • Decrypt delivery addresses
  • Copy address to clipboard
  • Reply to buyer (encrypted)
  • Order status management
  • Background polling (NOTIFYCOIN events)

Generator CLI

  • Setup command (vendor configuration)
  • Generate from JSON catalog
  • Inline product definition via flags
  • Image directory support
  • Obfuscated configuration for security

Quick Start

Prerequisites

  • Node.js 18+
  • A running Minima node
  • CoinMarketCap API key (optional, for price fetching)

Installation

git clone https://github.com/minima-global/multiMerch.git
cd multiMerch
npm install

Setup

npm run setup -- <vendor-address> <cmc-api-key> <vendor-public-key>

Generate a Shop

# From JSON catalog
npm run generate -- --name "My Shop" --catalog ./products.json

# From inline products
npm run generate -- \
  --name "Quick Store" \
  --products '[{"name":"Widget","price":19.99,"variants":["S","M","L"]}]'

Project Structure

multiMerch/
├── src/
│   ├── index.js              # CLI entry point
│   ├── generator/
│   │   ├── shop.js          # Shop MiniDapp generator
│   │   ├── inbox.js         # Inbox MiniDapp generator
│   │   └── catalog.js       # Catalog builder
│   ├── templates/
│   │   ├── shop/            # Shop template
│   │   │   ├── index.html
│   │   │   ├── app.js
│   │   │   ├── catalog.js
│   │   │   ├── cart.js
│   │   │   ├── carousel.js
│   │   │   ├── checkout.js
│   │   │   ├── service.js
│   │   │   └── style.css
│   │   └── inbox/           # Inbox template
│   │       ├── index.html
│   │       ├── app.js
│   │       ├── service.js
│   │       └── style.css
│   └── utils/
│       └── config.js
├── docs/
│   ├── planning/            # Planning documents
│   ├── design/              # Design documents
│   └── architecture/         # Architecture docs
├── skills/
│   └── minima-mds/          # Minima MDS skill
├── package.json
├── README.md
└── LICENSE

Documentation


Technology Stack

Layer Choice Rationale
Generator Node.js + ES Modules Extends miniMerch pattern
Shop/Inbox Templates Vanilla JS + CSS No build step, portable
Cart State localStorage Client-side persistence
Order Database MDS.sql (H2) Per-MiniDapp storage
Encryption Maxima ChainMail P2P privacy
Payment Minima/USDT on-chain Native blockchain

License

Apache License 2.0


Related Projects

About

Multi-product MiniDapp generator for the Minima blockchain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors