¿Cómo recuperar los datos que se enviaron al contrato desplegado anterior?

Quiero acceder a los datos que envié a través de una función durante la instancia de contrato anterior. ¿Es posible recuperar los datos por instancia de contrato o hash de transacción?

Respuestas (1)

No necesita volver a implementar un contrato, si ya está implementado, debe crear una instancia que apunte a la dirección del contrato

async function queryContract() {
    const ContractABI = [...];  // <-- Contract ABI
    const ContractAddress = "0x1234....";           // <-- Deployed contract address

    // Assign deployed address of a contract 
    const myContract = new web3.eth.Contract(ContractABI, ContractAddress);

    // Send a transaction
    await myContract.methods.sendHash("0x12341234")
    .send({
        from: MyAccount,
        gas: 2000000,
        gasPrice: '30000000000'
    });

    // Query modified data    
    const hash = await myContract.methods.getHash().call();

    console.log(hash)
}

queryContract();
Muchas gracias, si quiero obtener el hash que se envió previamente a través de la función del contrato. ¿Cómo accedo? ¿Es posible obtenerlo a través de la transacción enviada?
Para acceder a los datos en un contrato desplegado, necesita la dirección del contrato y el ABI del contrato. Luego puede llamar a cualquier método expuesto en la interfaz. Siga los ejemplos sobre cómo usarlo de la documentación web3 web3js.readthedocs.io/en/1.0/web3-eth-contract.html