¿Cómo encontrar el código de bytes de creación de entrada para el argumento del constructor?

Quiero verificar y publicar mi código fuente de solidity en Etherscan.io. Mi contrato inteligente tiene un argumento en su constructor para el cual necesito completar un campo en el formulario que toma Argumentos de constructor en formato codificado ABI.

¿Cómo convertiré mi argumento en formato codificado ABI?

Respuestas (2)

Una manera fácil de encontrar los argumentos del constructor es:

  1. Busque su contrato en Etherscan y haga clic en el hash tx para su creación

  2. Arriba a la derecha, donde dice "Herramientas y utilidades", haz clic en la flecha para ver más opciones y selecciona "Seguimiento de paridad".

  3. Para la acción relacionada con la creación del contrato, haga clic en "Mostrar más" a continuación para ver la entrada/salida

  4. En el área de texto de entrada, desplácese hacia abajo hasta el final. La última parte de esa cadena son los argumentos de su constructor.

  5. Busque "0029", cualquier cadena al final que esté después de 0029 son los argumentos de su constructor.

Por ejemplo, este es un contrato que implementé hace unas semanas: https://etherscan.io/vmtrace?txhash=0x840a4c95de8287b39b4a104470c49ee1a78fee13ff790b85624e0f66d9d05be4&type=parity

La entrada es (abreviada por motivos de espacio): ...0019909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061236557805160ff1916838001178555612392565b82800160010185558215612392579182015b82811115612392578251825591602001919060010190612377565b5061239e9291506123a2565b5090565b6123bc91905b8082111561239e57600081556001016123a8565b905600a165627a7a723058201c3fd67e0e5dae16f4d5818e4def156aa71b9a6925640af36a76c616a54e724c002900000000000000000000000006595656b93ce14834f0d22b7bbda4382d5ab51000000000000000000000000000000000000000000000000d8d726b7177a80000

Los argumentos de mi constructor son lo que sea después de 0029:00000000000000000000000006595656b93ce14834f0d22b7bbda4382d5ab51000000000000000000000000000000000000000000000000d8d726b7177a80000

Al final de este documento, https://etherscanio.freshdesk.com/support/solutions/articles/16000053599-contract-verification-constructor-arguments , encontrará cómo obtener su argumento de constructor:

Otra forma rápida y sucia de averiguar cuáles son los argumentos de su constructor es comparar el código de bytes compilado de solidez / remezcla del navegador y compararlo con el código de bytes de creación de entrada. Si observa detenidamente, notará que los códigos hexadecimales adicionales se adjuntan al FINAL del código de byte creado de entrada. Estos son sus 'Argumentos Constructores'

Aquí hay un contrato que el constructor tenía argumentos: https://etherscan.io/address/0x7da82c7ab4771ff031b66538d2fb9b0b047f6cf9#code >