StakeERC20
El Contrato inteligente StakeERC20 (o TokenStake) de Thirdweb permite a los usuarios apostar sus tokens ERC-20 y recibir tokens ERC-20 como recompensas por sus actividades de staking (diferentes de los tokens apostados). El administrador del contrato debe especificar las direcciones tanto del token de Staking como del token de Recompensa durante el despliegue, y estas direcciones no pueden modificarse posteriormente.
Los tokens apostados se mantienen de forma segura dentro del contrato, y las recompensas se calculan en función de la duración durante la cual se apostaron estos tokens. El administrador es responsable de mantener un saldo adecuado de tokens de recompensa dentro del contrato de staking. Estas recompensas acumuladas se transfieren a los stakers cuando realizan una reclamación.
El cálculo de las recompensas cuando se reclaman es el siguiente:
rewardsPerTokenStaked = ((stakingDuration * rewardRatioNumerator) / rewardRatioDenominator) / timeUnit
Por ejemplo, si la proporción de recompensa es 1/20, esto significa que se distribuirá 1 token de Recompensa por cada 20 tokens apostados. El numerador y el denominador de la proporción de recompensa deben establecerse por separado (en este caso, 1 y 20, respectivamente).
Puntos importantes a tener en cuenta
Los usuarios deben otorgar aprobación para que sus tokens sean utilizados por la dirección del contrato de staking antes de apostarlos.
El administrador del contrato debe asegurarse de que haya un saldo adecuado de Tokens de Recompensa en el contrato de staking y utilizar la función de depósito para ingresar tokens de recompensa.
Casos de uso para este contrato
Plataforma DeFi de Staking: El contrato podría usarse en una plataforma de finanzas descentralizadas (DeFi) donde los usuarios pueden apostar varios tokens ERC-20 para ganar recompensas. Por ejemplo, los usuarios podrían apostar stablecoins como DAI o USDC para ganar tokens de gobernanza.
Provisión de Liquidez: Los proveedores de liquidez en intercambios descentralizados (DEX) podrían usar este contrato para apostar sus tokens en pools de liquidez. Recibirían recompensas en un token diferente, incentivando la provisión de liquidez.
Bloqueo de Tokens para Votación: Los proyectos que realicen gobernanza en cadena podrían requerir que los usuarios bloqueen sus tokens usando este contrato para participar en votaciones. Como recompensa, reciben tokens de gobernanza que les otorgan poder de voto.
Recompensas en Juegos: En juegos basados en blockchain, los jugadores podrían apostar activos del juego para ganar objetos raros o tokens. Este contrato gestionaría el staking y la distribución de recompensas.
Recompensas para Creación de Contenido: Las plataformas de contenido podrían usar este contrato para recompensar a creadores y curadores de contenido. Los usuarios podrían apostar tokens para promocionar contenido, y recibirían tokens como recompensas en función del éxito de su promoción.
Agricultura de Tokens: Este contrato puede ser parte de un mecanismo de farming donde los usuarios apuestan tokens para cultivar nuevos tokens. Por ejemplo, apuestan el token nativo de un proyecto y ganan un nuevo token de utilidad.
Pools de Staking para Validadores: En redes blockchain de prueba de participación (PoS) o prueba de participación delegada (DPoS), los validadores o delegados podrían usar este contrato para recompensar a sus stakers con tokens que obtienen de la validación de bloques.
Staking de NFT: Los usuarios podrían apostar tokens no fungibles (NFT) en este contrato para obtener acceso a contenido o experiencias exclusivas. Las recompensas podrían incluir otros NFTs, tokens o coleccionables digitales.
Vesting de Tokens: Los proyectos pueden usar este contrato para cronogramas de vesting de tokens, donde los miembros del equipo o inversores bloquean sus tokens y los reciben gradualmente con el tiempo como recompensa por su compromiso.
Donaciones Benéficas: Las organizaciones benéficas podrían usar este contrato para permitir que los donantes apuesten tokens durante un período, y a cambio los donantes reciben tokens que pueden donar a otras causas benéficas.
Desplegando este contrato

Nombre:
Entrada: [Introduce el nombre del contrato]
Descripción:
Entrada: [Introduce la descripción del contrato]
Token de Recompensa:
Entrada: [Dirección del token ERC20 que se usará como recompensa de staking]
Explicación: Designa el token ERC20 que los usuarios recibirán como recompensas por apostar sus tokens. Los administradores mantienen el saldo de estos tokens de recompensa en el contrato de staking.
Token de Staking:
Entrada: [Dirección de los tokens ERC20 que serán apostados por los usuarios]
Unidad de Tiempo (en segundos):
Entrada: [Ingrese la unidad de tiempo en segundos]: Define la unidad de tiempo en segundos para la distribución de recompensas. Por ejemplo, si las recompensas se distribuyen por hora, ingrese 3600 segundos como unidad de tiempo.
Numerador de la Proporción de Recompensa:
Entrada: [Ingrese el numerador para la proporción de recompensa]: Establece el numerador de la proporción de recompensa, indicando la cantidad de tokens de recompensa otorgados por una cantidad específica de tokens apostados (por ejemplo, 1 en una proporción de 1/20).
Denominador de la Proporción de Recompensa:
Entrada: [Ingrese el denominador para la proporción de recompensa]: Establece el denominador de la proporción de recompensa, definiendo la cantidad total de tokens apostados requerida para ganar un token de recompensa (por ejemplo, 20 en una proporción de 1/20).
Última actualización