BitgesellOfficial / BitgesellOfficial/bitgesell
BGL-WBGL(ETH) bridge
- Dominant language
- C++
- Stars
- 29
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
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.
- For the proof of concept, web3 wallet integration is not required;
- Any implementation details could be changed if they make sense, any improvements welcome;
- Any implementation language;
BGL RPC is fully compatible with bitcoin RPC:
https://developer.bitcoin.org/reference/rpc/
you can also use libraries and API from https://bitgesell.ca/#developers
WBGL is an ERC20 contract at https://etherscan.io/token/0x2bA64EFB7A4Ec8983E22A49c81fa216AC33f383A#readContract
you can use Eth gateway as Infura https://infura.io/ to interact programmatically
- If you are more comfortable to using Binance Smart Chain, contract address is the same and concept could
be done using BSC instead of Eth
(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
Contributor guide
Research direction
No repository files, tests, or entry points are identified. Confirm work belongs in github.com/bitgesellofficial/bitgesell, then review the BGL Bitcoin-compatible RPC documentation and the WBGL ERC20 contract. Done means a working proof of concept covering both transfer directions, address linking and persistence, without requiring web3 wallet integration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain
- Domain
- backend-api-design, blockchain, databases, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100