¿Cómo despliego un contrato cumplido con solc?

Estoy tratando de implementar un contrato que he compilado solcusando solc --bin mycontract.sol.

Solía ​​poder pegar el resultado en Ethereum-Wallet e implementar el contrato de esta manera. Sin embargo, esto no funciona para este contrato (supongo que el código binario es demasiado grande).

Lo he intentado durante algunas horas, pero simplemente no puedo encontrar una guía que muestre cómo implementar un contrato de otra manera. Pero supongo que debería poder hacerlo de alguna manera usando la gethherramienta de línea de comandos.

Podría simplemente pegar el código de solidez en Ethereum-Wallet y dejar que compile el código. Sin embargo, el contrato utiliza importaciones que no estoy seguro de cómo ingresar a Ethereum-Wallet.

Respuestas (1)

Puede hacerlo utilizando el compilador en línea y la línea de comandos geth.

Paso 1: primero copie su contrato en https://ethereum.github.io/browser-solidity/ , en el lado derecho de su página verá los campos de texto Bytecode,Interface,Web3 deployment y uDApp. Lo que debería interesarle aquí es el web3 deploycampo de texto.

Paso 2: copie el texto en su línea de comando geth, simplemente péguelo y verá, algo comoContract mined! address: 0x.... transactionHash: 0x.....

Ahora puede utilizar la dirección del contrato.

Intenté hacer eso, pero nunca veo el mensaje "¡Contrato minado!...". Sin embargo, estoy haciendo esto en la red de prueba. Creo que la red de prueba podría estar teniendo algunos problemas. Al menos los bloques se generan con muy poca frecuencia.
¿Está conectado a la red (principal o testnet)? o está ejecutando en una red privada si es así, ¿está minando? @GuutBoy
Estoy corriendo en la red de prueba (morden).
Además, esto realmente no responde la pregunta. Específicamente, no quiero usar el compilador del navegador, solo solc.
¿Cuáles son los argumentos geth que estás pasando? Vea si tiene --verbosity 6 , esto lo ayudaría a probar si tiene suficiente éter para poder publicar y configurar su cuenta por eth.defaultAccount y eth.coinbase, etc.
El compilador del navegador solo proporciona algunos envoltorios adicionales alrededor del código de bytes que podría implementar fácilmente en la consola geth. El código binario de datos/bytes generado en ambos casos sería el mismo.