Digamos que el par A implementa un contrato y expone el contrato ABI. El par B quiere unirse a la misma red. Tiene el ABI con él. Pero quiere ver el código de contrato real antes de unirse a la red. Cómo el par B podrá ver eso.
A menos que Peer A haya puesto a disposición el código fuente, solo podrá ver el código de bytes (es decir, el código compilado).
Sin embargo, incluso si Peer A pone a disposición el código fuente, debe tener cuidado. Si el Peer A era malicioso, es posible que haya publicado el código fuente con una ABI idéntica, pero con un código diferente detrás de la interfaz.
Por esta razón, si realmente quiere ser ultra seguro, debe obtener el código fuente, leerlo hasta que se sienta cómodo de que hace lo que se supone que debe hacer y luego compilarlo usted mismo en código de bytes. Hasta que no haya confirmado que el código de bytes que ha compilado usted mismo es idéntico al que se ejecuta en la dirección del contrato inteligente, no puede estar seguro de que comprende completamente lo que sucederá si envía ETH allí.
Por ejemplo, este es el contrato de fábrica de Golem ( https://etherscan.io/address/0x7da82c7ab4771ff031b66538d2fb9b0b047f6cf9 ). Como puede ver, el código fuente ha sido "Verificado". En este caso, Etherscan realizó el proceso que describí anteriormente y puede estar seguro de que la fuente y el código de bytes son idénticos.
El compañero A debería haberlo publicado en GitHub.com/(TheRelevantRepositorySubdirectoryHere)
.
De lo contrario, está disponible en el bloque en cuestión como código de bytes. El EVM ejecuta este código de bytes cuando se usa el contrato: como almacenar/cambiar datos o usar una constant
función. Por supuesto, siempre hay convertidores de bytecode a opcode.
Relacionado: https://stackoverflow.com/questions/33798205/how-to-get-or-verify-the-source-code-of-a-contract
ismael
thomas jay prisa
input
campo de datos. Creo que el OP está preguntando sobre el 'código fuente' de Solidity.ética