Perdí mi código de contrato implementado. De todos modos de ver esto?

Para resumir, perdí el código de contrato que implementé. Esto se implementa en la red en vivo. ¿Hay alguna forma de poder ver la fuente del código de contrato que se ha implementado?

Respuestas (2)

Si conoce la dirección del contrato en la red en vivo, puede obtener su código de bytes y descompilar con esta herramienta https://github.com/comaeio/porosity Aquí hay un ejemplo de su README:

> porosity --abi $abi --code $code --decompile --verbose 0

Porosity v0.1 (https://www.comae.io)
Matt Suiche, Comae Technologies <support@comae.io>
The Ethereum bytecode commandline decompiler.
Decompiles the given Ethereum input bytecode and outputs the Solidity code.

Attempting to parse ABI definition...
Success.

Hash: 0x5FD8C710
function withdrawBalance() {
      if (msg.sender.call.gas(4369).value(store[msg.sender])()) {
         store[msg.sender] = 0x0;
      }
}


L3 (D8193): Potential reetrant vulnerability found.

LOC: 5
Hash: 0xC0E317FB
function addToBalance() {
      store[msg.sender] = store[msg.sender] + msg.value;
      return;
}


LOC: 4
Hash: 0xF8B2CB4F
function getBalance(address) {
      return store[arg_4];
}


LOC: 3

Consulte herramientas como JEB Decompiler o Ethervm.io .

JEB es un descompilador interactivo que produce un código muy legible, algunos de los cuales se pueden modificar (por ejemplo, nombres de variables y funciones).

Ethervm es un portal web gratuito. La salida no es tan limpia, pero es muy conveniente usarla para descompilaciones únicas.