Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Binary ¶ added in v1.0.0
type Binary interface { // MarshalBinary converts the data of the type into binary form, appending // it to the provided slice. MarshalBinary(dst B) (b B, err E) // UnmarshalBinary decodes a binary form of a type back into the runtime // form, and returns whatever remains after the type has been decoded out. UnmarshalBinary(b B) (r B, err E) }
type Generator ¶ added in v1.0.0
type Generator interface { // Generate gathers entropy and derives pubkey bytes for matching, this returns the 33 byte // compressed form for checking the oddness of the Y coordinate. Generate() (pubBytes B, err E) // Negate flips the public key Y coordinate between odd and even. Negate() // KeyPairBytes returns the raw bytes of the secret and public key, this returns the 32 byte // X-only pubkey. KeyPairBytes() (secBytes, cmprPubBytes B) }
Generator is an interface for nostr BIP-340 key generation.
type JSON ¶ added in v1.0.0
type JSON interface { // MarshalJSON converts the data of the type into JSON, appending it to the // provided slice and returning the extended slice. MarshalJSON(dst B) (b B, err E) // UnmarshalJSON decodes a JSON form of a type back into the runtime form, // and returns whatever remains after the type has been decoded out. UnmarshalJSON(b B) (r B, err E) }
type Signer ¶ added in v1.0.0
type Signer interface { // Generate creates a fresh new key pair from system entropy, and ensures it is even (so // ECDH works). Generate() (err E) // InitSec initialises the secret (signing) key from the raw bytes, and also // derives the public key because it can. InitSec(sec B) (err E) // InitPub initializes the public (verification) key from raw bytes. InitPub(pub B) (err E) // Sec returns the secret key bytes. Sec() B // Pub returns the public key bytes (x-only schnorr pubkey). Pub() B // ECPub returns the public key bytes (33 byte ecdsa pubkey). The first byte is always 2 due // to ECDH and X-only keys. ECPub() B // Sign creates a signature using the stored secret key. Sign(msg B) (sig B, err E) // Verify checks a message hash and signature match the stored public key. Verify(msg, sig B) (valid bool, err E) // Zero wipes the secret key to prevent memory leaks. Zero() // ECDH returns a shared secret derived using Elliptic Curve Diffie Hellman on the Signer // secret and provided pubkey. ECDH(pub B) (secret B, err E) // Negate flips the the secret key to change between odd and even compressed public key. Negate() }
Directories ¶
Path | Synopsis |
---|---|
Package atomic provides simple wrappers around numerics to enforce atomic access.
|
Package atomic provides simple wrappers around numerics to enforce atomic access. |
internal/gen-atomicint
gen-atomicint generates an atomic wrapper around an integer type.
|
gen-atomicint generates an atomic wrapper around an integer type. |
internal/gen-atomicwrapper
gen-atomicwrapper generates wrapper types around other atomic types.
|
gen-atomicwrapper generates wrapper types around other atomic types. |
cmd
|
|
lerproxy
Command lerproxy implements https reverse proxy with automatic LetsEncrypt usage for multiple hostnames/backends, and URL rewriting capability.
|
Command lerproxy implements https reverse proxy with automatic LetsEncrypt usage for multiple hostnames/backends, and URL rewriting capability. |
Package context is a set of shorter names for the very stuttery context library.
|
Package context is a set of shorter names for the very stuttery context library. |
Package btcec implements support for the elliptic curves needed for bitcoin.
|
Package btcec implements support for the elliptic curves needed for bitcoin. |
base58
Package base58 provides an API for working with modified base58 and Base58Check encodings.
|
Package base58 provides an API for working with modified base58 and Base58Check encodings. |
bech32
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173.
|
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173. |
chainhash
Package chainhash provides abstracted hash functionality.
|
Package chainhash provides abstracted hash functionality. |
ecdsa
Package ecdsa provides secp256k1-optimized ECDSA signing and verification.
|
Package ecdsa provides secp256k1-optimized ECDSA signing and verification. |
schnorr
Package schnorr provides custom Schnorr signing and verification via secp256k1.
|
Package schnorr provides custom Schnorr signing and verification via secp256k1. |
secp256k1
Package secp256k1 implements optimized secp256k1 elliptic curve operations in pure Go.
|
Package secp256k1 implements optimized secp256k1 elliptic curve operations in pure Go. |
keys
Package keys is a composable framework for constructing badger keys from fields of events.
|
Package keys is a composable framework for constructing badger keys from fields of events. |
Click to show internal directories.
Click to hide internal directories.