Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BGL-WBGL(ETH) bridge #31

Open
wu-emma opened this issue May 14, 2021 · 13 comments
Open

BGL-WBGL(ETH) bridge #31

wu-emma opened this issue May 14, 2021 · 13 comments

Comments

@wu-emma
Copy link
Collaborator

wu-emma commented May 14, 2021

Develop a working concept for a service that would provide following features:

  • Manage a custodial address in BGL mainnet, that would hold the funds and a
    externally owned address in Eth mainnet, holding WBGL;
  • These addresses would be filled with equal amount of BGL and WBGL (no minting
    for proof of concept, limited amount to reduce risks);
  • Provide transition from one BGL mainnet to Eth mainnet for user funds with
    a certain web application;

The main user flows are as following:

  1. User wants to transition from BGL mainnet to WBGL:
    • user opens web page;
    • user adds his Eth mainnet address and gets a generated BGL address that
      would be linked with his Eth address (address is derived from a custodial
      wallet). If user sends BGL to his address, service detects that and transfers
      WBGL to respective user wallet from WBGL custodial wallet and aggregates
      funds from user associated BGL wallet to BGL custodial wallet;
  2. User wants to transition from ERC20 WBGL to BGL mainnet:
    • user opens web page;
    • user adds his BGL wallet address and adds his Eth address, performing a signature of
      BGL address with his Eth wallet private key to serve as authentity proof.
      Adter sending WBGL to the custodial wallet from added Eth address, service detects such
      transaction and transfers equal portion of BGL to added user address.
      Linked addresses data can be stored in database.

(I miscreated issue on personal repo, please make PRs and fork them from the repo github.com/bitgesellofficial/bitgesell), sorry created issue in this one by mistake

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 2000.0 USDT (2000.0 USD @ $1.0/USDT) attached to it.

@gitcoinbot
Copy link

gitcoinbot commented May 14, 2021

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 265 years, 6 months from now.
Please review their action plans below:

1) leetdev has been approved to start work.

I would love to work on this project. I am a very experienced web developer and software engineer, well versed in both backend and frontend code. I would use Javascript for the implementation (using something like React for the frontend, and node.js for the backend service).

I have looked at the jsbgl.js library for the BGL RPC integration, which seems to have adequate documentation for the functionality this project requires. I also have experience using web3.js for interacting with Infura for Ethereum integrations. I believe I am ready to get started on this as soon as my application is accepted.

Feel free to ask me for any additional details on this Github issue.

Learn more on the Gitcoin Issue Details page.

@leetdev
Copy link

leetdev commented May 17, 2021

Hi @wu-emma, thanks for approving my application!

I have a couple of questions regarding this project.

  1. Should I set this up to use testnet (for both BGL and Ethereum networks) for the development versions, and mainnet for the production version?
  2. How should transaction fees be handled when sending converted coins/tokens to the recipient account, as well as transactions to the custodial wallet?

That's it for now. I will most likely have more questions during development, should I continue to post them here or would you prefer using a private channel for future communications (such as e-mail)?

@wu-emma
Copy link
Collaborator Author

wu-emma commented May 18, 2021

(I miscreated issue on personal repo, please make PRs and fork them from the repo github.com/bitgesellofficial/bitgesell), sorry created issue in this one by mistake

  1. You can use BGL mainnet for testing and we can some Eth testnet like Kovan to not pay for tx fees, I would provide some BGLs for testing and the fees are pretty low currently;
  2. Ideally user should pay for tx fees, but on the start service can do this.

You can write me here for now, should be ok, I'm getting notifications (that would also calm down Gitcoin bot as it tracks activity)

@gitcoinbot
Copy link

@leetdev Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • reminder (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

1 similar comment
@gitcoinbot
Copy link

@leetdev Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • reminder (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@leetdev
Copy link

leetdev commented May 20, 2021

I am still working on the issue. I have created a basic UI, set up a backend service, and also a local BGL node for RPC. I'll be integrating the UI with the backend service next, as well as implementing the custodial wallet functionality.

When it comes to forking the main repository, wouldn't it make more sense to create an empty repository under the Bitgesell official account instead, so I can post the PR there? This prototype doesn't really belong in the same place as the BGL core in my opinion.

@wu-emma
Copy link
Collaborator Author

wu-emma commented May 21, 2021

I created a repo and have invited you there, good idea, thanks!
https://github.com/BitgesellOfficial/wbgl-bridge

@leetdev
Copy link

leetdev commented May 21, 2021

@wu-emma, I've created a custodial BGL address for local development, can you send some coins there for testing? The address is: bgl1q56r8vwjjrwfu3ng8rsd20c6afysnp4368z7wd6

Edit: Or perhaps I am understanding this a bit wrong. I noticed that you already have custodian wallets for the Eth and BSC blockchains, is this service supposed to send BGL directly from that address? In which case I guess it would need to be added to the wallet running on the BGL node the service uses. Nevertheless, it would probably be best to use a separate address for testing.

@wu-emma
Copy link
Collaborator Author

wu-emma commented May 25, 2021 via email

@leetdev
Copy link

leetdev commented May 25, 2021

Hi @wu-emma,

I have effectively finished building the prototype for this application.

I have pushed my code to the project's repository. Tomorrow I will write a readme containing all the important information regarding the nature of this prototype, its features and shortcomings, as well as instructions for setting it up.

Regards,
Rene

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 2000.0 USDT (2000.0 USD @ $1.0/USDT) has been submitted by:


@leetdev
Copy link

leetdev commented May 26, 2021

@wu-emma, I have created a readme for the repo. Let me know if you need anything else. I can also help setting it up if needed.

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

No branches or pull requests

3 participants