gitcoinco / web

Grow Open Source
https://gitcoin.co
Other
1.78k stars 771 forks source link

$7k for Personal Tokens on Gitcoin $LEET #6254

Closed owocki closed 3 years ago

owocki commented 4 years ago

i want to launch a personal token called $LEET and I have $7k in budget for someone or a team to build personal tokens into gitcoin. If anyone wants to bid on it by proposing a project plan then please submit your project plan to this thread. I’ll tip the best project plan by March 30th 1 ETH.

Primary use case for this feature: gitcoiners can Issue, market, and manage their personal tokens on gitcoin.

Search for $PEW on twitter to see what I mean. It’s a token you can buy from ameen solemnani to get a RT from him.

Other notable personal tokens $MAGIC which is worth 1 hour of Peter pans time (I think)

see also this thread https://gitcoin.co/townsquare?tab=activity:179545

gitcoinbot commented 4 years ago

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


This issue now has a funding of 60.0 ETH (7025.57 USD @ $117.09/ETH) attached to it.

kamescg commented 4 years ago

Just to confirm you are asking for someone to create a proposal for a novel use for a personal token?

Not just emulate the $PEW token offered by Ameen?

lychees commented 4 years ago

I am a $PEW token holder, and working on scale this feature for last few months. Currently my own personal token is issuing on Rinkeby testnet.

And today it has 187 holders and can be trading via uniswap protocol by using a fake cny-stable erc20 token on testnet. Most transacation was trigger by a telegram bot which is a part of this project.

The basic use case for this kind of token is permission control. E.g. some part of my article need some token to unlock, it can be hold, pay or stake depends on my setting. This is read permission, and some article may also has edit permission. Another use case of permission control is telegram group. My personal telegram group has a bot that will take control the token hold and kick those users who selled my token automatically. People can also transfer, buy, sell, query and even play with these personal token through our API in the telegram group. It could be easy to migrate to gitcoin ecosystem and launch to mainnet.

owocki commented 4 years ago

Just to confirm you are asking for someone to create a proposal for a novel use for a personal token?

no, i dont intend to reinvent this wheel. only integrate doing this in one click on gitcoin. Primary use case for this feature: gitcoiners can Issue, market, and manage their personal tokens on gitcoin.

owocki commented 4 years ago

@lychees this is very exciting to hear! are you interested in working together? is just project open source?

lychees commented 4 years ago

Yes. The telegram bot was open source since last month. And the contract and backend was open source since last week.

kamescg commented 4 years ago

gitcoiners can Issue, market, and manage their personal tokens on gitcoin.

Should have clarified. I didn't mean re-invent the wheel from a "token construction" point of view and enable people to easily deploy a personal token - which is cool.

Seems like a lot of ways you could present the "issue, market and manage" narrative around personal tokens though?

I meant novel in the sense of selling X hours or a N retweets but it sounds like you just want a "Personal Token Marketplace" to do all of that? Any people can offer what ever they want?

A general marketplace sounds cool. Been waiting for my invite from https://tryroll.com/ for awhile now. Looking forward to seeing it.

owocki commented 4 years ago

issue, market and manage

yeah i think this is where gitcoin can provide value. we have a native audience who you could buy or sell personal tokens from

I meant novel in the sense of selling X hours or a N retweets

i think in the sense of providing intelligent defaults well have options to make tokens that sell X hours or a N retweets. but hopefully we can make it extensible enough such that we can enable many more imaginative use cases!

gitcoinbot commented 4 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 1 year, 10 months ago. Please review their action plans below:

1) ccashwell has been approved to start work.

Hey @owocki here's a quick pitch for a tipping model.

Should be fun :) 2) bartuss22 has been approved to start work.

0x334a3e9cf752eF3eff346a0f0818aCf1d6f74Ab3 3) uivlis has been approved to start work.

I have prototyped in the past a dividendable ERC20 standard that distributes dividends to the owners of the token based on profits (ether/other tokens sent to the contract). I also prototyped a working uniswap-style exchange contract and exchange factory contract, and some issuance contracts based on the dividendable standard. My idea would revolve around these: each user on Gitcoin will choose, essentially, to ICO himself using one of those issuances, where the user can set the issue price. Then, the tokens get listed on the exchange. Each time the user completes a bounty, the rewards are pooled into the dividends pool of the user's token, ready to be claimed by the owners of the token, including the user (if he has invested in himself). That way, there will be incentives to invest in the gitcoiners, and the gitcoiners will be able to be funded from the outset. They can also restart the founding round of their personal ICO at any time. 4) vporton has applied to start work _(Funders only: approve worker | reject worker)_.

For the below I will assume that the token is ERC-20 named TKN.

We should have several kinds of personal tokens:

regular (the owner can mint as much as he wishes). The minting page should be similar to this my software (but we can do it without Aragon).

backed by Ether (to mint a personal token need to send Ether to the contract)

2.1. Anybody can send Ether to the contract to mint 1TKN/1ETH the personal token. Ether could be then withdrawable by the token owner.

2.2. Only the owner can send Ether to the contract to mint 1TKN/1ETH. The token goes to the wallet of the token owner, the Ether is stuck in the contract.

With a limited pre-minted amount (new tokens can not be minted) that simple goes to the wallet of the owner.

I can implement this, I have experience with making personal tokens in Solidity + Django + JavaScript. I can implement all 4 variants or just a subset of it. Please select the list of items you want me to implement.

I am available for the work, if you like my plan. 5) mds1 has applied to start work _(Funders only: approve worker | reject worker)_.

Proposal developed with @apbendi

Gitcoin Personal Tokens Proposal

High Level Proposal

There are two types of users for personal tokens. Minters create personal tokens and offer them for sale. Redeemers purchase personal tokens from minters, and later burn them as a claim on the Minter's time (or other services they are offering).

Each Minter's tokens are placed into a liquidity pool on Uniswap. The Minter decides how much each token should initially cost by specifying the Ether to back the tokens in the Uniswap liquidity pool.

As tokens are purchased, the price per token naturally increases. Minters can mint more tokens for the pool if they choose to, allowing them to adjust the price per token downward.

Liquidity is provided by a Gitcoin owned smart contract. Uniswap liquidity fees for personal token pools are thus earned by Gitcoin, providing a revenue stream to Gitcoin for providing the service with no additional cost to the users.

User Stories

Minter User Story

  1. When a user views their own profile, they'll see a button allowing them to create their own token.

  2. Selecting this button opens a form where the user provides:

    • token name
    • token symbol
    • token quantity
    • logo
    • token redemption value (e.g. 1 hour of time, a retweet, etc.)
  3. Upon form submission, Gitcoin sends a transaction to create token contract, mint initial quantity, and provide liquidity to a Uniswap pool.

  4. A Redeemer purchases some quantity of the Minters token. After coordinating their project with the Minter, the Redeemer burns their tokens to claim the Minter's services.

  5. Once redeemed, the token is burned.

  6. From their profile page, the Minter can mint additional tokens. These are immediately placed into the Uniswap liquidity pool by the Gitcoin contract, in order to lower the price per token.

Redeemer

  1. When a Redeemer visits a Minter's profile page, they see that a token is available, what the token is redeemable for, and a link to purchase tokens on Uniswap.

  2. Once tokens are purchased, project coordination will be done manually through Gitcoin chat, or other medium, so the Minter can approve and schedule the task.

  3. The Redeemer burns the appropriate quantity of tokens and receives services from the Minter. 6) apbendi has applied to start work _(Funders only: approve worker | reject worker)_.

Following up on the submission from @mds1, here is a link to view our proposal in a better format. Thanks!

https://hackmd.io/@iL5lJBVqTCi2_QOQGMN1rQ/SyYdZqIUL 7) coopahtroopanew has been approved to start work.

Raid Guild rises to conquer this bounty! MetaCartel runs strong on personal token questing and summons @jschiarizzi @proofoftom @sydneylai @auryn-macmillan and me as the official Raid Party. Full proposal here: https://hackmd.io/@coopahtroopa/ryYqHYA8I 8) albertocuestacanada has been approved to start work.

Hi, I'm working with @uivlis and thought I would give some more background to his idea.

So the main concept is that we can allow each gitcoiner to set up a venture with their own token.

This gitcoiner tokens can be sold to investors, in exchange of money or any other reward.

When the gitcoiner resolves a bounty, any revenue is channeled through the token as dividends to the investors.

With this, gitcoiners can get funded for chasing bounties, exporting the risk and income uncertainty to investors that are willing to accept the higher risk for higher revenue.

We already have the contracts to implement most of these, here: https://github.com/HQ20/contracts/blob/master/contracts/examples/dao/VentureEth.sol 9) lychees has applied to start work _(Funders only: approve worker | reject worker)_.

Hi, just draft a design doc, feel free to give me some feedback. ;)

TL;DR:

Full proposal here: https://docs.google.com/document/d/1zADVZXmcTR4OXOR-EJMJoTvIruoFazJ3ZyRjILA2lHY/edit# 10) jumakituno has applied to start work _(Funders only: approve worker | reject worker)_.

Gitcoins traded to investor gitcoiner by gitcoinee at exchange rates for your personal tokens timestamp

Learn more on the Gitcoin Issue Details page.

cartosys commented 4 years ago

i think in the sense of providing intelligent defaults well have options to make tokens that sell X hours or a N retweets. but hopefully we can make it extensible enough such that we can enable many more imaginative use cases!

We've seen this kind of activity on Cryptoraves with the personalized tokens we launch on Twitter. And more so of the inverse, i.e. some users will offer their tokens to others for follows/hearts/retweets of their own posts. Other fun examples:

Plenty more to say on use cases--real and theoretical. But i think mostly the social aspect of personalized tokens is where the challenge in tapping value for users lies. "What do i do with these things?" is one of the most common questions we get. And while many folks pick up on things to do with them when they see how others use them--and many have expressed a lot of fun in launching and giving them out--in the end the interest doesn't stick long-term for most. Although participation is often rekindled with bursts of new user activity. Typically a fad though. Main theories for that so far are one or more of:

  1. Critical mass of users not reached
  2. Utility and/or business use cases (like above "x tokens = y hours work") not proven yet
  3. Not enough user education or guidance

Of course this specifically pertains to our zero-risk, general use case personalized tokens. Specific use-case tokens like the above hours-per-work model would have different parameters and incentivize different behaviors for sure. However I find myself more attracted to multi-use-case personalized tokens. Then again maybe different personalized tokens are better suited for different domains, like one for social vs one for professional? Big question there.

All that said, So if in the personalized Gitcoin token case we're talking ERC20 should have a preset total supply and ticker based on number of working hours per year (~2000) and ticker = user's github/gitcoin handle? Or as you say, make it more general and allow users to tweak the params themselves? Or do like I did and offer an arbitrary 1 billion and let them sort it out?

Regardless must-have features for a ui are:

  1. A super-simple "Launch your token" form for the Tokener (user launching the token) with those params set.
  2. A token purchase interface for Tokenee (3rd-party purchaser) in which its made understood that 1 token = 1 hour work. Then allow Tokener to set initial price.
  3. A "redeem work for token" function which initializes a negotiation / contract form and paremeters for each to agree upon.

Something like that until traction provides feedback...

vporton commented 4 years ago

For the below I will assume that the token is ERC-20 named TKN.

We should have several kinds of personal tokens:

  1. regular (the owner can mint as much as he wishes). The minting page should be similar to this my software (but we can do it without Aragon).

  2. backed by Ether (to mint a personal token need to send Ether to the contract)

2.1. Anybody can send Ether to the contract to mint 1TKN/1ETH the personal token. Ether could be then withdrawable by the token owner.

2.2. Only the owner can send Ether to the contract to mint 1TKN/1ETH. The token goes to the wallet of the token owner, the Ether is stuck in the contract.

  1. With a limited pre-minted amount (new tokens can not be minted) that simple goes to the wallet of the owner.

I can implement this, I have experience with making personal tokens in Solidity + Django + JavaScript. I can implement all 4 variants or just a subset of it. Please select the list of items you want me to implement.

I am available for the work, if you like my plan.

ccashwell commented 4 years ago

Hey @owocki here's a quick pitch for a tipping model.

Should be fun :)

(P.S. this was already submitted via gitcoin)

coopahtroopanew commented 4 years ago

Raid Guild rises to conquer this bounty! MetaCartel runs strong on personal token questing and summons @jschiarizzi @proofoftom @sydneylai @auryn-macmillan and me as the official Raid Party. Full proposal here: https://hackmd.io/@coopahtroopa/ryYqHYA8I

proofoftom commented 4 years ago

Separate and unrelated to the proposal that Cooper just posted above, I wanted to post this for fun - as a thought experiment: Bonded Personal Tokens w/ Interest and Dividends

lychees commented 4 years ago

Hi, just draft a design doc, feel free to give me some feedback. ;)

TL;DR:

Full proposal here: https://docs.google.com/document/d/1zADVZXmcTR4OXOR-EJMJoTvIruoFazJ3ZyRjILA2lHY/edit#

owocki commented 4 years ago

il be reviewing proposals this week. can yall get them in by weds!??

owocki commented 4 years ago

reviewing proposals in the next few hours. if i owe you a comment, hoping to get back by EOD. if ur putting finishing touches on your proposal and havent posted yet, then pls comment in the next hour or two!

owocki commented 4 years ago

hey guys; didnt get to the bottom of proposal review. going to try again this afternoon/tomrrow. thanks again for your patience.

sydneylai commented 4 years ago

Hey Kevin! Just in case you didn't see this in your Telegram, here is the SOW

On Fri, Apr 3, 2020 at 5:53 PM Kevin Owocki notifications@github.com wrote:

hey guys; didnt get to the bottom of proposal review. going to try again this afternoon/tomrrow. thanks again for your patience.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gitcoinco/web/issues/6254#issuecomment-608704730, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3TGQ42P26MMPNYTKRA5VTRKZLEHANCNFSM4LO44WWQ .

-- Sydney Lai laisydney@gmail.com LinkedIn http://linkedin.com/in/sydneylai | @sydneyLai http://twitter.com/sydneylai

owocki commented 4 years ago

sorry this keeps sliding. its nera the top of my list. shooting for early this week

owocki commented 4 years ago

@proofoftom bonding curve personal tokens is quite an intersting concept :) thanks for passing along. i wonder if theres any evidence of demand for those

owocki commented 4 years ago

ok finally went through the proposals. thanks everyone for your patience - i’ve been more heads down on gitcoin grants than i ever thought i would be. not an excuse, just an explanation

@ccashwell

@vporton 

@cartosys

@apbendi

@albertocuestacanada nice to meet you; and hi again @uivlis - its kewl that you guys have already started work on something similar. i checked out https://github.com/HQ20/contracts but was not able to quite grasp how it’d be mutated for personal tokens here on gitcoin

@lychees just left u some comments on ur google doc.

lychees commented 4 years ago
  • its excitingto me that you’ve seen usage of personal tokens on twitter with crypto raves ( especially the leaderboard in concept - but i dont seem to be able to load it in practice for some reason https://bits.owocki.com/jkul28jN )

The link is broken.

uivlis commented 4 years ago

@owocki - let me better explain the proposal. The idea is that when a gitcoiner finishes a bounty, the reward is split between the gitcoiner's initial investors (the ones who bought his token - including himself). That way, investors have a clear incentive to invest in gitcoiners (as opposed to using tokens to lock down someone's time, which presents trust issues and is not verifiable) and gitcoiners have an initial amount to start bounty hunting (funds for rent, food, wifi etc.). There will also be a market for investors to trade their 'share' in gitcoiners. We CAN accomplish this using some of our pre-conceived contracts in https://github.com/HQ20/contracts, particularly these ones:

VentureEth.sol --> https://github.com/HQ20/contracts/blob/master/contracts/examples/dao/VentureEth.sol
UniswapFactory --> https://github.com/HQ20/contracts/blob/master/contracts/exchange/UniswapFactory.sol

Let me explain what each of these contracts does. Think of VentureEth as the gitcoiner's ICO. It issues a token with a chosen issue price and raises funds in exchange for that token. The fun part is that, after issuance, when this contract receives any new funds, holders of the token can claim dividends (their fair share of the funds received). The UniswapFactory launches an Uniswap style contract that enables exchanges to be made to (and from) one token from (and to) ether. That way, the gitcoiners dividend-bearing tokens can be marketed similarly to a gitcoin stock market. The vision behind this approach is to transform a regular gitcoiner into a gitcoin company, with shares, dividends, profits etc. I'm enthusiastic about this, not sure though if I explained it in enough detail, did you get it now?

proofoftom commented 4 years ago

@uivlis Very cool! I see a lot of overlap here: https://github.com/gitcoinco/web/issues/6254#issuecomment-605715996

cartosys commented 4 years ago

@cartosys

  • its excitingto me that you’ve seen usage of personal tokens on twitter with crypto raves ( especially the leaderboard in concept - but i dont seem to be able to load it in practice for some reason https://bits.owocki.com/jkul28jN )

Woops. You can go to the following page and click the Leaderboard link at the top: https://cryptoraves.space/

  • are you interested in working on this, or just advising hte implementing team?

I was on the fence, but I've been thinking on where this goes and I do want to build this thing now!

apbendi commented 4 years ago

ben!!! hows it going?

👋 What's up Kevin, hope you're staying safe man!

for the uniswap functionality, how much of that can be done programmatically, vs whats the UX of doing it manually?

I think virtually all of it can be automated via a smart contract via calls to the UniswapExchangeFactory. Likewise, the tokens themselves can be deployed programmatically as well. UI can literally be a "push button" type thing

what do you think the design of the ‘gitcoin smart contract’ looks like? im a little concerned about security holes given its a smart contract so minimizing complexity could be important here.

Relatively simple. Minting tokens and interacting with the Uniswap contracts as mentioned above.

From a safety perspective, here's a pattern I've employed that is helpful: the contract has different roles, and the role that carries out day-to-day operations is very limited in what it can do, such that compromise of the hot-wallet keys can do very little harm.

So, for example, functions that trigger interactions with uniswap would be callable by an account that had no other permissions other than triggering those actions. The account with rights to withdraw funds or change system parameters would be different. The latter would be kept in cold storage.

LMK if you have other questions. Cheers 🍻

owocki commented 4 years ago

hey all - sorry for the radio silence.will be making a decisoin on this by tuesday of this week.

proofoftom commented 4 years ago

@owocki there's some exceptionally executed demand/opportunity for bonded personal tokens here: https://twitter.com/meTokens/status/1249733587479363588?s=19

CBobRobison commented 4 years ago

Hey! Thanks for the meTokens shoutout, @proofoftom!

We just went public today. Otherwise, we would have submitted an application during the formal process.

Here's a really nice summary by @coopahtroopanew describing how the meTokens primitive is a new and more robust kind of personal token (we call it 'Synthetic Labor'): https://defirate.com/metokens/

tl;dr:

The full details can be found in the Game Theory of meToken Bonding Curves.pdf

owocki commented 4 years ago

hey all,

it was a hard decision, and im sorry i was not quicker to be more decisive here.. but i've decided to go with RAID Guild on this one! i think their proposal is super exhaustive, and they have a diversification of skillsets on their team that is hard to beat.

i have a few more bounties this size coming in hte next few days, in particular i need some help on gitcoin grants. if you want details on those issues pls contact me on telegram (owocki) or on gitcoin chat (also owocki)

thanks to everyone who submitted proposals. very cool to see the enthusiasm here. i know that a non negligible amount of effort was put into the proposals, so i'm going to throw a few tips to some of you to say "thanks" and also "sorry i was so slow in reviewig them".

gitcoinbot commented 4 years ago

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


This Bounty has been completed.