diff --git a/busyboredom-standalone-acceptxmr.md b/busyboredom-standalone-acceptxmr.md new file mode 100644 index 0000000..9d852b8 --- /dev/null +++ b/busyboredom-standalone-acceptxmr.md @@ -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.