Skip to content
This repository has been archived by the owner on Oct 3, 2024. It is now read-only.

Proposal for BTCPayserver #2

Closed

Conversation

HysMagus
Copy link
Contributor

@HysMagus HysMagus commented Dec 18, 2019

layout: fr
title: Integrating XZC to BTCPayserver
author: The Arcadia Group
date: December 18, 2019
amount: 970
milestones:

  • name: Sprint 1 - Integrating Zcoin and Sigma Spend Reception & QA/Testing
    funds: 50% (484.5 XZC)
    done:
    status: unfinished
  • name: Sprint 2 - Finalizing and Testing BTCPayserver for Zcoin
    funds: 50% (485.5 XZC)
    done:
    status: unfinished
    payouts:
  • date:
    amount:
  • date:
    amount:

#Proposal
Our plan for building a custom fork of the BTCPayserver software can be broken down into, discovery, analysis and development. We have worked previously with Zcoin's codebase with our work on Reciever Address Privacy. While working on BTCPayserver will likely not require modification to the core codebase, unless zcoin is missing RPC Calls, which there may be as Zcoin doesn't always have all of the more recent changes to RPC functionality from upstream Bitcoin and Dash. We at Arcadia are big on Zcoin, and would love to continue contributing to the community through our peripheral development, to assist in making Zcoin just a bit more accessible.

The cost of the following section has been modified thanks to new information
We will review the current BTCPayServer codebase accounting for work that has been done to integrate and identify the key elements of the codebase that need to be modified to work with Zcoin as well as the potential modifications needed to work with and accept Sigma spends. The motivation of this discovery will be to explore both the web-based eCommerce capabilities for a shopping cart or a buy now button, and the physical-based point of sale system integration capabilities.

Once the discovery is done, we will assess the current roadmap of BTCpayServer as it pertains to Zcoin's existing RPC functionality, and audit the capabilities with regards to improvements that might need to be made. Only then will we be able to generate an accurate assessment of the order in which things need to be done and will get started on the actual integration process.

BTCPayserver has a great deal of functionality that is not easily supportable on Zcoin (fiat settlement via Bitpay being one example), so we are limiting our scope on heavily tested functionality. The core functionality that would be focused upon during development would include,

  • The ability to accept standard Zcoin Transactions
  • The ability to accept Sigma Spends as a payment
  • Generic BTCPayServer Functionality for accepting XZC payments via:
  • E-Commerce
  • Point of Sale
  • Payment Buttons

The estimated timeframe on this project would be approximately two calendar weeks,
The team breakdown for this engagement would be:

  • 1 Full Time Developer
  • 1 UI/UX
  • 1 Project Manager

@reubenyap
Copy link
Member

Arcadia has been a pleasure to work with on RAP. Quick question, would this quote be revised if we are upgrading to latest Dash code and Bitcoin core 14?

@HysMagus
Copy link
Contributor Author

Not really, it might actually make our job easier as you'd be closer to the Bitcoin codebase version that BTCPayserver uses (rpc calls, etc.)

@reubenyap
Copy link
Member

Yes I meant that the quote can be revised down if the work is reduced if we bring it closer.

@akshaynexus
Copy link

akshaynexus commented Dec 26, 2019

Ive already done basic addition to the nbitcoin repo and probably needs a little changes in reference to the segwit definitions,just giving my observations,if zcoin updates to dash codebase you would probably need to use the new tx types as given in the nbitcoin repo pr here MetacoSA/NBitcoin#645 ,the rest should be simple todo and be added,ie remaining is the docker-xzc for the btcpayserver docker.All in all most of the integration was done already,just requires some testing and possibly adding sigma txes to be valid in explorer / btcpayserver.

TLDR;Initial integration from params of zcoin codebase to nbitcoin is already done and should be simple to edit to add other specific info,so i dont see why the initial stage needs to be there

@HysMagus
Copy link
Contributor Author

HysMagus commented Dec 26, 2019

Awesome! @akshaynexus Fantastic work! I was not aware of this specific PR, I'll check it out, and adjust the proposal

@akshaynexus
Copy link

That is in reference to the dash deterministic txes,the initial integration changes was already done,see the issue in zcoin core repo to see a link to the pr which was merged to nbitcoin.

@HysMagus
Copy link
Contributor Author

I've modified the proposal to remove one sprint accounting for the information @akshaynexus has provided (thanks for that Akshay 😄 ).

I made the decision to keep the QA Engineer at the same amount of time instead of decreasing as his testing period does not really change even if our developer finishes faster as his test cases won't have changed. I would love to see if there's any interest in having some community testing on top of the QA just to get a variety of different test scenarios to work with as we are limited in the ways our Engineer can test.

I've updated my initial post above with everything below it being struck through

@JustSavil
Copy link
Contributor

I would be interested in QA testing as a member of the community.

@Chameleon-Shin
Copy link

I would be interested in QA testing as a member of the community.

+1

@HysMagus
Copy link
Contributor Author

@reubenyap I will be reworking the proposal to better reflect community contributions on the side of development and of course the massive price movement so that this proposal looks a lot better cost and timeline-wise 😄

@HysMagus
Copy link
Contributor Author

I will be closing this PR and reopening it when a rework is complete.

@HysMagus HysMagus closed this Feb 13, 2020
@HysMagus HysMagus reopened this Feb 21, 2020
@HysMagus
Copy link
Contributor Author

This proposal has been updated to be massively cheaper accounting for both community contributions on the dev side, the addition of upstream guidance for how to do add altcoins, price movements, and of course lots of love :). I think this estimation and timeframe should be much more palatable.

@reubenyap
Copy link
Member

If anyone wants to express support for funding this, let us know.

@akshaynexus
Copy link

will we have the docker setup and other misc things needed done aswell?

@HysMagus
Copy link
Contributor Author

will we have the docker setup and other misc things needed done aswell?

We will be having a docker image, (following the BTCPayserver integration spec)

@HysMagus HysMagus closed this May 30, 2020
@HysMagus
Copy link
Contributor Author

Closed pending further interest

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants