DevCoral / CoralScillaContract

Apache License 2.0
0 stars 2 forks source link

Testnet - Develop in-app wallet feature #1

Closed DevCoral closed 3 years ago

DevCoral commented 3 years ago

Features Required for the Coral App:

  1. In-app wallet feature for users to store governance tokens
  2. Mechanism to earn tokens in the G-Chat community forum
  3. Test the Send and Receive ZIL and CRL tokens
gitcoinbot commented 3 years ago

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


This issue now has a funding of 11390.5604 ZIL (1369.95 USD @ $0.12/ZIL) attached to it as part of the Coral App fund.

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 2 weeks, 5 days from now. Please review their action plans below:

1) ashutoshvarma has been approved to start work.

1.) Fork, make Draft [WIP] PR 2.) Write contracts for implementing wallet (multisig wallet or something else if you want). 3.) Test contracts 4.) Figure out G-Chat token reward mechanism (finding triggers would be tricky part). 4.) Test token reward mechanism (Regarding "Test and Send" point I don't quite understand it, is it implementing faucet like or something simpler or something else?)

I have experience in working with smart contracts on multiple projects before and have a good grasp of all the fundamentals. I have contributed to many open-source projects like scipy, cython, numba, google/jax, xpdf, etc. Recently I also completed a bounty by web3 foundation in just 4 days: link (https://gitcoin.co/issue/not-yet-awesome-rust/not-yet-awesome-rust/93/100024777).

I am confident that I will be able to complete the work. Looking forward to working on this project.

Learn more on the Gitcoin Issue Details page.

DevCoral commented 3 years ago

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

Workers have applied to start work.

These users each claimed they can complete the work by 2 weeks, 6 days from now. Please review their action plans below:

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

1.) Fork, make Draft [WIP] PR 2.) Write contracts for implementing wallet (multisig wallet or something else if you want). 3.) Test contracts 4.) Figure out G-Chat token reward mechanism (finding triggers would be tricky part). 4.) Test token reward mechanism (Regarding "Test and Send" point I don't quite understand it, is it implementing faucet like or something simpler or something else?)

I have experience in working with smart contracts on multiple projects before and have a good grasp of all the fundamentals. I have contributed to many open-source projects like scipy, cython, numba, google/jax, xpdf, etc. Recently I also completed a bounty by web3 foundation in just 4 days: link (https://gitcoin.co/issue/not-yet-awesome-rust/not-yet-awesome-rust/93/100024777).

I am confident that I will be able to complete the work. Looking forward to working on this project.

Learn more on the Gitcoin Issue Details page.

For the reward mechanism, tokens will be used as rewards for responding to a post. For example, if post gets 50 likes, the user will get 1 CRL. over time, they accumulate enough and get badges for reputation within the community. The G-Chat is the chat forum for the app where people will go and chat and get rewarded for giving good responses. The reward has to be processed and CRL deposited in their wallet once earned. Hope this is clearer.

gitcoinbot commented 3 years ago

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

ashutoshvarma commented 3 years ago

@DevCoral (@mul1sh) apologies for getting back to you this late. I was not able to start the work due to sudden & unexpected relocation to another city. For the past few days I have been busy arranging transportation of household goods and lodging for myself. I hope things will settle down in few days for me and will update you.

For the reward mechanism, tokens will be used as rewards for responding to a post. For example, if post gets 50 likes, the user will get 1 CRL. over time, they accumulate enough and get badges for reputation within the community. The G-Chat is the chat forum for the app where people will go and chat and get rewarded for giving good responses. The reward has to be processed and CRL deposited in their wallet once earned. Hope this is clearer

I see that meens triggers will be defined in app itself and only transaction and wallet handling has to be implemented in contracts.

Just to reaffirm, this bounty is about implementing features backend in contracts (this repo), test and document them so that app developer can integrate it in coral app.

DevCoral commented 3 years ago

@DevCoral (@mul1sh) apologies for getting back to you this late. I was not able to start the work due to sudden & unexpected relocation to another city. For the past few days I have been busy arranging transportation of household goods and lodging for myself. I hope things will settle down in few days for me and will update you.

For the reward mechanism, tokens will be used as rewards for responding to a post. For example, if post gets 50 likes, the user will get 1 CRL. over time, they accumulate enough and get badges for reputation within the community. The G-Chat is the chat forum for the app where people will go and chat and get rewarded for giving good responses. The reward has to be processed and CRL deposited in their wallet once earned. Hope this is clearer

I see that meens triggers will be defined in app itself and only transaction and wallet handling has to be implemented in contracts.

Just to reaffirm, this bounty is about implementing features backend in contracts (this repo), test and document them so that app developer can integrate it in coral app.

Hi Ashutoshvarma, okay. Hope things settle down for you soon. Please give me an exact time frame to expect you back. That will be helpful. Yes. The goal is to get the backend completed, develop the mechanism. The app developer will integrate it into the coral app. They will work with you to make sure everything functions properly once you are completed. Thanks

gitcoinbot commented 3 years ago

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

ashutoshvarma commented 3 years ago

@mul1sh @DevCoral Thank you for being so patient, I have settled down now and I will continue the work form today. I am expecting the upper bound of 1 week for this work and will keep you updated.

DevCoral commented 3 years ago

@mul1sh @DevCoral Thank you for being so patient, I have settled down now and I will continue the work form today. I am expecting the upper bound of 1 week for this work and will keep you updated.

Okay. Let me know if you have any questions. You can reach me in the Coral community on TG as well or dev@mycoralapp.tech

ashutoshvarma commented 3 years ago

@DevCoral I am planning to rewrite the governance token with extra helper functions for rewards transactions. The current deployed CRL token (https://viewblock.io/zilliqa/address/zil1vugns8p45egqjrmzm3hr7lgn66dqxjewm234xr?network=testnet) is a fungible non-mintable token with initial state :-

NAME TYPE VALUE
name String "CoralReef"
symbol String "CRL"
decimals Uint32 "5"
init_supply Uint128 "500000000"

Does any of these need to change or I can just keep them as it is? Also since it is a governance token should we append ''g" to its symbol (like "gCRL") to make it more explicit ?

ashutoshvarma commented 3 years ago

After you mentioned socios in telegram, I have been reading about it in detail, especially their wallet mechanism.

Chiiliz, the company behind socios has its own ERC20 token labeled as CHZ which operates on the Ethereum Mainnet blockchain. Besides CHZ, the socios platform also issues Fan Tokens which are exactly the same as ERC20 but they operate on a different blockchain called Chiliz Blockchain, which is a permissioned (private) blockchain. They have essentially made Gas prices in their private blockchain zero so transaction and minting of their fan tokens is essentially free. Which in turn allows them to distribute (or transact) them as a reward in the community without paying Eth. Also, their wallet is non-custodial, they don't provide private keys. https://www.chiliz.com/docs/CHZ_whitepaper.pdf https://medium.com/chiliz/chiliz-faq-376aafa0e18e

We cannot replicate the socios wallet as we are operating our token in Zilliqa Blockchain, unlike some private blockchain. We have to pay gas for sending CRL (coral tokens) to anyone.

For the reward mechanism, I will add a function called sendReward() in the CRL contract token which will transfer a fixed amount of CRL to a specified wallet address. As you said in-app chat, the G-Chat will have a like feature, so when likes reach a certain threshold let's say 50, the sendReward() function in the contract can be called for the given user's wallet. The app developer can use Zilliqa SDK for this. The current minimum gas price for Zilliqa is 0.002 ZIL ($0.00025), so for processing 10K rewards, it will cost around $2.5 in gas which I think is doable.

Also the app developer can use Zilliqa SDK to add send, receive buttons for the wallet once I am completed with the governance token contract and it is deployed to the main net.

ashutoshvarma commented 3 years ago

For the reward mechanism, I will add a function called sendReward() in the CRL contract token which will transfer a fixed amount of CRL to a specified wallet address. As you said in-app chat, the G-Chat will have a like feature, so when likes reach a certain threshold let's say 50, the sendReward() function in the contract can be called for the given user's wallet. The app developer can use Zilliqa SDK for this. The current minimum gas price for Zilliqa is 0.002 ZIL ($0.00025), so for processing 10K rewards, it will cost around $2.5 in gas which I think is doable. Also the app developer can use Zilliqa SDK to add send, receive buttons for the wallet once I am completed with the governance token contract and it is deployed to the main net.

@DevCoral @mul1sh do you have any other suggestions regarding this or should we go with this?

ashutoshvarma commented 3 years ago

Contracts are almost done, I will create PR soon

gitcoinbot commented 3 years ago

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


Work for 11390.5604 ZIL (1332.0 USD @ $0.12/ZIL) has been submitted by: