Building and Testing
Developers should use a recent version of Go for building and testing. We use the go toolchain for development, which you can get from the Go downloads page. The Parallax client is a Go module, and uses the Go modules system to manage dependencies. UsingGOPATH is not required to build the Parallax client.
Building Executables
Switch to theparallax repository root directory. All code can be built using the go tool, placing the resulting binary in $GOPATH/bin.
Testing
Testing a package:Note: here all tests with prefix TestMethod will be run, so if TestMethod and TestMethod1 both exist then both tests will run.
Getting Stack Traces
A stack trace provides a very detailed look into the current state of the Parallax node. It helps us to debug issues easier as it contains information about what is currently done by the node. Stack traces can be created by runningdebug.stacks() in the Parallax client console. If the node was started without the console command or with a script in the background, the following command can be used to dump the stack trace into a file.
/home/user/.parallax/prlx.ipc or /tmp/prlx.ipc.
debug.stacks() also takes an optional filter argument. Passing a package name or filepath to filter restricts the output to stack traces involving only that package/file. For example:
--pprof option, a debugging HTTP server is made available on port 6060. Navigating to http://localhost:6060/debug/pprof displays the heap, running routines etc. By clicking “full goroutine stack dump” a trace can be generated that is useful for debugging.
Note that if multiple instances of the Parallax client exist, port 6060 will only work for the first instance that was launched. To generate stacktraces for other instances, they should be started up with alternative pprof ports. Ensure stderr is being redirected to a logfile.
-QUIT signal with kill:

