Me gustaría poder depurar a través del código Go de Geth, utilizando Intellij Webstorm.
Idealmente, me gustaría ejecutar un nodo Geth privado dentro de Webstorm y establecer un punto de interrupción, pero también me conformaría con conectarme de forma remota a un nodo local que he iniciado desde la línea de comandos.
Me parece que el punto de entrada para Geth es main.go , sin embargo, cuando intento ejecutar esto, aparece el siguiente error:
.go/src/github.com/ethereum/go-ethereum/cmd/geth/main.go
# command-line-arguments
cmd/geth/main.go:112: undefined: configFileFlag
cmd/geth/main.go:143: undefined: initCommand
cmd/geth/main.go:144: undefined: importCommand
cmd/geth/main.go:145: undefined: exportCommand
cmd/geth/main.go:146: undefined: removedbCommand
cmd/geth/main.go:147: undefined: dumpCommand
cmd/geth/main.go:149: undefined: monitorCommand
cmd/geth/main.go:151: undefined: accountCommand
cmd/geth/main.go:152: undefined: walletCommand
cmd/geth/main.go:154: undefined: consoleCommand
cmd/geth/main.go:154: too many errors
¿Alguien puede ayudarme con exactamente cómo puedo iniciar Geth desde Webstorm, es decir, no desde el binario compilado, geth, por favor?
--- Actualización después de intentar ejecutar desde el paquete en lugar de un archivo ---
Desafortunadamente, cuando configuro el paquete en "github.com/ethereum/go-ethereum/cmd/geth" obtengo los siguientes errores:
/usr/local/go/bin/go build "-ldflags=-linkmode internal" -o /tmp/___main_go github.com/ethereum/go-ethereum/cmd/geth
# github.com/ethereum/go-ethereum/cmd/geth
github.com/ethereum/go-ethereum/vendor/github.com/karalabe/hid(.text): relocation target __pthread_unwind_next not defined
github.com/ethereum/go-ethereum/vendor/github.com/karalabe/hid(.text): undefined: "__pthread_unwind_next"
Primero, asegúrese de tener la última versión, EAP 15, 173.2696.28, y de estar usando la última versión de Go, 1.9, ya que se prefiere para una mejor experiencia de depuración debido a las mejoras recientes en Go con respecto a la depuración.
Luego, vaya a Ejecutar | Editar configuraciones | Ir Aplicaciones | seleccione la configuración de ejecución que desea editar | Ejecute kind y cámbielo a File
from Package
. Luego escriba el nombre del paquete, por ejemplo, github.com/ethereum/go-ethereum/cmd/geth
y guarde la configuración. Luego vaya a Ejecutar | Depurar... y seleccione la configuración de ejecución que ha editado anteriormente y selecciónela como una ejecución de depuración.
También creé un pequeño video que debería guiarlo sobre cómo cambiar la Run kind
configuración de ejecución, puede verlo aquí .
Código MIk
Nulik
go run ... geth.go
. ¿Descubriste cómo eliminar esos errores?stevejaxon