Problema al verificar el código fuente en Etherscan

Esto es realmente molesto. He intentado instalar el ABI. Sigue recibiendo un error de constructor. He probado muchas combinaciones, nada parece funcionar.

El siguiente es el código fuente que implementé en Testnet 0x34a03193f88ceb2b3ac3ea32b47f7d25544d5f5e :

pragma solidity 0.4.8;
contract mortal {
    /* Define variable owner of the type address*/
    address owner;

    /* this function is executed at initialization and sets the owner of the contract */
    function mortal() { owner = msg.sender; }

    /* Function to recover the funds on the contract */
    function kill() { if (msg.sender == owner) selfdestruct(owner); }
}

contract greeter is mortal {
    /* define variable greeting of the type string */
    string greeting;

    /* this runs when the contract is executed */
    function greeter(string _greeting) public {
        greeting = _greeting;
    }

    /* main function */
    function greet() constant returns (string) {
        return greeting;
    }
}
Proporcione más información, por ejemplo, dirección del contrato, código fuente, txid, versión del compilador, entorno de implementación.
greeter at 0x34a03193f88ceb2b3ac3ea32b47f7d25544d5f5e (blockchain), Solidity version: 0.4.8+commit.60cc1668.Emscripten.clang, Transaction 0x75bd6721cedfd574ccda2f2d5c5e741900213fc2233f77dff7118ca0eba1b521, not sure deployment environment how would i check that, I am using solidity browser with meta mask to deploy, Gist: gist. github.com/anonymous/638969e3ceff12fabc7e7604970cbdad
Esta pregunta debe reabrirse ya que hay un problema con la verificación del código fuente para las versiones de Solidity posteriores a la 0.4.6 en Etherscan.
Voté para reabrir dado que el código fuente está allí ahora y BokkyPooBah está insinuando una respuesta.
¿Puedes verificar el código fuente que está bajo 0.4.6?
Bien, entonces conseguí que funcionara. Esto es lo que tiene que hacer, tome el código de entrada proporcionado por etherscan y páselo a un documento de texto, luego copie el código de bytes proporcionado por el navegador Solidity, controle Find para buscar qué parte del código de entrada es el código de bytes real. Habrá una pequeña cantidad al final que no se encuentra, ese código es lo que necesita ingresar en el campo ABI en etherscan. No es lo que pensarías, pero funciona.
¿Con qué versión lo hiciste funcionar? Solo pude hacerlo funcionar con 0.4.6 e inferior hace unos días. Es posible que desee responder a su pregunta para documentar cómo lo hizo funcionar, con capturas de pantalla y tomando la última parte del código de implementación. También tuve que usar Browser Solidity en lugar de Ethereum Wallet, ya que puedes controlar la versión del compilador en Browser Solidity.
Solo estoy usando 0.4.6. No he probado otros. Sí, también tuve que usar el navegador.

Respuestas (1)

Tx 0x75bd... creó el contrato enque no pudo ser verificado como se indica en su pregunta anterior. Esto se implementó con el código fuente en su pregunta en la versión del compilador 0.4.8.

Los siguientes son los datos de entrada de su transacción:

0x6060604052346100005760405161037c38038061037c833981016040528080518201919050505b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b8060019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100b557805160ff19168380011785556100e3565b828001600101855582156100e3579182015b828111156100e25782518255916020019190600101906100c7565b5b50905061010891905b808211156101045760008160009055506001016100ec565b5090565b50505b505b6102608061011c6000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806341c0e1b514610049578063cfae321714610058575b610000565b34610000576100566100ee565b005b3461000057610065610182565b60405180806020018281038252838181518152602001915080519060200190808383600083146100b4575b8051825260208311156100b457602082019150602081019050602083039250610090565b505050905090810190601f1680156100e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561017f57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b602060405190810160405280600081525060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102295780601f106101fe57610100808354040283529160200191610229565b820191906000526020600020905b81548152906001019060200180831161020c57829003601f168201915b505050505090505b905600a165627a7a72305820d47556e11c69fb0ceea694505049f1706cf290268907e3bf9300ca621190a0f1002900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000SETOR

Y el siguiente es el código de bytes de su contrato:

0x60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806341c0e1b514610049578063cfae321714610058575b610000565b34610000576100566100ee565b005b3461000057610065610182565b60405180806020018281038252838181518152602001915080519060200190808383600083146100b4575b8051825260208311156100b457602082019150602081019050602083039250610090565b505050905090810190601f1680156100e05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561017f57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b602060405190810160405280600081525060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102295780601f106101fe57610100808354040283529160200191610229565b820191906000526020600020905b81548152906001019060200180831161020c57829003601f168201915b505050505090505b905600a165627a7a72305820d47556e11c69fb0ceea694505049f1706cf290268907e3bf9300ca621190a0f10029

Como indicó en su comentario, el argumento del constructor en la pantalla de verificación del código fuente es la diferencia entre los dos bytecodes que está en negrita en el primer lote de bytecode:

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000SETOR

Intenté agregar el código fuente verificado como se muestra en las siguientes pantallas:

ingrese la descripción de la imagen aquí

con una continuación de la misma pantalla:

ingrese la descripción de la imagen aquí

pero no tuvo éxito. Tenga en cuenta que la optimización se Habilitó en la pantalla anterior.

Intenté verificar el mismo código, pero esta vez con la optimización deshabilitada y obtuve un resultado exitoso:

ingrese la descripción de la imagen aquí

Entonces, en su caso, el problema fue causado por la implementación del código con la optimización deshabilitada .

(He tenido problemas durante la última semana para verificar el código fuente y solo pude verificar mi código fuente bajando a 0.4.6, pero su problema parece ser solo el interruptor de optimización).