El contrato implementado contiene valores vacíos

Puedo probar con truffle y afirmar con éxito que los valores de mi contrato implementado son correctos, pero tanto en testrpc como en un geth privado, los valores reales de mi contrato están vacíos.

Yo inicializo mi contrato desde el principio

this.contract = this.web3.eth.contract(this.abi);

luego, más tarde, a través de la GUI, se crea un nuevo contrato:

this.deployedContract = this.contract.new(name, {from: contractAddress, gas: 3000000, data: this.byteCode}, (contractError, contractResult) => {
    if (!contractError && contractResult) {
        console.log('contract address: ' + contractResult.address);
        console.log('contractResult: ' + contractResult);
    }else if(contractError){
        console.log("contractError: " + contractError);
    }
});

Se extrae el contrato y recibo una dirección que busco. Tanto en la consola geth como a través de la API de JavaScript, veo el resultado de name =0x0000000000000000000000000000000000000000000000000000000000000000

el nombre es bytes32

En la consola geth, busco la transacción y veo el GasUsado acumulativo: 1109932, que es menos que los 3000000 que declaré por adelantado.

También noto que no me quitaron el gas de mi cuenta.

¿Has probado tu contrato usando remix?
Sí, funciona perfectamente si uso la VM de JavaScript o el proveedor Web3 para mi Geth privado ejecutándose localmente.

Respuestas (1)

Parecería que si tiene un contrato que acepta argumentos en sus parámetros, si no hace coincidir los dos, el contrato se creará como si tuviera un constructor vacío (¿predeterminado?), Sin errores ni advertencias.

Entonces, en mi caso, mi contrato tenía un constructor que aceptaba nombre y apellido, solo proporcioné el nombre. bingo, contrato vacío.