https://github.com/vedhavyas/go-subkey
Subkey port in Go
https://github.com/vedhavyas/go-subkey
polkadot subkey substrate
Last synced: about 2 months ago
JSON representation
Subkey port in Go
- Host: GitHub
- URL: https://github.com/vedhavyas/go-subkey
- Owner: vedhavyas
- License: mit
- Created: 2020-01-07T19:35:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T18:15:26.000Z (3 months ago)
- Last Synced: 2025-04-10T01:09:16.006Z (about 2 months ago)
- Topics: polkadot, subkey, substrate
- Language: Go
- Size: 121 KB
- Stars: 21
- Watchers: 2
- Forks: 15
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-subkey
[](https://pkg.go.dev/github.com/vedhavyas/go-subkey)Subkey port in Go
## Usage
### Generate Key pair
#### Sr25519
```go
kr, err := sr25519.Scheme{}.Generate()
```#### Ed25519
```go
kr, err := ed25519.Scheme{}.Generate()
```#### Ecdsa
```go
kr, err := ecdsa.Scheme{}.Generate()
```### Deriving keypair from a mnemonic or seed
#### Mnemonic
```go
uri := "crowd swamp sniff machine grid pretty client emotion banana cricket flush soap//foo//42///password"
scheme := sr25519.Scheme{}
kr, err := subkey.DeriveKeyPair(scheme, uri)
```#### Hex encoded Seed
```go
uri := "0x6ea8835d60351a39a1e2293b2902d7bd6e12e526e72c46f4fda4a233809c4379"
scheme := sr25519.Scheme{}
kr, err := subkey.DeriveKeyPair(scheme, uri)
```#### Hex encoded Seed with derivation
```go
uri := "0x6ea8835d60351a39a1e2293b2902d7bd6e12e526e72c46f4fda4a233809c4379//foo//42///password"
scheme := sr25519.Scheme{}
kr, err := subkey.DeriveKeyPair(scheme, uri)
```### Sign and verify using Keypair
```go
kr, err := ed25519.Scheme{}.Generate()
msg := []byte("test message")
sig, err := kr.Sign(msg)
ok := kr.Verify(msg, sig)
```