opcryptogroot / Guardians-Of-The-Galaxy

Decentralized peacekeeping collective
0 stars 1 forks source link

Make and deploy a basic frontend for RemovePutinBounty.sol #1

Closed opcryptogroot closed 2 years ago

opcryptogroot commented 2 years ago

The RemovePutinBounty.sol contract deployed there has been made to incentivize Russians to remove Putin from power. We now need a UI to make contributing to it easy. Make and deploye a basic UI for it. The initial UI will be as basic as possible in the style of vfat.tools.

It should show:

If the state is initial, it should allow to:

This issue is only for the initial state, other states will be part of other bounties (on which you would have priority). In addition to the ETH, we'll provide you Guardian tokens when those will be available. As this is quite a sensitive topic, do not use a public profile.

gitcoinbot commented 2 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 264 years, 4 months from now. Please review their action plans below:

1) praise-eze has applied to start work _(Funders only: approve worker | reject worker)_.

I am a front end engineer , this is a simple task and can be easily implemented 2) 0xanonbounties has applied to start work _(Funders only: approve worker | reject worker)_.

I'm a designer and front-end engineer. This seems like a task I could do well. I will make the UI basic like vfat.tools. I would inform on my progress and be strive to make the user interface and user experience the best I can. This would be also personal since I live in a country which is close to the conflict 3) shafa041 has applied to start work _(Funders only: approve worker | reject worker)_.

0x6AB506C12ddCF8719C8eDAc49D4B88A9D6C25b42 4) giorgiothegood has applied to start work _(Funders only: approve worker | reject worker)_.

As a designer, I will do your product following the topics of the briefing. I can imagine the pages, interactions, so I will create on Figma and post it here. 5) hashedpip has been approved to start work.

Hi! This is my newly created profile @hashedpip, I am applying with my secondary profile for security reasons;

The tech stack I will be using for this project:

1) Vanilla JS and Bootstrap for a simple UI; 2) Moralis Web3 API to fetch on-chain data; 3) Moralis Cloud Functions to compute random WEP 256-bit salt; 4) Generate a downloadable link using blob; 5) Message sign through web3.js using MetaMask; 6) (optional) Feed with all previous predictions and their contribution values; 6) 0xkarl has applied to start work _(Funders only: approve worker | reject worker)_.

I believe this can be delivered in a day. Plan to implement the frontend in React + a subgraph that will aid in generating the predicts history. 7) rokko has applied to start work _(Funders only: approve worker | reject worker)_.

Hello, i m frontend Dev. In the past i Ve develop site for a smart contact mike besteam.io . I can develop in 3-4 days. 8) pailodze has applied to start work _(Funders only: approve worker | reject worker)_.

Hi, We're a team of developers, looking for long-term business commitments. Ping me to discuss details. 9) xinminsu has applied to start work _(Funders only: approve worker | reject worker)_.

https://github.com/opcryptogroot/Guardians-Of-The-Galaxy/pull/3 10) trungtin has applied to start work _(Funders only: approve worker | reject worker)_.

a duo of senior designer/developer here, love to take a stab at this bounty. We can work closely with you from start to finish.

ETA for MVP is 1 week to 10 days. 11) zadenmubarak has applied to start work _(Funders only: approve worker | reject worker)_.

This will be an awesome challenge, I'm ready

Learn more on the Gitcoin Issue Details page.

opcryptogroot commented 2 years ago

Thanks for your proposal hashedpip. I selected it. Do not hesitate to ask if you have questions. Cheersm

hashedpip commented 2 years ago

Thanks for your proposal hashedpip. I selected it. Do not hesitate to ask if you have questions. Cheersm

Thanks, @opcryptogroot! I am starting to work on this bounty right now. I will keep you updated about the development log and get back soon with a layout proposal for the front-end so you can give your input about the style.

About the UI, do you want me to replicate vfat.tools's style as similar as possible or make something simple but not exactly the same?

hashedpip commented 2 years ago

Hello again @opcryptogroot, just dropping by to show the first draft for the RemovePutinBounty.sol Dapp.

You can check the repo HERE And the deployed demo HERE

Again, if you want me to go to vfat.tools's style direction, it can be easily arranged. I am starting working on the required features on this template but we can port it to another layout later pretty easily.

PS:. This is only an initial template. I've just done connect button logic, Dapp status and total contributed fields (only works on Ethereum Mainet);

gitcoinbot commented 2 years ago

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


Work for 1.029 ETH (2915.49 USD @ $2830.57/ETH) has been submitted by:

  1. @hashedpip

@opcryptogroot please take a look at the submitted work:


opcryptogroot commented 2 years ago

Thanks. For the vfat.tools style it was just to ask a really simple interface, not to do completely the same. Here the style isn't really the same. Could you try to update the colors to match vfat.tools? Here it looks too inofensive. I think a more "Hacker" kind of vibe would be better.

opcryptogroot commented 2 years ago

Could you change those few things (easy wins)?

"Predict Putin's Removal" -> "Predict Putin's Removal Date" + in smaller "If you correctly predict when Putin will be be removed from power within 36h, you will get the bounty."

"RemovePutinBounty" (as page title) -> "Remove Putin"

"DApp Status" -> "Bounty Status"

"Has been confirmed on the Blockchain" -> "Has been confirmed"

"Please note your Predict is valid only when confirmed on the Blockchain! " -> "Please note your Prediction is valid only when confirmed on chain! "

"Create a predict" -> "Create a prediction"

"Send predict" -> "Send prediction"

"Or only Contribute" -> "Contribute to the bounty" + in smaller "The bounty will be given to whomever can predict when Putin will be removed from power. If the bounty is not paid out, you will be reimbursed."

Call the file "prediction.json" instead of "data.json".

Switch the place of Contribute and Predict (more people will contribute than predict).

Remove the "See on Etherscan". Make the contribution field clickable linking to Etherscan.

Add a Type instead of the "See on Etherscan". Show "Contribution" or "Prediction".

opcryptogroot commented 2 years ago

Also it looks like the first contribution (100 ETH) doesn't show (but counted "Showing 1 to 3 of 3 entries").

opcryptogroot commented 2 years ago

Also it'd be cool to add a discord link https://discord.gg/TMcqAhz656

hashedpip commented 2 years ago

Could you change those few things (easy wins)?

"Predict Putin's Removal" -> "Predict Putin's Removal Date" + in smaller "If you correctly predict when Putin will be be removed from power within 36h, you will get the bounty."

"RemovePutinBounty" (as page title) -> "Remove Putin"

"DApp Status" -> "Bounty Status"

"Has been confirmed on the Blockchain" -> "Has been confirmed"

"Please note your Predict is valid only when confirmed on the Blockchain! " -> "Please note your Prediction is valid only when confirmed on chain! "

"Create a predict" -> "Create a prediction"

"Send predict" -> "Send prediction"

"Or only Contribute" -> "Contribute to the bounty" + in smaller "The bounty will be given to whomever can predict when Putin will be removed from power."

Call the file "prediction.json" instead of "data.json".

Switch the place of Contribute and Predict (more people will contribute than predict).

Remove the "See on Etherscan". Make the contribution field clickable linking to Etherscan.

Add a Type instead of the "See on Etherscan". Show "Contribution" or "Prediction".

I am working on the changes. The older contributions however are a little bit trickier to fetch from the blockchain since they have been submitted more than 30 days ago. I can implement a workaround, but the table might load a little bit slower.

Now the invisible entry in the table is a Datatable bug, I am investigating.

hashedpip commented 2 years ago

Thanks. For the vfat.tools style it was just to ask a really simple interface, not to do completely the same. Here the style isn't really the same. Could you try to update the colors to match vfat.tools? Here it looks too inofensive. I think a more "Hacker" kind of vibe would be better.

I can do the vfat tools color palette, but I can go this way for a more "Hacker" style:

image

Let me know what you think

opcryptogroot commented 2 years ago

Hacker palette is OK.

opcryptogroot commented 2 years ago

Other requests: Only have one Total contributed: "Total Contributed: (USD Value)" field. Use space every 3 digits to make the total contribution more readable: "276 387 USD" instead of "276387 USD".

opcryptogroot commented 2 years ago

Also do you really want to show past contributions? This wasn't part of the spec and if it can't be done easily, we could instead have an explanation of the project.

hashedpip commented 2 years ago

Also do you really want to show past contributions? This wasn't part of the spec and if it can't be done easily, we could instead have an explanation of the project.

I think it looks cool, plus it was an amazing data-handling exercise, but we can definitely change that if you like. Let me know what you want me to write in the explanation field.

Another option is to make the data table smaller and place the explanation right above it.

opcryptogroot commented 2 years ago

Yeah, we can keep the table then.

opcryptogroot commented 2 years ago

Can everything run in the frontend? I plan to put the page on IPFS with a .eth domain. It's easier if we don't need any backend.

hashedpip commented 2 years ago

ops, did it again.

Can everything run in the frontend? I plan to put the page on IPFS with a .eth domain. It's easier if we don't need any backend.

Yes, everything runs in the frontend

opcryptogroot commented 2 years ago

Or we could have different tabs, use one for the explanation (You can use Lorem Ipsum for now).

hashedpip commented 2 years ago

Or we could have different tabs, use one for the explanation (You can use Lorem Ipsum for now).

Ok, I'm on it.

As for the Datatable, it is possible to fetch all transactions within the past seven days without compromising performance (considering we don't have a backend). So the decision to keep it or not is on you.

opcryptogroot commented 2 years ago

In this case it may be better not to show them, as otherwise it would look like there is less activity than there really is.

hashedpip commented 2 years ago

@opcryptogroot new features and changes added to #4

A live demo can be found HERE

waiting on your feedback Cheers

opcryptogroot commented 2 years ago

Hi Hashedpip,

Looks very good. I'll give the text to put and proceed to the ETH payout.

hashedpip commented 2 years ago

Hi Hashedpip,

Looks very good. I'll give the text to put and proceed to the ETH payout.

@opcryptogroot ok, I am waiting for the text to complete the dApp.

opcryptogroot commented 2 years ago

Thanks for waiting. I'm also working on a way to distribute GUARD tokens (basically yield farming GUARD with the PBTY tokens). Would you also want to work on this after the first release? It'd be on the same terms (I'll provide the contracts, 1 ETH + GUARD tokens to be assigned by the DAO in the future).

opcryptogroot commented 2 years ago

Tab view

Title (In big and green instead of "Lorem Ipsum") Putin out!

Subtitle (In grey instead of "dolor sit amet") Giving incentives to remove Putin from power

Text

Bounty goal

This dapp is made to incentivize Russians to remove Putin from power by any mean necessary. It is made as part of the Guardians of the Galaxy project.

Anyone wanting to remove Putin from power can make a contribution in ETH. It will be given to whomever will be able to predict when Putin will be removed from power. This way someone planing to remove Putin from power can claim the bounty as he would be able to know in advance when Putin would be removed, thus make the correct prediction.

The bounty acts in two different manners:

Cancellation

In case Putin calls back his troops, the bounty will be cancelled and contributors reimbursed. For this purpose, contributors will get PBTY tokens at a rate of 10 000 PBTY per ETH contributed. If the bounty is cancelled, those PBTY tokens will be redeemable for ETH at the same rate. The redemption will be open for 100 days after which the remaining funds could be reassigned to other Guardian projects.

Other reasons for cancellations are:

Making a prediction

Predictions are made with a commit and reveal scheme. This means that predictions are kept private until they are revealed to prevent people from copying others' predictions. As part of making a contribution, predictors will receive a prediction file that they should keep safely as it will be required to reveal the prediction. Predictors will need to make a contribution (otherwise people could just make a "guess" everyday to claim the bounty). In case multiple predictions are correct, the bounty will be split proportionally to the predictor contribution (ex: if two predictions with contribution 1 and 2 ETH are correct, the first predictor will get 1/3 of the bounty and the second 2/3).

Predictions must be made at least 12h before Putin is removed from power and need to be accurate +/- 36h to the reported removal time.

Future steps

We plan for the Guardian community to be more than just a tool in the fight against Ukraine war but also support democracy and peace at a larger scale (but for now, the number one problem in the world is war in Ukraine due to its risk of escalation into a nuclear conflict). To do so, we will release a GUARD governance token to be given initially to PBTY stakers. Note that in order to reassure people of our intentions, the team will not allocate GUARD tokens to itself and only the DAO will be able to setup allocations.

hashedpip commented 2 years ago

Thanks for waiting. I'm also working on a way to distribute GUARD tokens (basically yield farming GUARD with the PBTY tokens). Would you also want to work on this after the first release? It'd be on the same terms (I'll provide the contracts, 1 ETH + GUARD tokens to be assigned by the DAO in the future).

Hi @opcryptogroot, I have updated the Original PR with the texts you provided and a live demo is available HERE.

I would like to work on the GUARD yield farming dapp too, just let me know the requirements. If you have examples that would help.

opcryptogroot commented 2 years ago

Nice, I'll merge the PR and pay the bounty. I'll come back on this issue once the contracts are ready.

opcryptogroot commented 2 years ago

@hashedpip the contracts are ready. I made the GUARD token contract. For the farming contract we'll simply reuse synthetics contracts which are standard. Both contracts are uploaded on this github. Note that I can't deploy the stakingrewards now (because otherwise people could start staking before the UI is ready and it would not be fair), so you'll need to test on testnet first. Once it's working on testnet, I'll deploy on mainnet (I let you deploy on testnet).

You can put a "stake" onglet to allow people to farm. Basically, people having PBTY can stake those to get GUARD tokens. The staking contract is standard so I'd expect youu would find a lot of interfaces (try vfat.tools, note that some interfaces use some contracts where you can sign instead of approving, note that it is not our case) you could copy+change the color to match the theme.

Since ETH has decreased a bit since last time I'll pay 1.5 ETH this this (+GUARD when some are assigned to us by the DAO).

hashedpip commented 2 years ago

@opcryptogroot can we have a separated repo and/or issue for the staking UI? Just so I can update the development status in a new thread.

I have an initial template that I've been working on since we last talked, I would like to hear your feedback so I can better refactor it to our needs. I will upload the first draft within a day.

opcryptogroot commented 2 years ago

Hi @hashedpip, I'll close this issue and we can continue the conversation in https://github.com/opcryptogroot/Guardians-Of-The-Galaxy/issues/5 Looking forward for your first version.