### Go: Key Generation, Signing, and Verification Source: https://github.com/chainsafe/go-schnorrkel/blob/master/README.md Demonstrates the core functionality of the go-schnorrkel library, including generating a keypair, signing a message with a context, and verifying the signature. Requires Go 1.21 and the go-schnorrkel library. ```go package main import ( "fmt" "github.com/ChainSafe/go-schnorrkel" ) func main() { msg := []byte("hello friends") signingCtx := []byte("example") signingTranscript := schnorrkel.NewSigningContext(signingCtx, msg) verifyTranscript := schnorrkel.NewSigningContext(signingCtx, msg) priv, pub, err := schnorrkel.GenerateKeypair() if err != nil { panic(err) } sig, err := priv.Sign(signingTranscript) if err != nil { panic(err) } ok, err := pub.Verify(sig, verifyTranscript) if err != nil { panic(err) } if !ok { fmt.Println("failed to verify signature") return } fmt.Println("verified signature") } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.