Documentation
¶
There is no documentation for this package.
Source Files
¶
- main.go
Directories
¶
| Path | Synopsis |
|---|---|
|
config
Package config provides a go-simpler.org/env configuration table and helpers for working with the list of key/value lists stored in .env files.
|
Package config provides a go-simpler.org/env configuration table and helpers for working with the list of key/value lists stored in .env files. |
|
cmd
|
|
|
benchmark
command
|
|
|
convert
command
|
|
|
pkg
|
|
|
crypto/ec
Package btcec implements support for the elliptic curves needed for bitcoin.
|
Package btcec implements support for the elliptic curves needed for bitcoin. |
|
crypto/ec/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. |
|
crypto/ec/base58/gen
command
|
|
|
crypto/ec/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. |
|
crypto/ec/chaincfg
Package chaincfg provides basic parameters for bitcoin chain and testnets.
|
Package chaincfg provides basic parameters for bitcoin chain and testnets. |
|
crypto/ec/chainhash
Package chainhash provides abstracted hash functionality.
|
Package chainhash provides abstracted hash functionality. |
|
crypto/ec/ecdsa
Package ecdsa provides secp256k1-optimized ECDSA signing and verification.
|
Package ecdsa provides secp256k1-optimized ECDSA signing and verification. |
|
crypto/ec/musig2
Package musig2 provides an implementation of the musig2 protocol for bitcoin.
|
Package musig2 provides an implementation of the musig2 protocol for bitcoin. |
|
crypto/ec/schnorr
Package schnorr provides custom Schnorr signing and verification via secp256k1.
|
Package schnorr provides custom Schnorr signing and verification via secp256k1. |
|
crypto/ec/secp256k1
Package secp256k1 implements optimized secp256k1 elliptic curve operations in pure Go.
|
Package secp256k1 implements optimized secp256k1 elliptic curve operations in pure Go. |
|
crypto/ec/secp256k1/precomps
command
Package main provides a generator for precomputed constants for secp256k1 signatures.
|
Package main provides a generator for precomputed constants for secp256k1 signatures. |
|
crypto/ec/taproot
Package taproot provides a collection of tools for encoding bitcoin taproot addresses.
|
Package taproot provides a collection of tools for encoding bitcoin taproot addresses. |
|
crypto/ec/wire
Package wire contains a set of data structure definitions for the bitcoin blockchain.
|
Package wire contains a set of data structure definitions for the bitcoin blockchain. |
|
crypto/p256k
Package p256k is a signer interface that (by default) uses the bitcoin/libsecp256k1 library for fast signature creation and verification of the BIP-340 nostr X-only signatures and public keys, and ECDH.
|
Package p256k is a signer interface that (by default) uses the bitcoin/libsecp256k1 library for fast signature creation and verification of the BIP-340 nostr X-only signatures and public keys, and ECDH. |
|
crypto/sha256
Package sha256 is taken from github.com/minio/sha256-simd, implementing, where available, an accelerated SIMD implementation of sha256.
|
Package sha256 is taken from github.com/minio/sha256-simd, implementing, where available, an accelerated SIMD implementation of sha256. |
|
encoders/bech32encoding
Package bech32encoding implements NIP-19 entities, which are bech32 encoded data that describes nostr data types.
|
Package bech32encoding implements NIP-19 entities, which are bech32 encoded data that describes nostr data types. |
|
encoders/bech32encoding/pointers
Package pointers is a set of basic nip-19 data types for generating bech32 encoded nostr entities.
|
Package pointers is a set of basic nip-19 data types for generating bech32 encoded nostr entities. |
|
encoders/bech32encoding/tlv
Package tlv implements a simple Type Length Value encoder for nostr NIP-19 bech32 encoded entities.
|
Package tlv implements a simple Type Length Value encoder for nostr NIP-19 bech32 encoded entities. |
|
encoders/envelopes
Package envelopes provides common functions for marshaling and identifying nostr envelopes (JSON arrays containing protocol messages).
|
Package envelopes provides common functions for marshaling and identifying nostr envelopes (JSON arrays containing protocol messages). |
|
encoders/envelopes/authenvelope
Package authenvelope defines the auth challenge (relay message) and response (client message) of the NIP-42 authentication protocol.
|
Package authenvelope defines the auth challenge (relay message) and response (client message) of the NIP-42 authentication protocol. |
|
encoders/envelopes/closedenvelope
Package closedenvelope defines the nostr message type CLOSED which is sent from a relay to indicate the relay-side termination of a subscription or the demand for authentication associated with a subscription.
|
Package closedenvelope defines the nostr message type CLOSED which is sent from a relay to indicate the relay-side termination of a subscription or the demand for authentication associated with a subscription. |
|
encoders/envelopes/closeenvelope
Package closeenvelope provides the encoder for the client message CLOSE which is a request to terminate a subscription.
|
Package closeenvelope provides the encoder for the client message CLOSE which is a request to terminate a subscription. |
|
encoders/envelopes/countenvelope
Package countenvelope is an encoder for the COUNT request (client) and response (relay) message types.
|
Package countenvelope is an encoder for the COUNT request (client) and response (relay) message types. |
|
encoders/envelopes/eoseenvelope
Package eoseenvelope provides an encoder for the EOSE (End Of Stored Events) event that signifies that a REQ has found all stored events and from here on the request morphs into a subscription, until the limit, if requested, or until CLOSE or CLOSED.
|
Package eoseenvelope provides an encoder for the EOSE (End Of Stored Events) event that signifies that a REQ has found all stored events and from here on the request morphs into a subscription, until the limit, if requested, or until CLOSE or CLOSED. |
|
encoders/envelopes/eventenvelope
Package eventenvelope is a codec for the event Submission request EVENT envelope (client) and event Result (to a REQ) from a relay.
|
Package eventenvelope is a codec for the event Submission request EVENT envelope (client) and event Result (to a REQ) from a relay. |
|
encoders/envelopes/messages
Package messages is a collection of example/common messages and machine-readable prefixes to use with OK and CLOSED envelopes.
|
Package messages is a collection of example/common messages and machine-readable prefixes to use with OK and CLOSED envelopes. |
|
encoders/envelopes/noticeenvelope
Package noticeenvelope is a codec for the NOTICE envelope, which is used to serve (mostly ignored) messages that are supposed to be shown to a user in the client.
|
Package noticeenvelope is a codec for the NOTICE envelope, which is used to serve (mostly ignored) messages that are supposed to be shown to a user in the client. |
|
encoders/envelopes/okenvelope
Package okenvelope is a codec for the OK message, which is an acknowledgement for an EVENT eventenvelope.Submission, containing true/false and if false a message with a machine readable error type as found in the messages package.
|
Package okenvelope is a codec for the OK message, which is an acknowledgement for an EVENT eventenvelope.Submission, containing true/false and if false a message with a machine readable error type as found in the messages package. |
|
encoders/envelopes/reqenvelope
Package reqenvelope is a message from a client to a relay containing a subscription identifier and an array of filters to search for events.
|
Package reqenvelope is a message from a client to a relay containing a subscription identifier and an array of filters to search for events. |
|
encoders/event/examples
Package examples is an embedded jsonl format of a collection of events intended to be used to test an event codec.
|
Package examples is an embedded jsonl format of a collection of events intended to be used to test an event codec. |
|
encoders/hex
Package hex is a set of aliases and helpers for using the templexxx SIMD hex encoder.
|
Package hex is a set of aliases and helpers for using the templexxx SIMD hex encoder. |
|
encoders/ints
Package ints is an optimised encoder for decimal numbers in ASCII format, that simplifies and accelerates encoding and decoding decimal strings.
|
Package ints is an optimised encoder for decimal numbers in ASCII format, that simplifies and accelerates encoding and decoding decimal strings. |
|
encoders/ints/gen
command
Package main is a generator for the base10000 (4 digit) encoding of the ints library.
|
Package main is a generator for the base10000 (4 digit) encoding of the ints library. |
|
encoders/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
|
Package json implements encoding and decoding of JSON as defined in RFC 7159. |
|
encoders/kind
Package kind includes a type for convenient handling of event kinds, and a kind database with reverse lookup for human-readable information about event kinds.
|
Package kind includes a type for convenient handling of event kinds, and a kind database with reverse lookup for human-readable information about event kinds. |
|
encoders/tag
Package tag provides an implementation of a nostr tag list, an array of strings with a usually single letter first "key" field, including methods to compare, marshal/unmarshal and access elements with their proper semantics.
|
Package tag provides an implementation of a nostr tag list, an array of strings with a usually single letter first "key" field, including methods to compare, marshal/unmarshal and access elements with their proper semantics. |
|
encoders/tag/atag
Package atag implements a special, optimized handling for keeping a tags (address) in a more memory efficient form while working with these tags.
|
Package atag implements a special, optimized handling for keeping a tags (address) in a more memory efficient form while working with these tags. |
|
encoders/timestamp
Package timestamp is a set of helpers for working with timestamps including encoding and conversion to various integer forms, from time.Time and varints.
|
Package timestamp is a set of helpers for working with timestamps including encoding and conversion to various integer forms, from time.Time and varints. |
|
encoders/varint
Package varint is a variable integer encoding that works in reverse compared to the stdlib binary Varint.
|
Package varint is a variable integer encoding that works in reverse compared to the stdlib binary Varint. |
|
interfaces/acl
Package acl is an interface for implementing arbitrary access control lists.
|
Package acl is an interface for implementing arbitrary access control lists. |
|
interfaces/signer
Package signer defines server for management of signatures, used to abstract the signature algorithm from the usage.
|
Package signer defines server for management of signatures, used to abstract the signature algorithm from the usage. |
|
interfaces/store
Package store is an interface and ancillary helpers and types for defining a series of API elements for abstracting the event storage from the implementation.
|
Package store is an interface and ancillary helpers and types for defining a series of API elements for abstracting the event storage from the implementation. |
|
interfaces/typer
Package typer is an interface for server to use to identify their type simply for aggregating multiple self-registered server such that the top level can recognise the type of a message and match it to the type of handler.
|
Package typer is an interface for server to use to identify their type simply for aggregating multiple self-registered server such that the top level can recognise the type of a message and match it to the type of handler. |
|
utils/apputil
Package apputil provides utility functions for file and directory operations.
|
Package apputil provides utility functions for file and directory operations. |
|
utils/atomic
Package atomic provides simple wrappers around numerics to enforce atomic access.
|
Package atomic provides simple wrappers around numerics to enforce atomic access. |
|
utils/atomic/internal/gen-atomicint
command
gen-atomicint generates an atomic wrapper around an integer type.
|
gen-atomicint generates an atomic wrapper around an integer type. |
|
utils/atomic/internal/gen-atomicwrapper
command
gen-atomicwrapper generates wrapper types around other atomic types.
|
gen-atomicwrapper generates wrapper types around other atomic types. |
|
utils/interrupt
Package interrupt is a library for providing handling for Ctrl-C/Interrupt handling and triggering callbacks for such things as closing files, flushing buffers, and other elements of graceful shutdowns.
|
Package interrupt is a library for providing handling for Ctrl-C/Interrupt handling and triggering callbacks for such things as closing files, flushing buffers, and other elements of graceful shutdowns. |
|
utils/normalize
Package normalize is a set of tools for cleaning up URL s and formatting nostr OK and CLOSED messages.
|
Package normalize is a set of tools for cleaning up URL s and formatting nostr OK and CLOSED messages. |
|
utils/number
Package number implements a simple number list, used with relayinfo package for NIP support lists.
|
Package number implements a simple number list, used with relayinfo package for NIP support lists. |
|
utils/qu
Package qu is a library for making handling signal (chan struct{}) channels simpler, as well as monitoring the state of the signal channels in an application.
|
Package qu is a library for making handling signal (chan struct{}) channels simpler, as well as monitoring the state of the signal channels in an application. |
|
utils/units
Package units is a convenient set of names designating data sizes in bytes using common ISO names (base 10).
|
Package units is a convenient set of names designating data sizes in bytes using common ISO names (base 10). |
Click to show internal directories.
Click to hide internal directories.