Align roadmap

This commit is contained in:
Deverick 2025-03-27 14:29:31 -05:00
parent 3fbda00f3c
commit 5c16f5962e

View File

@ -9,11 +9,11 @@ milestones:
funds: 41
done:
status: unfinished
- name: Creating PoC for Monero Plugin
- name: Improve functionality and UI/UX for managing daemon and wallet-rpc
funds: 68
done:
status: unfinished
- name: Creating MVP for Monero Plugin
- name: Creating MVP for Monero Plugin to support multiwallet
funds: 96
done:
status: unfinished
@ -33,19 +33,33 @@ payouts:
**Hello everyone!**
We are thrilled to announce our plans to refactor the Monero integration for BTCPay Server. With the release of [BTCPay Server 2.0](https://blog.btcpayserver.org/btcpay-server-2-0/), the platform has undergone a major update, introducing breaking changes to the Monero integration. This redesign transitions non-core features, such as Monero support, into a plugin-based architecture. This shift provides an excellent opportunity for the Monero community to take ownership of the integration and ensure its long-term development. [The BTCPay team has expressed their support](https://github.com/btcpayserver/btcpayserver/pull/6535) for this initiative, and we are fully committed to making it a success. To prepare for this work, the Monero codebase has already been migrated into its own repository, paving the way for its transition into a standalone plugin.
We are thrilled to announce our plans to refactor the Monero integration for BTCPay Server. With the release of [BTCPay Server 2.0](https://blog.btcpayserver.org/btcpay-server-2-0/), the platform has undergone a major update, introducing breaking changes to the Monero integration. This redesign transitions non-core features, such as Monero support, into a plugin-based architecture. This shift provides an excellent opportunity for the Monero community to take ownership of the integration and ensure its long-term development. [The BTCPay team has expressed their support](https://github.com/btcpayserver/btcpayserver/pull/6535) for this initiative, and we are fully committed to making it a success. To prepare for this work, the Monero codebase has already been migrated into its own repository, paving the way for its transition into a [standalone plugin](https://github.com/btcpayserver/btcpayserver-monero-plugin).
Wed like to thank the BTCPay development team, particularly @NicolasDorier, for laying the groundwork for the Monero plugin and ensuring a stable transition from core integration. As they noted in [PR #6535](https://github.com/btcpayserver/btcpayserver/pull/6535), the move to plugins empowers the Monero community to take full control of its development and lifecycle—without being bottlenecked by core BTCPay priorities or unfamiliarity with Moneros internals.
**How did we get here?**
The initial integration was developed by @kukks of the BTCPay team and funded through [a CCS proposal](https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/63) by an anonymous donor. While this implementation successfully introduced Monero support to BTCPay Server, there is an opportunity to expand its functionality by adding features such as multi-wallet support and enhanced wallet management tools. During our work on [open bounties](https://bounties.monero.social/posts/124/5-019m-btcpay-server-allow-syncing-via-remote-node) and [2](https://bounties.monero.social/posts/88/15-008m-btcpay-server-additional-optimizations) for the Monero community, we identified the need to realign our efforts on the [plugin migration](https://github.com/btcpayserver/btcpayserver/pull/6239#issuecomment-2373319844) to ensure continued support for Monero within BTCPay Server.
Thanks to funding from the Magic Grants, we had the opportunity to meet at Monerotopia 2024 and analyze this challenge in depth. During this collaboration, we established a [comprehensive roadmap](https://github.com/users/deverickapollo/projects/5/views/1) and a [plugin repository](https://github.com/napoly/btcpayserver-plugin-monero) with CI/CD support for stable releases and development. The plugin is currently in the proof-of-concept stage, with a focus on establishing a solid foundation for the plugin.
Thanks to funding from the Magic Grants and Coincards, we had the opportunity to meet at Monerotopia 2024 and analyze this challenge in depth. During this collaboration, we established a [comprehensive roadmap](https://github.com/users/deverickapollo/projects/5/views/1) and a [plugin repository](https://github.com/napoly/btcpayserver-plugin-monero) with CI/CD support for stable releases and development. The plugin is currently in the proof-of-concept stage, with a focus on establishing a solid foundation for the plugin.
There was initial confusion in the Monero community about whether BTCPay Server would continue maintaining the Monero integration after 2.0. To clarify: the plugin is now fully community-owned. BTCPay Server will no longer hosts or manages the Monero integration beyond platform-level support and docker artifacts following BTCPayServer v2.1. This proposal is intended to ensure the plugin remains functional, actively developed, and aligned with Monero users expectations.
**What's next?**
We are seeking funding to support the development of this plugin and ensure its continued success. The funds will be used to support the development of the plugin, including the creation of a proof of concept and a minimum viable product. We are also seeking additional funding to support the final stages of development, including UI/UX enhancements, bug fixing, and merchant migration.
We are seeking funding to continue developing and maintaining the Monero plugin for BTCPay Server. This includes building a robust proof of concept and minimum viable product (MVP), improving the user interface, addressing bugs, and assisting with merchant migration from the legacy Monero integration. Our near-term goal is to merge earlier boilerplate work, developed after Monerotopia 2024, into the current plugin repository and begin its migration to the new [btcpay-monero GitHub organization](https://github.com/organizations/btcpay-monero). This move will help formalize community ownership and better organize contributions going forward.
Additionally, there are several open bounties currently available for the Monero integration. We propose incorporating these funds into the broader plugin development effort, ensuring that all outstanding tasks align with our overarching goals.
We aim to extend the plugin with capabilities to manage multiple Monero wallets within a single BTCPay Server instance. This enhancement will enable **third-party hosting scenarios**, allowing service providers to support multiple vendors without requiring each vendor to manage their own infrastructure. This is particularly beneficial for merchants who prefer a hosted solution over self-deployment.
In addition, there are several open bounties currently available for the Monero integration:
- [Make BTCPay Server configuration accessible](https://bounties.monero.social/posts/77/10-052m-make-btcpay-server-configuration-accessible)
- [Allow syncing via remote node](https://bounties.monero.social/posts/124/5-019m-btcpay-server-allow-syncing-via-remote-node)
- [Additional Monero optimizations](https://bounties.monero.social/posts/88/15-008m-btcpay-server-additional-optimizations)
We propose incorporating these bounty funds into the broader plugin development effort, ensuring that all outstanding tasks align with our roadmap and long-term strategy.
As part of this transition, we also plan to eventually migrate Dockerfiles and supporting infrastructure currently hosted under the BTCPay organization to the btcpay-monero GitHub org. This reduces reliance on BTCPays infrastructure and aligns with their recommendation that each altcoin community manage its own deployment lifecycle and testing.
Contributors:
@ -57,35 +71,35 @@ Contributors:
### Milestone 1: Requirements Analysis and Core Infrastructure
- **Deliverables:**
- Finalized and published roadmap.
- Operational CI/CD pipeline for plugin development and releases.
- Plugin repository established and accessible.
- Operational CI/CD pipeline for plugin development and releases.
- Testing framework and code coverage
- Support for existing merchants and users
- **Funds:** 15% of funds
- **Timeline:** Week 1-2
- **Timeline:** Week 1-4
- **Status:** Mostly done
---
### Milestone 2: Proof of Concept (PoC) for Monero Plugin
### Milestone 2: Refactor of UI and Improvements
- **Deliverables:**
- Plugin installation mechanism functional.
- Docker integration for local node or remote node connections.
- Initial UI for node synchronization visualization.
- Basic `monero-lws` support tested and integrated.
- UI improvements for Monero daemon configuration.
- Functional wallet setup interface (create, import, export, update).
- Release as v0.1.0
- **Funds:** 25%
- **Timeline:** Week 3-6
- **Status:** Current focus
- **Timeline:** Week 5-10
- **Status:** Not started
---
### Milestone 3: Minimum Viable Product (MVP)
### Milestone 3: Minimum Viable Product (MVP) for Multiwallet Support
- **Deliverables:**
- Functional wallet setup interface (create, import, export, backup, recover).
- Invoice creation and payment verification.
- UI for Monero daemon configuration.
- Integration for wallet recovery and backup functionality.
- Dockerize monero-lws if not available
- Onboarding redesign to support both wallet-rpc and lws
- Basic `monero-lws` support tested and integrated.
- Release as 0.2.0
- **Funds:** 35%
- **Timeline:** Week 7-12
- **Timeline:** Week 11-18
- **Status:** Not started
---
@ -95,20 +109,21 @@ Contributors:
- UI/UX enhancements for seamless user experience.
- Comprehensive documentation (installation, usage, troubleshooting, migration).
- Bug fixing and testing.
- Migration support for existing Monero merchants.
- Review remote node implementation
- Final release of the plugin.
- Post-release support and maintenance plan.
- Community engagement and feedback collection.
- Ongoing support for the plugin.
- **Funds:** 25%
- **Timeline:** Week 13-16
- **Timeline:** Week 19-24
- **Status:** Not started
## Timeline
The integration process is expected to take approximately 16-20 weeks.
The integration process is expected to take approximately 16-24 weeks.
## Future Roadmap
- Plans for ongoing maintanance and support for the plugin.
- Community feedback for future improvements and features.
- Expanding wallet features and functionality.
- Plans for ongoing maintenance and support for the plugin.
- Launch first community instance of BTCPay
- Expand wallet features and functionality.
- Continue reviewing open pull request, complete testing and manage releases