Las variables de bienvenida no están definidas y el contrato no se ejecuta

Estoy intentando ejecutar el contrato de bienvenida en la red en vivo. Estoy siguiendo los comandos según el tutorial oficial , que funcionó en una red de prueba cuando lo probé hace un tiempo (en una máquina diferente).

Al ingresar los comandos, obtengo una undefinedrespuesta, aunque todas las variables están definidas correctamente cuando se las llama manualmente en la consola.

Al ingresar al final var greeter, se me solicita correctamente la frase de contraseña de la cuenta que se está utilizando, que parece pasar. Sin embargo, la secuencia de comandos pegada en sí no parece ser llamada; no hay salida de registro de la consola.

¿Alguna idea de lo que me he perdido?

[Nota: Hay mucho éter en la cuenta que se está utilizando.]

[Nota 2: la consola ha truncado líneas largas en el registro a continuación. He confirmado que copiaron correctamente.]

> {g) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }'
undefined
> 
> var greeterCompiled = web3.eth.compile.solidity(greeterSource)
undefined
> var _greeting = "Reason has always existed, but not always in a reasonable form."
undefined
> var greeterContract = web3.eth.contract(greeterCompiled.greeter.info.abiDefinition);
undefined
> {,{from:web3.eth.accounts[0], data: greeterCompiled.greeter.code, gas: 1000000}, function(e, contract){
         if(!e) {

               if(!contract.address) {
               {saction send: TransactionHash: " + contract.transactionHash + " waiting to be mined  .");

                   } else {
                     console.log("Contract mined! Address: " + contract.address);
                     console.log(contract);
                   }

             }
       })
Please unlock account <account_address_removed>.
Passphrase: 
Account is now unlocked for this session.
undefined
¿Estás seguro de que geth está sincronizado?
Sí, tengo los registros funcionando en una ventana adjunta.
lo intentaste web3.eth.defaultAccount = web3.eth.accounts[0]?
Por cierto, ¿es tu código real? ¿Está tratando de ejecutar el contrato por primera vez? porque parece incorrecto si haces var greetinger = greetingerContract.new(_greeting,{from:web3.eth.accounts[0], data: greetingerCompiled.greeter.code, gas: 300000}, function(e, contract){ if( !e) { if(!contract.address) { console.log("Transacción de contrato enviada: TransactionHash: " + contract.transactionHash + " esperando ser extraído..."); } else { console.log("Contrato extraído ! Dirección: " + contrato.dirección); consola.log(contrato); } } })
Intenté configurar web3.eth.defaultAccountcomo sugeriste, pero eso no ha ayudado. No es mi código, es el código Greeter estándar del tutorial en la wiki: github.com/ethereum/go-ethereum/wiki/Contract-Tutorial . ¿Qué bit parece incorrecto?
Hmm, la cantidad de gas en la wiki es diferente a la cantidad en la página de inicio Tutorial de Greeter: ethereum.org/greeter
También probé Greeter recientemente, pero inmediatamente comencé a preocuparme por el primer 'indefinido'. Mi fuerte impresión es que el tutorial está significativamente desactualizado. Creo que vi en github que la última actualización fue hace más de 6 meses...
undefineden javascript no es algo malo. Las declaraciones de variables siempre devuelven indefinidas, no hay nada de qué preocuparse.

Respuestas (1)

Consulte Implementar el contrato de Greeter a través de geth CLI no se está registrando en mi cadena de bloques privada para obtener una guía paso a paso para ejecutar el ejemplo de saludo en su cadena de bloques de desarrollo local.

Los comandos y los resultados esperados en las secciones de la ventana n.° 2 en el enlace anterior deben ser muy similares en la red en vivo.

Y los undefinedmensajes son esperados y no indican una condición de error como se indica en los comentarios Tjaden Hessanteriores.

Debería ver el Contract transaction sendmensaje con un hash de transacción

var greeter = greeterContract.new(_greeting,{from: eth.accounts[0], data: greeterCompiled.greeter.code, gas: 4000000}, 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);     }    } })
Contract transaction send: TransactionHash: 0x90d201388971770036898a7a22ab252cb0bf3c556f988a7b87583315cdaf58bc waiting to be mined...
undefined

Si no ve el siguiente Contract mined!mensaje, es posible que deba aumentar el valor del gas en el mensaje de envío de su transacción:

Contract mined! Address: 0x083628160c1cf218d14f2f0998c7a8dc72aec180
[object Object]