Elliptic-curve cryptography and support in Golang
Playing around with some concepts laid out in the design document, I've found that Go's native "crypto/elliptic" package doesn't support a secp256k1 curve . It does support a very similar curve, secp256r1, which seems to be comparable. I generated a key pair using OpenSSL (NIST calls this curve "prime256v1" but they are equvalent)) and was able to sign things with this pair in Go.
Though it is easy to change now, this also got me thinking about how we would go about swapping ECCs in the future if we ever needed to. I think the procedure should be easy but it is something to still keep in mind.