Remove ZCash and Monero from core code - #6535
Conversation
6dd2732 to
29d602b
Compare
b860c76 to
21b100b
Compare
|
MAGIC Grants is interested in maintaining the Monero plugin. You can contact me at justin@magicgrants.org Similar to OpenSats, MAGIC Grants is a 501(c)(3) public charity that supports essential cryptocurrency infrastructure. One main difference is that in addition to supporting Bitcoin, we support some other networks as well. Thank you for taking the time to make the We are potentially interested in maintaining a Zcash plugin, though that is a lower priority for us (we currently only use BTCPay Server for accepting Bitcoin and Monero donations). |
|
For Monero, I am now talking with @deverickapollo and @napoly For ZCash, I still need to migrate to a repo. I am not sure anybody is actually using it, the reason being that they didn't do one part of the job: Integrating it to the docker-compose deployment. |
1f1b156 to
ad815b0
Compare
|
Hi @NicolasDorier . Thanks for your work around migrating the core Monero and Zcash implementations into plugins. I have relayed this discussion in the Zcash forum. I have offered to do some testing and limited maintenance of the Zcash BTCPayServer implementation; while I am not proficient in C#/ASP.NET, I should be able to help with some tasks such as contributing a Zcash file for the docker-compose deployment and testing new releases. I have created a fork of the Zcash Docker compose example repository with an environment variable for the main Zcash Release notes and semver for breaking changes of the BTCPayServer altcoin plugin architecture/API would be much appreciated to make plugin maintenance easier. Refactoring of both the Monero and Zcash plugins to have a common shared library could make sense to make maintenance of both plugins more straight forward, eliminating duplicate work going forward and allowing for improved functionality like multiple wallets/accounts in both plugins. |
|
@macintoshhelper thanks for proposing your help! If you can fix the plugin, can you make pull requests on https://github.com/btcpayserver/btcpayserver-zcash-plugin ? I will keep ownership of both monero and zcash until 2.1 is released. Then I will transfer. ZCash gathered dust for a while, so I am not surprised if something broke but nobody saw it yet. That said, I don't expect it to be a big deal to fix. I will always be available to respond to any questions or trouble you have. You can DM me directly on https://chat.btcpayserver.org/ to make the back and forth easier.
This is sadly not possible. Plugins have access to all the classes inside BTCPay Server, and we can't guarantee stability on such scale as it would make us impossible to change anything. That said, we are making best effort to not break things, and also communicate about it. As far as breaking change are concerned for zcash and monero there haven't been any to my knowledge until 2.0. (I handled the migration to the best I could)
This is difficult from the point of view of maintenance, as I don't expect both plugins to be owned by the same team and sharing same vision. Such common library wouldn't be able to satisfy the need of both at the same time. |
ad815b0 to
cdc44eb
Compare
cdc44eb to
51c2b9f
Compare
|
Merging this as we prepare for 2.1 in one or two weeks. We will communicate more in a blog post and will check with @deverickapollo on the way to go from there. |
Monero and ZCash have, for a long time, been part of the BTCPay Server source code.
This has brought a few challenges for us:
This creates a situation where no one is truly satisfied.
However, we fully support their efforts to provide more options for our users, we do not want to become gate keepers. BTCPay Server is dedicated to offering the freedom to choose what works best for your specific circumstances and values.
A major motivation for BTCPay Server 2.0 has been to make the codebase more extensible, allowing such integrations to live in separate repositories maintained by different teams.
This enables altcoin teams to add new features without requiring review from us.
From the perspective of BTCPay Server contributors, it allows us to focus more effectively on Bitcoin.
This PR removes all code related to ZCash and Monero from the source.
What to Know for Merchants Using Monero or ZCash
We understand that many merchants rely on the Monero plugin, and we aim to minimize any disruptions to their business.
To achieve this, we dedicated time to developing the initial versions of these plugins, ensuring they are stable and thoroughly tested.
When you update to version 2.1 and log in to BTCPay Server as an administrator, you will see a warning prompting you to install the Monero or ZCash plugin. Once installed, restart the server.
Everything else will continue to function as it did before.
What to know for integrators
Projects like Start9, which enable their users to activate Monero, do not need to make any specific changes.
We have maintained the same configuration keys as before.
Your users will see a warning asking them to install the plugin when they log in as administrator.
What to know for plugin maintainers
Our docker-compose deployment will continue to support the deployment of Monero dependencies. ZCash has never been supported. We will continue merging your contributions there.
Our Docker files repository still hosts Monero Dockerfiles.
Maintainers can continue to use this repository. If we are unresponsive to your Pull Request, please reach out to us via our chat. However, we recommend hosting the Docker file and images in your own repository instead to limit our interactions.
New repository for Monero
The Monero plugin is now hosted on this repository.
I added additional context for the monero's community there.
The next steps are:
btcpayserversubmodules once we release 2.1New repository for ZCash
The ZCash plugin is now hosted on this repository.
The plugin has never been maintained by the original author @hhanh00, and never integrated to the docker-compose deployment. It isn't documented either.
As such, I doubt it is used.
I migrated it a different repository, made sure it compiles, but I will not test it, nor release the plugin.
It seems that this plugin is more or less a copy-paste of the better-maintained Monero Plugin.
The next steps are:
btcpayserversubmodules once we release 2.1Next steps