BitgesellOfficial / bitgesell

Bitgesell (BGL) is a digital currency with built-in scarcity
https://www.bitgesell.ca
MIT License
23 stars 37 forks source link

BGL-WBGL(ETH) bridge #31

Open wu-emma opened 3 years ago

wu-emma commented 3 years ago

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

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

(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 commented 3 years ago

@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!

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

gitcoinbot commented 3 years ago

@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!

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

leetdev commented 3 years ago

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 commented 3 years ago

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

leetdev commented 3 years ago

@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 commented 3 years ago

Hi Rene,

thanks for the updates! I have sent 500 BGL, tx id is d11b863e3bf3b792ceda1f3c8c4371a761ece191d1ba20bdf343e7027da656bf As for WBGL there's no contract deployed on Kovan or other testnets, but you can take the solidity source code and deploy it https://etherscan.io/address/0xbaa1f3257d808c5078f25e8405da4a703485eb3e#code Hope everything would work out!

Regards, Emma

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, May 21, 2021 12:29 PM, Rene Aavik @.***> wrote:

Another thing - I looked at the Kovan testnet and found no ERC20 contract for WBGL, at least not at the same address as on the mainnet. Is it on another address, or maybe it exists on another test network?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

leetdev commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

@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.