es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Hardhat – Cómo obtener el bloque en la marca de tiempo en el archivo de implementación.

Intento implementar mi contrato de Masterchef. Tengo 2 argumentos que debo especificar en el constructor (la dirección del token y el número de bloque actual en segundos). Estoy usando hardhat para hacer esto y en realidad estoy tratando de obtener el valor del número de bloque actual en segundos. ¿Cómo puedo hacer esto?

const StakingRewards = await hre.ethers.getContractFactory("Masterchef");
const stakingRewards = await StakingRewards.deploy(token.address, block.timestamp);
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener el número de bloque actual en segundos al implementar un contrato de Masterchef usando hardhat, se puede usar la función block.timestamp que devuelve la marca de tiempo actual del bloque en segundos desde la época de Unix. Esta función se puede pasar como segundo argumento en la línea de código await StakingRewards.deploy(token.address, block.timestamp).

    Aquí está el código actualizado:

    const blockTimestamp = Math.floor(Date.now() / 1000); // obtener la marca de tiempo de Unix actual en segundos
    const StakingRewards = await hre.ethers.getContractFactory("Masterchef");
    const stakingRewards = await StakingRewards.deploy(token.address, blockTimestamp);
    

    Esto asegurará que el número de bloque actual en segundos se utilice como argumento del constructor al implementar el contrato de Masterchef.

Comments are closed.