1.7 KiB
1.7 KiB
DirtCryptoStore
DirtCryptoStore is a Paper 1.21.x crypto shop plugin.
Features
- GUI crypto store
- Live BTC/USD pricing
- Unique BTC invoice amounts per player
- QR map generation
- QR placed in player off-hand
- SQLite storage
- Expired invoice pruning
- Auto payment watching
- Admin review tools
Requirements
- Paper 1.21.x
- Java 21
- Maven 3.8.7+
Build
mvn clean package
Jar: target/DirtCryptoStore.jar
Install
- Put the jar in your server plugins folder
- Start the server
- Edit plugins/DirtCryptoStore/config.yml
- Restart the server or use /cryptostore reload
Player Commands
/cryptostore Opens the store GUI
/cryptostore status Shows the player’s pending invoice status
Admin Commands
/cryptostore reload Reloads plugin config and watcher
/cryptostore review Shows invoices marked UNDER_REVIEW
/cryptostore forceconfirm Manually fulfills an invoice
/cryptostore cancelinvoice Cancels an invoice
Permissions
dirtcryptostore.use Default: true
dirtcryptostore.admin Default: op
dirtcryptostore.bypass Reserved for future use
Payment Flow
- Player runs /cryptostore
- Player clicks a product
- Plugin converts USD price to BTC
- Plugin adds a unique sat offset
- Invoice is created
- QR map is placed in off-hand
- Player pays exact BTC amount
- Plugin watches blockchain
- After confirmations, commands run
Storage
SQLite database file: plugins/DirtCryptoStore/dirtcryptostore.db
Pruning
Old invoices can be pruned with config options:
- prune-enabled
- prune-after-days
- prune-statuses
Notes
- BTC-focused
- Live pricing uses CoinGecko
- Payment watching uses blockchain.info
- Large public deployments should later add provider fallback and audit logging