StakeERC20

O Contrato inteligente StakeERC20 (Ou TokenStake) da Thirdweb permite que os usuários façam stake de seus tokens ERC-20 e recebam tokens ERC-20 como recompensas por suas atividades de staking (diferentes dos tokens em stake). O administrador do contrato deve especificar os endereços tanto do token de Staking quanto do token de Recompensa durante a implantação, e esses endereços não podem ser alterados posteriormente.

Os tokens em stake são mantidos com segurança dentro do contrato, e as recompensas são calculadas com base na duração durante a qual esses tokens ficaram em stake. O administrador é responsável por manter um saldo adequado de tokens de recompensa dentro do contrato de staking. Essas recompensas acumuladas são então transferidas aos stakers quando eles as reivindicam.

O cálculo das recompensas quando elas são reivindicadas é o seguinte:

rewardsPerTokenStaked = ((stakingDuration * rewardRatioNumerator) / rewardRatioDenominator) / timeUnit

Por exemplo, se a razão de recompensa for 1/20, isso significa que 1 token de Recompensa será distribuído para cada 20 tokens em stake. O numerador e o denominador da razão de recompensa devem ser definidos separadamente (neste caso, 1 e 20, respectivamente).

Pontos importantes a serem observados

  • Os usuários precisam conceder aprovação para que seus tokens sejam usados pelo endereço do contrato de staking antes de realizarem o staking.

  • O administrador do contrato deve garantir um saldo adequado de Tokens de Recompensa no contrato de staking e utilizar a função de depósito para depositar tokens de recompensa.

Casos de uso para este contrato

  • Plataforma DeFi de Staking: O contrato pode ser usado em uma plataforma de finanças descentralizadas (DeFi) onde os usuários podem fazer stake de vários tokens ERC-20 para ganhar recompensas. Por exemplo, os usuários podem fazer stake de stablecoins como DAI ou USDC para ganhar tokens de governança.

  • Provisão de Liquidez: Provedores de liquidez em exchanges descentralizadas (DEXs) podem usar este contrato para fazer stake de seus tokens em pools de liquidez. Eles receberiam recompensas em um token diferente, incentivando a provisão de liquidez.

  • Bloqueio de Tokens para Votação: Projetos que realizam governança on-chain podem exigir que os usuários bloqueiem seus tokens usando este contrato para participar da votação. Como recompensa, eles recebem tokens de governança que lhes conferem poder de voto.

  • Recompensas em Jogos: Em jogos baseados em blockchain, os jogadores podem fazer stake de ativos do jogo para ganhar itens raros ou tokens. Este contrato lidaria com o staking e a distribuição de recompensas.

  • Recompensas para Criação de Conteúdo: Plataformas de conteúdo podem usar este contrato para recompensar criadores e curadores de conteúdo. Os usuários podem fazer stake de tokens para promover conteúdo, e recebem tokens como recompensas com base no sucesso da promoção.

  • Token Farming: Este contrato pode fazer parte de um mecanismo de token farming onde os usuários fazem stake de tokens para farmar novos tokens. Por exemplo, eles fazem stake do token nativo de um projeto e ganham um novo token utilitário.

  • Pools de Staking para Validadores: Em redes blockchain de proof-of-stake (PoS) ou delegated proof-of-stake (DPoS), validadores ou delegados podem usar este contrato para recompensar seus stakers com tokens que ganham pela validação de blocos.

  • Staking de NFT: Os usuários podem fazer stake de tokens não-fungíveis (NFTs) neste contrato para obter acesso a conteúdo ou experiências exclusivas. As recompensas podem incluir outros NFTs, tokens ou colecionáveis digitais.

  • Vesting de Tokens: Projetos podem usar este contrato para cronogramas de vesting de tokens, onde membros da equipe ou investidores bloqueiam seus tokens e os recebem gradualmente ao longo do tempo como recompensa pelo seu compromisso.

  • Doações para Caridade: Organizações de caridade podem usar este contrato para permitir que doadores façam stake de tokens por um período e, em troca, os doadores recebem tokens que podem ser doados para outras causas beneficentes.

Implantando este contrato

Link direto
  1. Nome:

    • Entrada: [Insira o Nome do Contrato]

  2. Descrição:

    • Entrada: [Insira a Descrição do Contrato]

  3. Token de Recompensa:

    • Entrada: [Endereço do token ERC20 a ser usado como recompensa de staking]

    • Explicação: Designa o token ERC20 que os usuários receberão como recompensas por fazerem stake de seus tokens. Os administradores mantêm o saldo desses tokens de recompensa no contrato de staking.

  4. Token de Staking:

    • Entrada: [Endereço dos tokens ERC20 que serão staked pelos usuários]

  5. Unidade de Tempo (em segundos):

    • Entrada: [Insira a unidade de tempo em segundos]: Define a unidade de tempo em segundos para a distribuição de recompensas. Por exemplo, se as recompensas forem distribuídas por hora, insira 3600 segundos como unidade de tempo.

  6. Numerador da Razão de Recompensa:

    • Entrada: [Insira o numerador para a razão de recompensa]: Define o numerador da razão de recompensa, indicando o número de tokens de recompensa dados por uma quantidade específica de tokens em stake (por exemplo, 1 em uma razão de 1/20).

  7. Denominador da Razão de Recompensa:

    • Entrada: [Insira o denominador para a razão de recompensa]: Define o denominador da razão de recompensa, determinando a quantidade total de tokens em stake necessária para ganhar um token de recompensa (por exemplo, 20 em uma razão de 1/20).

Last updated