gnolang / gno

Gno: An interpreted, stack-based Go virtual machine to build succinct and composable apps + gno.land: a blockchain for timeless code and fair open-source.
https://gno.land/
Other
896 stars 375 forks source link

Decide how to manage "payments" when GNOT will be locked #3081

Open moul opened 1 week ago

moul commented 1 week ago

Currently, we have some contracts, such as r/demo/users, that are requesting payments for actions (https://gno.land/r/demo/users/users.gno).

However, we will lock GNOT tokens at launch (#2980), so we need to find an alternative.

Here are some options:

  1. Use gas
  2. Use another native std.Coin, but not GNOT
  3. Use a grc20, which could be a future token
  4. Disable these features until we enable token transfers
thehowl commented 1 week ago

I'm tempted to say 4: Disable these features until we enable token transfers. The reason is that I don't think we should officially have and support 'gnot' future tokens, because if they're used by the core team they're likely to have as much validity as unlocking gnot directly.

I am thinking that maybe we can support an alternative token, depending on the realm, to perform the "payment". This token can be awarded with a faucet depending on the project, or be airdropped similarly to GNOT to mimick the real token distribution. Then we can have a way to permanently switch it, in the realms, to using gnot instead; but use the "playground" token for the meantime.

moul commented 1 week ago

I'm also trying to avoid 3.

I'm considering a "reputation" GRC20 (or non-transferable) token that will have its own earning mechanism, such as contributions. We might not expect the token to serve as a payment method, but rather as a way to unlock features when you have "enough" reputation.