mirror of
https://repo.getmonero.org/monero-project/ccs-proposals.git
synced 2024-12-24 23:19:28 -05:00
Merge !374
Standalone AcceptXMR See merge request monero-project/ccs-proposals!374
This commit is contained in:
commit
2ea79ffe23
103
busyboredom-standalone-acceptxmr.md
Normal file
103
busyboredom-standalone-acceptxmr.md
Normal file
@ -0,0 +1,103 @@
|
||||
---
|
||||
layout: fr
|
||||
title: Standalone AcceptXMR
|
||||
author: busyboredom
|
||||
date: February 31, 2023
|
||||
amount: 14
|
||||
milestones:
|
||||
- name: Maintenance
|
||||
funds: 14
|
||||
done:
|
||||
status: unfinished
|
||||
payouts:
|
||||
- date:
|
||||
amount:
|
||||
---
|
||||
|
||||
# Standalone AcceptXMR
|
||||
Another payment gateway CCS proposal.
|
||||
|
||||
## Summary
|
||||
I would like to create a standalone, dockerized, AcceptXMR-based payment gateway with wordpress
|
||||
support.
|
||||
|
||||
AcceptXMR ([demo](https://busyboredom.com/projects/acceptxmr),
|
||||
[docs](https://docs.rs/acceptxmr/latest/acceptxmr/),
|
||||
[repo](https://github.com/busyboredom/acceptxmr/)) is a payment gateway library (or crate, in rust
|
||||
lingo) I wrote as a hobby project and have made available to the community. While my library serves
|
||||
its purpose well, I understand that most merchants are not programmers therefor cannot use
|
||||
AcceptXMR.
|
||||
|
||||
This proposal aims to make AcceptXMR usable for anyone capable running a docker container and
|
||||
installing a wordpress plugin.
|
||||
|
||||
## Why AcceptXMR
|
||||
Lots of reasons!
|
||||
* View pair only, no hot wallet.
|
||||
* Subaddress based (as opposed to the older integrated addresses).
|
||||
* Pending invoices can be stored persistently, enabling recovery from power loss.
|
||||
* Ignores transactions with non-zero timelocks.
|
||||
* Zero-conf works out of the box.
|
||||
* No local node, wallet RPC, or block explorer needed. Just pick a public remote node.
|
||||
|
||||
And of course, I am already intimately familiar with it.
|
||||
|
||||
## How It'll Happen
|
||||
I will dedicate a portion of my weekends (you can expect about 10 hours a week on average) to
|
||||
completing the following milestones. There will be some weeks with more progress and others with
|
||||
less, but that's the average I'll be aiming for.
|
||||
|
||||
### Dockerize AcceptXMR
|
||||
_14 XMR from xmrSale's abandoned funding._
|
||||
|
||||
This is the largest milestone. I'll be taking the webserver and frontend work you see in my demo,
|
||||
cleaning it up significantly to bring it up to production standards and dockerizing it for easy
|
||||
setup. I will also provide documentation on how to perform that setup.
|
||||
|
||||
### Wordpress Plugin
|
||||
_10 XMR from xmrSale's abandoned funding._
|
||||
|
||||
Wordpress is popular, and it has a plugin system that supports custom payment gateways. I will write
|
||||
a wordpress plugin for the freshly dockerized AcceptXMR implementation. I will also provide
|
||||
documentation on how to use the plugin.
|
||||
|
||||
### Maintenance for 1 Year
|
||||
_20 XMR total, with 6 XMR coming from xmrSale's abandoned funding and the remaining 14 XMR coming
|
||||
from this CCS proposal._
|
||||
|
||||
Both rust and monero have rapidly changing ecosystems. Left alone, my work would likely be out of
|
||||
date by the end of the year due to breaking changes in my library's dependencies if nothing else.
|
||||
Keeping AcceptXMR up-to-date and functional is something I currently do for free, but building out a
|
||||
full standalone gateway adds overhead. For this reason, I've bookmarked 20 XMR for maintenance for 1
|
||||
year from the funding date.
|
||||
|
||||
I am hesitant to provide target dates for first two milestones above, but I have been maintaining
|
||||
AcceptXMR for over a year now and I don't plan on ghosting on it now.
|
||||
|
||||
## Stretch Goals / Future work
|
||||
I'm not promising any of the following happens, but I'm putting it here to let the community know
|
||||
it's on my radar and I want to do it if I get the opportunity:
|
||||
* TOR support for the daemon RPC connection.
|
||||
* A no-JS frontend. I have an example with this implemented on github, but I'll have to clean it up
|
||||
a bit and integrate it into the new dockerized setup.
|
||||
* ZMQ support as a more performant alternative to polling the remote node.
|
||||
|
||||
## Prerequisites
|
||||
Before I start work on this CCS, I'll need to wrap up changes I'm making with v0.12.0 of AcceptXMR.
|
||||
I'm not charging for that work, I'm just disclosing here that I need to resolve the issues in that
|
||||
milestone before I start work on this CCS.
|
||||
|
||||
## License
|
||||
AcceptXMR is dual-licensed under the MIT and Apache 2.0 licenses. I am not planning on changing the
|
||||
license. It will always be under a permissive license.
|
||||
|
||||
## About Me
|
||||
Busyboredom is _not_ an anonymous alias, you can see my minimally-redacted resume on my personal
|
||||
website [busyboredom.com](https://busyboredom.com).
|
||||
|
||||
Proposal Expiration: January 1st, 2025.
|
||||
|
||||
Note: This CCS was originally intended to be funded entirely by the 30 XMR leftover from the abanoned
|
||||
xmrSale project. At the request of the community, I have extended my maintenance commitment and
|
||||
increased the maintenance budget by 14 XMR. This change allows CCS donors to act as a final check on
|
||||
whether this proposal goes forward.
|
Loading…
Reference in New Issue
Block a user