Contrato de bienvenida: el comando de implementación da como resultado "indefinido" [duplicado]

Estoy tratando de implementar el contrato de Greeter en una cadena de prueba privada siguiendo esta guía ( La implementación del contrato de Greeter a través de geth CLI no se registra en mi cadena de bloques privada )

Cuando llego al "var greeter ="comando pegado a continuación, se ejecuta pero solo regresa "undefined", no parece que el contrato se implemente nunca.

¿Alguien puede indicarme la dirección correcta, por favor?

gracias p

var greeter = greeterContract.new(_greeting, {from: eth.accounts[0], data: greeterCompiled["<stdin>:greeter"].code, gas:20000000000}, function(e, contract) { 
  if (!e) { 
   if (!contract.address) { 
     console.log("Contract transaction send: TransactionHash: " + contract.transactionHash + " waiting to be mined..."); 
   } else { 
     console.log("Contract mined! Address: " + contract.address); console.log(contract); 
   } 
  }  
})

Respuestas (2)

Las declaraciones de variables devolverán undefined. No es un error.

Para obtener la dirección del contrato, debe minar en su red privada. Asegúrate de que estás minando.

Hola Gokulnath, gracias por la respuesta. Entiendo que indefinido no es un error, sin embargo, esperaba ver el resultado "¡Contrato minado! Dirección: " + contract.address". Estoy minando, así que no estoy seguro de dónde me estoy equivocando.

Encontré el problema, no pude desbloquear la cuenta eth.account[0](que estaba usando para implementar el contrato), antes de intentar implementar el contrato.

¡ Después de ejecutar personal.unlockAccount(eth.accounts[0]);el contrato implementado con éxito!