To be discussed: #1 “Trust-less” as a requirement
There will be some kind of centralisation, basically, the bot will operate as an oracle. The wrapped HIVE will be own-able, and the bot will control it, as well as the real HIVE will be on the bot's account. Bottom line, I can't think out a way to make it completely trust-less, basically all Ethereum "bridges" are not trust-less, (except wETH)
To be discussed: #2 Preferred Dex
uniswap?
Task breakdownPreparation
- Relevant documentation gathering. (1-2 hours).
- Planning of the project and material study. (1-2 hours)
Development (break-down by features)
- Creation of a mintable and burnable stable coin (ERC777 Contract) I already have this as a quick-start template, so need a day (maybe two) to customise it and deploy it (8-16 hours).
- We’ll need to add a burning function here to allow users to redeem their HIV tokens, so the function will burn x amount of tokens from the user balance and fire an event, to let the bot that user must receive real HIVE tokens (5-10 hours).
- Creation of a Hive bot which will receive HIVE tokens from users and mint wHIVE for the address specified in the memo. Roughly I estimate this for 5 days (30-40 hours).
Testing phase / staging (recommended)
- Reserved for testing/bug fixing/error handling (30-60 hours).
Production deployment
- Searching for the most suitable production infrastructure + deployment (10-20 hours).
Estimates
Development fee: 45$/hEstimated average project length (h): 112
Budget = 112h * 45$/h = 5040$
Note#1: In case of approval, this proposal will only be active for 2 weeks!
Disclaimer: all the time estimates are susceptible of variation due to the inherent uncertainty of the development processes. There might be missing intermediate steps that are missing in the breakdown.
Consider Voting for this Proposal here:
Find and vote the proposal here or vote directly via hivesigner.
Best Regards, lightproject
Hi, what language will you use for this app? I already created an oracle to convert HIVE<->WHIVE (written in JS) and it will probably be deployed to production this week.
I used mintable/burnable ERC20 token, is there any significant reason to use ERC777 instead?
It will be JS based.
ERC777 is a newer token standard. In any case, there is backwards compatibility.
Even though the ERC777 standard replaces the functions transfer and transferFrom with the functions send and operatorSend, all ERC20 functions (transfer, transferFrom, approve and allowance) can still be used.
The key here is to create the bridge and make sure we can trust it. I.e. the bot which controls the funds, will be centralized as I understand from your proposal, so you will somehow have to prove that these funds are safe and you cannot just run away with them.
Creating the market on ETH is something you don't have to worry about. As soon as the token exist on ETH there can automatically be a market via uniswap and all the other dexes over there (i.e. balancer)
In order to avoid the centralized security risk, it may be better to created a synthetic token where the minting happens with collateral. This would make everything a bit safer.
I created a shortcut link to easily vote for this good proposal.
https://hivesigner.com/sign/update-proposal-votes?proposal_ids=%5B126%5D&approve=true
Hey, I wrote a post regarding decentralization of WHIVE and how to make is more trust-less.
https://hive.blog/hive/@fbslo/decentralization-of-wrapped-hive-discussion