Performance tweaks

On this page you can find ways to improve performance of your running node.

Faster Elliptic Curve verifications

You can use external secp256k1 library (written in C and assembler) which is up to 4 times faster when it comes to EC_Verify operations.

In order use an external library, copy either the file sipadll.go (Windows only) or sipasec.go (any OS), from the folder gocoin/client/speedups/ to gocoin/client/.
After doing so, rebuild and restart the client.

sipadll.go (Windows only)

To use sipadll.go, you have to place secp256k1.dll either in the folder where you launch your client from or in any other where your Windows looks for executables.

Note: You can download prebuilt secp256k1.dll from sourceforge.net (it's inside secp256k1.dll-amd64.zip). Or you can just get a non-signed one from gocoin/tools/sipa_dll.

sipasec.go

In order to use sipasec.go, you will have to place the files libsec256k1.a and secp256k1.h where gcc compiler will be able to find them.

See the top of gocoin/lib/others/cgo/sipasec/sipasec.go file in case you wanted to specify the paths to them.

Note: You have to build libsec256k1.a yourself. The sources are available through github.com/bitcoin/bitcoin, but you only have to build src/secp256k1/.