Descargo de responsabilidad: es una publicación de preguntas y respuestas para ayudar a otros con el problema al que me enfrenté. Tenga en cuenta que esta es una posible solución que funciona para mí, podría haber una mejor manera de resolver el problema.
La cuestión:
No se puede compilar el contrato en la consola geth desde la referencia 1.6.0 al rastreador de problemas
Solución:
Compile el contrato en su máquina antes de entrar en geth. Mueva su contrato al directorio de datos que usa para mapear su nodo. Cargue su contrato desde la consola geth
Compile el contrato en su máquina antes de ir a la consola
$ toque Contrato.sol
$ echo "var contractOutput= solc --optimize --combined-json abi,bin,interface Contract.sol
" > contract.js (preste atención a las comillas ``)
Mueva el contrato al directorio de datos que usa para ejecutar el nodo (por cierto, uso Docker para ejecutarlo)
$ cp contract.js ~/Workspace/Ether/datadir/contratos
Ejecute su nodo sobre Docker y proporcione mapeo en su directorio de datos
docker run -it -p 8545:8545 -p 30303:30303 -v /home/user/Workspace/Ether/datadir:/root/datadir user/my-ether-node /bin/bash
Ejecutar consola
geth --datadir /root/datadir/ --networkid 1234 --port 30303 --rpcport 8545 --rpc --rpcapi eth,web3,personal,net --rpcaddr 0.0.0.0 consola
Carga el contrato
loadScript('/raíz/datadir/contratos/contrato.js')
Evan Kaminski
Gleichmut