Cómo codificar contrato inteligente sin niebla

* En este tutorial usaré el contrato por defecto de Remix y la billetera falsa de ether. ** Siempre guarda tu código en git para que puedas compilarlo en Remix. *** Mantenga su entorno Remix abierto mientras trabaja en este tutorial.

Escriba su propio contrato y visite https://remix.ethereum.org. Como dije, voy a usar el contrato predeterminado de Remix llamado ballot.sol.

Pegue su código en Remix y haga clic en "Comenzar a compilar"

Cuando compile con éxito su código, haga clic en el botón "Detalles" y se abrirá la ventana emergente.

Remix "Detalles" emergente.

Para implementar el contrato a través de MyEtherWallet, necesitará Bytecode. Lo que necesitas es copiar la parte "objeto" de la sección BYTECODE:

Una vez que tenga eso, vaya a https://www.myetherwallet.com/, cambie a la red de Ropsten (es decir, la red de prueba donde puede obtener los Éteres gratuitos, consulte mi artículo "Cómo obtener éteres gratuitos en la red de Ropsten". ¡Próximamente! ) y haga clic en "Contratos".

Copie su código de bytes del paso 2 en el área de texto "Byte Code". Se calculará automáticamente el gas. Ahora elige tu método de acceso a la billetera. Para los fines de esta red, solo tengo una clave privada, ya que no importa, es una red de prueba.

Una vez que accedió a su billetera (esto se debe a que debe pagar una tarifa para implementar un contrato), esta pantalla mostrará y todo lo que necesita es firmar la transacción e implementar el contrato.

Mi contrato se ha implementado con éxito, ahora solo tiene que esperar unos minutos hasta que esté disponible.

Si va a: https://ropsten.etherscan.io/ y busca la dirección de billetera que utilizó para implementar el contrato, encontrará más información allí. Aquí está mi dirección y puede ver que mi contrato ya se ha implementado:

Ahora puedes interactuar con el contrato. Vuelva a su entorno Remix y copie su código ABI. ABI es algo así como API para contratos en JSON para que pueda interactuar con su contrato. Te aconsejo que no le des eso a nadie. Si cerró Remix, no se preocupe, solo repita los pasos 1 y 2 y eso es todo.

Abra la ventana emergente en Remix (del paso 2), simplemente haga clic en el botón "Detalles". Encontrar ABI, está justo debajo de BYTECODE:

Aquí cómo se ve:

({"constant": false, "entradas": ({"name": "to", "type": "address"}), "name": "delegate", "output": (), "payable" : false, "stateMutability": "nonpayable", "type": "function"}, {"constant": true, "inputs": (), "name": "winningProposal", "output": ({"name ":" _winningProposal "," type ":" uint8 "})," payable ": false," stateMutability ":" view "," type ":" function "}, {" constant ": false," input ": ({"name": "toVoter", "type": "address"}), "name": "giveRightToVote", "output": (), "payable": false, "stateMutability": "nonpayable", " escriba ":" function "}, {" constant ": false," entradas ": ({" name ":" toProposal "," type ":" uint8 "})," name ":" vote "," output " : (), "payable": false, "stateMutability": "nonpayable", "type": "function"}, {"entradas": ({"name": "_numProposals", "type": "uint8"} ), "payable": false, "stateMutability": "nonpayable", "type": "constructor"})

Vaya a https://www.myetherwallet.com/#contracts y haga clic en "Interactuar con el contrato". Ingrese la dirección de su contrato y, a continuación, ingrese su ABI.

Todo lo que tiene que hacer ahora es elegir la función codificada a la que desea acceder. Si su contrato es diferente y tiene diferentes funciones allí, verá diferentes opciones desplegables. Para hacer cualquier cosa con contrato, necesita acceder a su billetera debido a las tarifas.

Eso es todo gente! Tenga cuidado al crear un contrato. Aquí hay algunos puntos de partida:

https://digitalnomad.community/smart-contracts/

https://github.com/OpenZeppelin/zeppelin-solidity

https://github.com/TokenMarketNet/ico