Categorygithub.com/CESSProject/go-keyring
repositorypackage
0.0.0-20220614131247-ee3a8da30fde
Repository: https://github.com/cessproject/go-keyring.git
Documentation: pkg.go.dev

# README

go-keyring

Implement go utilities compatible with Substrate sr25519 keys.

usage

package main

import (
	"fmt"
	"log"

	keyring "github.com/CESSProject/go-keyring"
)

func main() {
	// generate keyring from secret uri
	secretURI := "head achieve piano online exhaust bulk trust vote inflict room keen maximum"
	kr, _ := keyring.FromURI(secretURI, keyring.NetSubstrate{})

	// output public SS58 formatted address
	ss58, _ := kr.SS58Address()
	log.Printf("SS58 Address: %s", ss58)

	// sign message
	msg := []byte("test message")
	sig, _ := kr.Sign(kr.SigningContext(msg))

	// create new keyring from SS58 public address to verify message signature
	verkr, _ := keyring.FromURI(ss58, keyring.NetSubstrate{})

	fmt.Println(verkr.Verify(verkr.SigningContext(msg), sig))
}