DAPPBUILDER / dApp-Builder

120 stars 102 forks source link

Bonus DAP tokens for user actions #50

Open constfilin opened 6 years ago

constfilin commented 6 years ago

We want to reward users with DAP tokens for their activity in dApp Builder. For this dApp Builder users need to have strong identity and therefore this issue is dependent (blocked by) issue #49.

The reward system is to work as follows:

  1. Each user has a database profile field containing Ethereum address to which we send the reward DAP tokens.
  2. This profile field is automatically filled out with the first Ethereum address used by the user to create an app or conduct another blockchain transaction through dApp Builder
  3. If the user has just registered, then this profile field is empty and we do not award bonus DAP tokens but keep the record of their balance in the dApp Builder database.
  4. The user can change the value of this field in his/her profile but we do not make him do it.
  5. As user goes around his/her business in dApp Builder (registers, creates applications, refers other users etc), we accumulate the balance of the reward DAP tokens due to the user in the dApp Builder database
  6. Once/week we transfer the balance of DAP reward tokens accumulated by user the database to ERC20 based DAP token smart contract using the Ethereum address saved in the profile field defined in step 1 at the moment of the transfer.

Examples:

  1. A user is registered on (say) Monday and created an escrow app on Tuesday then
    1. By Sunday in the database we accumulated on behalf of the user 3 DAP reward tokens - 1 for the registration and 2 for the escrow app
    2. On Sunday when we transfer of DAP reward tokens from database to ERC20 based DAP token smart contract, we record those 3 DAP tokens to the user Ethereum address she used when she created the escrow app on Tuesday.
  2. A user is registered on Monday and didn't do any other actions by Sunday
    1. On Monday we recorded in the database that the user received 1 DAP reward token for the registration
    2. On Sunday we do not transfer transfer this 1 DAP reward token to the blockchain because we to not yet have user Ethereum address to transfer the token to.
  3. A user it registered on (say) Monday, created an escrow app on Tuesday using Ethereum address A1 and created a Voting app on Wednesday using Ethereum address A2.
    1. On Monday we recorded in our database that the user received 1 DAP reward token for the registration
    2. On Tuesday we recorded in our database that the user received another 2 DAP reward tokens for the escrow app, making the total number of tokens three.
    3. On Wednesday we recorded in our database that the user received another 2 DAP reward tokens for the Voting app, making the total number of tokens five
    4. On Sunday we transferred five DAP reward tokens from the database to Ethereum address A1 because it is this address that got recorded in user profile on Tuesday. Ethereum address A2 does not receive DAP reward tokens (unless the user updates her profile before Sunday)

Here's the number of DAP reward tokens awarded for user actions in dApp Builder:

  1. Registration - 1 token
  2. Creating a dApp - 10 tokens
  3. Each new user of your dApp - 0.1 tokens
  4. The maximum number of tokens awarded to a single user is 200.

The Ethereum addresses can be shared by users.

Alvel22 commented 6 years ago

Качественный подход